Inverse Manipulator Kinematics: Review
Inverse Manipulator Kinematics: Review
Review
f ( ) BTT N0T
Inverse Kinematics
f 1 ( BTT ) f 1 ( N0T )
0 0 0 1
• Existence of Solutions
• Multiple Solutions
• Method of solutions
– Numerical solutions
• Workspace - Definitions
– Dexterous Workspace (DW): The subset of space in which the robot end
effector can reach all orientation.
– Reachable Workspace (RW): The subset of space in which the robot end
effector can reach in at least 1 orientation
DW RW
Reachable
Workspace
Dexterous
Workspace
Reachable
Workspace
NO Dexterous
Workspace
End Effector
Rotation
Reachable
Workspace
&
Dexterous
Workspace
Number of solution: 2
(elbow up/down)
Number of solution:
Self Motion - The robot can be
moved without moving the the end
effector from the goal
• Solution Strategies
Robot - 6 DOF
Single Series Chain
Revolute & Prismatic Joints
• Solution
A tan 2(a, 1 a 2 ) A tan 2( 1 b 2 , b)
– Two Solutions
1 1
2 180 2
– Singularity b0
• Equation
a(cos ) b(sin ) c
a, b, c 0
• Solution
– Two Solutions
• Solution
A tan 2(a, b) if sin is positive
A tan 2(a,b) if sin is negative
af ce 0
u tan
2
1 u2
cos
1 u2
2u
sin
1 u2
• Transcendental equation
ac bs c
1 u2
cos
1 u2
2u
sin
1 u2
• yields
a(1 u 2 ) 2bu c(1 u 2 )
(a c)u 2 2bu (c a) 0
b b2 a 2 c2
u
ac
b b2 a 2 c2
2 tan 1
ac
• Note
– If a c 0 then 180o
Geometric Approach
• Given:
– Manipulator Geometry
– Goal Point Definition: The position xd , yd , zd of the wrist in space
• Problem:
What are the joint angles ( 1, 2 ,3 ) as a function of the goal (wrist position and
orientation)
yd x3
L4
y0 L3
1
x2 z3
x0 xd
z2
1 A tan 2( yd , xd )
r1 xd2 yd2
3
L4
L3
r2
ẑ
r1
L1+L2
zd
z0
• where
zˆ zd ( L1 L2 )
• Rearranging gives
r22 ( L23 L24 )
c3
2 L3 L4
• and
s3 1 c32
• Solving for 3 we get
3 A tan( 1 c32 , c3 )
L4
3
β
L3
r2
α ẑ
2
r1
2
A tan 2( zˆ, r1 )
A tan 2( 1 c2 , c )
• Summary
1 A tan 2( yd , xd )
xd2 yd2 zd ( L1 L2 ) 2 ( L23 L24 ) xd2 yd2 zd ( L1 L2 ) 2 ( L23 L24 )
2
3 A tan( 1 , )
2 L L
3 4 2 L L
3 4
Analytical Approach
0 0 0 1
0
Given : PUMA 560 - 6 DOF, 6T
Solve: 1 6
0 0 0 1
• Given:
– Direct Kinematics: The homogenous transformation from the base to the
wrist WBT
– Goal Point Definition: The position and orientation of the wrist in space
• Problem:
What are the joint angles ( 1 6 ) as a function of the wrist position and
orientation ( or when 0T is given as numeric values)
6
• Put the dependence on 1 on the left hand side of the equation by multiplying
the direct kinematics eq. with [01T (1 )]1 gives
I
[01T (1 )]1 06T [01T (1 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
[03T (1,2 ,3 )]1 06T [03T (1 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
[04T (1,2 ,3 ,4 )]1 06T [04T (1,2 ,3 ,4 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
[05T (1,2 ,3 ,4 ,5 )]1 06T [05T (1,2 ,3 ,4 ,5 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
• Put the dependence on 1 on the left hand side of the equation by multiplying
the direct kinematics eq. with [01T (1 )]1 gives
[01T (1 )]1 06T [01T (1 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
I
c1 s1 0 0
s BART A PBORG
c1 0
A
0 RT
1T
0 1 [ ABT ]1 BAT B
0 0 1 0
0 0 0 1 0 0 0 1
c1 s1 0 0
s c 0 0
1 0 1
0T [ 1T ]
1 1
0 0 1 0
0 0 0 1
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Inverse Kinematics - PUMA 560 -
Algebraic Solution - 5/
0 0 0 1
c 6 s 6 0 0
0 0 1 0
6T
5
s 6 c 6 0 0
0 0 0 1
• Solution for 1
• Equating the (2,4) elements from both sides of the equation we have
s1 px c1 p y d 3
p x2 p y2
A tan 2( p x , p y )
d3
c1s s1c
d3
sin( 1 )
d 32
cos( 1 ) 1
• and so 2
d d 2
1 A tan 2 , 1 2
3 3
• The solution for 1 may be written
d d 2
1 A tan 2( p y , px ) A tan 2 3 , 1 32
• Note: we have found two possible solutions for 1 corresponding to the +/- sign
• Solution for 3
• Equating the (1,4) element and (3,4) element
• we obtain
a3c3 d 4 s3 K
• where
px2 p y2 pz2 a22 a32 d 32 a42
K
2a2
• Note that the dependence on has be removed. Moreover the eq. for 3 is of
1
the same form as the eq. for 1 and so may be solved by the same kind of
trigonometric substitution to yield a solution for 3
3 A tan 2(a3 , d 4 ) A tan 2 K , a32 d 42 K 2
• Note that the +/- sign leads to two different solution for 3
• Solution for 2 I
[03T (1,2 ,3 )]1 06T [03T (1 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
c1c23 s1c23 s23 a2c3 r11 r12 r13 px c4c5c6 s4 s6 c4c5 s6 s4c6 c4 s5 a3
c s s1s23 c23 a2 s3 r21 r22 r23 p y s5c6 s5 s6 c5 d4
1 23
s1 c1 0 d 3 r31 r32 r33 pz s4c5c6 c4 s6 s4c5s6 c4c6 s4 s5 0
0 0 0 1 0 0 0 1 0 0 0 1
• Equating the (1,4) element and (2,4) element we obtain
• These equations may be solved simultaneously for s23 and c23 resulting in
• Since the denominator are equal and positive, we solve for the sum of 2 and 3
as
2 23 3
• Solution for 4
• Equating the (1,3) and the (3,3) elements
c1c23 s1c23 s23 a2c3 r11 r12 r13 px c4c5c6 s4 s6 c4c5 s6 s4c6 c4 s5 a3
c s s1s23 c23 a2 s3 r21 r22 r23 py s5c6 s5 s6 c5 d4
1 23
s1 c 1 0 d 3 r31 r32 r33 pz s4c5c6 c4 s6 s4c5s6 c4c6 s4 s5 0
0 0 0 1 0 0 0 1 0 0 0 1
• we get
r13c1c23 r23s1c23 s23r33
r13c1c23 r23s1c23 s23r33 c4 s5 c4
s5
r13s1 r23c1 s4 s5 r s r c
s4 13 1 23 1
s5
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Inverse Kinematics - PUMA 560 -
Algebraic Solution - 17/
• Solution for 5
[04T (1,2 ,3 ,4 )]1 06T [04T (1,2 ,3 ,4 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
c1c23c4 s1s4 s1c23c4 c1s4 s23c4 a2c3c4 d 3s4 a3c4 r11 r12 r13 px c5c6 c5s6 s5 0
c c s s c s1c23s4 c1c4 s23s4 a2c3s4 d 3c4 a3s4 r21 r22 r23 p y s6 c6 0 0
1 23 4 1 4
c1s23 s1s23 c23 a2 s3 d 4 r31 r32 r33 pz s5c6 s5s6 c5 0
0 0 0 1 0 0 0 1 0 0 0 1
• Solution for6
[05T (1,2 ,3 ,4 ,5 )]1 06T [05T (1,2 ,3 ,4 ,5 )]1 01T (1 ) 12T (2 ) 23T (3 ) 34T (4 ) 45T (5 ) 56T (6 )
c1c23c4 c5 s1s4 c5 s1c23c4 s5 c1s4 s5 s23c4 c1c23c4 s5 s1s4 s5 s1c23c4 c5 c1s4 c5 a2 c3c4 d 3 s4 a3c4 r11 r12 r13 px
c c s c s c c s c s s c c s s23s4 c1c23s4 s5 s1c4 s5 s1c23s4 c5 c1c4 c5 a2 c3 s4 d 3c4 a3 s4 r21 r22 r23 p y
1 23 4 5 1 4 5 1 23 4 5 1 4 5
c1s23c5 s1s23s5 c23 c1s23s5 s1s23c5 a2 s3 d 4 r31 r32 r33 pz
0 0 0 1 0 0 0 1
c6 s6 0 0
0 0 1 0
s6 c6 0 0
0 0 0 1
• Four solution
d d 2
1 A tan 2( p y , px ) A tan 2 3 , 1 32
3 A tan 2(a3 , d 4 ) A tan 2 K , a32 d 42 K 2
• For each of the four solutions the wrist can be
flipped
4' 4 180o
5' 5
6' 6 180o
• After all eight solutions have been computed, some or all of them may have to
be discarded because of joint limit violations.
• Of the remaining valid solutions, usually the one closest to the present
manipulator configuration is chosen.
• When the last three axes of a 6 DOF robot intersect, the origins of link frame {4},
{5}, and {6} are all located at the point of intersection. This point is given in the
base coordinate system as
0
P4org 01T 12T 23T 3P4org
i 1 i 1
i R Piorg
c i s i 0 ai 1
s c c i ci 1 si 1 si 1d i
i 1
iT
i i 1
s i si 1 c i si 1 ci 1 ci 1d i
0 0 0 1
• For i=4 3 3
4 R P4org
c 4 s 4 0 a3
s c c c s3 s3d 4
4T
3 4 3 4 3
s 4 s3 c 4 s 3 c 3 c3d 4
0 0 0 1
a3 f1 ( 3 )
0 1 2 s 3 d 4 0 1 f 2 ( 3 )
0
P4org 1T 2T 3T P4org 1T 2T 3T
0 1 2 3 0
P4org 1T 2T 3T P4org 1T 2T
0 1 2 3
c 3d 4 f 3 ( 3 )
1 1
• where f1 ( 3 ) a3
f ( ) s d
2 3 3T
2 3 4
f 3 ( 3 ) c 3d 4
1 1
f1 ( 3 ) c 3 s 3 0 a2 a3
f ( ) s c c 3 c 2 s 2 s 2d 3 s 3d 4
2 3 3 2
f 3 ( 3 ) s 3 s 2 c 3 s 2 c 2 c 2d 3 c 3d 4
1 0 0 0 1 1
f1 3 a3c3 d 4 s3s3 a2
f 2 3 a3c 2 s3 d 4 s3c 2c3 d 4 s 2c3 d 3s 2
f 3 3 a3s 2 s3 d 4 s3s 2c3 d 4c 2c3 d 3c 2
g3 ( 2 ) f 3 ( 3 )
1 1
g1 ( 2 ) c 2 s 2 0 a1 f1 ( 3 )
g ( ) s c c c s1 s1d 2 f 2 ( 3 )
2 2 2 1 2 2
g3 ( 2 ) s 2 s1 c 2 s1 c1 c1d 2 f 3 ( 3 )
1 0 0 0 1 1
g1 2 c2 f1 s2 f 2 a1
g 2 2 s2 s1 f1 c2 c1 f 2 s1 f 3 d 2 s1
g 3 2 s2 s1 f1 c2 s1 f 2 c1 f 3 d 2 c1
• Repeating the same process for the last time
g1 ( 2 )
0 g 2 ( 2 )
0
P4org 1T 2T 3T P4org 1T
0 1 2 3
g 2 ( 2 )
1
c1 s1 0 a0 g1 ( 2 )
s c c1 c 0 s 0 s 0d1 g 2 ( 2 )
0
P4org 1 0
s1 s0 c1 s0 c 0 c 0d1 g3 ( 2 )
0 0 0 1 1
• Frame {0} - The frame attached to the base of the robot or link 0 called frame
{0} This frame does not move and for the problem of arm kinematics can be
considered as the reference frame.
• Assign {0} to match {1} when the first joint veritable is zero
1 0 0 d1 a0 0
c1 s1 0 a0 g1 ( 2 )
s c c c s 0 s 0d1 g 2 ( 2 )
0
P4org 1 0 1 0
s1 s0 c1 s0 c 0 c 0d1 g3 ( 2 )
0 0 0 1 1
c1 g1 s1 g 2
s g c g
0
P4org 1 1 1 2
g3
1
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Pieper’s Solution - Three consecutive Axes Intersect
• Through algebraic manipulation of these equations, we can solve for the desired
joint angles ( 1 , 2 , 3 ).
• The first step is to square the magnitude of the distance from the frame {0}
origin to frame {4} origin.
2
2
2
r 2 0 P4orgx 0 P4orgy 0 P4orgz g12 g 22 g32
• Case 1 - a1 0
r 2 k1c2 k2 s2 2a1 k3 r 2 k3
Z k1s2 k2c2 s1 k4
k3 f12 f 22 f 32 a12 d 22 2d 2 f 3
f1 3 a3c3 d 4 s3s3 a2
f 2 3 a3c 2 s3 d 4 s3c 2c3 d 4 s 2c3 d 3s 2
f 3 3 a3s 2 s3 d 4 s3s 2c3 d 4c 2c3 d 3c 2
1 u2 2u
u tan cos sin
2 1 u2 1 u2
• Case 2 - s1 0
r 2 k1c2 k2 s2 2a1 k3 Z k4
Z k1s2 k2c2 s1 k4
k4 f 3c1 d 2c1
1 u2 2u
u tan cos sin
2 1 u2 1 u2
r 2 k3
r 2 k1c2 k2 s2 2a1 k3 k1c2 k2 s2
2a1
Z k1s2 k2c2 s1 k4 Z k4
k1s2 k2c2
s1
2
r k3
2
k1c2 k2 s2 2 k12c22 k22 s22 2k1k2c2 s2
2a1
2
Z k4
k1s2 k2c2 2 k12 s22 k22c22 2k1k2c2 s2
s1
• Adding these two equations together and simplifying using the trigonometry
identity (Reduction to Ploynomial), we find a fourth order equation for 3
2 2
r k3 Z k 4
2
k12 k22
2a1 s1
k1 f1
k2 f 2
k3 f12 f 22 f 32 a12 d 22 2d 2 f 3
k4 f 3c1 d 2c1
f1 3 a3c3 d 4 s3s3 a2
f 2 3 a3c 2 s3 d 4 s3c 2c3 d 4 s 2c3 d 3s 2
f 3 3 a3s 2 s3 d 4 s3s 2c3 d 4c 2c3 d 3c 2
r 2 k1c2 k2 s2 2a1 k3
Z k1s2 k2c2 s1 k4
k1 f1
k2 f 2
k3 f12 f 22 f 32 a12 d 22 2d 2 f 3
k4 f 3c1 d 2c1
f1 3 a3c3 d 4 s3s3 a2
f 2 3 a3c 2 s3 d 4 s3c 2c3 d 4 s 2c3 d 3s 2
f 3 3 a3s 2 s3 d 4 s3s 2c3 d 4c 2c3 d 3c 2
c1 g1 s1 g 2
s g c g
0
P4org 1 1 1 2
g3
1
0
P4orgx c1 g1 s1 g 2
0
P4orgy s1 g1 c1 g 2
g1 2 c2 f1 s2 f 2 a1 f1 3 a3c3 d 4 s3s3 a2
g 2 2 s2 s1 f1 c2 c1 f 2 s1 f 3 d 2 s1 f 2 3 a3c 2 s3 d 4 s3c 2c3 d 4 s 2c3 d 3s 2
g 3 2 s2 s1 f1 c2 s1 f 2 c1 f 3 d 2 c1 f 3 3 a3s 2 s3 d 4 s3s 2c3 d 4c 2c3 d 3c 2
• Solve for 1 using the reduction to polynomial method
• Since the last three axes intersect these joint angle affect the orientation of only
the last link. We can compute them based only upon the rotation portion of the
specified goal 0 R
6
0
6 R 40R 4 0 4
6 R
4
6 R 4 0 40R 1 4 0 0
6R
0
• 4 R 4 0 - The orientation of link frame {4} relative to the base frame {0} when
4 0
• Consider a 3 DOF (wrist) non-planar robot whose axes all intersect at a point.
Note - Each rotation is preformed about an axis of the moving reference frame
{4}, rather then a fixed reference.
c s 0 c 0 s c s 0
RZ 'Y 'Z ' ( , , ) RZ ( ) RY ( ) RZ ( ) s c 0 0 1 0 s c 0
0 0 1 s 0 c 0 0 1
A
B RX 'Y 'Z ' ( , , )64R4 0
r31 sc
r32 ss
r33 c
r312 r322 s 2 c 2 s 2
r33 c
s r312 r322
Atan2 r312 r322 , r33
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
Three consecutive Axes Intersect - wrist
r13 cs
r23 ss
Atan2r23 / s , r13 / s
r32 ss
r31 sc
Atan2r32 / s ,r31 / s
• Note: Two answers exist for angle which will result in two answers each for
angles and .
Atan2 r312 r322 , r33
Atan2r23 / s , r13 / s
Atan2r32 / s ,r31 / s
0o
• We are left with for every case. This means we can’t solve for either,
just their sum.
0 180
0 0
Atan2 r12 , r11 Atan2s , c Atan2r12 ,r11 Atan2s , c
• For this example, the singular case results in the capability for self-rotation.
That is, the middle link can rotate while the end effector’s orientation never
changes.
http://youtu.be/zc8b2Jo7mno
• In robotics, gimbal lock is commonly referred to as "wrist flip", due to the use of
a "triple-roll wrist" in robotic arms, where three axes of the wrist, controlling yaw,
pitch, and roll, all pass through a common point.
• An example of a wrist flip, also called a wrist singularity, is when the path
through which the robot is traveling causes the first and third axes of the robot's
wrist to line up. The second wrist axis then attempts to spin 180° in zero time to
maintain the orientation of the end effector. The result of a singularity can be
quite dramatic and can have adverse effects on the robot arm, the end effector,
and the process.