Recently, the amount of open source and published swerve designs, on and off of Chief, has skyrocketed. The amount of COTS swerve modules available has also reached entirely new levels, and has opened the door for many more teams to pursue this particular drivetrain.
As a personal project, I decided that I, too, would pursue swerve, and began design of a swerve system to suit the needs of my team, specifically, a team that has no cnc capabilities, limited 3dp access, and limited financial resources (relative to the “swerve team” benchmark). This exercise was far more theoretical than an actual practical design, and was mostly an experiment testing if we could build a swerve system, disregarding if we actually should.
Because of this, I had a few design requirements:
- Low cost - Ideally new purchases shouldn’t exceed $1,000 dollars for a full, quad module drivebase (although I also designed a dual module drivebase that may be quite viable, even at a significantly reduced cost).
- Ease of machinability - Should be able to be manufactured using a drill press, lathe, and porta-band (and 3d printer if necessary).
- Few Custom Parts - Should use as many COTS parts as possible, even if this increases cost.
- Simple custom parts - each part should have 2 or 3 individual ways to be manufactured, and a few possible ways to be assembled. Parts should also follow simple, fractional, imperial dimensions, and should have relatively high tolerances where possible.
- Durability/practicality
- Should be structurally sound, nothing should bend or break, even if this increases weight and/or footprint.
- Should use as many trusted and durable parts as possible.
- Should have certain desirable performance traits, geared (pun absolutely and unapologetically intended) towards use in Infinite Recharge.
- 4" Colson drive wheel
- Neo drive motor geared to ~15fps free speed
- Modular steering reduction, (3:1 to 30:1)
- Accurate positional sensing, homing
Additionally I had a few things I specifically didn’t consider, as they weren’t incredibly relevant to the needs of my team (or at least this theoretical team, that chooses to buy swerve modules instead of an imperial bit set):
- Module size/footprint (to a reasonable degree), vertical height was considered to be important (module should fit below bumper line)
- Module weight (again, to a reasonable degree)
With those requirements (and lack thereof) defined, I set to work designing. CAD is available here (Onshape), and BoM here.
This design takes some inspiration from 1533’s StrangeSwerve, as well as from 221’s Rev Pro 2 module, moving the drive gearing mostly below the bevel gear pair, and using a dual plate vertical construction for the forks. The forks and azimuth assembly are purely mechanical, and can be fully “dropped” from the frame for maintenance.
The structure of the module is comprised of a custom forks/lower assembly (fastened together with welds and/or bolts), “clamped” onto a modified McMaster square turntable (4.7" ID). The McMaster turntable is rated for 500 lbs vertically, but it remains to be seen how it handles lateral loading and shock (my biggest concern, as driving over barriers at speed is quite common in Infinite Recharge, and that can cause sharp lateral load on the wheel–forks–bearing). It is however, quite cheap at 5 dollarydoos, and also can mount directly to the robot chassis, acting as a bottom plate of sorts, for the module.
Rotation is handled by a chassis mounted neo 550 attached to an ultraplanetary gearbox, and connected to a modified 66t vex sprocket in a 3:1 reduction.
Drive power is given by a chassis mounted neo, geared at a 6:1 reduction. This connects to the lower drive assembly (via a 2:1 sprocket reduction), which spins the upper bevel gear (Vex 15t steel bevel). The upper bevel gear is held in place both by the versahub on the sprocket, a 3/8" hex shaft, and a custom delrin flanged bushing. A 3:1 reduction occurs after this, moving to a hex bore gear on the live axle driving the colson (I chose a live axle due to familiarity, as well as a lack of structural worry, the fork assembly is plenty strong).
The neo’s output pinion is connected to a section of 1/2" hex shaft by a set of pin head set screws, which fit into the neo’s pinion shaft slot quite nicely.
The module’s rotation is monitored by a littelfuse relative hall effect sensor, which measures the proximity of a magnet in one axis. This, combined with some simple trig, and the neo550s integrated encoder to determine direction, gives accurate positional data at all times.
This can be used for pre-match zeroing of the module, taking only a split second of my team’s admittedly sparse autonomous routine.
If this proves problematic, there is room for the implementation of manual zeroing, likely with a WCP-style bolt-in-corresponding-holes method, or with a manual jig (to make the side of the fork parallel with the chassis).
A single module costs $229.81 without hardware or motors (the most likely purchase, as my team already has several neos and spark MAXs), and $343.92, all inclusive. This module could be made cheaper, however that was not the primary intent with this design. The actual primary intent was to design a robust swerve module that most teams could actually build, from scratch, with many options for tooling and assembly.
Basically, the aim was to “simplify swerve”, and I believe that it succeeds in that regard.
I’m quite proud of this design. I believe that I accomplished what I set out to do, and was able to design something unique, yet effective, hopefully building on the niche of accessible swerve modules. In addition, I learned quite a few valuable things during this process, and am excited to improve and iterate on this design in the future.
I would love comments and critiques here, and would be thrilled to answer any questions that may arise.
DESIGN UPDATE 1:
As a PSA, I don’t have one of the McMaster turntables on hand, and thus haven’t been able to play with one, and get a feel for how it works, tolerances wise. Because this is a key part of my design, I have already considered it pretty heavily, including failure modes (eg: what if it’s really bad?).
I didn’t, however, consider what would happen if the part was really, really bad. If it (hypothetically) were, the turntable plate could deform, giving the forks an angle, and therefore loosening the chain tension, which would hamper drive and rotation. Most of these issues are solved by adding a second turntable, also in a supporting role, but higher up. These two should solve any issues that could arise from having a single one, and the cost of adding a second one is negligible. I still wanna test this module with a singular turntable, in it’s original location. I ordered one to play with this week.
If the turntable proves to be so bad that even two wont work, there are definitely alternatives.
I also updated the upper bevel gear bushing to include an inner conical chamfer, to better support the gear against an upwards load.
I appreciate the review points, keep em coming!