Inverse Kinematics-3
Inverse Kinematics-3
Inverse Kinematics-3
Inverse Kinematics
Given a desired position
(P) & orientation (R) of
the end-effector z
Y ( x, y, z , O, A, T )
Revolute and
Finding :
Prismatic Joints
y
Combined θ arctan( )
x
More Specifically:
(x , y)
y
θ arctan 2( )
arctan2() specifies that it’s in the
first quadrant
x
Y
S
1 Finding S:
X
S (x 2 y2 )
Solvability
0
Given the numerical value of T we attempt to
N
find values of 1 , 2 ,, n .
The PUMA 560:
Another 4 solution
4 4 180 ,
5 5 ,
6 6 180 .
4 Solutions of the PUMA 560
Number of Solutions vs. Nonzero ai
a1 a3 a5 0 4
a3 a5 0 8
a3 0 16
All ai 0 16
The more the link length parameters are nonzero,
the bigger the maximum number of solutions!
Solvability
All systems with revolute and prismatic
joints having total of 6 D.O.F in a single
series chain are solvable.
But this general solution is a numerical
one.
Robots with analytic solution: several
intersecting joint axes and/or many ai =
0, 90o.
Methods of Solutions
A manipulator is solvable if the joint
variables can be determined by an
algorithm. The algorithm should find all
possible solutions.
1. Algebraic methods
2. Geometric methods
Algebraic solution
Consider a 3-link manipulator
We can derive
kinematic equations:
B
WT T T T T
0
3
0
1
1 2
2 3
Algebraic solution
D-H transformation
X3
Y0 Y3
Y1 Y2 X2
X1
X0
i ai-1 ai-1 di i
1 0 0 0 1
2 0 L1 0 2
3 0 L2 0 3
Algebraic Solution
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
Algebraic Solution
The kinematics of the example seen before are:
c123 s123 0 l1c1 l2 c12
s c123 0 l1s1 l2 s12
B
T 0
T 123
W 3
0 0 1 0
0 0 0 1
Assume goal point is the
specification of wrist frame, c s 0 x
specified by 3 numbers: s
c 0 y
B
T
W
0 0 1 0
0 0 0 1
Algebraic Solution
By comparison, we get c c123 s s123
the four equations: x l1c1 l2 c12
y l1s1 l2 s12
x k1c1 k 2 s1
y k1s1 k 2 c1
l2
2 k2
l1
Then: k1=r cos , k2=r sin , and we can
write:
x/r= cos cos 1 - sin sin 1
y/r= cos sin 1 + sin cos 1
or: cos(+1) = x/r, sin(+1) =y/r
Algebraic Solution
Therefore:
+1 = atan2(y/r,x/r) = atan2(y,x)
And so:
1 = atan2(y,x) - atan2(k2,k1)
Finally, 3 can be solved from:
1+ 2+ 3 =
Geometric Solution
Two-link Planar Manipulator
a2
a1
x
Geometric Solution
Applying the “law of cosines”:
T ( )
0
1 1
1 0
T 12T ( 2 ) 32T ( 3 ) 34T ( 4 ) 54T ( 5 ) 56T ( 6 )
6
Inverting 0 T we get:
1
c23[c6c4c5 s6 s4 ] s23 s5 s6 c23[ s6c4c5 c6 s4 ] s23 s5 s6 c23c4 s5 c5 s23 a2c2 a3c23 d 4 s23
s c s c s s c s c c s s d
6T
1 4 5 6 4 6 4 5 6 4 6 5 4 3
s23[c6c4c5 s6 s4 ] c23 s5c6 s23[ s6c4c5 c6 s4 ] s23 s5 s6 s23c4 s5 c5c23 a3 s23 a2 s2 d 4c23
0 0 0 1
Examples: IK solution for PUMA 560
By adapting 16T from (3.13) and equating
elements we have s1 p x c1 p y d 3
d3
We obtain c1s s1c
d3
Using difference of angles: sin( 1 )
Examples: IK Solution for PUMA 560
1 A tan 2 p y , p x A tan 2 d 3 , p x2 p y2 d 32
Note: two possible solution for 1
Examples: IK Solution for PUMA 560
By equating elements (1,4) and also (3,4)
from Equ. (4.56):
c1 p x s1 p y a3c23 d 4 s23 a2 c2
p z a3 s23 d 4 c23 a2 s2
By squaring and addition of resulting
equations and Equ. (4.57):
a3c3 d 4 s3 K
p x2 p y2 p z2 a22 a32 d 32 d 42
Where K
2a2
Examples: IK Solution for PUMA 560
The above equation is only dependant on 3 so
with similar procedure we get:
3 A tan 2(a3 , d 4 ) A tan 2 K , a32 d 42 K 2
again two different solution for 3.
We may rewrite (4.54) as
T ( )
0
3 2
1 0
T 34T ( 4 ) 45T ( 5 ) 56T ( 6 )
6
that is to say
c1c23 s1c23 s23 a2 c3 r11 r 12 r13 px
c s s1s23 c23 a2 s3 r21 r22 r23 p y 3
1 23 6T
s1 c1 0 d 3 r31 r32 r33 pz
(4.70)
0 0 0 1 0 0 0 1
Examples: IK Solution for PUMA 560
By adapting 36T from (3.11) and equating (1,4) and
(2,4) we have
c1c23 p x s1c23 p y s23 p z a2 c3 a3
c1s23 p x s1s23 p y c23 p z a2 s3 d 4
( a3 a2 c3 ) p z (c1 p x s1 p y )(a2 s3 d 4 )
s 23
p z2 (c1 p x s1 p y ) 2
(a2 s3 d 4 ) p z ( a3 a2 c3 )(c1 p x s1 p y )
c23
p z2 (c1 p x s1 p y ) 2
We solve for 23 as
23 A tan 2[( a3 a2c3 ) p z (c1 p x s1 p y )(d 4 a2 s3 ),
(a2 s3 d 4 ) p z (a3 a2 c3 )(c1 p x s1 p y )]
Four possible
solutions for 2 2 23 3
Examples: IK Solution for PUMA 560
By equating elements (1,3) and also (3,3)
from (4.70) :
r13c1c23 r23 s1c23 r33 s23 c4 s5
r13 s1 r23c1 s4 s5
if s5 0
5 A tan 2( s5 , c5 )
0
( T)
5
1 0
6 T T ( 6 )
5
6
6 A tan 2( s6 , c6 )
Examples: IK Solution for PUMA 560
Other possible solutions :
4' 4 180
5' 5
6 6 180
It can be applied to
majority of industrial
robots
Pieper’s Solution: Basic Concept
First, the location of the wrist center, pc is
found from the given tool position (d) and
the tool pointing direction (here z6). Since
Z5
the wrist center location depends on the
first three joint variables, this results in Z4 d6
three equations and three unknowns which
are solved for 1 – 3. Then, the relative
wrist orientation R63 which is a function of Pc Z6
the last three joint variables, 4 – 6 is found
from the arm orientation R30 and the given
tool orientation R60. The relative wrist
d
orientation is set equal to the kinematic
description of R63 and the last 3 joint
variables are solved.
{0}
Pieper’s Solution Step-by-step Procedure
0
Start with the given tool pose, as T . 6
Solve portions of the forward kinematics to find
find 03T (1 , 2 , 3 ), 63 R ( 4 , 5 , 6. )
Find the location of the wrist center, Pc as d 6 (last
column of 06T ) - d 6 (tool offset length) x Z 6 (third
column of 06T ).
Set Pc = last column of 0T ( , , ) and solve for
for 1 , 2 ,.3 3 1 2 3
{W}
{B}
{T}
{G}
{S}
Repeatability and accuracy
Repeatability: how precisely a manipulator
can return to a taught point?
Accuracy: the precision with which a
computed point can be attained.