The advantage is that, even if you cap the 775 pros at 10V to avoid burnout, and you leave 100W in reserve for steering, the two motors could put down 450W onto the carpet, which is nearly 30% more than a single CIM. It’s also saves like two pounds per module.
The disadvantages are many The gearbox needs some custom gears presently, although there’s probably other arrangements that would work with COTS parts. Good control of the speed of each motor is critical, and a failure of either motor, or any encoder/pot (not shown) would not be graceful.
I probably won’t build this, but I thought I’d throw it out there for inspiration and laughs.
Be warned I just slapped it together to show the concept, so there’s lots of details missing (encoder mounts, shaft retainers, proper gear and bearing bores, spacers, clearances, etc). Feel free to take it and improve it, but please share any results - I’d love to see the real thing.
This is hilarious, awesome, and very clever. Great job.
Up till the very end of your post I was not expecting it to be coaxial. I can’t say that I would like to build one of these, but I’d like to see someone try it. It seems like steering might be a real hassle, but I think this might spur some further ideas in people.
I too was experimenting with a differential swerve design. I’m curious to see how well the differential at the wheel itself would work, given slippage and other factors.
In the design I’m currently working on, the differential is above the slew bearing and the bottom carriage is similar to an “older” swerve design. The two bevel gears 180 degrees from another (there’s 4 bevel gears meshed together) in the differential would be bolted to the inside of the bearing and thus rotate the module. Surely what I’m envisioning isn’t as compact as your design (props to you for that amazingly compact coaxial design), but I’m curious to see the difference of placing the differential at the wheel itself or higher upstream in the geartrain. Please share if you’ve got any insight on this.
I know my explanation is quite questionable, so here’s a picture to help envision it. This isn’t the exact design, but somewhat close.
Lastly, where do you plan on placing the encoders? You’re gonna need 8 of them to control motor RPM, nevermind 4 more if you want real-world angle values from the module’s rotation (unless I’m wrong here).
Yeah I’m pretty sure the steering would be pretty twitchy. The steering gear ratio comes out to maybe 40:1 (I think. Should be about twice the drive ratio) on a 775 pro. Compare that to this thread, where 100:1 on a (slower) bag motor is recommended for steering.
[Edit] I just recalculated that the steering ratio would be more like 2/3 the drive ratio (ie faster than drive) in this model, so definitely twitchy. That probably needs a redo.
1114 prototyped differential swerve modules back in the summer of 2006. We never got too far with it, because that design was created when you were only allowed 4 CIMs, and dedicating 2 CIMs to a module seemed ridiculous (albeit not too ridiculous for a summer project). That being said the development of controls algorithms was difficult to say the least. However, with the new motor rules and the general advancements of software abilities of FRC teams, I would not be surprised to see someone try and field a differential swerve drive this season.
I love to see that others are hard at work on the same idea. There must be something in the HTML on chiefdelphi this summer
You’re right that the sketch is missing encoders. I would probably add back shaft encoders to the 775 pros, or perhaps add versaplanetary stages with encoders to the motors. These are both easy, and would plug right into the motor talons.
A third encoder for azimuth is not strictly necessary, but would avoid the need for a homing switch, and might make the control easier. I would probably 3D print a ring gear to attach to the forks, and measure rotation with a third encoder mounted to the bottom plate ( you might get away with only one motor encoder in that case)
Three encoders on each module, whether on motor1, motor2, azimuth, or wheel, would provide the redundancy to at least be able to **identify **the encoder failure you alluded to back in your OP. An encoder on all four axes would provide enough redundancy to dynamically identify and adjust for failure of any one encoder. Of course, you could also use current draw on each motor controller to get more redundancy to be able to accommodate/recognize motor or encoder failure.
Add: This general design reminds me of a helicopter - without smart redundancy, it’s just a fancy way to die, or at least throw a match.
You need two encoders minimum, one for each degree of freedom, no matter where you place them. If you place them on the motor path, it simplifies the design, but you don’t get absolute positioning. You could also modify the design to put them after the differential, measuring azimuth and speed directly. Unless you find a tiny slip ring, you can’t make this version coaxial.
IMO a homing switch would make the design simpler.
Also I heard a rumor on Reddit that 971 was working on a differential swerve this summer. No evidence, just rumor.
The basic premise it to use the differance in speed between the two motors. I.e if the 'left motor, is faster than the ‘right motor’ the module would turn left. The avantage to this design is you effectivly use both moters to put power onto the carpet. However you cannot use 100% motor speed due to needing some overhead for turning.
A simpler explanation: instead of trying to wrap your head around a 2 motor config instead try to think of it as the relitive velocity between the two motors (this is why all the encoders are important). When both motors are running the same speen the tendency to turn is canceled out. When there is a diference between the two motors the bias to turn a direction becomes pernounced and the turn happens.
Hopefully I didn’t add to the confusion. Please pardon the spelling errors, on mobile.