Building Robots at School

June 22, 2009

VEX Workshop: Drive Systems

Filed under: education,FRC,high school,robotics,robots,teaching,Tech Ed,VEX — dtengineering @ 10:42 pm

This Wednesday through Friday the Pacific Youth Robotics Society (PYRS) will be hosting a VEX workshop at Gladstone Secondary.  I’ve been fortunate enough to get to do some of the organizing for the event, and will be presenting on a couple of topics, one of them being Drive Systems.  Rather than provide handouts (I haven’t figured out how to get video on to handouts), here are some links to what I think are great examples of ways to move your robot around.

SKID STEERING (aka Tank Drive, Bulldozer Drive, etc.)

In skid steering the axles remain fixed in orientation relative to the robot.  The robot is turned by making the wheels on one side of the robot turn faster than the wheels on the other side of the robot.  This is pretty much the simplest and most reliable way to turn a robot, and offers the advantage of being able to make a “zero radius” turn (turning on the spot) by driving the wheels in reverse on one side and forward on the other.

While “skid steer” sounds simple… and is in most applications… it is important to remember that for skid steer to work, the wheels, or treads, must be able to skid as the robot rotates.  If your tires have too much traction, you might not be able to skid… and thus unable to turn.  It happened to us with our very first FRC robot… it turned GREAT in the shop on a cement floor, but when we got to Toronto and put it on the carpeted playing field, our big grippy rubber wheels wouldn’t skid!  The robot would buck like a bucking bronco as the frame twisted under the stress of trying to turn, but until we managed to wrap pool vacuum tubing around the rear wheels and reduce their co-efficient of friction, we weren’t doing anything that wasn’t in a straight line.

Skid steering is the most common form of steering, and doing it right is important.  I’ll put more detail into a later post, but until then, here’s a great video of skid steering in action.  Notice that with just two wheels on the ground that there is no skidding, and how by shifting the centre of gravity, the driver is able to shift all the traction from the rear wheels to the front wheels.  It works the same way in robots…


Swerve drive involves wheels that actively steer by changing orientation relative to the robot body.  In other words, a car is a swerve drive system because the FRONT two wheels change direction relative to the car body.  (Cars use an Ackerman Geometry and a Differential to do this smoothly.)  A forklift is also a swerve drive, because the REAR wheels change direction.  And yes, I know some cars have four wheel steering… but they only turn their rear wheels a little bit.

Robots, however, can have pretty extreme swerve drives, in some cases rotating all four axles over 180 degrees!    In the FIRST Robotics World, one of the masters of the swerve drive are Team 118, the Robonauts.   An interesting thing to note on this robot, is that they had to build a swivelling turrent… because in their design all the wheels ALWAYS point in the same direction… allowing the robot to instantly head in any direction without turning, but ironically making it quite difficult to actually turn the robot!  Sometimes you will see this referred to as a “Crab” (or “Krab”) drive, because of the way the crab like movement of the machine.

While a crab drive like the Robotnauts requires a fair bit of work to design and build, with a VEX Robot you can simply use the VEX Swerve Drive kit to get started.  Or you can build your own….


Here’s a great video showing some different Omnidirectional Drive systems produced by FIRST Robotics team 115:

Using Omniwheels

“Omni” means “all”, so here we are talking about drive systems that allow your robot to move in all directions.  Omni drives have three “degrees of freedom”.  In three dimensional space an object can have up to six degrees of freedom:  Translation (movement) along the x, y and z axes, and Rotation (turning) about the x, y, and z axes.  A typical skid steer system has two degrees of freedom… translation along the x (forward and backward movement) and rotation about the z (vertical) axis.  A crab drive system, like the Robonaut’s machine mentioned above, also has two degrees of freedom:  translation along the x and translation along the y.  The robonauts can’t “turn” however, so they have no rotational degrees of freedom.  The VEX robot, in the video, above, has three degrees of freedom: translation in x and y, and rotation about z, making it an “omnidirectional” robot.

There are other ways to build an omni-directional drive system, however.  One of the most common ways is to use the omniwheel.  While my favorite use for “omnis” is to make it easier to turn a skid steer system, they also have some interesting possibilities for building omnidirectional drive systems.  There is a great powerpoint presentation on the different designs and the math behind making them work at the WPI FIRST Robotics Resource Centre.  Look for the third item on the list by Baker and Mackenzie.  Here are a few examples of the fun you can have with omni wheels:

A VEX Holonomic drive robotA larger, six wheel drive omni drive system.  “Holonomic” is often used when referring to a drive system using four omni wheels, with two wheels perpendicular to the other two wheels, however it could be used to describe any omnidirectional drive robot as they both mean, roughly, the same thing.  In the first video the wheels are angled 45 degrees to the frame and located at the corners of the robot.  It is sometimes easier to put the wheels in line with the outside of the frame, and at the middle of each side of a rectangular robot, or to use six wheels as in the second video.

When you build an omnidirectional robot with three omni wheels (see team 115’s video, above) it is commonly called a “Kiwi” drive.  The Kiwi drive has the advantage that because the wheels are based in a triangle that all three wheels are always in contact with the ground.  With a four wheel (or six wheel) system it is possible for one of the wheels to lose contact with the ground.  It is very important that when using omniwheels or mecanums (see below) that all the wheels stay in constant contact with the ground.  This is why many people advise building a suspension system for four wheeled omni-drive systems and/or restricting them to flat, smooth surfaces.  In VEX competition, however, the “suspension” is actually provided by the soft foam tiles of the playing field.  An alternative to the Kiwi drive is the Killough drive… which works like a Kiwi, but without using omni wheels.  Take a look here for some good graphics showing the vectors at work in making these robots move.

Using Mecanum Wheels

“Reinventing the wheel” is often used as a cliche to describe doing something needless or useless, but in 1973 a Swedish inventor did just that.  The mecanum wheel is quite similar to an omni wheel, but has the “rollers” around the outside of the wheel mounted at approximately a 45 degree angle to the axle.  This means that you can build a robot with the wheels set up parallel to the frame, but still have all the mobility of an omni wheel system with the wheels set at an angle to the frame.  This simplifies frame design and allows the added benefit of being able to switch back to skid steering by replacing the mecanums with regular wheels (also known as “traction” wheels).  These benefits encouraged our FRC team to use mecanum wheels in our 2007 FRC robot.  This robot has to be the most fun to drive of any of our machines, although it was by far the most challenging to program… and getting it to climb an incline took some careful work and driving practice.  We tried to make sure that, as much as possible, the amount of weight supported by each wheel was close to equal, and rather than building a suspension to keep the wheels in contact with the ground we just left a bit of flex in the frame.  In hindsight, we would have had a more competitive robot if we had gone with a simpler skid steer system and used the time we spent programming the mecanum wheels to work on other robot systems, but on the other hand… watching this machine move was just too cool!

The advantages of an omnidrive should be apparent… unlimited mobility on smooth surfaces, and a machine that makes people ask “How does it DO that?” as it strafes off to the side without turning.  In addition to being infinitely cool, omnidrives are also an excellent opportunity to teach vectors, forces and feedback.

That, however, is also the disadvantage of an omni drive system.  They are complex.  Swerve drives tend to be complex mechanically, while mecanum drives add complexity to the software.  It can be difficult enough to make a skid steer robot travel in a straight line, but the flexibility of an omni drive to go in any direction also means that they can go in any wrong direction quite easily.  On our mecanum robot we had encoders on each wheel, and a PID software loop to control the speed of each wheel to ensure that the robot would go straight.  Other teams have used gyroscopes to make sure their robot trackeded in a straight line, or potentiometers, for swerve drives, to make sure that their wheels all point in the correct direction.

Omnidrives also tend to sacrifice some “pushing power” to skid steer systems.  The swerve drive sacrifices the least (almost none, in fact), as all the wheels are driven and always point in the direction of motion, but omniwheels and mecanum wheels not only have a lower coefficient of friction relative to a traction wheel, but at times will only have two of the driven wheels pushing in the direction you want to go.  The idea behind an omnidrive, however, is that your added maneuverability allows you to avoid pushing matches by outmaneuvering skid steer robots.  This requires a sufficiently open playing field for the robot to navigate freely, plus a sufficiently talented driver to maximize the opportunities presented by the omnidrive.

Omnidrives aren’t always ideal for robotics competitions… but they make for a great programming or building challenge for an experienced robot builder and are some of the most exciting robots to watch that you will find anywhere.  If you haven’t built one before… why not give it a try?

*** Check out the comments, below.  Rick pointed out a great holonomic VEX robot that did really well at the World Championships, and I’m sure other people will post links to their favourite omni-drives as well. ***


1 Comment »

  1. Very nice collection of drives. I’ll add the Robowranglers VRC #148 2008 robot: six omniwheels oriented in a single direction, three on each side of the robot, with a single seventh omniwheel mounted at right angles in the middle of the robot. By combining skid steering of the six primary wheels with the right angle force of the seventh wheel, this robot gets near-holonomic maneuverability with the pushing force of a skid-steer drive train. We need a name for this — how about “cowboy drive?”

    Here is a Youtube of a holonomic-drive VEX robot from Redmond, Washington: This robot went on to finish in the top eight at World Championships.

    Comment by Rick Tyler — June 23, 2009 @ 4:38 pm | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: