Mobile Tower Of Hanoi Robot

This is a mobile robot arm that uses inverse kinematics to position the arm in a Y, Z plane while using a line sensor (Pololu QTR-8RC) to determine the X location. This allows of a substantially larger work envelope than a traditional revolute coordinate robot arm.

Main robot chassis:
1 RP5 chassis (about $50 online).
1 Pololu RP5/Rover 5 Expansion plate RRC07B ($11.95 from Pololu).
1 Parallax Board of education revision A (free from a friend).
1 Baby Orangutan B-328 (~$10 on a 2 for 1 sale from Pololu).
1 QTR-8RC reflectance sensor array ($9.95 from Pololu).
2 1” Aluminum standoffs ($1 from Parallax)
4 ½” Aluminum standoffs (~$1 from Pololu).
1 1000 uF capacitor to buffer power (free salvage).
miscellaneous sero cables, three pin headers, 4-40 bolt, nuts, and washers.

Robot arm:
2 Power HD 1501MG servos for the shoulder and elbow joint ($40 from Pololu).
1 Joinmax servo for the wrist, but any servo will work (~$10).
1 GWS Mini L mini servo for the gripper ($13.95 from Pololu). These are light but have more torque than a typical mini servo.
2 Parallax universal mounting brackets ($1.00)
1 aluminum U channel (about $6 from the hardware store).
1 sheet hobby plywood to make the gripper…
1 flange-style servo bracket (2 for $1 from Budget Robotics).
6 zip ties to dress the cables.
double sided sticky foam and sandpaper to line the gripper jaws.

I modified the Baby Orangutan so I could host it on the BoE, but that isn’t needed as a breadboard would work just as well. The construction for the main part of the robot was bolt together, but I needed a way to front mount the line sensor. I used standoffs, popsicle sticks, and wood glue which did the trick.

To construct the arm I cut uniform 6” lengths of u channel and drilled holes on the front and sides to enable bolting things to them. I bolted servo horns to one length of u channel to construct the humerus, and bolted universal mounting brackets to servos and u channel to construct the ulna. If you look at some of my other videos you’ll see I use this technique frequently as I often reuse parts between projects. The gripper is reused from an earlier project, but was laser cut from hobby plywood with a mini servo to actuate it.

The hardest part of this project was the programming which I had to break down into phases. The first phase was getting the mobile base to find index marks that indicate the pickup and dropoff locations. The second phase was tweaking my existing inverse kinematics code to work on a Y, Z robot instead of an X, Y scara arm. The third and final phase was writing the tower of algorithm with callbacks to my code.

Hello, Martin.

Thanks for sharing. (The ending of your YouTube video was especially fun!)


Thanks for watching. At first I felt bad about the ending, but later decided it was better that way.

If I get a chance I may upload the code to github and post a link to it in case anyone is curious how it works.