Mike Smyth's Hexapod Robot Page
This is my autonomous hexapod robot that I built a few years ago. It uses 12 R/C servos for actuators. The 6 that raise and lower the legs are Hobbico CS-72 1/4 scale and the 6 that move the legs forward and backward are several brands of standard 1/10 scale servos (all are similar the Futaba S3003). The total robot weight is a little over 5lbs and the payload capacity is around 5lbs additional. The vertical travel of the legs is 1 7/8". Overall length and width is 13" X 11". When crouching, it's 5.5" tall. When standing up there is 3.5" of ground clearance under the body.
I determined the overall size of the robot by the estimating the final weight and from the maximum torque available from the lifting servos (130 oz-in for the CS-72). I wanted to make the robot as big as possible while still maintaining a decent payload capacity (which would require shorter legs). But I also wanted to get a wide range of motion at the feet (which would require longer legs, but more servo torque). The final design is a compromise between these goals. I used ball bearings in all joints of the hexapod. Unless you spent big bucks for the high performance variety, R/C servos don't have a lot of torque to spare. You don't want to waste the torque in friction loss (plus, I had a free source of ball bearings. :-)
I chose to design the vertical leg travel so that the foot stays equidistant to the body as the leg is raised and lowered. It is a simple parallel bar mechanism with unequal length bars (the unequal length bars help the foot stay equidistant to the body at the travel extremes). This helps reduce the servo torque required because the feet don't have to slide in and out on the ground when the robot stands up. This greatly increases payload capacity. Ideally, the front-back axis would be designed the same way. Unfortunately, to do this on both axis with only 2 DOF per leg would require that the mechanical linkages get much more complicated.
I built the first rough prototype of a leg with LEGO Technic parts (GREAT for prototyping BTW) Once I got the geometry right with the LEGO model, I drew it in AutoCad with the exact dimensions (including all of the servo mounts, bearing pockets, etc...) Before I built the parts, I printed a 1:1 side view of the mechanism and cut out all the parts. I used small pieces of wire (resistor leads) as pivots and poked them through the paper parts where the bearings would be. This let me construct an accurate, movable full size model (although 1-dimensional) and test the final geometry before I spent a bunch of time machining the real parts.
The processor is a PIC16F84. Its a small 18-pin Microchip micro with 1K of ROM, 68 bytes of RAM, and 13 I/O pins that costs about $6 from DigiKey. It's somewhat limited compared to Microchip's the newer parts, but it was about the only flash micro controller available when I got into robotics as a hobby almost 10 years ago. Plus, there were cheap programmers available for it. It works well, so I've stuck with it. I've used this micro on several robotics projects, among other things like a G-meter for measuring forces on roller coasters.
There are actually two PIC16F84's on the hexapod. The main processor contains all of the walking code and generates positioning pulses for all 12 servos. Twelve of the 13 I/O lines are used for switch inputs - one on the bottom of each foot and a contact sensor in the front of each leg. The servo pulses are output sequentially on the last I/O line. All the second processor does is de-multiplex the pulses from the main processor and send them to the appropriate servo. I originally had a Basic Stamp II on the hexapod, but it doesn't have enough I/O (16 lines) to run 12 servos and sense 12 switches directly. Plus, the BSII doesn't have enough computing power to run a large number of servos and do a lot of calculations on sensor input. Although, if you want to implement a fixed walking pattern it works pretty well.
The robot uses a tripod gate for walking. The control system modifies the basic tripod gate based on sensor input so that it can climb over obstacles in it's way. It accomplishes this using the following algorithm:
1) Determine which tripod is the best one to raise by the following criteria:
a) Check for at least 3 feet on the ground
b) Tie breaker - Pick the tripod with legs the farthest back (if walking forward)
c) Tie breaker - Pick tripod A
2) Raise the legs of the selected tripod until the ground contact sensors are open and then move the legs forward. At the same time, move the legs of the other tripod backward (the ones still on the ground). When a leg gets to the extreme front of it's travel, put the foot down on the ground.
a) When the active tripod has been lifted, the stationary tripod (the 3 legs still on the ground) should be adjusted so that the robot stands as high as possible (to clear obstacles).
b) If an obstacle contact sensor is touched while a leg is moving, the fore-aft motion of the leg is stopped and the contacting leg(s) are raised until the obstacle is cleared. The leg can then continue to move forward.
3) Goto 1
With this algorithm, the robot is capable of walking and climbing over obstacles in its path. Right now there are no other sensors implemented other than the touch switches that it uses to walk and climb. The next step will be to add more processing power and a "head" with IR obstacle detection sensors, camera, sonar, or whatever else.
Here are some more pictures and couple videos of the Hexapod...
Here is a close-up of a foot that shows the obstacle contact sensor and the ground contact sensor. They are both simple switches. The obstacle switch is soldered to a 1/32" piece of PCB material to form a contact area that covers most of the lower part of the leg. The ground contact switch is mounted away from the foot near the knee. It is actuated by a piece of 4-40 threaded rod that it screwed into the plastic foot. The lower leg is made of two pieces of telescoping brass tubing that allow the foot to slide up and down and actuate the switch via the threaded rod.
Walking and Turning - Video of the hexapod walking and turning
Climbing - Video of the hexapod climbing over a couple binder notebooks.
Send Me E-Mail
Home Mechadon Hexapod MiniMechadon LEGO Bots Classic Cars Air Engines