FORWARD KINEMATICS OF A 6R ROBOT MANIPULATOR
 

The aim of the experiment is to understand a typical 6-arm robot manipulator. Here we demonstrate the robot PUMA 560.

PREVIEW OF THEORY

  • Programmable Universal Machine for Assembly, more popularly known as PUMA is an industrial robot arm developed by Victor Scheinman at Unimation, in the year 1978. PUMA comes in various makes viz. PUMA 260, PUMA 560, PUMA 761 etc. Our study here is concentrated on the PUMA 560 robot as we have direct access to it through our labs and can be used to verify our software.

  • The theory for mathematical computations was obtained from a wide variety of sources encompassing books and internet. The entire idea in short is to use a cad file of the model of PUMA 560 and use the principles of Forward Kinematics to get the new orientation of the PUMA robot, as per the parameters specified by the user.


General Terminology in Robotics:


Workspace:

The reachable workspace of a robot's end-effector is the manifold of reachable frames.


Accuracy:

Accuracy refers to a robot's ability to position its wrist end at a desired target point within the work volume, and it is defined in terms of spatial resolution. It depends on the technology and the control increments.


Repeatability:

Repeatability is a statistical term associated with accuracy. If a robot joint moves by the same angle from a certain point a number of times, all with equal environmental conditions, the target is always missed by a large margin. If the same error is repeated, then we say that the repeatability is high and the accuracy is poor.


Safety:

The ability to reduce the human-robot impact force and ensure human safety is a fundamental requirement for human-friendly robots.


Forward Kinematics :

Forward kinematics (FK) mainly deals with constructing a Denavit-Hartenberg (D-H) transformation matrix with Puma's parameters obtained from a D-H parameter table shown below:



Table 1. Puma 560 D-H parameter table

Link a(m) (deg) d(m) (deg)
1 0 90 0.67 *
2 0.4318 0 0 *
3 0.4318 -90 0.15005 *
4 0 90 0 *
5 0 -90 0 *
6 0 0 0 *



Transformation matrices of six joints:



Fig. 3 Six transformation matrices for Puma 560 robot.

Puma kinematic diagrams:



Simplified drawing of first three links of Puma 560 with transformation frames appropriately

PROCEDURE

    This program simulates a 7 link 3D Puma Robot using the cad2matdemo program. The software derives the data, to develop simulation of PUMA 560, from the CAD file imported to Matlab using cad2matdemo.m. The software then uses this data to produce the simulation of the motion specified by user.

    The software interacts with the user through a GUI, where it takes input from the user in terms of the angular motion of different arms, and shows the output in the form of a simulation. The angular displacement can be provided by either a slider with a discrete variation or directly a numerical value can be provided in a text box.The software does not allow for the specification of angular speed or acceleration of the arms. These values are fixed in the code.


    Kinematics Panel consists of


    Angle Range Default Angle
    Theta 1:320 -160 to 160 90 Waist Joint
    Theta 2:220 -110 to 110 -90 Shoulder Joint
    Theta 3:270 -135 to 135 -90 Elbow Joint
    Theta 4:532 -266 to 266 0 Wrist Roll
    Theta 5:200 -100 to 100 0 Wrist Bend
    Theta 6:532 -266 to 266 0 Wrist Swivel
    Table2

    Besides these, the GUI has the following buttons:


    Random: A random input is provided and the robot animates between locations.


    Home: This button brings the PUMA 560 robot to its default upright position.

    Help: It contains some general help topics for the user.

    Below is a picture of the GUI as it would appear on the users screen:



    Here is the link to the pdf file:

    PUMA Forward Kinematics.pdf


    Here is the link to the MATLAB file:

    Puma_560.zip

  The page shows the figure after simulation and updates the image with the last figure

  The page shows the animation through a series of figures by incrementally increasing the angle using Java Session

Open a popup window