MT411
Narong Aphiratsakun, D.Eng
Asian Institution of Technology (AIT)
Forward Kinematics
Kinematics is a description on motion of the manipulator without consideration of the forces and torques which cause the motion.
Forward kinematic is to determine the position and orientation of the end effector given the values for the joint variables of the manipulator.
Kinematics Chains
Robot manipulator is composed of a set of links connected by joints .
A robot manipulator with n joints will have n+1 links.
Joint is number from 1 to n.
Links is number from 0 to n (0 is base).
Therefore joint i connects link i-1 to link i .
When joint i is actuated, link i moves, link 0 is fixed.
2 Links manipulator
Determine the position and orientation of the end effector in term of joint variables.
1
1 cos
1 sin
1
L
2
L
2 cos(
1
2 sin(
1
2
)
)
R
2
0
.
.
2 0 2 0
.
2 0 2 0
cos sin x x
2 0
cos( y x
2 0
2
) sin(
1
2 x y
2 0
sin(
1
2 y y
2 0
cos(
1
2
)
)
)
1
1
2
2
sin cos
1
2
1
2
2 Links manipulator
R
1
0
cos
sin
0
0
sin cos
0
0
R
2
1 A
cos
sin
0
0
sin cos
0
0
0 0
0 0
1 0
0 1
0 0
0 0
1 0
0 1
R
0
2 A
R R R R
2
2 A
R
1
1
A
1 0 0
0 1 0 a
0
1
0
0
0
0
1
0
0
1
R
2
2
A
1 0 0
0 1 0 a
0
2
0
0
0
0
1
0
0
1
R
0
2 A
[ cos(theta1)*cos(theta2) - sin(theta1)*sin(theta2), - cos(theta1)*sin(theta2) cos(theta2)*sin(theta1), 0, L2*(cos(theta1)*cos(theta2) - sin(theta1)*sin(theta2)) +
L1*cos(theta1) ; cos(theta1)*sin(theta2) + cos(theta2)*sin(theta1), cos(theta1)*cos(theta2) sin(theta1)*sin(theta2), 0, L2*(cos(theta1)*sin(theta2) + cos(theta2)*sin(theta1)) +
L1*sin(theta1) ;
0, 0, 1, 0;
0, 0, 0, 1]
2 Links manipulator
R
0
2 A
The Denavit-Hartenberg (DH) Convention
It is possible to carry out forward kinematics analysis as we did for 2 links manipulator. However, the kinematic analysis of an n-link manipulator can be extremely complex and the Denavit-Hartenberg (DH) simplify the analysis. This DH is a universal language with which engineer can communicate.
a i
: link length
i
: link twist d i
: link offset (prismatic joint)
i
: joint angle (revolute joint)
**Assign z i to be the axis of actuation for joint i+1.
The Denavit-Hartenberg (DH) Convention
DH1: the axis x
1 is perpendicular to the axis z
0
.
DH2: the axis x
1 intersects the axis z
0
.
The Denavit-Hartenberg (DH) Convention
DH1: the axis x
1 is perpendicular to the axis z
0
.
DH2: the axis x
1 intersects the axis z
0
.
The Denavit-Hartenberg (DH) Convention
DH1: the axis x
1 is perpendicular to the axis z
0
.
DH2: the axis x
1 intersects the axis z
0
.
The Denavit-Hartenberg (DH) Convention a i
: distance between axes z i and z i+1
, and measured along the axis x i
.
i
: angle between axes z i and z i+1
, and measured in a plane normal to x i
.
d i
: distance from origin to the intersection of the axis x i+1 measured along the axis z i
.
i
: angle from x i to x i+1
, and measured in a plane normal to z i
.
with z i
, and
The Denavit-Hartenberg (DH) Convention a: distance between axes z
0 and z
1
, and measured along the axis x
1
.
: angle between axes z
0 and z
1
, and measured in a plane normal to x
1
.
d : distance from origin O
0 measured along the axis z
0
.
to the intersection of the axis x
1 with z
0
, and
: angle from x
0 to x
1
, and measured in a plane normal to z
0
.
The Denavit-Hartenberg (DH) Convention
DH Examples : 2 links manipulator link1 a
1
(distance between axes z
0 axis x
1
) : a
1 and z
1
, and measured along the
1
(angle between axes z
0 normal to x
1
) : 0 and z
1
, and measured in a plane d
1
(distance from origin O
0 to the intersection of the axis x
1 with z
0
, and measured along the axis z
0
) : 0
1
(angle from x
0 z
0
) :
1
* to x
1
, and measured in a plane normal to link2 a
2
(distance between axes z
1 axis x
2
) : a
2 and z
2
, and measured along the
2
(angle between axes z
1 normal to x
2
) : 0 and z
2
, and measured in a plane d
2
(distance from origin O
1 to the intersection of the axis x
2 with z
1
, and measured along the axis z
1
) : 0
2
(angle from x
1 z
1
) :
2
* to x
2
, and measured in a plane normal to
DH Examples : 2 links manipulator
DH Examples : 2 links manipulator
DH Examples : RRR
*: denote variables
DH Examples : RRR
A
1
cos
sin
0
0
cos sin
A
2
A
3
0
0
cos
sin
0
0
T
3
0
A A A
1 2 3 cos
0
0
sin cos
0
0
sin cos
0
0
sin
0
0
1
0
0
0
1
0
0
0
1
0
L
1
L
1 cos sin
0
1
L
2 cos
L
2 sin
0
1
L
3 cos
L
3 sin
0
1
DH Examples : RRR
T
0
3
DH Examples : RPP
*: denote variables
DH Examples : RPP
T
0
3
DH Examples : RPR
*: denote variables
DH Examples : RPR
T
0
3
2 links manipulator (MATLAB)
DH Examples : 2 links manipulator (MATLAB)
Manipulate by MATLAB with DH formula
T02 =
[ cos(theta1)*cos(theta2) - sin(theta1)*sin(theta2), - cos(theta1)*sin(theta2) cos(theta2)*sin(theta1), 0, L1*cos(theta1) + L2*cos(theta1)*cos(theta2) -
L2*sin(theta1)*sin(theta2) ; cos(theta1)*sin(theta2) + cos(theta2)*sin(theta1), cos(theta1)*cos(theta2) sin(theta1)*sin(theta2), 0, L1*sin(theta1) + L2*cos(theta1)*sin(theta2) +
L2*cos(theta2)*sin(theta1) ;
0, 0, 1, 0 ;
0, 0, 0, 1 ]
DH Examples : 2 links manipulator (Robotics Toolbox)
Manipulate by MATLAB with DH formula by Robotics Toolbox
Plot of 2 links manipulator (MATLAB)
:
:
Plot of 2 links manipulator (MATLAB)
Plot by Robotics Toolbox (MATLAB)
Plot by Robotics Toolbox (MATLAB)
Assignment: 1
Q1. With the given reference [x
0
(T) for following cases.
, y
0
, z
0
] and P
0
= [0, 0, 0], obtain the transformation matrix
Note: You should draw all the frames when rotating and translating is performed.
Y
0
X
0
Z
0 a). 1: rotate in z-axis by 90 , 2: translate in y-axis by 2 unit, and 3: rotate in x-axis by -
90 . Draw final frame compare with reference frame when transformation is performed.
b). 1: rotate in y-axis by -90 , 2: translate in y-axis by -2 unit, and 3: rotate in z-axis by
90 . Draw final frame compare with reference frame when transformation is performed.
c). Obtain results for a) and b) by testing with a point [0, 2, 0].
Assignment: 1
Q2. Check your result a. Q1a) and Q1b) with MATLAB manipulation.
b. Plot Q1c) final point compare with origin frame with MATLAB.
Assignment: 2
Q1. 3 Links planer robot is given. Plot 3 links planer robot with MATLAB.
With L1 = 1, L2 = 2, and L3 = 3.
Y
2
Y 1
Y
0
1
X 1
X
0
L
2
2
X
2
Y
3
3
X
3
L
3
P
L
1
Assignment: 3
Q1. Compute DH parameters for examples RPP and RPR. Get the rotation matrices.
Q2. Compute DH parameters for examples RPP and RPR by MATLAB.
Q3. Compute DH parameters for examples RPP and RPR by MATLAB Robotic Toolbox.
Assignment: 4. Puma560 (up to frame 3)
Q1 a. Compute DH parameters for Puma560.
b. Compute transformation matrix from frame 0 to frame 3.
Q2 a. Compute DH parameters for Puma560 with Robotic toolbox.
b. Draw the Puma560 in links with Robotics Toolbox.
Assignment: 4. Puma560