Introduction: Arduino Based Four Legged Robot

The name of our robot is FIER and here is a video of it saying hello to the world.


In this instructable, I will try to show you the basic steps to making your own walking robot for the most bang for your buck. 

You may be asking why did I use balsa wood as the body for the robot. The reason I did this was to make the robot as lite weight as possible. In order to make the robot as cheap as possible I had to use the cheapest servos I could find since there is so many needed and because the servos are so cheap they have a low torque and can't handle much weight and in turn, balsa wood. Plus balsa wood is really easy to work with.

Age: 23

Step 1:


Step 2: Equipment and Supplies

I have created a list of equipment and supplies you will need to build you own robot. I have attached an excel file that list all the items and website links for the supplies. The total cost for the basic robot is just a little over a $100, but this does not include shipping. Some things you may want to consider going to a store nearby that sells these products, like the balsa which can normally be found in a hobby store or craft store.

I also added some optional items. I suggest holding off, on getting the battery for they can be a little expensive and the one listed doesn't even come with a charger. I suggest just getting a 5 - 6 volt source and run a wire, because the robot won't be walking very far, very fast. Finally I would suggest getting the accelerometer to help the robot balance itself, but it may be a little hard for someone that doesn't have much experience in programming.

Step 3: Robot's Body

The hardest part about this project is making the leg and then multiplying that by 4, but if you can make one you can make all four. 
I won't be going over all the details to building the body of your robot, but I'll try to give you a general idea on how to do it.

As mentioned earlier the body is made out of balsa wood, which is a very nice material to work with, for all you need is a knife. Since I had a table saw available to use, I used that for some cutting rather than the knife to be able to get more consistent and parallel cuts. If you decide to use a table saw instead, please be careful and wear goggles. 

I have add a drawling of one leg and several pictures so that you can use those to refer to when you are building the legs. One detail I will point out for the legs is the pivot point. You may see in my drawling there is a pin underneath the servo. This is to strengthen the leg, instead of having all the weight on the servo axle. This is where you will be needing the 1/8 drill bit and 1/8 dowel. As for the belly of the robot, its just a rectangle with notches on the corners to hold the servos.  

I used wood glue to attached balsa pieces together, this creates a strong bond. You can also coat the balsa wood with wood glue to strengthen it. I used hot glue to attach the servos to the balsa wood, but I later found out that after a month or so, the hot glue begins to fail, so you may want to try somethings else if you want a more permanent bond. 

If you have a better design, go for it. I choose this design because the robot has the capability of rotating its leg 180 degrees so that it can walk upside down. 

This video is a test of single leg moving each servo 180 degrees.

This video is just showing me cutting out the legs using a table saw.

Step 4: Schematic

When the schematic was originally designed there were many different features, but for simplicity I redesigned the schematic for the main goal of having a walking robot. I would recommend if you have enough money in your budget, to add the accelerometer. The accelerometer would be a very useful sensor to help the robot to balance itself.

As marked in the schematic there is a 5 - 6 volt source. This is the main source for all the servos and with so many servos they can pull quite a bit current. Make sure to only use a source that can handle 1A or more, like listed on the Equipment and Supplies list, a battery or a power supply. DO NOT use the 5v source on the Arduino to power the servo, only use the Arduino source to power the PWM driver.

To put all the components together I would suggest using a protoboard and solder them all together. Since we were doing this project for class, I had a PCB outsourced to Advanced Circuits. Advanced Circuits is a great company to get your boards made for a great price. 

Step 5: Software

For an example code to try out your robot is the one seen in the first video. If everything works properly the robot should stand up, lift one leg, and wave to the world for all eternity. In order for the code to work you must install the TLC5940 drivers, which are available on this website.
http://www.arduino.cc/playground/Learning/TLC5940

One error you may run into, due to the poor instructions, would be that the legs move in the opposite ways. The easiest way to fix this would be to modify the code. In the code you will see multiple function that look like, tlc_setServo(4, 100). The first parameter is the motor you want to control and the second parameter is the angle of the servo. Just modify the second parameter until it reacts how you think it should.

Like I said previously, I would suggest that you use the accelerometer to help the robot balance itself, but I haven't had enough time to add that feature. There is example codes available online to test your accelerometer though. 
http://www.sparkfun.com/products/9156

Step 6: Conclusion

I wish everyone luck who attempts to build a robot like this and I would love to see what you create, so leave me a comment to show me what you created. Try adding IR range finder sensors, an adjustable camera, stronger servos, or wireless communication. There are so many possibilities. 

Also leave a comment if you think there is something I need to improve on this instructable.