- 1 What is Swerve Drive
- 2 Benefits of Swerve Drive
- 3 Drawbacks of Swerve Drive
- 4 Design Considerations
- 5 Ocelot Drive
- 6 Thought experiment/Project: 3-Wheel Swerve
- 7 Continuously Variable Transmission (CVT) Swerve
- 8 Pivot Calibration
- 9 FRC 1640 White papers and CAD Design
- 10 Value Engineering
- 11 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.
- Functional Specifications
- Maximum drive speed: 9.8 ft/s (2017 CVT swerve is significantly faster)
- Provide 130 lbf drive thrust at max power (less & variable for 2017 CVT Swerve)
- 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.
- Rotational Axes
- 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.
- Set screws
- They live to come loose. They do not belong on a swerve module, or any drive train. Learn (design) to live without set screws and you will be happier in competition.
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!
Thought experiment/Project: 3-Wheel Swerve
Continuously Variable Transmission (CVT) Swerve
One drawback of swerve drive vis-à-vis tank drive is the relative penalty paid for incorporating gear shifting. Tank drive, with two independent powerplants, requires two gear shifting mechanisms; Swerve, with four independent powerplants, requires four. This is a serious design hurdle for a drive train which is already a little avoirdupois.
Fortunately, the team has worked to develop the employment of continuously variable transmission (CVT) as a means of employing variable gear reduction without excessive weight. By relying on pulleys, CVT fits 1640's swerve design philosophy far better than gear-based shifting. In fact, the fit is natural.
- CVT Reduction
- In past swerve systems, reduction had been
- The current system replaces the HTD5 pulley reduction with a spring-loaded constant velocity pulley (Torque Transmission VPS-15) and a V-belt pulley (Torque Transmission PO-3.5-3/8) connected with a V-belt (Gates 2L 180). The constant velocity pulley had a pitch diameter which varies between 1.375 and 2.75 inches; the other pulley has a fixed 3.4 inch pitch diameter. These provide a 1st stage reduction which can be varied between 2.47:1 and 1.24:1. In combination with the old 2nd stage reduction, the overall reduction can be varied over the range 6.59:1 to 3.30:1.
- The constant velocity pulley comprises two v-pulley flanges forced together by spring loading. Under low belt tension, the pulley flanges remain together and the v-belt rides in the high-diameter position. As belt tension is increased, the pulley flanges are pushed apart, bringing the belt into a lower-diameter path. Since the drive pulley is constant velocity, increasing the belt tension increases the reduction ratio.
- The V-belt is tensioned variably using a servo which controls the positions of a pair of tensioning pulleys. The servo and tensioning pulleys are mounted on an upward extension of the coaxial drive shaft.
Pivots are calibrated to zero identically - relative to the pivot module. In this way, pivot modules may be exchanged or replaced without having to recalibrate. A great time saver!
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
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: