- 1 What is Swerve Drive
- 2 Benefits of Swerve Drive
- 3 Drawbacks of Swerve Drive
- 4 FRC 1640 White papers and CAD Design
- 5 Ocelot Drive
- 6 Design Considerations
- 7 Value Engineering
- 8 FRC Team 1717's Pivots
What is Swerve Drive
In FRC circles, swerve drive can be used for any drive train in which all drive wheels are steered. For this forum, the definition will be restricted to drive trains where all drive wheels are independently driven and steered. It is a holonomic drive train in which the robot can move in any direction and independently translate its chassis orientation.
Benefits of Swerve Drive
- Agility - a true 2-d drive train in which drive direction may be divorced from chassis orientation
- Traction - in contrast to other holonomic drive systems, high traction wheels may be employed without negative consequence; furthermore drive force may be vectored in any desired direction
- Stealth - no need to telegraph intentions via chassis reorientation
- Flexibility - with the drive direction and power controlled independently to each wheel by software, multiple drive modes, including game-specific drive modes, become possible
- Dynamic Steering - for most FRC drive trains, driver joystick input maps 1:1 with drive train motor instructions; swerve steering directions to each wheel need not simply reflect driver joystick input, but may also reflect current "t" status in determining "t+δt" motor instructions; from a practical standpoint, this may be used as an agility force-multiplier; see Ocelot drive for clarification
- Minimal steering hysterisis - there is almost no need to overcome static friction in steering
- Servicability - an independent wheel drive train just screams modularity; 1640 can swap out a pivot module in < 5 minutes (easy peasy)
Drawbacks of Swerve Drive
- Complexity/difficulty - This is not an easy drive train to execute; mechanically or programmatically; not for the faint-hearted or impatient; it took us 4 years to realize all of the benefits (maybe, we think)
- Mass - 1640's reduced the mass of 4 pivot modules to 31.6 lbm. Still a lot for a drive train
- Time - CNC machining takes time; so does the assembly of complex mechanisms; as a result 1640 has finished swerve modules available to mount in chasses only at the start of week 5
- Cost - Financial cost of swerve modules is a significant (but fortunately declining) portion of our build budget
- Motor budget - 4-wheel swerve requires (4) drive motors and (4) steering motors; (8) motor controllers; (4) analog inputs; these leave less for other functions
- Difficulty in driving straight - Not so surprisingly, an ultra-agile drive train has trouble driving a straight line; drivers compensate in tele-op, but this is a particular issue with autonomous
- High use of cRIO resources
- Driver training is not optional with swerve. Frankly, we train all the time and participate in a lot of off-season competitions for real training. Use of OP-FOR robots on our practice field yields the dual benefit of making practice more realistic and training additional drivers.
FRC 1640 White papers and CAD Design
- Mathematical Analysis of the Pivot-Wheel System.
- Programming a Pivot Drive Robot.
- Mathematical analysis - Crab with a Twist.
- Mathematical analysis of 3-wheel swerve - The Trouble with Tribots
- CAD design of FRC 1640's 2015 swerve module - zipped STEP format
- CAD design of FRC 1640's 2013 swerve module - zipped STEP format
- Detailed BoM of FRC 1640's 2013 swerve module
- CAD design of FRC 1640's 2012 swerve module - zipped STEP format
- Detailed BoM of FRC 1640's 2012 swerve module
Ocelot DriveThe most exciting change in the 2013 drive-train had nothing to do with the pivot mechanism, but rather with the software controlling it. Swerve drive works on software, after all.
When we first developed pivot drive, we understood that it offered the potential for dynamic steering in addition to straight-forward crab & snake drives. Up until now, however, we have not been able to realize this potential and have managed with static drive modes (where joystick position maps directly to wheel positions).
Senior programmer Dhananjay (DJ), with help from mentor Gary Deaver, wrote the LabView vi for Ocelot drive. Programming Lead Mike M integrated the code and streamlined the wheel positioning to be resource practical on the cRIO. The full robot project code, including Ocelot drive, can be found in the FRC1640 2013 Competition Season Code repository on GitHub.
A great job and great teamwork!
- Maximum drive speed: 9.8 ft/s
- Provide 130 lbf drive thrust at max power
- 1-2 rev/s steering speed w/ shortest path algorithm
- Capable of infinite steering rotation
- Drive direction must be known
- Pivot module must be replaceable (fully ready for competition) in < 5 minutes
- Drive wheel static friction coefficient > 1.0 on carpet (as high as practical) - all directions
Rotational Steering Support & shear strength
- Steering rotation axis is a 1" OD x 0.25" wall 6061 Al tube connected to the top of the rotating pivot cage. The wheel contact area is centered on the rotation axis. This steering tube is rotationally supported by two bearing surfaces separated by 1.388" between inner bearing limits; 2.326" between outer bearing limits. The lower bearing is a 1" double sealed, flanged ball bearing race (McMaster-Carr part 6384K373). The upper bearing was switched to a Igus polymer bushing in 2013 (happy so far). The bearings are mounted in the lower and upper pivot module plates.
- From a shear-load standpoint, the system's traditional weak point is the connection between the 1" OD steering tube and the rotating pivot cage top plate. These are currently groove-welded at the lower face. Hitherto (1 year), none of these welded connections have failed and we have yet to discover the new weak point (no failures due to shear loads/impacts).
- The 3/8" 4140 steel drive shaft runs coaxially within the 1" OD steering tube. Open needle bearings (McMaster-Carr part 5905K22) have been installed at the top and bottom of the steering tube for this drive shaft (for 4 years without issue). Lubricate needle bearings during initial assembly.
Axial loads & thrust bearings
- There are three key axial loads, and we use thrust bearings for each of these:
- The junction between the top of the rotating pivot cage and the bottom pivot module plate. This bears the robot weight and takes any shocks from hitting/driving over objects on the field (like Frisbees). We use a 1½" thrust bearing (McMaster-Carr part 6655K25; we bag the top steel washer and let the ball run on the 1" flange bearing's flange.
- The two miter gears want to get away from each other in the worst way, thereby creating axial loads behind both of these. 3/8" shaft (McMaster-Carr part 6655K15).
- Lubricate all (3) thrust bearings during initial assembly.
- We have (5) rotational axes: (3) vertical; (2) horizontal:
- The CIM motor (drive) axis
- The steering axis
- The pivot steering / drive co-axis
- The transfer axle; driven by miter gear and drives a sprocket (to drive the wheel)
- The wheel axle (a 3/8" dead axle)
- Our pivots are designed for rapid replacement of the entire drive module for service. A pivot can be swapped out and replaced in less than 5 minutes. All pivot modules are identical (no left & rights) and all are pre-calibrated identically (relative to the pivot module). This is a tremendous competition pit time saver.
- We hate 'em. They always come loose. They do not belong on a swerve module. Learn (design) to live without set screws and you will be happier in competition.
But it's expensive (in many dimensions). 1640 therefore runs a value engineering project each year specifically for the swerve drive.
Value Engineering seeks to widen the gap between a device's value (to the customer) and its cost by:
- increasing the value (performance, reliability, ease of maintenance,...);
- reducing the cost (normally $s, but also mass, motors, time, driver training,...); or
Results of value engineering efforts summarized in table at right with links to details below: