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