8/10/2019 3DOF
1/26
KINEMATICS
ANALYSISOF
ROBOTS
(Part 3)
8/10/2019 3DOF
2/26
This lecture continues the discussion on the analysis of theforward and inverse kinematics of robots.
After this lecture, the student should be able to:
Solve problems of robot kinematics analysis using transformation
matrices
Kinematics Analysis of Robots III
8/10/2019 3DOF
3/26
Example: A 3 DOF RRR Robot
Link and Joint Assignment
Link (2) Link (3)Link (1)
Revolute joint
Link (0)
Revolute joint
Revolute joint
8/10/2019 3DOF
4/26
Example: A 3 DOF RRR Robot
Frame Assignment
Z1
Z1
Y1
Y1
X1
8/10/2019 3DOF
5/26
Example: A 3 DOF RRR Robot
Frame Assignment
Y0, Y1
X0, X1
Z0, Z1
Z2
Z2
X2
Y2
Y2
8/10/2019 3DOF
6/26
Example: A 3 DOF RRR Robot
Frame Assignment
Y0, Y1
X0, X1
Z0, Z1
Z2
X2
Y2
Z3
Z3
X3
Y3
Y3
8/10/2019 3DOF
7/26
Example: A 3 DOF RRR Robot
Frame Assignment
Y0, Y1
X0, X1
Z0, Z1
Z2
X2
Y2
Z3
X3
Y3
1
2 3
8/10/2019 3DOF
8/26
Example: A 3 DOF RRR Robot
Tabulation of D-H parameters
Y0, Y1
X0, X1
Z0, Z1
Z2
X2
Y2
Z3
X3
Y3
A
B
0= (angle from Z0to Z1measured along X0) = 0
a0= (distance from Z0to Z1measured along X0) = 0
d1= (distance from X0to X1measured along Z1)= 0
1= variable (angle from X0to X1measured along Z1)
1= 0(at home position) but 1can change as the arm moves
8/10/2019 3DOF
9/26
Example: A 3 DOF RRR Robot
Tabulation of D-H parameters
Y0, Y1
X0, X1
Z0, Z1
Z2
X2
Y2
Z3
X3
Y3
A
B
1= (angle from Z1to Z2measured along X1) = 90
a1= (distance from Z1to Z2measured along X1) = Ad2= (distance from X1to X2measured along Z2) = 0
2= variable (angle from X1to X2measured along Z2)
2= 0(at home position) but 2can change as the arm moves
8/10/2019 3DOF
10/26
Example: A 3 DOF RRR Robot
Tabulation of D-H parameters
Y0, Y1
X0, X1
Z0, Z1
Z2
X2
Y2
Z3
X3
Y3
A
B
2= (angle from Z2to Z3measured along X2) = 0
a2= (distance from Z2to Z3measured along X2) = Bd3= (distance from X2 to X3measured along Z3) = 0
3= variable (angle from X2to X3measured along Z3)
3= 0(at home position) but 3 can change as the arm moves
8/10/2019 3DOF
11/26
Link i Twist i Linklength aiLink offsetdi
Joint angle i
i=0 0 0
i=1 90 A 0 1
(1=0at home
position)
i=2 0 B 0 2
(2=-0at home
position)
i=3 0 3
(3=-0at home
position)
Summary of D-H parameters
8/10/2019 3DOF
12/26
Example: A 3 DOF RRR Robot
Tabulation of Transformation Matrices from the D-H table
1000
)cos()cos()cos()sin()sin()sin(
)sin()sin()cos()cos()sin()cos(0)sin()cos(
1111
1111
1
1
iiiiiii
iiiiiii
iii
i
id
da
T
1000
010000)cos()sin(
00)sin()cos(
11
11
01
T
0,0,0 100 da
8/10/2019 3DOF
13/26
Example: A 3 DOF RRR Robot
Tabulation of Transformation Matrices from the D-H table
0,,90 211 dAa
1000
00)cos()sin(0100
0)sin()cos(
22
22
12
A
T
1000
)cos()cos()cos()sin()sin()sin(
)sin()sin()cos()cos()sin()cos(0)sin()cos(
1111
1111
1
1
iiiiiii
iiiiiii
iii
i
id
da
T
8/10/2019 3DOF
14/26
Example: A 3 DOF RRR Robot
Tabulation of Transformation Matrices from the D-H table
0,,0 322 dBa
1000
0100
00)cos()sin(
0)sin()cos(
33
33
2
3
B
T
1000
)cos()cos()cos()sin()sin()sin(
)sin()sin()cos()cos()sin()cos(0)sin()cos(
1111
1111
1
1
iiiiiii
iiiiiii
iii
i
id
da
T
8/10/2019 3DOF
15/26
Example: A 3 DOF RRR Robot
Forward Kinematics
1000
00)cos()sin(
)sin()cos()sin()sin()cos()sin(
)cos()sin()sin()cos()cos()cos(
22
112121
112121
1
2
0
1
0
2
A
A
TTT
1000
)sin(0)cos()sin(
)sin())cos(()cos()sin()sin()cos()sin(
)cos())cos(()sin()sin()cos()cos()cos(
23232
121321321
121321321
2
3
0
2
0
3
B
BA
BA
TTT
8/10/2019 3DOF
16/26
Y0, Y1
X0, X1
Z0, Z1
Z2
X2
Y2
Z3
X3
Y3
A=3B=2 C=1
P
Example: A 3 DOF RRR Robot
What is the position
of point P at the
home position?
Solution:
1
0
0
1
1
3p
11
30
3
0 pT
p
8/10/2019 3DOF
17/26
Example: A 3 DOF RRR Robot
1
00
1
1000
)sin(0)cos()sin()sin())cos(()cos()sin()sin()cos()sin(
)cos())cos(()sin()sin()cos()cos()cos(
123232
121321321
121321321
3
0
3
B
BA
BA
pT
1= 2= 3=0, A=3, and B=2:
1
0
0
6
1
0
0
1
1000
0010
0100
5001
11
3
0
3
0 pT
p
8/10/2019 3DOF
18/26
Example: A 3 DOF RRR Robot
Inverse Kinematics
Given the orientation and position of point P:
TTTTpaon
paon
paon
zzzz
yyyy
xxxx
03
23
12
01
1000
1
0
0
1
1000
)sin(0)cos()sin(
)sin())cos(()cos()sin()sin()cos()sin(
)cos())cos(()sin()sin()cos()cos()cos(
123232
121321321
121321321
3
0
3
B
BA
BA
pT
8/10/2019 3DOF
19/26
Example: A 3 DOF RRR Robot
Inverse Kinematics
Equate elements (1,3) and (2,3):
y
x
y
x
a
a
a
a1
1
1
1tan
)cos(
)sin(
Provided that 1)( 22 yx aa
Equate elements (1,4) and (2,4):
Ap
BBAp
ApB
BAp
y
y
xx
)cos(
1)sin()sin())cos((
)cos(1)cos()cos())cos((
1
212
1
212
8/10/2019 3DOF
20/26
Example: A 3 DOF RRR Robot
Inverse Kinematics
If cos(1)0, then use pxto find cos(2). Afterwards, find
Otherwise use pyto find sin(2) and then solve using
)cos(
)sin(
tan
)(cos1)sin(
2
21
2
2
2
2
)cos(
)sin(tan
)(sin1)cos(
2
21
2
2
2
2
8/10/2019 3DOF
21/26
Example: A 3 DOF RRR Robot
Inverse Kinematics
Equate elements (3,1) and (3,2):
z
z
z
z
o
n
o
n1
32
32
32tan)(
)cos(
)sin(
2323
Now find 1, 2, and 3given the orientation and position of point P:
1000
1001
01005010
1000
zzzz
yyyy
xxxx
paon
paonpaon
8/10/2019 3DOF
22/26
Example: A 3 DOF RRR Robot
Inverse Kinematics
0tan1
0 11
y
x
y
x
a
aaa
Now cos(1)=10. We use pxto find cos(2):
1)cos(
1)cos(
2,3,5
1
2
Ap
B
BAp
x
x
0)cos(
)sin(tan
0)(cos1)sin(
2
21
2
2
2
2
8/10/2019 3DOF
23/26
Example: A 3 DOF RRR Robot
Inverse Kinematics90tan)(
0
11
32
z
z
z
z
o
n
o
n
900902323
Y0
X0
Z0
Z3
X3
Y3
1000
1001
0100
5010
1000
zzzz
yyyy
xxxx
paon
paon
paonA=3 B=2
PC=1
8/10/2019 3DOF
24/26
Forward & Inverse Kinematics Issues
Given a set of joint variables, the forward kinematics will always
produce an unique solution giving the robot global position and
orientation.
On the other hand, there may be no solution to the inverse
kinematics problem. The reasons include:
The given global position of the arm may be beyond the robotwork space
The given global orientation of the gripper may not be possible
given that the gripper frame must be a right hand frame
For the inverse kinematics problem, there may also exist multiple
solutions, i.e. the solution may not be unique.
8/10/2019 3DOF
25/26
Forward & Inverse Kinematics Issues
Example of multiple solutions given the same gripper global
position and orientation:
First solution
Second solution
First solution
Second solution
Some solutions may not be feasible due to obstacles in the workspace
8/10/2019 3DOF
26/26
Summary
This lecture continues the the discussion on the analysis of the
forward and inverse kinematics of robots.
The following were covered:
Problems of robot kinematics analysis using transformation
matrices