Walker notTexasRanger:

I said no thanks to Chuck Norris with his duster and shiny shotgun. Give me instead a real tough guy. This six legged hombre can walk his way across a table and know better than to fall off. You think Chuck can pull that one off?

Click here to see a video clip of Walker's walking motion and gait. Click here to see Walker walk off a handrail and bust himself to pieces on the stairs below. Not for those with weak constitutions. Horrible footage that will most likely make the next Faces of Death video.

This is a common solution for hobbyists to the walking robot problem. Mainly because it is cheap, using only 3 servo motors. Another common solution uses 2 motors for each leg. At $10 per servo, that makes for $120 just for motors. So when I saw this design in Poptronics (Dec, 2001 issue), I set out to build it. This shot of the bottom shows the simplicity of its motor design.

Poptronics alas is no more. But you can find plans to build this bot in John Iovine's book Robots, Androids, and Animatronics.

Theory: This robot uses the classic "tripod" gait when walking, meaning that 3 legs are in contact with the surface at all times. Note from this photo that there are two servos mounted in the front of the robot. The front legs are bolted onto the control horns and when the servos rotate (these are unmodified servos by the way) the front legs will move in the same plane as this page, from front to back of the robot. Note the linkages that tie the front and back legs on one side of the robot together. The center leg has its servo mounted at right angles to the left and right servo. When that servo rotates, the center leg will pivot around the servo connection and the leg will move in a plane that comes out of this page toward the reader. The center leg will serve then to lift one side of the robot so that the front and back legs on that side can move forward or backward. Below is a diagram showing the mechanics of this gait.

The ovals indicate a foot's position. Black means the foot is in contact with the ground/surface. Gray indicates that the foot is suspended in the air for that step.

  • A - Starting position. Center leg is centered so that foot 2 and 5 are suspended in air
  • B - Center leg swivels so that foot 2 is in contact, raising the left side of the robot. Feet 1 and 3 are suspended in air
  • C - Feet 1 and 3 are moved forward by rotating Left/Right motors to forward position, feet 1/3 still suspended.
  • D - Center leg is centered so that foot 2 and 5 are suspended in air
  • E - Center leg tilts so that foot 5 is down, 2 is suspended. Feet 4/6 are suspended.
  • F - Feet 4/6 are moved forward by rotating Left/Right motors to forward position, feet 4/6 still suspended
  • G - Center leg is centered, feet 2/5 suspended, all others down
  • H - Now it gets a little funny. I've drawn in 2 small circles to represent the Left and Right servo output hubs. Right now they are both in the "forward" position. To move the robot forward, they must be rotated to center position.
  • I - The feet stay in place and the body is drawn up so that the Left/Right servos are even with the front feet.

Backing up is this same thing in reverse. A turn is done by not doing one of the sides advancing so that all the forward motion is done only on one side. This is similar to differential steering. You can even have one set of legs advance and the other side reverse to get a more aggressive turn. I experimented and found that just one side advancing was the best, but the mechanical design of yours could give different results.

Building it: I recommend getting a back issue of Poptronics, Dec 2001 issue or pick up John Iovine's book Robots, Androids, and Animatronics (which is a great book even if you're not building this robot) for plans. I used 1/2" x 1/8" aluminum bar stock from Ace Hardware (about $8 for enough to do this project). Rather than buy a sheet of aluminum for the body as recommended, I used some old plastic from a printer cover. I also added my own sensor, the "nose" part that hangs down and ahead of the robot. This is an IR reflective sensor that I use to detect a solid surface. If the robot is about to walk off a drop off like the edge of a table or stairs, the sensor will detect that and the program has the robot back up, turn right and continue. The tripod gait even allows the robot to put one of its feet over the edge and still recover.

Technical Info: I used a Motorola HC08 based BotBoard of my own design as the main controller. Shown here is the circuit board mounted on the top layer. Rev 1 of my HC08 BotBoard did not have a header for plugging in a servo directly. I had to run the PWM output signal out from a header and down to the breadboard mounted underneath. There, headers reside for the servos to mate with. I also have the resistors necessary to drive the IR sensor on this breadboard.

Schematic: I don't show things like decoupling caps, but otherwise this is pretty complete. It is not a difficult circuit to build. The hard part is in the software.

The dashed line represents the case of the IR reflective sensor (I used Electronic Goldmine part G8669). The diode and phototransistor are internal to the part. The case has a diagram like that shown inscribed on it to help you distinguish what terminal is what.

Click here to see source code in C language. Includes good explanation of how a servo control signal is set up.
Click here to see a video clip demonstrating the gait AND the IR sensor at work to avoid walking off a table edge.
Click here to see Walker lose it and go over a handrail and smash to pieces on my stairs. Graphic video clip, not for those with weak constitutions.
Jump to Dennis Clark's page about his hexapod walker robot.