Robot arm design, my ideas and progress so far.
April 13, 2009
Building an arm for your robot can be the hardest part of robot design. There can be many different designs besides a humanoid design. For example you might have a CNC style XYZ axis or even a tentacle design where multiple joints are surrounded by cables. For BoozeBot I've decided to go for a humanoid design because I would like him to be able to pick things up like a person would. Reguardless of your design the first problem you are likely to face is strength vs weight.
As a rule, the stronger your arm, the heavier it will be. This means more battery power wasted just moving the arm before it even tries to pick anything up. For this reason it pays to have most of the weight in the shoulder or better still in the body of the robot.
Brake and gear change cables from pushbikes can be used to connect motors within the body to joints of the arm. Hobby shops sell a lightweight plastic version used for model planes so that servos withing the body can be linked to rudders, elevators, ailerons and flaps.
In my design I am mounting my elbow motor with my shoulder motor so the weight of both are supported by the chassis. In doing so I've come up with an idea that allows two small motors to do the job of two big motors thus saving weight and money. Below are the main parts for my shoulder and elbow joint.
I'm using some motors that I think are for powerwindows in cars (about 25W each) and some old grinder gearboxes. I have combined two in a custom housing for the shoulder joint. The Elbow joint is straight from the grinder.
The motors will bolt to the chassis allowing the custom box in the centre free movement. When both motors turn in the same direction at the same speed, the whole joint turns allowing both motors to work together to raise or lower the arm.
When both motors run in opposite directions at the same speed, the joint stays in position but the shaft you can see in the photo turns and drives the elbow joint. Once again the two small motors work together to opperate a single joint.
My motors are driven by a special circuit that opperates them like a servo. By having one pot connected to the shoulder and one to the elbow I can drive them like ordinary servos.
Even better. When my software tells one motor, say the elbow motor to move, that motor running by itself causes both joints and therefor both pots to move. This causes the shoulder motor to automatically turn on to maintain the shoulder at the correct position. This means no complicated calculations are needed to control the two motors. The servo controllers do the hard work for you :D
Below is a meccano mockup of the arm and a video to better explain the mechanics.