Академический Документы
Профессиональный Документы
Культура Документы
q (1 , 2 , n ) y
Find the joint variables which
can bring the robot to the x
desired configuration.
A Simple Example
Revolute and
Finding :
Prismatic Joints
y
Combined θ arctan( )
x
More Specifically:
(x , y)
y arctan2() specifies that it’s in the
θ arctan 2( ) first quadrant
x
Y
S
1 Finding S:
X
S (x 2 y 2 )
Solvability
Given the numerical value of N0T we attempt to
find values of 1, 2 ,, n .
The PUMA 560:
Another 4 solution
4 4 180 ,
5 5 ,
4 Solutions of the PUMA 560
6 6 180 .
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
X 3
Y0 Y3
Y1 Y2 X 2
X1
X 0
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 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
And finally: s2 1 c 2
2 2 A tan 2( s2 , c2 ).
Algebraic Solution
• The arc cosine function does not behave well
as its accuracy in determining the angle is
dependant on the angle ( cos(q)=cos(-q)).
• When sin(q) approaches zero, division by
sin(q) give inaccurate solutions.
• Therefore an arc tangent function which is
more consistent is used.
A tan 2( s , c )
Algebraic Solution
Using c12=c1c2-s1s2 and s12= c1s2-c2s1:
x k1c1 k2 s1
y k1s1 k2c1
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 =
Examples: IK Solution for PUMA 560
T ( )
0
1 1
1 0
T 12T ( 2 ) 32T ( 3 ) 34T ( 4 ) 54T ( 5 ) 56T ( 6 )
6
Inverting 0 T we get:
1
• 1
6T from (3.13) is:
c23[c6c4c5 s6 s4 ] s23s5 s6 c23[ s6c4c5 c6 s4 ] s23s5 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 ] c23s5c6 s23[ s6c4c5 c6 s4 ] s23s5 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 , px A tan 2 d3 , px2 p y2 d32
Note: two possible solution for 1
Examples: IK Solution for PUMA 560
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
0 0 0 1 0 0 0 1 (4.70)
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 ) pz (c1 px s1 p y )(d 4 a2 s3 ),
(a2 s3 d 4 ) pz (a3 a2c3 )(c1 px s1 p y )]
Four possible
solutions for 2 2 23 3
Examples: IK Solution for PUMA 560
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
X X X C1 p x S1 p y X X X S 2 d 3
X X X pz X X X C 2 d 3
T16
X X X S1 p x C1 p y X X X 0.1
0 0 0 1 0 0 0 1
Example
• Solving the inverse kinematics of Stanford arm
Sin1 p x cos 1 p y 0.1 (1)
cos 1 p x sin 1 p y sin 2 d 3 (2)
pz cos 2 d3 (3)
In Equ. (1), let
py
px r cos a , p y r sin a , r p p ,
2
x
2
y a a tan 2( )
px
sin( a 1 ) 0.1
sin a cos 1 sin 1 cos a 0 . 1 r
r cos(a 1 ) 1 (0.1 / r )
2
py 0.1
1 a tan 2( ) a tan 2( )
px r 0.1
2 2
cos 1 p x sin 1 p y pz
2 a tan 2( ) d3
pz cos 2
Example
• Solving the inverse kinematics of Stanford arm
X X S 5 0
X X C 5 0
(T34 ) 1 (T23 ) 1 (T12 ) 1 (T01 ) 1T06 T45T56
X X 0 0
From term (3,3) 0 0 0 1
S 6 C5{C 4 [C 2 (C1sx S1s y ) S 2 sz ] S 4 (S1sx C1s y )} S5 [ S 2 (C1sx S1s y ) C 2 sz ]
C 6 S 4 [C 2 (C1sx S1s y ) S 2 sz ] C 4 (S1sx C1s y )
S 6
6 a tan 2( )
C 6
Pieper’s Solution When Three Axes Intersect
(E.G, Spherical Wrists)
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
1T 1 6
( 1 ) 0 T 21 T ( 2 ) 23 T ( 3 ) 34 T ( 4 ) 45 T ( 5 ) 56 T ( 6 )
PUMA560: DK Solution
• Then:
c1 s1 0 0 r11 r12 r13 px
s c 0 0 r21 r22 r22 p y
1 1
0 0 1 0 r31 r32 r33 pz
0 0 0 1 0 0 0 1
61T ( 2 6 )
• Equating (2,4) element from two sides:
s1 p x c1 p y d 3
• Equation can also be obtained from “geometrical”
arguments
• Two possible solutions
The size of the translation in {1} is independent of 1:
p x2 p 2y p z2 a 22 a 32 d 32 d 42
a 3 c3 d 4 s3 K
2a2
• Geometrical meaning?
• Two possible solutions
• Write:
0
1T ( 1 ) 21 T ( 2 ) 23 T 1 6
( 3 ) 0 T 34 T ( 4 ) 45 T ( 5 ) 56 T ( 6 )
• Repeat now a similar procedure
Standard Frames
{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.