pic: GBX-165, epicyclic differential swerve

Presenting GBX-165, an epicyclic differential swerve.
The reason I say “epicyclic” instead of “planetary” is because although this operates using the epicyclic gearing principle, it doesn’t use a ring gear like a regular planetary gearbox does. I uploaded another picture showing the differential assembly. Here’s a GIF of it in motion: https://i.imgur.com/5zoQXqX.gifv
The idea comes from this site:

The main thing I dislike about this module is that I have to use the sum/difference of two Mag Encoders to get azimuth and distance. Adding an absolute encoder on rotation would be somewhat heavy and difficult, but I would probably add that if this were for in-season use. If I ever build this module, controllability would be high on the list of testing priorities. A custom PCB to get sum and difference of encoder ticks may even be useful.

Weighs 4.6 pounds, which is more than I would like given that I’m basically cheating by using 775s. Of course, this is still super low weight for a swerve drive with 8 775s of power. I think a more talented designer can get it to 4lbs, although going any lower would be a challenge.
Free speed is 18.3fps with the 3" wheel pictured, and the rotation free speed is 468rpm.
Module cost is around $340 with sensors and all hardware, although not including motor controllers.

CAD is available here: https://workbench.grabcad.com/workbench/projects/gcxnb8i8brarEzDXAL7In8SeD-xeuWmarI73f5s6ioPdgL#/space/gc0KZjGz-ib-PcF-_CdNI2gYF1GGPRtLo8SoEKAOByhg3y
Please keep all discussion in this picture’s thread.


Lego my swerve.

I’m truly blown away by the differential designs people are coming up with.

I’m blown away by pretty much everything Anand designs…

Can you show the module in cross section, aligning as much of the gear train as possible to a single plane? I’m still having difficulty visualizing the two power paths.

Anand Rajamani: “Design Simple”
Also Anand Rajamani: “Hold my beer”


Thank you! Although I’m sure you’d feel differently if you saw GBX-152 through GBX-164…

I made a cross section and tried coloring it best I could. Here it is: https://i.imgur.com/g1WBKGg.png

This actually is a lot less complicated than other solutions IMO. A few simple shafts, and all COTS gears except for the two that get linked together for the coaxial assembly. Each individual piece can get done in one setup, making it very router-friendly. Swerves drives are definitely not part of the “Design Simple” mindset, but this is close to the simplest differential swerve I could make.
Of course, “differential swerve” is pretty much the polar opposite of “Design Simple” so there’s only so much leeway I can give myself. :stuck_out_tongue:

Honestly though, this is pretty much one of the simplest differential swerves I’ve seen designed. It definitely seems simpler and more rational to machine when compared to say, 5818’s modules, but then again, theirs is built. Overall, it’s a very impressively simple design that I’m definitely going to rip off in the future.

1 Like

An overhead view of three of my swerves, for footprint comparison:

From left to right: GBX-136, GBX-162, GBX-165
Only slightly larger than your standard bevel-beside-wheel swerve, and a little shorter.

Thanks. I was uncertain about the “unequal” gear trains. The two have different ratios for their effect on steering and speed. If you hold the green gears fixed and spin the blue gears, the module turns slowly, but if you hold the blue gears fixed and spin the green gears the module turns much more quickly. I’m going to have to give this a think to see if the upstream gear ratios compensate for that difference.

They do make up for the difference. The upstream gear ratio needs to be (B/A)^2 to make up for the difference in speeds.
The ratio is 28:14 at the module, so I used 56:14 upstream to create the ratio.

OK, but the difference in steering ratio and difference in drive ratio are unequal aren’t they? If the blue, green and orange gears are 28 tooth and 14 tooth matching pairs, the blue train drives the wheel at 14:28, and the green train drives the wheel at 28:14 - a spread of 4x

But, the blue train steers at 1: (1-28^2/14^2) or 1:3, and the green train steers at (1-14^2/28^2):1 or 1.333:1 (assuming I’ve read example 7 of the formulas here right) - a spread of 2.25x

So you can compensate for the difference in drive torque or the difference in steer torque, but not both at the same time. Maybe that’s not hurtful (maybe even helpful in terms of steering speed), but it’s too late for me to think it through tonight :slight_smile:

The steering ratio is B/A+1, which in this case is 28/14+1 = 3. However, the upstream ratio only ends up needing to be a square of 28/14. Don’t ask me why, because I’m not very clear on it myself.
I derived the relationship by making an assembly of 20t and 40,50, and 60t gears to see what ratio would lead to straight driving or straight rotation. I have also empirically confirmed by setting a 1:1 gear ratio on the 775pinions and seeing the results when spun. The module stays stock-still, and Solidworks even confirms that it is fully constrained. The wheel spins freely with the 775s.

This is a very interesting concept, thanks for posting it with such detail!

So with both both driving gears being on the same side of the driven gears, you certainly get the differential action, but your motors are working against each other in both the driving and steering cases as far as I can tell.

That is, in order to drive straight, the top gear has to push one way and the bottom the other way. This is of no issue when the driving gears are on opposite sides of the driven gear, as the torques are added and forces subtracted, but it is when both are on the same side, as both the forces and torques are subtracted from each other.

In short, in both the driving and steering use case, one motor seems to be doing negative work (pushing against the direction it’s spinning). (Only in very specific cases do you have both motors spinning and pushing in the same direction)

This would be bad not only because you would be losing a lot of efficiency, but also because the unlucky motor will be generating even more heat than if it were stalling, and will be unable to retain its magic white smoke for long.

As an intuitive thought experiment, one could imagine the behavior of the module if you were to reduce the difference in gear ratios asymptotically towards zero. When the ratio is very small, both driving gears need to apply a huge force in opposite directions to drive the wheel without

I’m really hoping I’m wrong, because this would be really fun to build, but just doing the math for the torques and forces is quite discouraging.

edit: Did some math. Setting steering torque to zero, you get a positive output for drive torque, but only with one motor acting against the rotation of the drive shaft. The poor 775pro. Here’s to hoping for asid61 to pop in and tell me I’ve misunderstood the design.

1 Like

I think you’re probably correct. That being said:

If I imagine the larger coaxial gear being held still while the planets walk around it, the torques exerted by both motors are equal (as I’ve added a gear ratio upstream) in order to keep the center gear still. It also seems like the module rotation speed is one-half the rotation speed of the larger planet gear, so there’s definitely some kind of a virtual gear ratio acting here.
That doesn’t mean that I know the overall output torque of the module, however. Given that differentials are usually “torque in = torque out” devices, you’re probably correct now that I think about it.

And with that I mournfully cancel my plans to make at least part of this module this weekend.

That being said, this GIF might just be the gold standard for displaying a complex assembly. If anyone wasn’t clear on the gearbox after your sweet color coded cross section (which was also incredibly useful), I think they are now.

I’m waiting for the new teams who are rushing to do swerve next year to see this after swerve bot won worlds. The hype over swerve is rising, and there’s gonna be a lot of failed attempts at a differential swerve in the coming offseason.

1 Like

We were in that boat after watching 2767 dance across the field in 2017. I hope teams start working on them now though because it will take you until Fall to get it assembled and running.

1 Like

i watched a local team buy the andymark swerve modules and struggle with the pre-made solutions to the point where they ditched them before their second comp, swerve is not for the faint of heart, even the purchasable options.

1 Like

When you set the “module torque” to zero (which I’m pretty sure is actually for the translation motion), you created a strict proportion between F1 and F2 based on r1 and r2. Then you substituted F1 = f(F2) into the equation for the other torque. You’re not gonna end up with an F1 in your solution if you substituted them all out. However, that doesn’t mean F1 is zero. F1 is trivially not zero based on the proportion before. D is also equal to F1 x r3 x (1 - r1/r2).