pic: 5987 Swerve Example



Team 5987 is planning on prototyping our first swerve chassis this off-season. In order to help them with their design and CAD, I modeled a module and chassis based on our discussions and paper/whiteboard designs. The students will then make their own model, but I can better help them by knowing where they may run into problems. I am posting my design here hoping to get some feedback on the design and suggestions from people who have done swerve before that I can pass on to the students.

One specific question we have is about the required precision for the bevel gear spacing. If we have the vertical plates screwed into a tapped hole on the side of the horizontal plate (like in the Revolution Pro), is that good enough to properly constrain the bevel gear spacing or could that allow for mis-alignment in the clearance holes? What if we use rivets like in this design? What if we add dowel pins to the screws?

14.4ft/s free speed, 11.66 ft/s adjusted
AM9015 through PG71 for 3rps (180rpm) free, approx. 2.3rps (140rpm) loaded
~9lbs per module, ~45lbs for full chassis and frame
McMaster 5909K190 thrust bearings

CAD is available here
Some more hi-def pictures:


Pretty solid design! The triangle shape reminds me of the MOE 2015 swerve. https://photos.app.goo.gl/uoi5F6LLPVGBDbzy1

I few things we worked through when designing ours that you might benefit from:

If you flip over the 3/8 hex hub and countersink it you can use that as the bearing surface for the upper thrust bearing instead of your part “Module Bearing Center Top-1” This saves that entire part as well as 6 tapped holes per module. We also found that an upper thrust BEARING isn’t really that important because most of the time the force is on the thrust bearing under the plate which supports the weight of the robot. The upper thrust bearing only comes into play when you are running the robot on the cart and the modules are hanging down, even then, they are only loaded by the weight of the module. We opted for Oilite bronze for the upper one and it worked fine.

If you use 3/8 round shaft and these gears(broaching a keyway required) you can significantly skinny/lighten up the center column because instead of 1.125in OD 3/8 hex bearings you can use 0.5625in OD 3/8 round needle bearings from McM. This may be less of a concern for you since you have to put a large diameter on anyway to reach the PG mounted gear.

I am a little concerned about the sheetmetal and rivets in the lower module, it’s going to be experiencing some crazy loads but it may hold up. I remember when the MOE bot got dropped on one of the modules the only thing that happened was one of the side plates bent. If the bearing had been installed correctly and the cross tubes been put in the lower set of holes it probably would have been fine.

Why do all the sheet metal work on the lower module when you can probably purchase the appropriately sized box aluminum? Was there a specific size you couldn’t find?

Thanks for the advice!

We will definitely look into using a thrust bushing on the top. If we flip the 3/8" hex hub at the top and using that as the support face for the bearing/bushing, won’t all of the module weight be supported by the center shaft (more specifically, the tapped hole in the center shaft) when the module is suspended? Is that something to be concerned about? If not, I like that idea.

As of now I don’t believe we have an inch broach set. Those gears could be something to look into in the future though.

Right now the design uses CNC’ed 80x30x3mm C channel for the top and sides, and CNC’ed 3mm plate for the front and back. We took inspiration from 1717’s 2012 modules. We are still looking into using 6mm and 10mm sheet like in the Revolution Pro and MOE 2015 modules, but that will depend on the answers to the questions in the OP about bevel gear alignment.

Right now, the lightening holes in the modules are really an afterthought, and likely wouldn’t get cut on our first iteration of the module. We would likely only be CNCing bearing and rivet holes in stock C channel.

I hadn’t even thought about using large box tubing, so that could be something to look into if we don’t end up using the other design. I’m not sure how much manufacturing time it will save, as we still need to CNC the same holes, but it may save a bit of time in assembly and would probably be stronger if designed correctly. The only problem I see as of now is that the top C channel has to fit inside the square tube, so if we use 80mm C channel it will be hard to find 86mm OD (80mm ID) square tube or vice versa.

With regards to the thrust bearing arrangement:

We found that it was beneficial to use shims to make sure that the thrust bearings are pre-loaded so there is no wiggle in the module. To do this we purchased shims from mcmaster and added them until there was no wiggle left in the steering axis. There is CAD for our design here.

If you change the thrust bearings to inch sizes, they might be cheaper (although that might not be true in your region).

Thanks for the advice! I’ll make sure we get some shims when we order the bearings. You’re CAD model was a large part of the inspiration for our design, and I expect that the final module will end up looking even more like yours.

I went with metric sizes because the students are much more familiar with metric and they were only a few dollars more from McMaster (where we plan on ordering them from). If I were building this myself I would go with inch sizes, but for the students the few extra dollars are worth not having to convert everything to inches. If the price difference were more substantial, it wouldn’t be a huge problem though.

I was wondering if you had any problems with half of the thrust bearing face being taken up by the radial bushing so the plate didn’t have as much contact area. I might have thought that could lead to the module “flexing” where it meets the chassis plate. Did you notice anything like that?

Yes, when suspended the 5lb or so of the lower module will be supported by the screw threads. This is not something to worry about at all since it takes hundreds of pounds to pull the tapped threads out of the shaft. You will want to be sure to use loctite on this screw (like all screws into blind holes) as it could come unscrewed when rotating the module while suspended. This screw would be under much less load than a screw in (for example) the end of a shaft in a west coast drive that holds the wheel on.

As to the bevel gear question, like any gear, you want to keep the designated gear spacing as close to perfect as possible. Bevel gears are a bit more forgiving, especially the ones you choose because of the relatively large teeth. Manufacturing methods aside, if you are confident that you can keep them +- 0.005" from the designed spacing you should be fine. You might also try email Vex to see if they spec a larger tolerance on the gear spacing number they give. In the gears in the MOE swerve I suspect the gear spacing was not perfect as over 100 matches or so and practice the teeth wore into much sharper teeth, but never to the point of failure.

Reading that the lower module is mostly C extrusion makes me feel much better about it compared to sheet metal bent into a C. I think stiffness wise you are probably fine as long as the rivets don’t wear out. Looking closer at the CAD I would either remove, or make the “Module Gear Spacer-2” have as much surface area as possible, extending almost to the root of the gear teeth. I would also make it out of aluminum (I’m guessing by the shape it’s 3D printed now). This is where it looks like the module will flex when pushed to the side. The wider it it the stiffer that area will be. If it’s removed, the gear itself will provide the stiffness. It will also help keep everything concentric because now that bearing will be able to reach the gear and pilot.

Also, AndyMark sells 38T and 42t gears with the 10mm key bore that would save you from using the hub and accompanying screws on the PG if you can get them to fit in your design. Maybe by using a large gear on the wheel module.

Hmm…I never thought of it like that. That will definitely be something we look into.

Good to know. I’m pretty sure between our CNC mill which is supposed to hold +/-0.0015" and a tight clearance hole for the screws, that should be within +/-0.005". I will email Vex and ask them about their bevel gear spacing tolerances because they don’t have it listed in their product drawing.

Thanks for noticing that. I honestly forgot that I had that spacer in there. I put it in when the PG71 gear was lower and it hit the module, so I needed to lower the module a hair. Now I’ve flipped the gear around, so it looks like I should be able to take it out altogether. That should help stiffen things up.

One of our goals in designing the module was to have 1:1 gearing from the PG71 to the module so that we could put an absolute encoder where we did. With two 42t gears, the module is too close to the PG71 to have the encoder where we do now. I will talk to the students about the possibility of using an incremental encoder and index switch or making 3D printed gears to move the absolute encoder to the side and back to 1:1, but I suspect they will prefer a bit of added weight and parts to the extra design and manufacturing or programming.

Thanks again for all your advice!

In our design the radial bearing doesn’t take up much room. It is a plastic ring of delrin cut on the lathe (some of the modules have a 3d printed ring of plastic instead). The wall thickness of the ring is only 1/16" [1.6 mm] thick.

One thing that I should make clear is why shims are needed. Bearings need to be under a certain amount of load to make sure the rollers or balls spin instead of slide. If the balls or rollers slide then they will wear out very quickly. This is why we used shims to make sure the screws were applying their force to the bearing. These roller bearings are rated for almost 5000 lbs [22,200 N] of force, so it is fine to have the screws press right down on the bearing (the six screws loading the bearing in our modules can apply about 2000 lbs [8,900 N]). The weight of the robot is not the main source of load on these thrust bearings.