YDDR - 775 pro differential swerve prototype

Sorry about starting a new thread for (sorta about) this topic - it’s the off season so I feel like I can get away with it :rolleyes:

Conception: This prototype was inspired by nuclearnerd’s original design found earlier in this thread. I went through several small iterations in CAD, also available in the same thread.

The Final CAD:

This was the concept I decided to execute - I tried to design this with regard to my limited manufacturing capabilities at the time. This meant I was working with standard shop equipment (Drill press, Bench Grinder, Reciprocating saw, Taps & dies, Hand tools, etc.) I also used my Hobbymat Md65 mini-lathe (5.2" swing x 12" bed) with a complete set of tooling. I have since purchased a Sherline 5400 mini-mill (Full CNC) with some tooling. I would design this module differently today with my new machine. I had the gear box plates lasered with intent to finish bearing bores on the lathe.

With my tooling at the time I decided to build with convenience of manufacture and adjustment in mind. I ordered spur gears, motors, pinions, and shafts from ServoCity. Other components, such as the 30mmID x 50mmOD ball bearing (used for azimuth stabilization) were purchased from a local surplus store for $1/bearing. McMaster Carr, Fastenal, etc. were used for other misc. hardware. The absolute encoder (am-2899) was purchased from Andymark.

Parts are Here!:


Parts arrived - this is not everything of course, there’s a pile of small fasteners, other gearbox plates, and other misc. hardware. I did make sure to get enough plates made in one run so I could make a 4 module drive-train to put together in the future should I wish - this had no significant bearing on the total cost (just the extra material).

*Parts list available on request

Modifications to COTS Components:

Okay, this is not purely COTS components, I did have to modify hub lengths and bores on some of the acetyl spur gears (48t & 18t). I used a piece of .25" shaft as a mandrel and trimmed excessive hub length with a parting tool. For the spur gears (idler set) that needed to be re-bored in order to accommodate bearings and shaft clearance I skim cut the hub in order to keep concentrically, then rechucked the other way 'round. I used an F twist drill for .007" total clearance on the diameter for the .25" shaft. In reality the new bores were closer to .260", I do not own a .257" reamer (not that this is a precision bore), proof that drill bits tend to go a bit oversize. At the feed and speeds I was making cuts at the plastic was not “grabby”.

After some examination I determined some positive retention could be used in the idler set. I turned up a press fit hub from Delrin to accept the hubs of the 48t and 18t idler gears. I was able to attach the 18t idler gear to the hub using Loctite Plastic Bonding System - the only real adhesive I could find for acetyl (Please tell me of any other techniques). There was only about .0005" interference, the adhesive was necessary (especially due to the plastic’s self lubricating properties). For the interface fit between the 48t spur gear I decided to also drill and tap 5 holes (thread synchronized) to accept 6-32 x 3/8" set screws. (I did not have clearance nor material thickness for a countersunk fastener). I was sure to drill the tap drill holes a wire gauge smaller for better retention of the setscrews.

Some other COTS components had some clearance and holes milled by a friend with a CNC mill (my little Sherline machine arrived last week).

Modifications to Other Components:

I mentioned earlier I wanted to bore the bearing holes on the lower gearbox plates. Each module gets two lower plates to hold the large azimuth support bearing captive and to add rigidity, this may not be strictly necessary since this is a light-duty first-attempt prototype, but the plates are only 1/8" 6061 Al. I decided to err on the side of caution. Since I need to do a through cleaning of the particular 3-jaw chuck in the image I was okay with centering the plates on the chuck and using the chuck face as a super glue arbor not something I would normally do, but I kept the cuts modest and the work turned out beautifully. The chuck suffered no damage in this project.

Please note: I do not normally use a boring bar with the amount of overhang as pictured above. I adjusted the overhang in order to capture a good picture.



The wheel carriage was the first component to get the full assembly treatment. The wheel is not installed as I am not totally happy with it. The final wheel will be ~1.375" in diameter, 0.50" wide, and use a piece of large diameter thick walled latex tubing as tread/grip.

The module turns about its azimuth VERY smoothly - There is minimal backlash in this axis, primarily caused by a shaft that is not fully constrained.
The [wheel] rotational axis is also smooth and cannot be back driven by hand there is next no backlash in this part of the gear train; it feels very sturdy.

The over all fit and finish of the module it very nice I was pleased all my CTC distances for the gear train aligned perfectly and there is no significant endshake in any of the shafts. Parts on shafts are quite concentric and there is no unexpected rubbing of components. The module has a bit of heft fully assembled and feels quite solid. [/shameless_self_promotion]


Overall Dimensions (L x W x H): 3" x 3" x 5.5"
Overall Weight: Who cares, it’s a prototype. (Some heft but by no means heavy)
Overall Drive Ratio: 6:75:1 (Motor speed 2737 free)
Overall Steering Ratio: 3:1

This design is not w/o compromises, these are primarily due to the process in which I miniaturized nuclearnerd’s design. There are also several other issues as the result of using COTS components to simplify the manufacture & assembly.
Major mechanical issues:

  • Absolute encoder for azimuth is not 1:1
  • Steering ratio is a mere 3:1 whereas drive ratio is 6.75:1
  • Insufficient shaft support for shafts interfacing with bevel gears
  • Normal force exerted by ground is transferred directly up central shaft and supported by bearing in top plate (Easy solution exists and will be implemented at a later date)

Testing to Come: Stay tuned…

Just curious; where did you get those gearbox plates, swerve forks, etc. machined?

Plates - I had these lasered from .125" 6061 by emachine shop, it was definitely not the cheapest solution. I have used them before for academic projects were I did not have access to the Mech Eng. shop due to the dept. the project was sponsored under. They’re based out of NJ and their turn around times are quick (7-10 days quote to delivery). They offer a load of additional services (surface finishing anodization, powder coating, etc). Prices are (understandably) best at volume.

Swerve forks & milled holes in 72t Al spur gear - These were done at Univ. of N. Dakota’s Mech Eng shop as a favor by one of the techs. They were dead simple to do in one of the existing CNC setups there.

If you don’t mind me asking, how much did it cost to have those plates machined?

Super cool! I love that you’ve already gone so far with this and await results.

Testing still to come. :slight_smile:

I ordered a second set of gearing. I am a little concerned about the steering ratio of the model to the drive ratio. I plan to test both at about the same time. Save for reusing the motors & azimuth encoder I plan to assemble a second module. Physical assembly of the second iteration should be near identical.

Overall 2nd iteration ratios:
Steering ratio: 7:1
Drive ratio: 7.63:1

Overall 1st iteration ratios:
Steering: 3:1
Drive: 6.75:1

This should help alleviate some of the twitchiness should it be prevalent with the original ratios. And should they both work it will be a good comparison.

I was digging around on vex pro this morning and I think I may have a concept to allow for this contraption to be a shifting transmission. any prototype would be full FRC scale (3"+ wheel, 775 pros, 3/16"+ thick gearbox plates etc). We’ll see if a CAD of it ever materializes.


That’s fantastic. I’m very curious to see how the modules perform with different steering ratios. Intuitively I expect the higher steering ratio to perform better (more torque, less sensitivity, better stability), but a lower steering ratio is easier to build using this design. Your experiments will help us choose the optimum ratio for future designs. Good luck, and keep sharing!

Project isn’t dead, just looking for time… :rolleyes:

Hey all,
I finished up a few more odds and ends over the weekend, primary making a nice wheel hub from Delrin fitting a piece of 1.125" ID latex tubing over the hub for traction, making a few spacers, etc. Testing requires hardware at the shop, I do not have access or the time for that at the moment.



UPDATE: "Testing"
Here is the video of first power-on for 2 configurations of input power. “module straight” and “like-a-record-baby”. There is no speed control, just 12v straight to each motor. I am impressed with the minimal changes in azimuth when “module straight” config was powered with no control loop. As for azimuth velocity… well in theory it is 912 rpm.



The second video gets cut off (for me at least) before the action starts.

I am also impressed by the relative straightness of the module driving straight with no closed-loop control. Any idea why is sounds like the motors are slowing cyclically as the wheel spins in the first video?

Are you impressed when a differential drive robot moves in a more or less straight line without closed loop control? Same thing :slight_smile:

Link fixed.
As for the cycling action: the motors aren’t particularlly strong and there is some non-uniform friction in the system.

I’m surprized my protype held close enough tolerances on both the “A” and “B” motors that it worked as well as it did.

I would assume that friction with the floor helps a normal tank drive* robot maintain a straight line. If I’m not mistaken, since the robot turning would induce scrub, the robot “naturally” wants to self-correct and drive in a straight line (think pushing the robot without motors installed). As far as I can see, the only equivalence in the differential swerve would be friction in the main turning bearing, which seems pretty negligible to me.

*I’m assuming that’s what you’re talking about by “differential drive robot”

Yup. We talked extensivly about this last fall (see link in post #1).

I’m impressed when some of them move tbh.

Things that can go straight aren’t a waste of time?

That’s the worse-phrased question I’ve heard since the last time I taught pre-schoolers. (Though TBH, that was earlier this month.)

The ability to go straight in and of itself is not a waste of time in the vast majority of use cases.

There are also a great number of time wasters which have the capability of going straight. Some of them go straight to places they shouldn’t; others shouldn’t go anywhere.