Arduino Based Four Legged Robot
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.
Step 2: Equipment and Supplies
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
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
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
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.