The Coat Hanger Walker [Part II]
By Gareth Branwyn
Photos by Jay Townsend
Illustrations by Mark Frauenfelder
Building the Walker Body
The body for our Coat Hanger Walker is basically the motor casing for the servo motor itself. The control circuit goes on top (actually, the servo is flipped upside down, so it’s technically the bottom of the motor), the two AAA battery packs go on the sides, and the on/off switch gets attached to the back. The motor is oriented so that the drive shaft protrudes from the bottom, delivering power to two sets of gear/legs, one set for the front two legs, and one set for the back. The ingenuity of this design is that four legs are controlled, and that a single motor can achieve a reasonable walking gait. Robotic walking technology is usually hard. The simplest walkers usually have at least two motors and two control circuits (one “master” circuit and one “slaved” to that). Jérôme Demers’s design is a study in engineered minimalism. This walking machine doesn’t have the most elegant gait in the robot kingdom, but it does work, and it shows the kind of insect-like movement and persistence that’s the hallmark of biologically inspired robots.
To start building the body, let’s first fabricate a few special parts that we’ll need.
Making the Gears
The gears that control the front and back leg sets are actually one plastic gear split down the middle and turned back on itself. Because leg walking only requires a back and forth, reciprocating motion (rather than continuous rotation), we don’t need all 360 degrees of gear. One-hundred eighty degrees–worth of gnarly gear teeth is more than enough.
To cut the gear in half, choose the notch between two gear teeth on one side of the gear’s circumfer-ence and count half of the notches between gear teeth to arrive at the point where you want to cut. So, if your gear has 40 teeth (as ours does), choose a space between two teeth and count between teeth to the 20th notch. Most plastic gears have holes in the area between the hub and the toothy rim (to cut down on weight). Try to align your cut so that you don’t cut through any of these holes. Structurally, this doesn’t really matter; it just looks nicer.
After you’ve found your centerline to cut, use your hobby knife and a ruler (preferably a metal one) to scribe a line across the gear. Use a cutting mat, scrap cardboard, or something else that you don’t care about marring. Because the gear likely has a raised rim around the outer edge and a raised edge around the hub, cut into each of these surfaces in turn (in other words, don’t just drag the knife along the ruler, at one depth, and in one long stroke). Take your time and cut repeatedly, applying more pressure each time. Don’t try to cut through all in one stroke. If you have a hobby razor saw, or a razor saw blade for your regular hobby knife, that will make cutting easier (see Figure 14).
Fabricating the Idler Shaft
There are two gear shafts on our walker. The driveshaft is the one that comes from the gear box onthe servo motor (which is oriented upside down).It transfers the back and forth motion of themotor to the internal gears of the servo’s gearbox,and then to the gear shaft to which we’ll attachone half of the gear we cut. This gear also servesas the base for mounting our back leg assembly.A second gear shaft is used to hold the other gearhalf and the front leg assembly. This gear shaft isnot powered (its gear uses transferred motionfrom the powered “rear” gear). Because this shaftis unpowered, we’ll call it an idler shaft.
The idler shaft can be made from either a metal coat hanger wire or other wire in the 8 to 10–gauge range. If you want, you can use the “Gumby Legs” wire sold by Solarbotics (which we recommend using for the legs). This wire is simply 10-guage copper wire, so if you have other access to 10-guage solid copper, you can use that.
Cut about a 3 1/2-inch length of wire. If you use the copper wire, you’ll likely have to strip off the plastic insulating jacket first. Use your wire-stripping tool. Make sure the wire’s nice and straight. By the way, if you do use the gumby wire (or other jacketed 10-guage), save the jacket pieces. You’ll need them later on.
Measure down about an inch on the wire and, using your needlenose pliers, bend the wire above your 1-inch mark into an inverted teardrop shape (think shepherd’s crook). It doesn’t really matter if the shape is perfect. All we’re trying to do here is to create as much surface area as possible for gluing. This bent part of the wire is what gets glued to the servo motor/body (see Figure 15).
At the 1 1/2-inch mark, bend the shaft about 35 degrees away from the teardrop as shown in Figure 15. Test fit this on your motor casing. The teardrop part should lay flat against the casing and the shaft should clear the motor mounts on the servo motor (with some wiggle room). If you have a Dremel tool or a razor saw, you might want to go ahead and zip off the motor mount anyway, to give yourself lots of space (we did this). You’ll need to be able to bend this shaft (down) a bit during the final assembly so that the idler gear can mesh properly with the drive gear.
FIGURE 15: Inverted teardrop bend in gear shaft wire for mounting to servo (left), 35-degree bend in wire, seen from side and attached to motor casing (right).
4. Mix up a small batch of 2-part epoxy. Apply it with a wooden coffee stirrer, Popsicle stick, or other similar dis-posable stick, to the end of the servo motor opposite the end closest to the drive shaft (see Figure 16). This is very important. Now place the teardrop-shaped crook part of your idler shaft into the glue. You should have a generous amount of epoxy on the motor casing so that the wire gets firmly bonded to it. You’ll need to hold the wire in place for a few minutes while the epoxy sets up. Get comfortable, don’t rush it, and don’t peek! Use a piece of junk plastic (like the clear plastic used in prod-uct packaging) to hold the shaft in place (so you don’t glue your fingers to it). You can carefully peel the plastic away after the glue has set up enough to hold the shaft firmly in place. Don’t use paper for this, as some of the paper will stick to the shaft and look…ah…tacky. Make sure the shaft, as it comes away from the teardrop mount, is centered right and left on the motor. When the glue has set enough for the shaft to be stable, carefully put the motor down in a safe place for it to dry, preferably overnight.
FIGURE 16: Our idler shaft glued to the motor casing (opposite of the drive shaft and motor wires).
Making the Idler Gear
While the epoxy is drying on the idler shaft, we can make the gear and gear mounting hardware that we’ll use to attach it to the shaft. Let’s start with the gear.
When we cut our original gear in half, we cut the center hub in half as well. This leaves us with no closed hub to hold the gear onto the shaft. We’ll need to fabricate our own hub.
First you’ll want to use your hobby knife to clean away any of the plastic residue in the hub area that might be left over from cutting the gear in half. You want a nice clean surface on which to bond.
If you used the Solarbotics gumby wire (or other jacketed 10-guage wire), you should have a lot of plastic jacket left over from the stripping. Using your hobby knife, cut a piece about 3/8-inch long. Make sure that your cuts are as straight as possible. If you don’t have a 10-guage wire jacket to play with, you’ll have to find plastic tub-ing with a 3/32-inch inside diameter. Heat-shrink tubing of this size will work.
You could just glue this hub right to your idler gear, but we found that the stress on it eventually broke the gear off. To fix this, we added some plastic reinforcement to help join the hub to the gear. We did this by way of the optional leg mounting pad (attaching the hub/plastic to the LMP). If you’re using an LMP, you’ll want to trim the LMP first (see details on page 214). To create the reinforcer, we cut a small (1/4 inch × 1 inch) rectangle of plastic and drilled a hole (just using the point of our hobby knife) in the center (for the hub to pass through). We glued the hub to the plastic reinforcement piece and then glued the reinforced hub to the LMP (which will, in turn, be screwed to the idler gear). We used superglue for this bonding job. To create the plastic reinforcement part, we used a piece of .03-inch plastic stock (often called Plasticard), available at most hobby and craft shops, but you can just as easily use more of that junk plas-tic most everything we buy is packaged in (see Figure 17).
While the hub assembly is drying, we’ll create the mounting hardware. These are the two parts that will be fastened on either side of the idler gear to hold it in place on the shaft. To create these parts, we’ll need to “free” two screw terminals from a terminal mounting block. A terminal mounting block is a simple but nifty electronic component that allows quick connecting/disconnecting of rows of wires. To use a terminal block, one sticks wires in holes on either side of the terminal block and tightens them in place with the block’s built-in screws. This two-connector pair forms a disconnectable electrical connection. The metal blocks and screws are usually surrounded by a nylon housing. For our gear mounting parts, we’ll need to remove a terminal pair from the block, cut away the plastic housing, and then cut the connector pair in half to make two screw-down mounting pieces. Follow the sequence in Figure 18 to create the two parts. It is highly recommended that you use a rotary (Dremel) tool for this operation. If you don’t have such a tool, you can use a hacksaw or razor saw. A hobby knife won’t work (Barbie says: “Nylon is hard!”). After you’ve cut out your two mounting parts, use a metal file to remove any burrs where you cut the block pair in half.
FIGURE 17: The new gear hub and hub reinforcer glued to the LMP. If not using LMP, glue hub/ reinforcer directly to gear-half.
FIGURE 18: The steps required to “free” a terminal pair from a terminal block.
5. When the glue is dry on your hub assembly (and on the idler shaft itself), use two screws that came with your servo motor (or any other sheet metal–type screws long enough) to attach the mounting pad/hub assembly to the idler gear. Now you’re ready to test-mount the gear on the shaft. Slide one terminal block onto the shaft all the way up to the teardrop mount, and screw it down tightly. Now slide the idler gear on (with the teeth facing down), followed by the second terminal block, which also gets tightened. The idler gear and shaft are done (see Figure 19)!
FIGURE 19: Our finished idler shaft and idler gear.
Mounting the Drive Gear
The output shaft (final gear) of a servo motor usually ends in a stubby knurled bit that sticks out of the motor casing. These knurls mesh with a complimentary set on a component called a servo horn or control horn. Servo horns come in many shapes and sizes. They were originally designed for attaching control wires/rods used to control model airplanes, so the horns have many holes in them for such attachments. If you’re using the Solarbotics motor GM4, it comes with a bunch of different servo horns, mounts, and mounting hardware. We want to use the 1 3/8-inch disk-shaped horn. If you got your motor else-where, hopefully it came with a horn close to this diameter. It doesn’t have to be exactly this size, but when we attach the drive gear half to it, we want the gear/servo horn assembly to be as close to the lead edge of our walker (the edge with the idler gear) as possible. You’ll want the idler gear to be at about 35 degrees in relationship to the drive gear.
To create our drive gear, all you have to do is glue (with epoxy) or screw the gear half to the servo horn. We chose to screw ours on. Because the rim of the gear is raised, there isn’t much gluing surface. We used the servo mounting screws that came with the Solarbotics GM4. We tapped starter holes in the gear to make screwing the two components together easier. The servo horn has rows of holes already in it, so we made use of those (see Figure 20).
After you’ve attached the gear to the servo horn, test fit the drive gear (you don’t have to bother screwing it in). The two sets of gears should mesh. You might need to bend the idler shaft. The gears will mesh at an angle. This is correct. There just needs to be enough meshing that they don’t slip as your critter lumbers along. See Figure 21.
FIGURE 20: The drive gear mounted (here via screws) to the servo horn.
FIGURE 21: Test fitting to make sure that the drive gear and the idler gear mesh properly. Bend idler shaft down, if necessary.
Creating the Leg Assemblies
With your robot body all geared up, it’s time we go a-walkin’. To do that, you’ll need legs—two sets of them. One of the cool things about this robot…er…walking machine, is that it teaches us about different leg designs and how they impact the critter’s mobility. If you want, you can just make two sets of legs, epoxy them to the gear halves, and be done with it. That’s how Jérôme Demers did his walker. But we came up with a little revision to the design that lets you mount various leg configurations, so you can experiment with different designs. Let’s fashion our first two sets of legs because we’ll be using them regardless of whether we glue them on or use mounting hardware.
We’ll do the back legs first, as they’re the easiest.
The Back Legs
To fashion a set of back legs:
1. Measure out and cut 5 1/2 inches of coat hanger or similar wire. Find the midpoint, and using your needlenose pliers, fashion the wire into an overly wide “U” shape. If you’re planning on gluing the legs directly to the gear, test fit and reshape until the crotch of the “U” fits nicely inside the inside rim of the gear. If you’re using one of the Solarbotics leg mounting pads (LMPs), you’ll want a more square-shaped bottom for your “U” (so that the leg wire doesn’t start bending until it clears the attachment holes on the LMP). Both examples are shown in Figure 22.
FIGURE 22: Legs shaped for gluing (left) or for LMPs (right).
Measure about 1 1/4 inches from the tip of each leg and bend wire to angle approximately as shown in Figure 23.
If you’re gluing on your legs, mix up a batch of epoxy and glue the legs to the inside rim of the gear. Set the leg/gear assembly aside to dry. You’re done. If you are not gluing, go to step 4.
FIGURE 23: Approximate downward angle for walker’s back legs.
4. The Solarbotics LMPs have a triangular shape that can’t work on our walker as is. So that the LMPs do not touch each other when we attach the gear/leg assemblies, we have to zip off the peaks of the triangles. Using your rotary tool, razor saw, hacksaw, or other cutting tool, remove the pad material from one of the LMPs down to the top-most mounting hole (see Figure 24).
FIGURE 24: Solarbotics LMPs with their tips trimmed to fit our walker.
5. Get a piece of 22-guage hook-up wire (about 4 inches) and strip off the insulating jacket. Place your leg wire on the wide, silver mounting strip on the LMP and thread the hook-up wire through two of the mounting holes on the strip. Using your needlenose pliers, twist the wire tightly to attach the leg. Cut another 4-inch piece and thread it through the other set of holes on the mounting strip. Twist them down. Leaving about 4–5 twists, trim off any excess wire with your wire cutters. Cut a third piece of wire and use it in one of the three-hole tracks on the pad to further secure your legs (see Figure 25).
FIGURE 25: Back legs secured to LMP. Note third wire wrap (far left) to further secure leg.
6. Using the screws that came with the LMPs, screw your leg/LMP assembly to the back servo horn/gear assembly (see Figure 26). You’ll probably want to drill or tap starter holes in the gear.
FIGURE 26: The LMP mounted (here via screws) to the drive gear and servo horn. (Note: The legs are not shown here so that you can see the screw attachment.)
7. To get better traction from the legs, and honestly, to make our robot look a lot cooler, we’ll add some robot “feet” to the legs. You can use heat-shrink tubing for this or simply cut four 1/4-inch pieces of the insulating jacket from the 10-guage wire (if you used that in your build) and glue them onto the tips of the leg set (see Figure 27). Your back legs are done!
FIGURE 27: The completed back gear/leg assembly.
The Front Legs
The front legs are similar to the back legs, but they have a second set of “knees” (read: bends). We wanted our walker to have a nifty insectoid look, and given the angle of the front gear shaft, we thought a double knee leg shape looked the best. You can experiment around with different leg shapes (see “Further Experiments” later in this article), especially if you plan on using the Solarbotics LMPs so that you can change your legs.
The first thing you’ll need to do is measure out and cut a 9 1/2-inch piece of your leg wire (coat hanger or 10-guage copper wire). Find the center point, and as you did with the back legs, bend the wire into a slightly splayed-out “U” shape. Again, if you’re planning on gluing the legs to the idler gear, you’re going to want a rounder crotch on the “U” (so that it fits within the gear’s rim), or a more square shape if you’re using the LMPs.
Measure 3 inches from each tip of the “U” and mark this point. This is where you’ll put the first knee. Bend the wire on both sides as shown in Figure 28.
Now measure 1 1/4 inches from each leg tip (the feet!) and bend both leg sides as shown in Figure 28. For shapes of bends (glued vs. mounted), refer back to Figure 22.
If you’re gluing your legs on, mix up a batch of epoxy and glue the legs to the inside rim of the gear as you did for the back legs. Set the leg/gear assem-bly aside to dry.
Using your rotary tool, razor saw, hack saw, or other cutting tool, remove the pad material from the remaining LMP (if you haven’t already) down to the top-most mounting hole as we did for the back legs (refer back to Figure 24).
Strip a 4-inch piece of hook-up wire. Place your leg wire on the wide silver mounting strip and thread the hook-up wire through two of the mounting holes on the strip. Using your needlenose pliers, twist the wire tightly to attach the leg. Cut another 4-inch piece and thread it through the other set of holes on the mounting strip. Twist them down. Leaving about 4–5 twists, trim off any excess wire with your wire cutters. Cut a third 4-inch piece of wire and thread it through the outside hole of one of the three-hole tracks on the pad. Thread it through the back of the pad and through the outermost hole on the other side of the LMP. Twist the wires together to further secure your legs to the pad (see Figure 29).
FIGURE 28: The shape of the front legs (here shaped for the LMPs) and the placement of the two knees.
Use the screws that came with your servo horn set or other sheet metal screws (in other words, screws with points on ‘em) long enough to fasten the LMP to the idler gear. Use a small nail or drill to tap holes into the gear where you’ll be attaching the leg assembly.
Add your bot footies to the legs, as you did with the back legs, either using leftover wire jacket or heat-shrink tubing (also shown in Figure 29).
Testing the Fit
That’s it for the leg assemblies. You’re ready to test fit the legs/gears to make sure they mesh properly. Put the drive gear on the servo motor, with the gear basically centered right and left. Now slide the front gear on its shaft and use the screw on the terminal block to fasten the gear in place.The gears should mesh well enough that when you gently twist the drive gear, both sets oflegs/gears move in tandem. If they don’t—or if the gears slip—you’ll have to push down on theidler shaft, (toward the drive gear) to get a better mesh.
The Power Plant
We’re almost there! All we need to do now is attach the battery packs, add a power switch, and attach the motor and power wires to the control circuit.
Attaching the Battery Packs
The two AAA battery holders need to be attached to either side of the servo motor. This is easily done.
1. Orient the first holder so that the power wires face toward the back of the walker and center the holder front to back (on the motor casing). Orient it as close to the bottom of the motor case as you can (so that you keep the center of gravity on the machine as low as possible). When you have it where you want it, place the tip of your hobby knife in the center mounting hole of the battery holder and twist the knife to begin a screw hole. Remove the battery holder and ream out the screw hole a bit more. Don’t make the tap hole too deep or too wide—you’re just looking for something to get the screw started.
Apply some superglue or epoxy to the back of the battery holder, and then, using a small sheet metal screw (like the ones that likely came with your servo motor) in the center hole, attach the holder to the walker’s side (see Figure 30).
Repeat the preceding steps on the second battery pack (making sure the wires sprout out the back of the bot).
FIGURE 30: AAA battery holders attached to servo motor casing.
Adding a Power Switch
To be able to turn our walker on and off, we need to add a switch. This is easily done.
Test fit your microswitch on the back of your servo motor. It should be able to just fit on either side of power wires coming out of the motor casing. When you’ve decided where you’re going to put it, mix up some more 2-part epoxy and glue it into place (see Figure 31). When it’s dry, move on to step 2.
Find the upper-most red (+) wire on one of the battery packs. Cut and strip the wire as short as possible (so that it’s as tight to the bot’s body as possible after it’s soldered to the closest connecting pole on the bottom of the switch). Thread the wire through the hole in the closest switch pole and then bend and twist the wire for a nice firm connection. Trim the excess wire and then solder the wire wrap to the switch pole (see Figure 31).
Measure out and cut about 2 inches of the excess positive wire you just snipped off of the battery holder. Thread this through the hole in the center terminal of the switch (if it has more than two terminals), twist it up, and solder. Leave the other end (which will eventually connect to the Bicore) unconnected (see Figure 31).
Now let’s hook our two battery packs together in series to deliver all of their 6V of power to the switch (and to the motor and control circuit when we throw it). Take the bottom two wires, one red (+) and one black (-) from each battery holder and overlap them. Eyeball about how much wire you’ll need to keep for stripping and wrapping these wires together, and then clip off the excess. Strip and wrap the wires together and add some solder for good measure (see Figure 31). Remember: Neatness counts.
FIGURE 31: Power switch and battery pack all con-nected and ready to deliver the juice!
Final Assembly
We’re almost there. Now all we have to do is attach the power and the motor wires to the control circuit and then the control circuit assembly to the top of our walker. It goes something like this:
Measure out enough of the positive (red) wire coming out of the back of the servo motor so that there won’t be too much slack in it when the controller gets glued to the top of the motor. In other words, you’ll want to solder the wires on before you glue the control circuit in place, but you don’t want to end up with a big loop of excess wire when the circuit is connected and glued in place. The positive wire will be connecting to pin 9 on the IC socket.
After you’ve measured and cut the positive motor wire, measure and cut the negative motor wire to the same length. It will connect to pin 12 on the socket.
Measure the unconnected red wire from the switch so that it will comfortably reach pin 20 on the IC socket when it’s glued to the top of the servo. Cut it.
Measure the top negative wire from the battery pack so that it will comfortably reach pin 10 on the IC socket when it’s glued to the top of the servo. Cut it.
Now solder all of these wires that you’ve cut to the appropriate pins on the IC socket: positive wire from motor to pin 9, negative wire from motor to pin 12, positive wire from switch to pin 20, and negative wire from battery pack to pin 10.
You can see the end result of each of these first five steps in Figure 32.
FIGURE 32: The power and motor wires connected to the appropriate pins on the IC socket. 6. Now that all the wires are connected to the IC socket, you’re ready to plug in the 74HCT240 chip (if you haven’t already). Gently press the chip into the socket holes. Be careful not to damage any of the components and solder joins on the other side. Test fit the control chip assembly to make sure that it can sit on top of the motor. You might have to gently bend the pins so that the socket sits relatively level. It is going to be slightly funky and it will be resting on the leads you soldered on. That’s okay. 7. Before you glue on the control circuit, toss in some batteries, flip the switch, and make sure everything works (with the control circuit just hangin’ around on the ends of the motor and power wires). If it doesn’t work, check to make sure all of your connections were done properly (go back over the preceding steps and check each connection). 8. Now you’re ready for the last step: fastening the Bicore circuit to the top of the walker using epoxy. Test fit the control circuit first. You might have to bend some of the parts on the circuit, especially the caps, resistor, and motor and control connections to make sure the chip lies as flat as possible and pins/wires don’t touch each other. If wires touch that aren’t supposed to (such as a cap and a resistor lead), the circuit will not work. When the chip is prepped, mix up some epoxy, pile it on top of your motor casing, and squish the IC socket into it. Hold it until it stays. If you think you might want to monkey with the circuit some more, you don’t have to glue it down, you could just use some poster putty to temporarily hold it in place.
With these steps complete, your walker is finito (see Figure 33)!
FIGURE 33: Our finished walker in all of its mechanical magnificence.
Further Experiments
One of the things that’s really fun to do with building projects like this is to tweak them when they’re done. Using the MIT AI Lab’s idea of building upon previous successes, you can now think about improvements to your walker—evolutionary upgrades, if you will. Unfortunately, this “robot” is limited in what you can do with it, and it mainly involves reworking the legs. If you used the LMPs in the construction, you can easily remove the existing legs, reshape them, or make new pairs. Try much shorter legs, longer legs, legs that are high in the back and low in the front. Try legs that have “knees” at the feet—in other words, rounded tips on the ends (whereas ours are straight wire) with tubing where the rounded knee meets the ground. Try rubber on the feet, little pieces of sand paper, poster putty, anything that might afford more traction (and of course, look cool). Builders of this project have emailed me and posted on the Projects discussion on Street Tech's Shop Talk (Shop Talk/Building Robots/The Priojects) that they've played around with the COG (Center of Gravity) by moving the battery holders farther to the back and by attaching weights (pennies) to the back end of the walker. You can try all of these tweaks until you find a configuration that gives you the highest degree of walker mobility.
# # #
We don’t know about you, but our hands are really dirty and we’ve got an animated coat hanger scuttling around on our desk. Here are a few things we hope you take away from the experience of building this critter:
You can design ingenious machines with minimal mechanics and electronics if you’re really smart. Barring that, you can find plans for them on the Net, like we did with our cool one-motor walker.
The breadboard has given “rise” (okay, that’s just sad—we apologize) to many an electronics project. Knowing how to use this basic circuit designing/testing tool is essential to good robot building.
The servo motor is an extremely useful and efficient type of actuating/drive train technology that can be used in many different ways (with or without its control electronics) to create back and forth (i.e. walking) motion or continuous rotation.
Bug-like walking machines, even ones with no sensors and not even bug brains, can exhibit types of persistence and motion that are extremely lifelike.