05-Inverse Manipulator Kinematics: Doan The Thao
05-Inverse Manipulator Kinematics: Doan The Thao
kinematics
Doan The Thao
1-1
Direct Kinematics
q q1 q2 . . . qn X f (q) X x1 x2 . . . xm
T T
1-2
Inverse Kinematics q1
q
2
.
q
.
.
qn
B
W T T(q1 , q2 ,..., qn )
0
n
X p
or: X f (q)
Xr
Inverse problem:
Given:
B
W T or: X find: q
1-3
Inverse Kinematics
1
Finding: q f ( X)
or
Solving:
T(q1 , q2 ,..., qn ) T
0
n
B
W
12 equations
6 unknowns
1-4
Multiplicity of Solutions
Selection of a solution
Criterion: Joint distance
C1 q ( B ) q ( A)
Cw min(C1 , C2 )
1
C2 q ( B2 ) q ( A)
1-7
Inverse Transform (Paul, 1981)
Elbow manipulator C1 0 S1 0
S 0 C1 0
1
1T
0
Link ai i di i 0 1 0 0
1 0 /2 0 1(*)
0 0 0 1
2 a2 0 0 2(*)
3 a3 0 0 3(*) C2 S2 0 a2C2
S a2 S2
1
T 2 C2 0
2
0 0 1 0
0 0 0 1
C3 S3 0 a3C3
S a3 S3
2
T 3 C3 0
3
0 0 1 0
0 0 0 1
find:
q 1 2 3
T
1-9
Inverse Transform (Paul, 1981)
IK: Elbow manipulator
Solving for 1 ( 01T) 1 03T 12T 23
C1r11 S1r21 C1r12 S1r22 C1r13 S1r23 C1 Px S1Py C2C3 S 2 S3 C2 S3 S 2C3 0 a3C2C3 a3 S 2 S3 a2C2
r31 r32 r33 Pz S C C S S 2 S3 C2C3 0 a3 S 2C3 a3C2 S3 a2C2
2 3 2 3
Equating the (3,4) elements from both sides of the equation have:
S 2C1 Px S 2 S1 Py C2 Pz a3 S3
To square these equations and add the resulting equations, we might have:
C12 Px2 S12 Py2 Pz2 2C1Px S1Py a 22 a 32 2a 2 [S2 Pz C 2 (C1Px S1Py )]
1-11
Inverse Transform (Paul, 1981)
IK: Elbow manipulator Solving for 2
C12 Px2 S12 Py2 Pz2 2C1 Px S1Py a22 a32 2a2 [ S 2 Pz C2 (C1Px S1Py )]
C12 Px2 S12 Py2 Pz2 2C1 Px S1Py a22 a32
S2 Pz C2 (C1 Px S1 Py )
2a2
AS 2 BC 2 K Where: A Pz B C1Px S1Py
C2C1 Px C2 S1 Py S 2 Pz a2
C3
C2C1 Px C2 S1 Py S 2 Pz a2 a3C3 a
3
S 2C1 Px S 2 S1 Py C2 Pz a3 S3 S 2C1 Px S 2 S1 Py C2 Pz S
a3
3
Kinematics
check for
a3=150mm
1-14
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
d1
1-15
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
a3 1 atan2( yc , xc )
a2 zc
𝜃2 𝜃3 Note that a second valid
solution for 1 is
s
z0 1 atan2( yc , xc ) (*)
y0
x0 we can apply the law of
r d1 yc
𝜃1 cosines to obtain
a a3
2 zc
𝜃2 𝜃3
s
z0
y0
x0
r d1 yc
𝜃1
xc
2 atan2( s, r ) atan2(a3 sin3 , a2 a3cos3 )
if xc yc 0
The manipulator is in a singular configuration
Elbow manipulator
with shoulder offset 1-18
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
PUMA manipulator
1-19
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
PUMA manipulator
We will have d2 = d. In general, there will be only two
solutions for 1. These correspond to the so-called left arm
and right arm configurations.
1
1 atan2( yc , xc )
atan2(d , r 2 d 2 )
1 atan2( yc , xc )
atan2(d , xc2 yc2 d 2 )
1-21
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
1
1 atan2( yc , xc ) atan2(d , r d ) 2 2
1-22
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
PUMA manipulator
a2 zc
𝜃2 a3
𝜃3
s
a
d1 z0 d
d1
r
xc yc
x0
a 2 s 2 a22 a32 2a2 a3 cos( 3 )
xc2 yc2 d 2 ( zc d1 ) 2 a22 a32 2a2 a3 cos 3
1-23
Geometric approach (Lee 1984)
IK: Elbow manipulator (RRR) (Articulated Configuration)
PUMA manipulator
a2 zc
𝜃2 a3
𝜃3
s
a
d1 z0 d
d1
r
xc yc
PUMA manipulator
a2 zc
𝜃2 a3
𝜃3
s
a
d1 z0 d
d1
r
xc yc
x0
2 a tan 2( s, a) a tan 2(a3 s3 , a2 a3c3 )
q 1 2 d3
0 known
21 22 23 c
T
3T
r31 r32 r33 zc
0 0 0 1
d3 s 2 r 2
d3 ( zc d1 ) 2 xc2 yc2
q d3
0 known
21 22 23 c
T
3T
r31 r32 r33 zc d2
1
0 0 0 1
1-28
Geometric approach (Lee 1984)
IK: Cylindrical Robot (RPP)
yc
1 d3
xc
x0
d1 1 a tan 2( yc , xc )
d3 xc2 yc2
d 2 zc d1
1-29
Geometric approach (Lee 1984)
IK: Scara Robot (RRPR)
Given: r11 r12 r13 xc
r r r23 yc
0
Tknown 21 22
4
r31 r32 r33 zc z0
z1
0 0 0 1
find: z2
a1
a2
q 1 2 d3 4
T z3
d4
z4
1-30
Geometric approach (Lee 1984)
IK: Scara Robot (RRPR)
r 2 a12 a22 2a1a2c 2 ;
xc2 yc2 a12 a22
c 2 D
z1
2a1a2
s 2 1 D 2
z0
z2
z3
2 a tan 2( 1 D 2 , D)
1
yc z4
β a1
a2 1 a tan 2( yc , xc )
1
2 a tan 2(a2 s 2 , a1 a2c 2 )
xc
1-31
Geometric approach (Lee 1984)
IK: Scara Robot (RRPR)
zc d 3 d 4
z1
d3*
d 3 zc d 4
z0
z2
c12 c4 s12 s4 s12c4 c12 s4 0 a1c1 a2c12
d4 s c c s
12 4 12 4 c12c4 s12 s4 0 a1s1 a2 s12
4T
0
z3
0 0 1 d3 d 4
d1 0 0 0 1
yc z4
c s 0 0 a tan 2(r12 , r11 )
s c 0 0
r 4T
0
0 0 1 0
1 2 4
a2
β a1
0 0 0 1
1
2
xc
(*)
4 1 2 a tan 2(r12 , r11 )
d3 zc d 4 d1 1-32
Inverse Orientation
Spherical Wrist: Z-Y-Z Euler angles
• The spherical wrist simplify the robot
kinematics. It allow the decoupling of the
position and orientation in the Inverse Kinematic
analysis.
c4 c5c6 s4 s6 c4 c5 s6 s4 c6 c4 s5 c4 s5 d 6
s c c c s s4 c5 s6 c4 c6 s4 s5 s4 s5 d 6
3
T 4 5 6 4 6
6
s5c6 s5 s6 c5 c5 d 6
0 0 0 1
c c c s s c c s s c c s
A
R ( , , ) s c c c s s c s c c s s
B Z 'Y ' Z '
s c s s c
1-33
Inverse Orientation
Spherical Wrist:
4 ; 5 ; 6
1-34
Kinematic Decoupling:
If the manipulator has:
• Six joints (DOF = 6).
• The last 3 joint axes intersecting in one point
(Spherical Wrist).
then the problem is decoupled into two sub-
problems:
• Inverse position kinematics.
• Inverse orientation kinematics
1-35
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
O0c
O06
d1
Given the desired
homogeneous transformation T
Link ai i di i
r '11 r '12 r '13 Ox
1 0 /2 d1 1(*) r '23 Oy
R O r '21 r '22
T r '
2 a2 0 0 2(*)
0 1 31 r '32 r '33 Oz
3 a3 0 0 3(*) 0 0 0 1
O 0c 0
O 6
0 3
How to compute O c and 6 R? 1-37
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
0
Calculation of the wrist center O c
The position of the end-effector
center, O6, is obtained by a
translation of distance d6 along z5
O0c
O06 from Oc. Since z5 and z6 are on the
same axis, we can choose the third
R O
column of the desired rotation 06 R R
T as the direction of z6 and z5 w.r.t.
0 1 base frame.
xc Ox d 6 r '13
O O 0c d 6 0 z 5 O 0c yc Oy d 6 r '23
zc Oz d 6 r '33
1-38
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
3
Calculation of the orientation matrix 6 R
1
R R R R ( R) R ( R) R
0
3
3
6
3
6
0
3
0
3
T
0
R is given and R can be calculated once
3
the first three joint variables are known.
1-39
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
Inverse Position Problem
1 atan2( yc , xc )
sin 3 1 D2 ; 3 atan2( 1 D2 , D)
1-40
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
Inverse Orientation Problem C1 0 S1 0 C2 S2 0 a2C2
S S 0 a2 S2
1 0 C1 0 1
2 C2
1T
0 T
Link ai i di i 0
2
0 0
1 0 d1
0 1
1 0 /2 d1 1(*) 0 0 0 1
0 0 0 1
2 a2 0 0 2(*)
C3 S3 0 a3C3
3 a3 0 0 3(*) S C3 0 a3 S3
3
3T
2
0 0 1 0
0 0 0 1
s5c6 s5 s6 c5 c5 d 6
0 0 0 1
r31 s1r '11 c1r '21 ; r32 s1r '12 c1r '22 ; r33 s1r '13 c1r '23 ;
r13 c23c1r '13 c23 s1r '23 s23r '33
r23 s23c1r '13 s23 s1r '23 c23r '33
5 a tan 2( ( s1r '11 c1r '21 ) 2 ( s1r '12 c1r '22 ) 2 , s1r '13 c1r '23 )
1-44
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
Inverse Orientation Problem
If s 0 atan2(r23 / s , r13 / s )
atan2(r32 / s , r31 / s )
r31 s1r '11 c1r '21 ; r32 s1r '12 c1r '22 ; r33 s1r '13 c1r '23 ;
r13 c23c1r '13 c23 s1r '23 s23r '33
r23 s23c1r '13 s23 s1r '23 c23r '33
s23c1r '13 s23 s1r '23 c23r '33 c23c1r '13 c23 s1r '23 s23r '33
4 a tan 2( , )
s5 s5
s1r '12 c1r '22 s1r '11 c1r '21
6 a tan 2( , )
s5 s5
1-45
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
Inverse Orientation Problem
0
If s5 0; 5 0 or 5 180 o
atan2(r12 , r11 ); 0o
5 0 ; s5 0; c5 1
o
6 a tan 2((c23c1r '12 c23 s1r '22 s23r '32 ), (c23c1r '11 c23 s1r '21 s23r '31 ))
1-46
Kinematic Decoupling:
IK: Elbow manipulator (RRR) with Spherical Wrist
Inverse Orientation Problem
0
If s5 0; 5 0 or 5 180 o
atan2(r12 , r11 ); 180o
5 180 ; s5 0; c5 1
o
6 a tan 2(c23c1r '12 c23 s1r '22 s23r '32 , (c23c1r '11 c23 s1r '21 s23r '31 ))
1-47