illiRobot
Automatic retrieval of objects in 3-D space by a robot arm
Bharath Krishnan - May '03


Abstract:

My goal was to automate a robot arm, with 4 degrees of freedom, so that it could automatically move its claw to pre-defined coordinates and pick up objects (balls) at that location. The arm consists of three joints of equal length, pivoted about a base. The end of the third joint has a claw attached to it for grabbing objects. The arm can rotate clockwise or counter-clockwise about the base. It can also bend ‘up’ or ‘down’ about the three hinges connecting the joints of the arm. The angles by which the various joints must either rotate or bend is calculated by using the coordinates of the hinges of the arm and the predefined coordinates of the objects. The main challenge in automating the arm is to find the angles by which the joints need to rotate  in order for the claw to be positioned over the object and to minimize any error that results from these calculations.

Screenshot:

Below is a screenshot of the robot arm with its hinges labeled 0,1,2, the claw labeled 'C' and the object (ball) labeled 'B'.

Future goals/possible enhancements:

1)  I am going to try to port the robot arm into the  CAVE at the University of Illinios, Urbana-Champaign

2) Minimizing error:
 When calculating the angle, some error is introduced with each calculation and the robot does not always move to the exact location of the target. The error propagates as the angle of each of the joints is calculated one after the other. The error becomes quite large for some cases. I have tried to introduce some sort of error correction mechanism, but at this point it does not always manage to get the robot arm exactly where it needs to be. I hope to be able to implement some generic error correction mechanisms to minimize any error.

3) Texture mapping the arm and improving the claw so that it has 'fingers' which can then grasp smaller objects are some enhancements I would like to work on.


References:

      1)      This project is based on the illiSkel by George Francis, Glenn Chappell and Chris Hartman
2)      http://www.cs.ubc.ca/spider/gslee/Rasp/html/raspApp1.htm - Robot animations
4)      http://www.isd.mel.nist.gov/documents/lee/Loc_85.pdf - Good source of information on robot arm control
5)   http://www.olympus.net/personal/mortenson/preview/definitionsf/forwardkine.html - Provides information on forward and inverse kinematics


Contact: Bharath Krishnan (bkrishnn@uiuc.edu / bharath100@yahoo.com )

Please feel free to email any comments to me at the above address. If you are interested in taking a look at my robot arm or source code, please email me.

Go to my NCSA homepage or read the documentation for the robot arm here