Your daily dose of ridiculousness - 775 pro differential swerve

I drew this up on the weekend to see if I could. I was inspired by the awesome swerve posted here: pic: Swerve Module, 2910 MK1 - CD-Media: Photos - Chief Delphi? and I remembered the differential swerve idea posted here: Pic: 4143 differential swerve concept - CD-Media: Photos - Chief Delphi. My goal was to come up with a compact swerve module, run by two 775 pros, which handled both power and steering (via differential speed). Here’s the (incomplete) result.

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 :slight_smile: 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.


This looks great, Brenden! Would you be open to sharing the CAD?

Sure, it’s here:

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.

The real question is who is talented enough to control it?

Jared (and probably a few others). I’m sure Ether could work us through the math and physics on it.

I nominate 971.

The day 971 does a differential swerve is the day I admit to being Farmer John. :rolleyes:

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.

So where can I get wooden 775 pros :smiley:
In all serious though, I love seeing designs like this from the community, and it looks oh so pretty…

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 :grinning:

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.


I’ll have 4 years of driving after this year, and 5 years after next year. :cool:

I took Adams statement as software control stuff not driver skill. Any good experienced driver (such as yourself) would work.

My head’s still exploding on controlling the azimuth!

I apologize for the dumb question, but I’m having a difficult time making out how this rotates the module with the differential between the two motors. Can someone explain it to me? :confused:

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.