I wrote a Picture instructable about my Wobbly MiniBiped robot recently, but I thought maybe someone will be interested in building one. So I decided to write step by step instructions.
Wobbly is a 5 DOF (degrees of freedom) robot, that moves by skidding his feet on a hard surface. He also has a panning head with an infrared distance sensor to detect objects that may block it's path. He has 2 mini hobby servos for each leg, plus a micro servo for the head. It's brain is an Arduino compatible board designed especially for building robots, called the uBotino (micro-botino) controller.
To build this robot, you need the following parts:
- one uBotino V3 kit , from RobotxDesigns.ca
- four mini servos , from HobbyKing.com
- one micro servo , from HobbyKing.com
- one Sharp IR senso r plus cable , from RobotShop.com
- a piece of 1/4" scrap plywood
- five 18mm (3/4") plastic stand-offs and M3 bolts (or #4-40), from RobotShop.com
- two double AAA battery boxes
- some wires
- a few small screws , from HobbyKing.com
- some double sticky tape
You will also need a FTDI cable to program the controller. If you don't have one, you may get one that is compatible, from here .
Now start to build it!
Step 1: Electronics
After you get the uBotino V3 kit from RobotxDesigns.ca, you need to download the assembly instructions and solder all the parts on the PCB. The kit comes with the microcontroller pre-programmed with the Arduino bootloader and the Blink sketch. The only different thing you need to do is connect the 2 battery boxes in series and only then crimp the polarized Molex connector that will be plugged in the board.
My battery boxes came with solder lugs, so I had to get 2 pairs of red and black wires, cut them about 3" long, then soldered each pair to one battery box, red for the positive, black for the negative. Take the other end of the red wire from one box and the black wire from the other box and solder them together, this way you connect the boxes in series. Use a little electrical tape or shrink tube to insulate it. Crimp the Molex pins on the remaining wires and plug them in the housing, with the red wire where the arrow points at. Verify the polarity and voltage with a multimeter before you plug the connector into the uBotino controller! You should have 6V (with fresh batteries) and the positive at the hole marked with an arrow.
Next, make the robot body!
Step 2: Body
I used a few scrap pieces of 1/4" poplar plywood I had from another project. You can use almost anything, plastic, acrylic, even Lego plates if you wish. It was good that I had a thick enough plywood, it allowed me to insert screws on the side of the plywood.
Starting with the main body piece, I traced the contour of the uBotino controller on the plywood (2x2")and cut it using a coping saw. I drilled the mounting holes into the corners, mounted four 3/4" stand-offs screwing them directly into the wood. Then I cut a piece of 5/8" wide and 2" long. I placed two servos on the board, one on the left, one on the right, with the mounting tab to the exterior of the bottom stand-offs and placed the small piece of plywood between them, so the other mounting tab sits on the end of the wood. I screwed the small plywood piece to the main one (you can glue it instead), then I screwed the servo tabs to the small piece. Hip servos are done. Oh, make sure you mount the servos with the horn to the bottom of the board!
I placed the micro servo above the small plywood, centered the horn to the middle of the main plywood and marked the hole on the side closer to the stand-off. I checked if the servo stand-off fits closely to the corner board stand-off, then drilled the hole in the small piece of plywood. Make sure you remove the servo below the hole so you don't drill it's case too! I added a nut on the stand-off to make it longer, then screwed it into the wood, then I bolted the servo to the stand-off.
Using a piece of double sticky tape, I mounted the Sharp sensor to the servo horn and plugged the cable in it. I plugged the horn onto the head servo, without the mounting screw.
I cut two more pieces of plywood, 2" long by 3/4" wide and screwed the remaining mini servos in the middle of the side of the plywood, then screwed each on a battery box, so the servos are centered on the length of the box and the box is centered on the servo casing. Then I screwed two pairs of servo horns together, one on top of the other. I plugged the servo horns onto the servos, without mounting screws yet.
Next, plug in the cables and upload the code!
Step 3: Code
Plug the Head servo into the D13 header, the LeftHip servo into the D12 header, the RightHip servo into the D11 header, the LeftKnee servo into the D10 header and the RightKnee servo into the D9 header. Plug the Sharp sensor into the A5 header, then the battery in it's own connector. When you plug the servos and sensors, make sure you plug the cable wit the Yellow wire towards the microcontroller and the Black wire towards the top of the board, Red being in the middle. Use some piece of wire to tie the cables nicely. Remove the servo voltage selector jumper (J1), and also remove the D13 LED jumper (J3). You can use a female-female wire to connect the LED to the D2 pin (place the wire into the J3 pin closer to the power connector).
Download the code from here , unzip it in a sub-folder called MiniBiped, in your sketches folder. Plug in your FTDI cable and connect it to the computer, start the Arduino IDE and load the MiniBiped code. Select the Arduino Duemilanove with ATmega328 board from the menu and the correct COM port your cable uses. Then press the Upload button. Wait until the "Done Uploading" message appears in Arduino IDE and you can remove the cable. Place the J2 jumper to the Vin position and turn on the power. The servos will center, then the robot will play a short song that you can listen to if you plug a piezo buzzer into D4 pin (and GND). After that, it will start to move. If your servos look funny after centering, turn off the power and re-position the horns so the robot stays straight and the head looks forward. When you're done, you can secure the horns with the provided screws. Place the robot on the table and turn the power on and watch the robot walk!
Next, play with the code, smooth out the moves, make it IR controlled and make sure to have fun!