The PUMA has three singularities: the ``alignment'' singularity (wrist is as close to the axis of joint 1 as it can get), the ``elbow'' singularity (elbow is fully extended or folded up; the latter is not possible because of joint limits), and the wrist singularity (the axes of joints 4 and 6 are aligned).
The angles corresponding to these depend on the Denavit-Hartenburg (DH) parameter assignment. For the PUMA, the definitions given in [1] are perhaps the most commonly used Using these, and letting A2, A3, D3, and D4 denote the translational DH offsets, the singularities occur when the following are true:
Alignment: D4*sin(ang2+ang3) + A2*cos(ang2) - A3*cos(ang2+ang3) == 0 Elbow: sin(ang3 - atan2(A3,D4)) == 0 Wrist: sin(ang5) == 0 Typical offset values for the PUMA 560 are A2 = 431.80 D3 = 149.09 A3 = 20.32 D4 = 433.070Information provided by John Lloyd lloyd@curly.mcrcim.mcgill.edu
Joint # Gear Ratio -------- ----------- 1 0.01597 2 0.00931 3 0.01884 4 0.01428 5 0.01391 6 0.01303
[Gary McMurray] There is an undocumented bug in the tool mode of the PUMA robot under real-time path control. It's found by trying to control the robot in tool mode using the alter command. Unimation (Westinghouse at that time), has confirmed the bug.
Basically, the bug consists of this: during real-time control, such as alter mode, the controller does not update the rotation matrix for the tool coordinate system as the robot moves. Thus, motion commands issued to move along the new y axis, result in a motion along the original y axis. The same goes for rotations as well.
A Robotics Toolbox for MATLAB which provides functions for homogeneous transformations, quaternions, forward and inverse kinematics, trajectories, forward and inverse dynamics, and graphical animation. The Toolbox uses a very general method of describing the kinematics and dynamics of any serial-link manipulators. Descriptors for the Unimate Puma 560 and the Stanford arm are included. Location at ftp://ftp.mathworks.com/pub/contrib/misc/robot
That directory contains an extensive manual, doc.ps (72 pages), as well as all the M-files.
A board for replacing the PUMA LSI/11 controller with the CPU of your choice: The board is basically an I/O board with D/A's, A/D's, encoder counters and some digital I/O lines and is available to connect to several bus architectures including VMEbus, IBM-PC bus, Multibus and IndustryPack bus. (with others under consideration) It comes as a two-board set: A PUMA board and a bus interface board. This allows several buses to be supported and keeps the analog electronics away from the noise of the bus. (It also makes switching buses cheap, if the need ever arises.) Since it is primarily an I/O board set, it can be used in applications other than controlling a PUMA.
The user's manuals are available by anonymous ftp at ftp://ftp.cs.cmu.edu/usr/anon/user/deadslug/trc4um.ps and ftp://ftp.cs.cmu.edu/usr/anon/user/deadslug/trd0002.ps
This is a PostScript file that can be printed or viewed (to conserve paper) and describes the remote board that mounts inside the Unimate controller, replacing the VAL computer. The file trd0001.ps shows the board arrangement diagrammatically.
Richard Paul, Brian Shimano, and Gordon Mayer, Kinematic Control Equations for Simple Manipulators. IEEE Transactions on Systems, Man, and Cybernetics, Vol SMC-11, No. 6, June 1981.
B Armstrong, O Khatib, and J. Burdick The Explicit Dynamic Model and Inertial Parameters of the PUMA 560 Arm Proceedings IEEE Int. Conference on Robotics and Automation, April 1986 San Francisco, CA pp510-518
P.I. Corke and B. Armstrong-Helouvry. A search for consensus among
model parameters reported for the Puma 560 Robot. Proc. IEEE
Conf. Robotics and Automation, 1994 pp. 1608-1613
It is also available via anonyous ftp from
ftp://janus.cat.csiro.au/pub/pic/icra94.ps.gz