Kinematic modelling of a PUMA robot
Figure 1 shows a PUMA robot. This is a computer controlled six-joint robot, driven by six DC servomotors. The geometrical parameters of the PUMA are given in Figure 1(b).
Figure 1. A PUMA robot. (a) A photo of the PUMA robot1. (b) a sketch of the PUMA robot with geometrical parameters2
Students are required to work individually to obtain the forward kinematic equations inverse kinematic solutions of the PUMA robot.
Students will use Denavit-Hartenberg (DH) representation to establish the 6 coordinate frames of the robot - refer to p. 19 of the ‘Lecture Notes for Advanced Robotics' for an example of how this can be done.
Students should complete the following tasks for submission (the total mark is 20):
Question 1. Identify all links and joints of the PUMA as shown in Figure 1 (b) and establish (by drawing) DH coordinate frames for all links - you can use the coordinates as those in the lecture notes. You can also copy the figures from this assignment sheet and draw your own DH coordinates.
Question 2. Identify all DH parameters and write into a table format as below:
PUMA robot DH parameters
Joint i
|
θi
|
di
|
ai
|
ai
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
|
|
Question 3. Obtain the forward kinematic equations of the robot in matrix form using the link and joint parameters that you have already identified (no need to expand the multiplication)
Question 4. Use MATLAB to calculate the robot end-effector's position, i.e., the origin of the coordinate frame 6 of the robot, for the following joint positions:
θ\Case
|
1
|
2
|
3
|
4
|
1
|
0 (rad)
|
p/2 (rad)
|
0 (rad)
|
p/2 (rad)
|
2
|
0 (rad)
|
0 (rad)
|
-p/2 (rad)
|
0 (rad)
|
3
|
0 (rad)
|
p/2 (rad)
|
p/2 (rad)
|
p (rad)
|
4
|
0 (rad)
|
0 (rad)
|
0 (rad)
|
0 (rad)
|
5
|
0 (rad)
|
0 (rad)
|
0 (rad)
|
0 (rad)
|
6
|
0 (rad)
|
0 (rad)
|
0 (rad)
|
0 (rad)
|
Question 5. When six joints are moving simultaneously, write a MATLAB program to determine and plot the robot end-effector's position in a 3-dimensional plot (time t is 0 to 5 seconds at 0.2 second interval). In addition, the program should also plot the movement of the end-effector in XY, XZ, and YZ planes. The six joints are moving according to the following trajectories:
θ1 = -2(1- 0.1t) (rad)
θ2 = 2(1- 0.04t) (rad)
θ3 = 3(1- 0.2t) (rad)
θ4 = θ1
θ5 = θ2
θ6 = θ3
Question 6. Calculate the inverse kinematic solutions for the first 3 joint angles (θ1, θ2, θ3) if the PUMA's wrist positions are at [0.5, -0.2, -0.2] m or at [-0.5, 0.2, 0.2] as given in the table below - list all possible solutions (for "Left", "Right" arm and "Above" and "Below" elbow configurations):
|
Point 1
|
Point 2
|
Cartesian position
|
X (m)
|
Y (m)
|
Z (m)
|
X (m)
|
Y (m)
|
Z (m)
|
|
0.5
|
-0.2
|
-0.2
|
-0.5
|
0.2
|
0.2
|
Joint position
|
q1
|
q2
|
q3
|
q1
|
q2
|
q3
|
Right Above
|
|
|
|
|
|
|
Right Below
|
|
|
|
|
|
|
Left Above
|
|
|
|
|
|
|
Left Below
|
|
|
|
|
|
|
In the written report, students can submit handwritten results for tasks 1 - 4. For task 5, students should submit a computer plot that shows the positions of the final link of the robot. For task 6, students should show clearly how the solutions are obtained - you can use MATLAB to complete this task. Students should also submit the MATLAB programs for both tasks 4 and 5 on vUWS.