a = 13.0 inches
b = 2.5 inches
c = 8.0 inches
d = 2.5 inches
e = 8.0 inches
f = 2.5 inches (front of the flange)
g = 0.5 inches
h = 1.1 inches
Joint Angle Limits
θ1 (waist) range = 290 deg , lowerlimit = - 180 deg , upperlimit = 110 deg
θ2 (shoulder) range = 315 deg , lowerlimit = - 75 deg , upperlimit = 240 deg
θ3 (elbow) range = 295 deg , lowerlimit = -235 deg , upperlimit = 60 deg
θ4 (wrist) range = 620 deg , lowerlimit = -580 deg , upperlimit = 40 deg
θ5 (bend) range = 230 deg , lowerlimit = -30 deg , upperlimit = 200 deg
θ6 (flange) range = 510 deg , lowerlimit = -215 deg , upperlimit = 295 deg
Angles = pumaAngles(); - return the current joint angles, in radians, with respect to the home position. Angles is a 1x6 array of the joint angles.
pumaServo(θ1, θ2, θ3, θ4, θ5, θ6); - command the joints to the desired values, in radians. Calls to pumaServo should be at least 100ms apart. Also, the change in angle between successive calls should never be more than five degrees.
pumaStart() - Starts the controller for the puma and disengages the software brake. This also sets the pumaServo position to [ 0 0 0 0 0 0 ]. pumaStart() must be called before calling pumaServo() or pumaLED().
pumaStop() - Stops the controller for the puma and engages the software brake. This also stop the LED controller.
pumaPEN('color') - Sets the color of the marker (Sharpie) on the end effector. The input to the function has values 'red', 'green','blue' and 'black'. pumaStart() must be called before calling pumaPEN.
Note: You can use this function *only* in the Puma Simulator. For the actual manipulator however, the actual calculations must be done.
Forward Kinematics Simulator
You can download the FK simulator from here . Unzip the files into a directory. Go through the README and the demo.m files to get an idea of the functions in the simulator. The simulator is designed to be similar to how the PUMA works and all the functions in it are very similar to the ones used on the actual arm. You can use this to test your code. More details on the functions will be given later.
http://dsz123.net/Projects/RobotArm/pumaservo.pdf - based on the PUMA 560, but still quite interesting!