Swerve Central

From DEW Robotics
Revision as of 12:19, 3 May 2015 by MaiKangWei (talk | contribs) (Value Engineering)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
1640's 2015 pivot module
1640's 2013 pivot module
1640's 2012 pivot module
1640's 2011 pivot module
1640's 2010 pivot mechanism
This is a consolidation point for key and current information and engineering concerning swerve drive. It primarily deals with FRC 1640's swerve drive, but references to other systems and sources are included.

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

Ocelot Drive

Ocelot Drive
The 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!

Design Considerations

Functional Specifications

  • 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:
  1. 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.
  2. 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:
  1. The CIM motor (drive) axis
  2. The steering axis
  3. The pivot steering / drive co-axis
  4. The transfer axle; driven by miter gear and drives a sprocket (to drive the wheel)
  5. The wheel axle (a 3/8" dead axle)

Modularity

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

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.

Value Engineering

Value Engineering 2015.jpg
1640 has always viewed swerve drive as a strategic investment. While not the best drive train solution for all situations, it is a very attractive drive train for many FRC situations.

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
  • both

Results of value engineering efforts summarized in table at right with links to details below:

FRC Team 1717's Pivots

FRC Team 1717 has a long and very successful history with swerve drive, incorporating a gear shift.