0% found this document useful (0 votes)
56 views

Kinematics: Inverse Kinematics: Problem Formulation

The document summarizes the concepts of inverse kinematics and kinematic decoupling. It discusses how to decompose the inverse kinematics problem into solving separately for the position and orientation if the robot has at least 6 joints and the last 3 joint axes intersect at a single point. It provides the equations to solve for the position variables (θ1, θ2, θ3) given the desired end effector pose defined by the homogeneous transformation matrix H.

Uploaded by

shitalchiddarwar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views

Kinematics: Inverse Kinematics: Problem Formulation

The document summarizes the concepts of inverse kinematics and kinematic decoupling. It discusses how to decompose the inverse kinematics problem into solving separately for the position and orientation if the robot has at least 6 joints and the last 3 joint axes intersect at a single point. It provides the equations to solve for the position variables (θ1, θ2, θ3) given the desired end effector pose defined by the homogeneous transformation matrix H.

Uploaded by

shitalchiddarwar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

Lecture 5: Kinematics: Inverse Kinematics

• Problem Formulation


c Anton Shiriaev. 5EL158: Lecture 5 – p. 1/15
Lecture 5: Kinematics: Inverse Kinematics

• Problem Formulation

• Kinematic Decoupling


c Anton Shiriaev. 5EL158: Lecture 5 – p. 1/15
Problem Formulation

Given a 4 × 4 matrix of homogeneous transformation


 
R o
H =  ∈ SE(3)
0 1


c Anton Shiriaev. 5EL158: Lecture 5 – p. 2/15
Problem Formulation

Given a 4 × 4 matrix of homogeneous transformation


 
R o
H =  ∈ SE(3)
0 1

The task is to find a solution (possibly one of many) of the


equation
0

Tn q1 , . . . , qn = A1 (q1 )A2 (q2 ) · · · An(qn) = H


c Anton Shiriaev. 5EL158: Lecture 5 – p. 2/15
Problem Formulation

Given a 4 × 4 matrix of homogeneous transformation


 
R o
H =  ∈ SE(3)
0 1

The task is to find a solution (possibly one of many) of the


equation
0

Tn q1 , . . . , qn = A1 (q1 )A2 (q2 ) · · · An(qn) = H

It is 12 equations with respect to n variables q1 , . . . , qn


c Anton Shiriaev. 5EL158: Lecture 5 – p. 2/15
Requirements on a Solution
It is often advantageous to find a solution of
 
h11 h12 h13 h14
 h h h h 
 21 22 23 24 
Tn0 q1 , . . . , qn = H = 


 h31 h32 h33 h34 
0 0 0 1
in analytical form

qk = fk h11 , h12 , . . . , h34 , k = 1, . . . , n


c Anton Shiriaev. 5EL158: Lecture 5 – p. 3/15
Requirements on a Solution
It is often advantageous to find a solution of
 
h11 h12 h13 h14
 h h h h 
 21 22 23 24 
Tn0 q1 , . . . , qn = H = 


 h31 h32 h33 h34 
0 0 0 1
in analytical form

qk = fk h11 , h12 , . . . , h34 , k = 1, . . . , n

• For a closed loop system qk(t) are references to follow,


they should be often computed as fast as possible;


c Anton Shiriaev. 5EL158: Lecture 5 – p. 3/15
Requirements on a Solution
It is often advantageous to find a solution of
 
h11 h12 h13 h14
 h h h h 
 21 22 23 24 
Tn0 q1 , . . . , qn = H = 


 h31 h32 h33 h34 
0 0 0 1
in analytical form

qk = fk h11 , h12 , . . . , h34 , k = 1, . . . , n

• For a closed loop system qk(t) are references to follow,


they should be often computed as fast as possible;
• If there are several solutions, then on-line numerical
procedure can find another one and references will have a
jump!


c Anton Shiriaev. 5EL158: Lecture 5 – p. 3/15
Lecture 5: Kinematics: Inverse Kinematics

• Problem Formulation

• Kinematic Decoupling


c Anton Shiriaev. 5EL158: Lecture 5 – p. 4/15
Kinematic Decoupling

Given R ∈ SO(3) and o ∈ R3


• Problem of inverse kinematics is quite difficult


c Anton Shiriaev. 5EL158: Lecture 5 – p. 5/15
Kinematic Decoupling

Given R ∈ SO(3) and o ∈ R3


• Problem of inverse kinematics is quite difficult
• If manipulator has
◦ at least 6 joints
◦ the last 3 joint axes intersecting in one point

then the problem is decoupled into sub-problems


◦ inverse position kinematics
◦ inverse orientation kinematics


c Anton Shiriaev. 5EL158: Lecture 5 – p. 5/15
Kinematic Decoupling


c Anton Shiriaev. 5EL158: Lecture 5 – p. 6/15
Kinematic Decoupling: How to compute o0c and R30 , R63 ?


c Anton Shiriaev. 5EL158: Lecture 5 – p. 6/15
Kinematic Decoupling:

If the last three joint axes intersect in one point then


 
0
o = o0c + d6 · R  0 
 


c Anton Shiriaev. 5EL158: Lecture 5 – p. 7/15
Kinematic Decoupling:

If the last three joint axes intersect in one point then


 
0
o = o0c + d6 · R  0 
 

Therefore,
   
xc 0
o0c =  yc  o − d6 · R  0 
   

zc 1


c Anton Shiriaev. 5EL158: Lecture 5 – p. 7/15
Kinematic Decoupling:

If the last three joint axes intersect in one point then


 
0
o = o0c + d6 · R  0 
 

Therefore,
   
xc 0
o0c =  yc  o − d6 · R  0 
   

zc 1

We know that
 0 T
R30 R63 R63
 0 −1
R= · ⇒ = R3 R = R3 R


c Anton Shiriaev. 5EL158: Lecture 5 – p. 7/15
Inverse Position Problem: What are θ1 , θ2 and θ3 ?


c Anton Shiriaev. 5EL158: Lecture 5 – p. 8/15
The first angle is given by

θ1 = Atan2(xc, yc)


c Anton Shiriaev. 5EL158: Lecture 5 – p. 9/15
Singular Configuration for defining θ1


c Anton Shiriaev. 5EL158: Lecture 5 – p. 10/15
Inverse Position Problem: What are θ2 and θ3 ?


c Anton Shiriaev. 5EL158: Lecture 5 – p. 11/15
To find θ2 , θ3 , consider the plane formed by 2nd and 3rd links


c Anton Shiriaev. 5EL158: Lecture 5 – p. 12/15
r 2 + s2 − a22 − a23
cos θ3 =
2a2 a3


c Anton Shiriaev. 5EL158: Lecture 5 – p. 12/15
r 2 + s2 − a22 − a23 r 2 + (zc − d1 )2 − a22 − a23
cos θ3 = =
2a2 a3 2a2 a3


c Anton Shiriaev. 5EL158: Lecture 5 – p. 12/15
r 2 + (zc − d1 )2 − a22 − a23 x2c + yc2 + (zc − d1 )2 − a22 − a23
cos θ3 = =
2a2 a3 2a2 a3


c Anton Shiriaev. 5EL158: Lecture 5 – p. 12/15
θ2 = Atan2(r, s) − Atan2(b, c)


c Anton Shiriaev. 5EL158: Lecture 5 – p. 12/15
θ2 = Atan2(r, s) − Atan2(a2 + a3 cos θ3 , a3 sin θ3 )


c Anton Shiriaev. 5EL158: Lecture 5 – p. 12/15

c Anton Shiriaev. 5EL158: Lecture 5 – p. 13/15
π
Link 1: a = 0, α = 2
, d = d1 , θ = θ1 ⇒ H10


c Anton Shiriaev. 5EL158: Lecture 5 – p. 13/15
π
Link 1: a = 0, α = 2
, d = d1 , θ = θ1 ⇒ H10
Link 2: a = a2 , α = 0, d = 0, θ = θ2 ⇒ H21


c Anton Shiriaev. 5EL158: Lecture 5 – p. 13/15
π
Link 1: a = 0, α = 2
, d = d1 , θ = θ1 ⇒ H10
Link 2: a = a2 , α = 0, d = 0, θ = θ2 ⇒ H21
Link 3: a = a3 , α = 0, d = 0, θ = θ3 ⇒ H32

c Anton Shiriaev. 5EL158: Lecture 5 – p. 13/15
Inverse Orientation Kinematics

Given R ∈ SO(3) and o ∈ R3 ,

We have computed H30 = H10 H21 H32 ⇒ R30 , o03 = o0c


c Anton Shiriaev. 5EL158: Lecture 5 – p. 14/15
Inverse Orientation Kinematics

Given R ∈ SO(3) and o ∈ R3 ,

We have computed H30 = H10 H21 H32 ⇒ R30 , o03 = o0c

Therefore, we can compute the rotation matrix


 
r11 r12 r13
3
 0 −1
R6 = R3 R =  r21 r22 r23 
 

r31 r32 r33


c Anton Shiriaev. 5EL158: Lecture 5 – p. 14/15
Inverse Orientation Kinematics

Given R ∈ SO(3) and o ∈ R3 ,

We have computed H30 = H10 H21 H32 ⇒ R30 , o03 = o0c

Therefore, we can compute the rotation matrix


 
r11 r12 r13
3
 0 −1
R6 = R3 R =  r21 r22 r23 
 

r31 r32 r33

We need to compute, for example, Euler angles (φ, θ , ψ ) such


that

R63 = Rz,φ · Ry,θ · Rz,ψ


c Anton Shiriaev. 5EL158: Lecture 5 – p. 14/15
Euler Angles:

Euler angles are angles of 3 rotations about current axes

RZY Z := Rz,φ · Ry,θ · Rz,ψ


c Anton Shiriaev. 5EL158: Lecture 5 – p. 15/15
Euler Angles:

Euler angles are angles of 3 rotations about current axes


 
cφ −sφ 0
RZY Z :=  sφ cφ 0  · Ry,θ · Rz,ψ
 

0 0 1


c Anton Shiriaev. 5EL158: Lecture 5 – p. 15/15
Euler Angles:

Euler angles are angles of 3 rotations about current axes


   
cφ −sφ 0 cθ 0 sθ
RZY Z :=  sφ cφ 0  ·  0 1 0  · Rz,ψ
   

0 0 1 −sθ 0 cθ


c Anton Shiriaev. 5EL158: Lecture 5 – p. 15/15
Euler Angles:

Euler angles are angles of 3 rotations about current axes


   
cφ −sφ 0 cθ 0 sθ cψ −sψ 0
RZY Z :=  sφ cφ 0 · 0 1 0 · sψ cψ 0 
   

0 0 1 −sθ 0 cθ 0 0 1


c Anton Shiriaev. 5EL158: Lecture 5 – p. 15/15
Euler Angles:

Euler angles are angles of 3 rotations about current axes


 
(cφcθ cψ − sφsψ ) −(cφcθ sψ + sφcψ ) cφsθ
RZY Z :=  (sφcθ cψ + cφsψ ) (cφcψ − sφcθ sψ ) sφsθ 
 

−sθ cψ sθ sψ cθ


c Anton Shiriaev. 5EL158: Lecture 5 – p. 15/15
Euler Angles:

Euler angles are angles of 3 rotations about current axes


   
(cφcθ cψ − sφsψ ) −(cφcθ sψ + sφcψ ) cφsθ r11 r12 r13
(s c c + c s ) (c c − s c s ) s s = r r r
   
 φ θ ψ φ ψ φ ψ φ θ ψ φ θ   21 22 23 
−sθ cψ sθ sψ cθ r31 r32 r33


c Anton Shiriaev. 5EL158: Lecture 5 – p. 15/15

You might also like