How to Build a Wireless Hexapod Robot
by aggrav8d in Circuits > Robots
216448 Views, 428 Favorites, 0 Comments
How to Build a Wireless Hexapod Robot
Facebook page so you can keep up to date on v2
Have you completed this instructable? Send me pictures and I'll add it on this page!
When completed, you will have a walking robot that is about 2 feet wide and stands as much as a foot tall. It has lots of room for added features and improvements so feel free to use it for your own robotics experiments or share your improvements with others.
Build time is about 3-5 hours and it is not the easiest project. You could burn yourself. You could electrocute yourself. You could fry the circuits and let the magic smoke out. There is no warranty. SO: Take breaks. Wash your hands. Drink lots of water.
Tools and supplies you will need (not listed in the bill of materials):
- a soldering iron
- large phillips screwdriver
- small slotted screwdriver
- pliers
- wire strippers
- helping hands (optional, and very helpful)
- windows PC (with optional bluetooth)
- USB cable (think the square style that usually goes in a printer)
- electrical tape
- wire stripping
- soldering
TIP: Get a friend or SO to help! "I hold the part while you screw this bit here, then we switch."
Acquiring Materials
Most of the parts listed here can be obtained at your local electronics store.
DisplayDuino and ServoBoard are sold through Sparkfun.com.
Source code and DXF files for unique parts are available online from http://visual-hexapod.sourceforge.net/
You will have to the parts yourself. I used 2mm Acrylic though you may want to try aluminum or some other material. I recommend a CNC machine.
Some of the parts come from lynxmotion. Shipping costs vary.
If you download the source code you will find the DXF part files in /trunk/other/part layout.dxf
Option 2: get all the parts in a kit
It costs more but it's a lot more convenient. The extra money will fund further developments of your robot and other future robots.
get the kit
Editor's note: I did a search among the online hexapod retailers I know. For the equivalent closed-source kit you'd either pay about £630 or $1200, depending on who your order from. I'm offering the full kit + shipping for $999. Don't take my word for it - if you find a better price, send me a private message please!
Soldering - the Most Dangerous Step
Solder together the power supply for the servos. (fig 1)
Solder together the power supply from the battery packs (fig 2). Repeat for the other battery pack.
Solder the male pins of the molex to middle four holes of the BlueSmirf. (fig 3) PCB soldering is different from wire-wire soldering. There are lots of youtube videos to help you learn how.
Solder four wires to the female end of the molex. (fig 4)
Solder together the power supply for the DisplayDuino and ServoBoard.
TIP: Check that your connections are good. You don't want to have to repeat this later!
Mounting - the Easiest Step
Attach the DisplayDuino to the bottom plate. (fig 2)
The two boards will face each other when the hexapod is assembled.
Wiring (1) - the Most "Hey Man, I Just Work Here" Step
Wire the RS485 connection between the ServoBoard and DisplayDuino. (fig 1, B)
A to A, B to B, C to C. The resistors go from A to B on each board (the outer pins).
Wire the VCC line to the DD's +5V. Wire the GND line to the DD's GND. (fig 1, C)
Wire the TX line to the DD's RX0. Wire the RX line to the DD's TX0. (fig 1, D)
Remove the pin from the DisplayDuino (fig 1, E). This tells the DisplayDuino to draw power from the power supply instead of the USB connection.
Wire a the first hole on the BlueSmirf to the last hole. Try to not cover up the LED lights on the front. (fig 2, A)
Connect the molex halves together.
Disconnect the molex. Store the BlueSmirf somewhere safe.
Assemble the Tibias - the Most "This Is Starting to Come Together!" Step
TIP: Remember that half (3) of the tibias are reversed because they're on the other side.
TIP: Make sure you put the servos in the right way up.
Assemble the Femurs - the Most Repetitive Step
Attach the clamps to both ends of half the femurs. (fig 2)
Assemble the Shoulders - the Most "I Did That Backwards" Step
TIP: Remember that half are reversed because they're on the other side. Put three together, then the other three that mirror the first set.
Wiring (2) - the Most "Danger, Will Robinson!" Step
Attach the servos to the SB as shown. (fig 1). If you wire these incorrectly the joints will move in funny ways or may not move at all. It's not fatal - just correct it and try again.
Connect the USB to the DD, then the 9v power supply to the DD/SB (the labelled plug), then the 5v power supply to the servos (the unlabelled plug).
IMPORTANT! When powering on, always connect the DD first. When powering off, always unplug the DD last. If you don't the servos will spasm in strange ways and things could get damaged.
TIP: It helps to label the DD and SB plugs to avoid confusion. (see step 2, fig 5)
Arduino - the Most Nerdy Step
Download the application or the source code.
Start Arduino.
Load the v7.pde file.
Set the board type: Tools -> Board -> DisplayDuino 644
Upload the program. If it doesn't work, you've probably got the wrong COM port.
Set the COM Port: Tools -> Serial Port
When the program has finished uploading, there will be a short delay and then all the gears will turn to center positions.
Quit Arduino and disconnect the power.
TIP: Never work on electronics with the power in. No one wants to let the magic smoke out.
Assemble the Legs - the Most "wave Them at Your Friends and Make Hissing Noises" Step
TIP: It may be easier for you to unplug the servos until the legs are assembled.
Attach the servo clamps to the shoulders and tibias. Make sure to attach them the right way up!
Attach the Legs - the Most "you Spin Me Right Round, Baby, Right Round" Step
Print out the calibration pattern twice. Tape the two halves together to make a circle.
TIP: I taped my calibration pattern to some cardboard for easy storage and reuse.
Place the top half in the center of the circle. Insert the shoulders into each gear so that the toes point along the lines. Do not turn the servos to get a perfect fit - get as close as you can and we'll adjust it later.
TIP: Don't forget which side of the hexapod is which, now that it's upside down and backwards.
Attach the Body - the Most "We Are Go for Go" Step
Double check that there are no exposed wires that might cause a short circuit.
Double check that the wires are not caught on the legs.
TIP: I use zip ties to keep the wire from the tibia servo attached to the femur. Neat and tidy.
Place the bottom over the top, align the M4 shoulder pegs into the holes, and then attach the bottom to the 60mm spacers.
Test the Control Program - the Most "It's ALIIIIIVE!" Step
Run visual-hexapod.
Quit visual-hexapod by hitting ESC, then N.
Open config.txt
Look for Alpha->port. Set this number to the same as your com port.
Run visual-hexapod.
Hit F2. If you do NOT see two green stars on either side of the 1.00 at the bottom, you got the port number wrong. Quit, add one to it, and try again.
When you get the green stars, hit the reset switch on the DD.
After a moment, the legs will twitch and some green text should appear on the left side of the screen.
Press > twice and your hexapod should try to stand up.
Pres < once to make it sit down.
Calibrate - the Most "This Should Be Improved by Writing Better Software" Step
TIP: Don't do this while your robot is walking or he may leave the room without you. Also the next time you connect to your robot it might reset and drop to the floor. Make your robot sit down first!
Open config.txt
Notice the six groupings - LF, LM, LB, RF, RM, RB. in each there are three values: pan_zero, tilt_zero, and knee_zero. These numbers can be adjusted to compensate for tiny errors in manufacture and assembly. At this time, you have to adjust the number by 2 or 3, run visual-hexapod, connect to the robot, see the change compared to the text pattern, then repeat until it is correct.
Use Calibration pattern #1 to adjust the pan.
Use Calibration pattern #2 to correct the tilt and knee.
Connect in visual-hexapod and > to "move body"
You should also be able to make the body move without moving the feet with WASDQETG. Try moving the mouse, too. Left click when you're ready to move on.
hit > until it says ripple, wave, or tripod gait.
You should now be able to walk your hexapod around the room using WSADQE.
At any time you can hold the right mouse button and drag to turn the camera. You can also press +/- on the keypad to zoom in and out.
Wireless - the Most "Can I Send Him to the Corner Store for Some Snacks Yet?" Step
Reattach the Bluesmirf.
Attach the batteries.
The BlueSmirf will appear on a different COM port than the USB.
NOTE: BlueSmirf and USB connections do not play nice together.
You cannot connect via BlueTooth when the USB is connected.
You cannot update the Arduino code when the BlueSmirf is connected.
I hope you didn't skip the molex!
You can use Bluetooth while drawing power from the wall warts. (You don't have to use Bluetooth with the battery packs)
There Most Intrepid Step
If you are like me then you will find the greatest pleasure comes not just from building the robot but from taking it somewhere new. Some ideas:
- Put sensors so it can climb over things
- Add a pen to make it a CNC plotter. Add a CakeBot extruder to make a rapid prototyping machine. There's already some code to make the hexapod into a CNC router. I plan to do this to try and win the Gada prize.
- Build several and have them work together! The code already supports controlling multiple hexapods.
- Add a roll joint to the front two legs so that they can be used like hands.
- Decorate your hexapod
- Weatherproof/Waterproof your hexapod
- Find a way to put a single battery instead of two. Find lighter batteries!
These are just some of the things I would like to try. You may have other ideas.
The possibilities are vast and the future bright. If you make something, send me a picture or a video! I'd love to hear about it.