Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

' $

Today's Agenda

 Inverse Kinematics of Manipulators


 Existence, Multiplicity of Solutions
 Algebraic and Geometric Techniques
 Examples

This material corresponds to Chapter 4 in Craig's


book.

& %
' $
Inverse Kinematics
Inverse Kinematics deals with the problem of
determining the set of joint angles that will cause
the tip (tool) to be positioned and oriented in a
speci ed way.
In this lecture we will restrict ourselves to static
situations i.e. when the manipulator is not
moving. Velocities and accelerations to come
later.
 We are given a speci ed tip position and
orientation
 We are required to nd the the values of the
joint variables that will cause the end e ector

& %
to be in the speci ed tip position and
orientation
' $
The Nature of the Beast

 The problem is nonlinear. Just consider 0N T


for a reasonable manipulator and try to solve
for the s given numeric values for the
elements of 0N T
 There typically are multiple solutions to an
IK problem
 We rst need to see if there is solution, if so -
is it unique ? If not we need a technique
which can give us all solutions (preferably).
The bad news: Due to the nonlinearity of the IK
equations there is no general purpose technique

& %
which is guaranteed to produce all solutions when
applied to any manipulator.
' Existence of Solutions
$
De nition 1 The workspace is that volume of
space which the end-e ector of a manipulator can
reach
For a solution to exist for an IK problem the
manipulator tip must be within the workspace
De nition 2 The dexterous workspace is that
volume of space which the end-e ector of a
manipulator can reach in all orientations i.e. for
each point in the dexterous workspace the tip can
be oriented in an arbitrary direction
De nition 3 The reachable workspace is that
volume of space which the end-e ector of a
manipulator can reach in at least one orientation

& %
The dexterous workspace is clearly a subset of the
reachable workspace
' $
Workspace Example
If l1 = l2 the reachable workspace is a disc of
radius 2l1 . The dexterous workspace consists of
only a point namely the origin.
If l1 6= l2 then there is no dexterous workspace
and the reachable workspace is a ring with outer
radius l1 + l2 and inner radius jl1 ; l2 j. Inside the
reachable workspace there are two possible
orientations of the tip and on the boundaries
there is only one possible orientation.

l l

& %
' $
Assumptions
 All joints can rotate 360o . Typically this is
not true - real joints have real limits and this
reduces the extent of the workspace
 Note that if a manipulator has less than 6
DOF then it cannot attain general positions
and orientations in 3 space

& %
' Multiple Solutions
$
 Typically there are multiple solutions - what
solution is better ?
 For economy of time and energy its probably
better to pick the solution \closer" to the
current con guration
a
A

b1 B

b2
Obstacle

In the above case the manipulator is originally in

& %
con guration a such that the tip position is at A.
It is desired to bring the manipulator to a
con guration such that the tip is at B .
' $
Clearly both con gurations b1 and b2 will work.
Using the \nearness" criterion one may be
tempted to pick b1 but clearly it intersects an
obstacle so the correct solution is b2 .
A manipulator which permits multiple solutions
for the inverse kinematics problem is called
redundant.

& %
' The PUMA 560
$
Figure 4.4 from Craig

& %
' $
Method of Solution
De nition 4 A manipulator is solvable if the
joint variables can be determined by an algorithm
which allows one to determine all the sets of joint
variables associated with a given position and
orientation
In other words we are looking for what
mathematicians call closed-form solutions - not
numerical or iterative solutions.
Within this constraint there are broadly speaking
two techniques for nding solutions - algebraic
and geometric. I like to think of them as two
ways to say the same thing - they are not really

& %
all that di erent.
' $
Theorem 1 (Tsai) All systems with revolute
and prismatic joints having a total of 6 DOFs in
a single series chain are solvable.
Sadly enough the solution is not closed-form - it
is a numerical one. A sucient condition that a
manipulator with 6 (revolute) DOFs will have an
analytic solution is that three neighboring joint
axes intersect at a point - we will come to this
later.

& %
' The Manipulator Subspace
$
The simple two link manipulator shown below can
only reach points in its plane. It is fundamentally
incapable of reaching outside the plane.

Its tip position is thus constrained to be of the


form
2 3
x

& %
6 7
tippos = 4 y 75
6
0:0
' $
Its tip orientation is constrained to be of the form
2 3
c ;s 0:0
6 7
tiporient = 4 s c 0:0 75
6
0:0 0:0 1:0
The frame that speci es the subspace of the
manipulator is thus given by
2 3
6
c ;s 0:0 x 7
6
6 s c 0:0 y 77
T = 66 7
4 0:0 0:0 1:0 0:0 7
5
0 0 0 1
The workspace of the manipulator is a subset of
the subspace (due to constraint on link lengths

& %
and joint limits)
' An Algebraic Solution
$
Consider the 3-link planar manipulator shown
below
O3 X
3
L3
Y3

O2 L Y2 X2
2

Y0
L1 Y1 X1
O1
X0

The DH parameters are as follows

i i;1 ai;1 di i
1 0 0 0 1

& %
2 0 L1 0 2
3 0 L2 0 3
'
The forward kinematics tell us that the tip frame
$
may be speci ed as (c123 = cos(1 + 2 + 3 ) etc.)
2 3
6
c123 ;s123 0:0 l1 c1 + l2 c12 7
6 s123 c123 0:0 l1 s1 + l2 s12 77
0T = 6
6 7
3 6 7
4 0:0 0:0 1:0 0:0 5
0 0 0 1
Now suppose we are told that the tip frame is
characterized by 3 numbers, positions (x; y) and
an orientation  ( is the (given) angle the tip
frame makes with the X axis)
Equivalently the information we are given can be
expressed as a frame as follows
2 3
c  ;s 0:0 x
6
6 7
7
6 s c 0 :0 y 7

& %
03 T = 6  
7
4 0:0 0:0 1:0 0:0 7
6 5
0 0 0 1
'
The problem is now to nd the values of 1 , 2
and 3 such that the following equations are
$
satis ed
c = c123
s = s123
x = l1 c1 + l2 c12
y = l1 s1 + l2 s12
Square and add the last two to get
x2 + y2 = l1 2 + l2 2 + 2l1 l2
Solve for c2 to get
c2 = x2 +y22;l1ll122 ;l2 2
The RHS of this equation had better lie between
;1 and 1 if a solution is to exist. Assuming it
does we can write s2 as
p

& %
s2 =  1 ; c2 2
Which gives us 2 as
2 = Atan2(s2 ; c2 )
'
Now that we know 2 we can solve for 1 . Rewrite
the expressions for x and y as
$
x = k1 c1 ; k2 s1
y = k1 s1 + k2 c1
where
k1 = l1 + l2 c2
k2 = l2 s2
p 2
Now set r = + k1 + k2 2 and = Atan2(k2 ; k1 )
so that
k1 = rcos( )
k2 = rsin( )
We can now rewrite for x and y as
x=r = cos( )cos(1 ) ; sin( )sin(1 )
y=r = cos( )sin(1 ) + sin( )cos(1 )

& %
Or
x=r = cos( + 1 )
y=r = sin( + 1 )
' $
Therefore we have
+ 1 = Atan2(y=r; x=r) = Atan2(y; x)
and
1 = Atan2(y; x) ; Atan2(k2 ; k1 )
Note that a change of sign in 1 wil a ect k2
which will in turn a ect the value of 1
As a nal formality we solve for 3 as follows
3 =  ; 2 ; 1

& %
' $
A Geometric Solution
The solution is the geometric parallel to the
algebra we just did.
We will use a simple result from plane geometry
(the law of cosines) to rederive the solution

y B
L2
C

L
1
A

0 x

Apply the law of cosines to OCB to solve for 2


x2 + y2 = l1 2 + l2 2 ; 2l1 l2 cos(180 + 2 )
and since cos(180 + 2 ) = ;cos(2 ) we have

& %
2 +y 2 ;l 2 ;l 2
c2 = x 1
2l1 l2
2
'
As before for this to be a valid equation the RHS
must be be less or equal to 1 in magnitude. This
$
equation is now solved for 2 such that
;180  2  0 since the triangle OCB doesn't
exist for other values of 2 .
The other solution (indicated by the triangle
OAB) is given by symmetry to be 20 = ;2 .
Now we solve for and keeping in mind that
the tip could be in any quadrant we write
= Atan2(y; x) and use the law of cosines
applied to triangle OCB.
2 +l1 ;l2
2 +yp
cos( ) = 2l1 x2 +y2
x 2 2

where the solution for satis es 0   180.


Now we have
1 = 

& %
where the plus sign corresponds to 2 < 0 and the
minus sign corresponds to 2 > 0.
Finally 3 which is trivial
3 =  ; 2 ; 1

You might also like