Professional Documents
Culture Documents
Robotics PDF
Robotics PDF
Robotics PDF
&
A NALYSIS
M ODULE 3 K INEMATICS OF SERIAL ROBOTS
Ashitava Ghosal1
1 Department of Mechanical Engineering
&
Centre for Product Design and Manufacture
Indian Institute of Science
Bangalore 560 012, India
Email: asitava@mecheng.iisc.ernet.in
NPTEL, 2010
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 1 / 96
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 2 / 96
O UTLINE
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 3 / 96
I NTRODUCTION
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 4 / 96
E XAMPLES OF S ERIAL ROBOTS
X3 , XT ool
{T ool} X2
Link 3 3
YT ool l3
O3
{3}
Y3 Link 2
Y0
Y1 l2
Y2 {2} 2 X1
{0}
{1} O2
l1 Link 1
X0
O1
Z 2
Z 1 2
{ 2}
1
{ 1}
X 2
X 1
d3
{ 3}
O 0, O1 O2 Z 3 { 4}
O3, O4 X
Grbler-Kutzbachs criterion
J
DOF = (N J 1) + Fi (1)
i=1
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 8 / 96
T WO P ROBLEMS IN K INEMATICS OF
S ERIAL ROBOTS
Direct Kinematics Problem:
Given the constant D-H link parameters and the joint
variable, ai1 , i1 , di , and i i = 1, 2, ..n, find the position
and orientation of the last link in a fixed or reference
coordinate system.
Most basic problem in serial manipulator kinematics.
Required to be solved for computer visualization of motion
and in off-line programming systems.
Used in advanced control schemes.
Inverse Kinematics Problem:
Given the constant D-H link parameters and the position
and orientation of the end-effector ({n}) with respect to
the fixed frame {0}, find the joint variables.
Harder than the direct kinematics problem.
Leads to the notion of workspace of a robot.
Required for computer visualization of motion and used in
advanced control schemes. . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 9 / 96
O UTLINE
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 10 / 96
D IRECT K INEMATICS P ROBLEM
Since all D-H parameters are known All 4 4 link
transforms i1i [T ], i = 1, .., n are known (see Module 2,
Lectures 2 and 3).
With respect to {0}, the position and orientation of {n} is
0 [T ] = 0 [T ]1 [T ]......n1 [T ].
n 1 2 n
For another reference {Base}, Base n [T ] = Base
0 [T ]0n [T ].
Base
Note: 0 [T ] must be known.
As discussed in Module 2, Lecture 2, Slide # 41, the
end-effector geometry does not appear in 0n [T ].
To obtain Base
Tool [T ], perform the matrix multiplication
Base [T ]0 [T ]n n
0 n Tool [T ]; Tool [T ] must be known.
One advantage of the used D-H convention: Manipulator
transform 0n [T ] can be computed only once and need not
be changed if location of {Base} or the geometry of
end-effector nTool [T ] changes Recall a robot can have a
variety of end-effectors!
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 11 / 96
D IRECT K INEMATICS P ROBLEM
The direct kinematics problem can be always solved for any
serial manipulator!
The solution procedure is simple Involves only
multiplication of matrices.
Examples 1: A planar 3R X3 , XT ool
represents orientation of O3
{3}
the tool. Y0
Y3 Link 2
= 1 + 2 + 3 X0
O1
(2)
Figure 1: The planar 3R manipulator
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 12 / 96
D IRECT K INEMATICS P ROBLEM :
SCARA
Example 2 A SCARA manipulator
Z 2
Z 1 2
represents orientation of
the {4}.
{ 2}
1
{ 1}
d3
{ 3}
O 0, O1 O2 Z 3 { 4}
x = a1 c1 + a2 c12
O3, O4 X y = a1 s1 + a2 s12
z = d3
1 + 2 + 4
4
=
(3)
Figure 2: A SCARA manipulator
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 13 / 96
D IRECT K INEMATICS P ROBLEM
PUMA 560
Example 3: PUMA 560 manipulator (Slide #s 5256,
Lecture 3, Module 2)
0 [T ] = 0 [T ]3 [T ] Orientation and position
6 3 6
r11 = c1 {c23 (c4 c5 c6 s4 s6 ) s23 s5 c6 } + s1 (s4 c5 c6 + c4 s6 )
r21 = s1 {c23 (c4 c5 c6 s4 s6 ) s23 s5 c6 } c1 (s4 c5 c6 + c4 s6 )
r31 = s23 (c4 c5 c6 s4 s6 ) c23 s5 c6
r12 = c1 {c23 (c4 c5 s6 s4 c6 ) + s23 s5 s6 } + s1 (s4 c5 s6 + c4 c6 )
r22 = s1 {c23 (c4 c5 s6 s4 c6 ) + s23 s5 s6 } c1 (s4 c5 s6 + c4 c6 )
r32 = s23 (c4 c5 s6 s4 c6 ) + c23 s5 s6
r13 = c1 (c23 c4 s5 + s23 c5 ) s1 s4 s5
r23 = s1 (c23 c4 s5 + s23 c5 ) + c1 s4 s5
r33 = s23 c4 s5 c23 c5
O6x = x = c1 (a2 c2 + a3 c23 d4 s23 ) d3 s1
O6y = y = s1 (a2 c2 + a3 c23 d4 s23 ) + d3 c1
O6z = z = a2 s2 a3 s23 d4 c23
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS (4) 14 / 96
NPTEL, 2010
S UMMARY
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 15 / 96
O UTLINE
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 16 / 96
I NTRODUCTION
Inverse Kinematics Problem (restated): Given the constant
D-H link parameters and 0n [T ], find the joint variables
i , i = 1, .., n.
For 3D motion, 6 task space variables 3 position + 3
orientation in 0n [T ].
For planar motion, 3 task space variables 2 position + 1
orientation in 0n [T ].
Following cases possible:
...
1 n = 6 for 3D motion or n = 3 for planar motion Same
number of equations as unknowns.
...
2 n < 6 for 3D motion or n < 3 for planar motion Number
O3
Inverse Kinematics: Given {3}
Link 2
(x, y , ) obtain 1 , 2 and
Y3
Y0
3 . Y1 Y2 {2}
l2
2 X1
{0}
Solution of system of
non-linear transcendental {1}
l1 Link 1
O2
equations. 1
depends on problem. . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 18 / 96
I NVERSE K INEMATICS A LGORITHM
Define X = x l3 c and Y = y l3 s X and Y are
known since x, y , and l3 are known.
Squaring and adding
X 2 + Y 2 = l12 + l22 + 2l1 l2 c2 (5)
From equation (5)
( )
1 X 2 + Y 2 l12 l22
2 = cos (6)
2l1 l2
Once 2 is known
1 = atan2(Y , X ) atan2(k2 , k1 ) (7)
where k2 = l2 s2 and k1 = l1 + l2 c2 . Note: atan2(y , x) is the
four quadrant arc-tangent function and 1 [0, 2 ].
Finally, 3 is obtained from
3 = 1 2 (8)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 19 / 96
3R M ANIPULATOR W ORKSPACE
Workspace: All (x, y , )
such that inverse
kinematics solution exists.
From equation (6)
X 2 +Y 2 l12 l22
1 ( 2l1 l2 ) +1 8
or 6
phi axis
4
(9) 2
where X = x l3 c and 0 10
Y = y l3 s .
10
5
5
Y axis X axis
10 10
the above inequalities are
Figure 4: Workspace of a planar 3R
satisfied and the inverse robot
kinematics solution exists.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 20 / 96
3R M ANIPULATOR : W ORKSPACE
(C ONTD .)
l1 + l2 + l3
l1 + l2 l3
Y0
X0
Configuration 2
Cofiguration 1
l1 l2 + l3
l1 l2 l3
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 22 / 96
3R M ANIPULATOR : U NIQUENESS OF
IK S OLUTIONS
Equation (6) revisited:
( )
X 2 + Y 2 l12 l22
2 = cos1
2l1 l2
For any (X , Y ) two values of 2 . The two solutions merge
at the workspace bounday.
A given (X , Y ) can be achieved by two configurations as
shown in Figure 5.
For planar 3R manipulator (x, y , ) yields two sets of
values of i , i = 1, 2, 3.
Inverse kinematics problem does not give unique solution
Compare with direct kinematics!
Existence and uniqueness issues important and non-trivial
in solutions of almost all non-linear equations.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 23 / 96
PUMA 560 M ANIPULATOR
Z2
{2}
X2 Z1
Y2 {1}
Y1 Z3
{3}
O3
X1
a2 X3
d4
Y3 X4
d3
X3 {4} Z4
O1 , O2
{3}
a3
O4 Y3
O3 X6 X5
Y4 X4
{6} {5}
Z6 Y5
{4}
Z4 O4 , O5 , O6
(a) The PUMA 560 manipulator (b) PUMA 560 - forearm and wrist
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 25 / 96
PUMA 560: IK (C ONTD .)
Substitute tangent half-angle formulas from trigonometry
1 1 x12 2x1
x1 = tan , c1 = , s1 = (11)
2 1 + x12 1 + x12
in s1 x + c1 y = d3
gives x12 (d3 + y ) + (2x)x1 + (d3 y ) = 0
Solve quadratic in x1 and take tan1 to get
x x 2 + y 2 d32
1 = 2tan1 (12)
y + d3
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 29 / 96
PUMA 560: U NIQUENESS OF IK
S OLUTIONS
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 30 / 96
PUMA 560: W ORKSPACE
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 31 / 96
PUMA 560: W ORKSPACE (C ONTD .)
Squaring and adding the three equations in equation (17)
gives
R 2 = x 2 + y 2 + z 2 = K1 + K2 c3 K3 s3
where K1 , K2 , and K3 are constants.
The envelope of this family of surfaces must satisfy
R2
=0
3
which gives K2 s3 + K3 c3 = 0.
Eliminating 3 and denoting a32 + d42 by l 2 , gives
[x 2 +y 2 +z 2 ((a2 +l )2 +d32 )][x 2 +y 2 +z 2 ((a2 l )2 +d32 )] = 0
(18)
which implies that the bounding surfaces are spheres.
At every point in the solid all possible orientations, except
two special singular configurations when r23 = 1, are
possible.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 32 / 96
PUMA 560 M ANIPULATOR
Numerical example of a PUMA 560 manipulator
For the PUMA 560, the Denavit-Hartenberg parameters are
i i1 ai1 di i
degrees m m degrees
1 0 0 0 45
2 -90 0 0 60
3 0 0.4318 0.125 135
4 -90 0.019 0.432 30
5 90 0 0 -45
6 -90 0 0 120
For the above D-H table
0.9749 0.2192 0.0388 0.1304
0.1643 0.8262 0.5388 0.3071
0
6 [T ] =
0.1502 0.5190 0.8415 0.0482
0 0 0 1
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 33 / 96
PUMA 560 M ANIPULATOR
Numerical example of a PUMA 560 manipulator
For the above 06 [T ], the inverse kinematics solutions are
i 1 2 3 4 5 6
1 -91 120 50.04 177.51 -42.65 105.34
2 -91 120 50.04 -2.49 42.65 -74.66
3 45 -77.73 50.04 85.25 -159.22 -132.87
4 45 -77.73 50.04 -94.75 159.22 47.13
5 -91 -102.27 135 92.28 -178.31 15.79
6 -91 -102.27 135 -87.72 178.31 -164.21
7 45 60 135 30 -45 120
8 45 60 135 210 45 300
0.8
0.6
0.4
0.2
0
Z axis
0.2
0.4
0.6
0.8
0.8
0.6
0.4
0.2
0.2
0.4
1
0.8
0.6 0.6
0.4
0.2
0
0.8 0.2
0.4
Y axis 0.6
0.8
1
X axis
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 35 / 96
R EVIEW OF IK
Transcendental equations Polynomial equations using
tangent half angle substitution.
Polynomial equation of higher degree Linear in sin( ) or
cos( ) Quadratic in x 2 with x = tan( 2 ).
For analytical solutions to IK Eliminate joint variable(s)
from set of non-linear equations in several joint variables
A single equation in one joint variable.
Planar 3R example Three equations in three joint
variables Two equations in 1 and 2 One equation,
equation (5), in 2 alone.
Single equation solved for 2 and then solve for 1 and 3 .
PUMA 560 3 equations in first 3 joint variables.
Solve for the first 3 joint joint variables and then for last 3
joint variables using orientation information.
Decoupling of the position and orientation was first noticed
by Pieper (Pieper, 1968) for manipulators with intersecting
wrist. Later generalised to any six DOF serial
wrist-decoupled manipulators where three consecutive
joint axes intersect. . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 36 / 96
R EVIEW OF IK (C ONTD .)
For all six DOF serial manipulators, with three joint axes
intersecting At most a fourth-order polynomial in the
tangent of a joint angle need to be solved.
The manipulator wrist point can reach any position in the
workspace in at most four possible ways.
Fourth-degree polynomials can be solved in closed-form
(Korn and Korn, 1968) IK of all six- degree-of-freedom
serial manipulators with three intersecting axes can be
solved in closed-form.
PUMA 560 Workspace of the wrist point is bounded by
two spheres and require solution of only a quadratic due to
special geometry.
General geometry robot with intersecting wrist, boundaries
of the solid region traced by wrist point form a torus, a
fourth-degree surface (Tsai and Soni, 1984).
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 37 / 96
N ON - INTERSECTING WRISTS
Difficult to design/manufacture three intersecting axis
wrist.
Much easier if wrist has two intersecting axis.
2 6
D-H parameters
5
4
i i1 ai1 di i
1
3 5
1 R Joint 1 0 0 0
2 /2 0 0 2
6
3 0 a2 d3 3
R Joint 4
4 /2 a3 d4 4
5 /2 0 d5 5
/2 6
R Joint
6 0 0
Figure 8: A robot with non-intersecting wrist
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 38 / 96
N ON - INTERSECTING WRISTS
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 39 / 96
N ON - INTERSECTING WRISTS
T0
From 36 [R] = 03 [R] 6 [R],
c4 c5 c6 s4 s6 c4 c5 s6 s4 c6 c4 s5
s5 c6 s5 s6 c5 =
s4 c5 c6 c4 s6 s4 c5 s6 c4 c6 s4 s5
c1 c23 s1 c23 s23 r11 r12 r13
c1 s23 s1 s23 c23 r21 r22 r23 (20)
s1 c1 0 r31 r32 r33
Divide the (1, 3) and the (3, 3) terms of the above matrix
equation, to get (for 5 = 0, ),
0 [T ]
n define position and orientation of {n} with respect to
{0}.
0 [T ],
in general, provide up to 6 (for 3D) and 3 (for
n
planar) task space pieces of information. Note: n is the
number of unknown joint variables.
If n < 6 for 3D motion or n < 3 for planar motion There
exists (6 n) ((3 n) for planar) functional relationships
involving the task space variables Constrained
manipulators.
Functional relationships obtained by inspection of geometry
or by using theory of elimination (see Lecture 4).
Start with a simple example of n < 6.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 44 / 96
SCARA ROBOT
0 [T ]
contain position and
4
orientation of {4}.
Z 2
d3
angles are zero!
O 0, O1 O2
{ 3}
Hence only the position
(x, y , z) and the angle of
Z 3 { 4}
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 45 / 96
SCARA ROBOT (C ONTD .)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 46 / 96
O UTLINE
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 47 / 96
R EDUNDANT M ANIPULATORS
x = l1 c1 + l2 c12 + l3 c123
(24)
y = l1 s1 + l2 s12 + l3 s123
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 48 / 96
R EDUNDANT M ANIPULATORS
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 49 / 96
M INIMISE J OINT ROTATIONS
For planar 3R manipulator minimise joint rotation
Minimise 12 + 22 + 32 .
Optimisation problem: Minimize f ( ) = 12 + 22 + 32
subject to
g1 ( ) = x + l1 c1 + l2 c12 + l3 c123 = 0
g2 ( ) = y + l1 s1 + l2 s12 + l3 s123 = 0
= (1 , 2 , 3 )T , and (x, y ) denote trajectory of
end-effector.
Solve using classical method of Lagrange multipliers
Form the function
F ( ) = f ( ) 1 g1 ( ) 2 g2 ( ) (25)
Equate the derivatives of F ( ) to zero
f g1 g2
= 1 + 2
g1 ( ) = g2 ( ) = 0 (26)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 50 / 96
M INIMISE J OINT ROTATIONS
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 51 / 96
M INIMISE J OINT ROTATIONS
l1 , l2 , and l3 are chosen to be 5, 3, and 1, respectively.
The end-effector traces a straight line parallel to the Y axis.
2.5
1.5
0.5
0.5
1 (Theta1)min
data1
(Theta2)min
data2
1.5 (Theta3)min
data3
sigma(theta
data4 i 2) min
2
2.5
6 4 2 0 2 4 6
5
The trajectory
choosen
0
25 20 15 10 5 0 5 10 15 20 25
1.5
0.5
0.5
(Theta1)min
1 (Theta2)min
(Theta3)min
1.5 sigma(theta i 2)min
2
2.5
6 4 2 0 2 4 6
< Y co ordinate of the trajectory >
Trajectory on which
5 minimization points
were found and plotted
above
0
25 20 15 10 5 0 5 10 15 20 25
Figure 11: Plot of joint variables for redundant planar 3R robot with joint limit
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 53 / 96
M INIMISE C ARTESIAN MOTION OF
LINKS
Classical tractrix curve 10 O
j0
called hund or hound 8
Y-axis
dr
curve by Leibniz. dy
O
6 dx tractrix
A link moves such that
the head P moves along 4
the X axis and the
2
velocity of tail j0 is
j1
along the link. 0
S P dp P' T
The curve traced by the 0 5 X-axis 10 15
tail is the tractrix.
Figure 12: Motion of a link when one end is
pulled parallel to X axis
6 tractrix
m1 > 0
A dx = xxe
Y' ye = m x e Solution is
4
xe = B 2A B 2 4AC
where
2 2
A = 1+m ,B =
0
X - axis 2my +2x, C = x 2 +y 2 L2 .
2 + sign when slope of the
5 0 5 10 15
...
3 At end of step 2, j0 , would have moved. To fix j0
Move j0 to the origin (0, 0, 0)T and translate rigidly all
other links with no rotations at the joints.
Due to rigid translation, the end-effector will not be at
the desired (xp , yp , zp ).
Repeat step 2 and 3 until the head reaches (xp , yp , zp ) and
the point j0 is within a prescribed error bound of (0, 0, 0).
See also Reznick and Lumelsky(1992, 1993, 1995).
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 59 / 96
P ROPERTIES OF A LGORITHM
RESOLUTION-TRACTRIX
...
1 Algorithm complexity O(n), n is the number of rigid links
Amenable for real time computation.
...
2 i is given by i = cos1 (ji1 ji (k + 1) ji1 ji (k)) where
ji1 ji (k) is the unit vector from the tail to the head of the
i-th link at k-th instant.
...
3 Resolution of redundancy in Cartesian space and then the
joint angles are computed.
...
4 Head of link ln moves by drn , displacements obey the
inequality dr0 dr1 ... drn1 drn .
The motion of the links appears to die out as we move
toward the first link.
Joints near to base see large inertia and a desirable
strategy would be to move them the least.
...
5 To fix the tail of the first link, perform iterations of step 3
Convergence is guaranteed due to dying out property.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 60 / 96
E XPERIMENTAL H ARDWARE
Experimental 8-link planar manipulator Each link is 70
mm long.
Joint driven by Futaba S3003 RC hobby servos.
2
200 200
3
Y
Y
100 1 100
0 0
6
100 100
4
200 5 200
300 300
0 100 200 300 400 500 0 100 200 300 400 500
X X
Joint angles for tractrix solution Joint angles for tractrix solution
100 100
80 80
60 60
Joint angle (degrees)
(c) Plot of joint variables for straight (d) Plot of joint variables for circular
line motions motion
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 63 / 96
E XPERIMENTAL R ESULTS
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 66 / 96
S UMMARY
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 67 / 96
O UTLINE
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 68 / 96
R EVIEW OF I NVERSE K INEMATICS
Inverse kinematics involves solution of a set of non-linear
transcendental equations.
A closed-form (analytical) solution is desired over a purely
iterative or numerical approach.
Closed-form solutions provide criterion for workspace and
multiple configurations.
General approach for inverse kinematics:
Convert transcendental equations to polynomial equations
using tangent half angle substitution.
Eliminate sequentially (or if possible in one step) joint
variables to arrive at single polynomial in one joint variable.
Solve if possible in closed-form (for polynomials up to
quartic See Korn and Korn, 1968) for the unknown joint
variable.
Obtain other joint variables by back substitution.
Key step is to obtain the univariate polynomial by
elimination. . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 69 / 96
E LIMINATION T HEORY
Polynomial equations f (x, y ) = 0 and g (x, y ) = 0 of degree
m and n
Degree of a polynomial is sum of exponents of the highest
degree term.
Example: In polynomial,
f (x, y ) = xy 2 + x 2 y + x 2 + y 2 + 1 = 0, the degree is 3 since
sum of exponent of x and y in first (and second) term is 3.
Bzout Theorem (Semple and Roth, 1949): a maximum of
m n (x, y ) values satisfy both the equations.
Bzout Theorem give upper bound and includes real,
complex conjugate and solutions at infinity.
Example 1: x 2 + y 2 = 1 and y x = 0 are satisfied by two
sets of (x, y ) values ( 12 , 12 ).
Example 2: x 2 + y 2 = 1 and y x = 2 are not satisfied by
any real values of (x, y ).
Example 3: x 2 + y 2 = 1 and y x = 2 satisfied by two
coincident real values of (x, y ).
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 70 / 96
E LIMINATION T HEORY (C ONTD .)
Example 1, 2 and 3 can also be interpreted geometrically.
Sketch show that line y x = 0 intersects circle
x 2 + y 2 = 1 at two points.
Sketch show that line y x = 2 does not intersects circle
x 2 + y 2 = 1.
Sketch show that line y x = 2 is tangent to circle
x 2 + y 2 = 1.
Verify: Two parabolas, ellipses or hyperbolas (quadratic
curves) can intersect in 4 points.
Apparent contradiction: Two circles never intersect at 4
points.
Contradiction can be resolved if homogeneous coordinates
(see additional material in Module 2) (x, y , w ) is used to
represent equations of circles.
In terms of homogeneous coordinates, there are two
complex conjugate solutions at for any two circles.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 71 / 96
E LIMINATION T HEORY (C ONTD .)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 72 / 96
S YLVESTER S M ETHOD
Two polynomials P(x) = m i
i=0 ai x = 0 and
n i
Q(x) = i=0 bi x = 0, ai and bi are co-efficients.
Construct the Sylvesters matrix of P(x) and Q(x)
am am1 ... a1 a0
am am1 ... a1 a0
... ... ...
am ... ... a0
[SM] = (32)
b b ... b b
n n1 1 0
bn bn1 ... b1 b0
... ... ...
bn ... ... b0
Unfilled entries are 0 & [SM] is (m + n) (m + n).
The i th row of the top half are the co-efficients of P(x) x i
for i = n 1, n 2, ..., 1, 0.
The i th row in the bottom half are the co-efficients of
Q(x) x i for i = m 1, m 2, ..., 1, 0.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 73 / 96
S YLVESTER S M ETHOD (C ONTD .)
Sylvester criterion3 : P(x) = 0 and Q(x) = 0 have a
non-trivial common factor if and only if det[SM] = 0.
Sylvester criterion from analogy with linear equations.
The n equations P(x) x i = 0, i = n 1, n 2, ..., 1, 0 and
the m equations Q(x) x i for i = m 1, m 2, ..., 1, 0 can
be written as
[SM](x m+n1 , x m+n2 , ...., x 1 , x 0 )T = 0 (33)
Note: all powers of x, x m+n1 , x m+n2 , ..., x 1 , x 0 , including
constant term x 0 treated as linearly independent variables.
Note: the matrix [SM] is square and is of dimension
(m + n) (m + n).
The set of linear equations (33) can have a non-trivial
solution if and only if det[SM] = 0 Same as the
Sylvesters criterion!
3 Sylvester
and Trudi worked in the late 19th century on the theory of
equations, later called the theory of algebraic curves, which forms the
foundation of algebraic geometry. . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 74 / 96
S YLVESTER S M ETHOD (C ONTD .)
Algorithm to solve two polynomials, f (x, y ) = 0 and
g (x, y ) = 0
.
.1. Rewrite f (x, y ) = 0 and g (x, y ) = 0 as
P(x) = m i n i
i=0 ai (y )x = 0 and Q(x) = i=0 bi (y )x = 0.
Note: all coefficients are function of y or constant.
...
2 Obtain [SM](y ) and compute det[SM](y ) = 0 A
polynomial in y alone.
...
3 Solve det[SM](y ) = 0 for all roots analytically (if possible)
or numerically.
...
4 Linear equations (33) can be solved, using linear algebra
techniques, for the linearly independent unknowns x m+n1 ,
x m+n2 , ..., x 1 , x 0 .
...
5 The integrity of the numerical procedure can be verified by
checking that x 1 and say x 2 are related by (x 1 )2 = x 2 .
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 75 / 96
S YLVESTER S M ETHOD E XAMPLE
f1 (x, y ) = a2 (y )x 2 + a1 (y )x + a0 (y ) = 0
f2 (x, y ) = b2 (y )x 2 + b1 (y )x + b0 (y ) = 0 (34)
det[SM](y ) = 0 reduces to
(a2 b1 b2 a1 )(a1 b0 b1 a0 ) (a2 b0 b2 a0 )2 = 0.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 76 / 96
S YLVESTER S M ETHOD E XAMPLE
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 77 / 96
B ZOUTS M ATRIX
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 78 / 96
B ZOUTS M ATRIX (C ONTD .)
Consider P(x) = m i n i
i=0 ai x = 0 and Q(x) = i=0 bi x = 0
with m > n.
For x = 0, eliminate x m from P(x) = 0 and x mn Q(x) = 0
by writing
am am1 x m1 + .... + a0
= to get
bn bn1 x m1 + ... + b0 x mn
(am1 bn am bn1 )x m1 +(am2 bn am bn2 )x m2 +....+a0 bn = 0
(38)
Also eliminate x m by writing
am x + am1 am2 x m2 + .... + a0
= to get
bn x + bn1 bn2 x m2 + ... + b0 x mn
(am2 bn bn2 am )x m1 +
[(am3 bn bn3 am ) + (am2 bn1 bn2 am1 )]x m2
+... + a0 bn1 = 0 (39)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 79 / 96
B ZOUTS M ATRIX (C ONTD .)
Construct m n equations
x mn1 Q(x) = bn x m1 + bn1 x m2 + ... + b0 x mn1 = 0
mn2 m2 mn2
x Q(x) = bn x + ... + b0 x = 0
..... = 0(41)
n
Q(x) = bn x + ... + b0 = 0
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 80 / 96
B ZOUTS M ATRIX (C ONTD .)
The Bzout matrix is given as
am1 bn am bn1 am2 bn am bn2 .. .. a 0 bn
... ... .. .. ..
amn bn am b0 amn1 bn + amn bn1 am1 b0 .. .. a0 b1
bn bn1 b0
bn .. b0
... .. .. ...
.. .. b0
(42)
where the unfilled entries are 0s.
Criterion for non-trivial common factor: det[BM] = 0.
If m = n, then in equations (38) - (40), a set of n linearly
independent equations in n unknowns x n1 , ...., x 0 are
already available.
Solve for the unknowns by standard linear algebra
techniques.
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 81 / 96
B ZOUTS M ATRIX - I LLUSTRATION
a3 x 3 + a2 x 2 + a1 x + a0 = 0
b3 x 3 + b2 x 2 + b1 x + b0 = 0 (43)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 82 / 96
E QUIVALENCE OF [BM] AND [SM]
Intuitively, Bzout matrix and Sylvester matrix should be
related as no new information is contained!
Example: Consider P(x) = a3 x 3 + a2 x 2 + a1 x + a0 = 0 and
Q(x) = b2 x 2 + b1 x + b0 = 0.
Sylvesters matrix is given by
a3 a2 a1 a0 0
0 a3 a2 a1 a0
[SM] = b2 b1 b0 0 0
(45)
0 b2 b1 b0 0
0 0 b2 b1 b0
The Bzout matrix is given as
a1 b2 a3 b0 a0 b2 + a1 b1 a2 b0 a0 b1
[BM] = a2 b2 a3 b1 a1 b2 a3 b0 a0 b2 (46)
b2 b1 b0
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 83 / 96
E QUIVALENCE OF [BM] AND [SM] -
C ONTD .
Pre-multiply [SM] by matrix
1 0 0 0 0
0 1 0 0 0
[A] =
b2 b 1 a 3 a 2 0
(47)
0 b2 0 a3 0
0 0 0 0 1
to get
a3 a2 a1 a0 0
0 a3 a2 a1 a0
[B] =
0 0 a1 b2 a3 b0 a0 b2 + a1 b1 a2 b0 a0 b1 (48)
0 0 a2 b2 a3 b1 a 1 b2 a 3 b0 a0 b2
0 0 b2 b1 b0
Matrix (i1
i [T ])st is constant.
[A](s4 s5 s4 c5 c4 s5 c4 c5 s4 c4 s5 c5 1)T
= [B](s1 s2 s1 c2 c1 s2 c1 c2 s1 c1 s2 c2 )T (52)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 90 / 96
IK OF G ENERAL 6R ROBOT
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 91 / 96
IK OF G ENERAL 6R ROBOT
Step 4: Elimination of 4 and 5 (Contd.)
The 12 equations can be
written as
x43 x52 Following Sylvesters
x 3x
4 5 method,
( set )
x3 S 0
4 det =0
x 2x 2 0 S
4 5
x 2x
( )
4
5
On simplification, a
S 0 x42 16th-degree polynomial in
=0
0 S x4 x5 2
x3 is obtained.
x4 x5
Solve for roots of this
x4
2 polynomial and find
x5
3 = 2 tan1 (x3 ).
x5
1
(56) . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 92 / 96
IK OF G ENERAL 6R ROBOT
5 1 3 1 2 1 1 1 0 1 0
6 [T ] = 45 [T ] 4 [T ] 3 [T ] 2 [T ] 1 [T ] 6 [T ] (57)
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 93 / 96
IK OF 6R ROBOT: S UMMARY
A sixteenth degree polynomial in x3 is obtained in Step 4
General 6R serial manipulator has 16 possible solutions.
A 6R manipulator with special geometry Polynomial in
x3 can be of lower order.
If one or more joints are prismatic IK is simpler since
prismatic joint variable is not in terms of sines or cosines.
No general expression for workspace boundary
Closed-form solution for 16th-degree polynomial not
possible!
Check: If all the roots of the 16th-degree polynomial are
complex, then 06 [T ] is not in the workspace of the
manipulator.
All the inverse kinematics solutions & entire workspace may
not be available due to the presence of joint limits and
limitations of hardware (see, Rastegar and Deravi, 1987 &
Dwarakanath et al. 1992).
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 94 / 96
O UTLINE
.
. .1 C ONTENTS
.
. .2 L ECTURE 1
Introduction
Direct Kinematics of Serial Robots
.
. .3 L ECTURE 2
Inverse Kinematics of Serial Robots
.
. .4 L ECTURE 3
Inverse Kinematics of Serial Robots with n < 6
Inverse Kinematics of Serial Robots with n > 6
.
. .5 L ECTURE 4
Elimination Theory & Solution of Non-linear Equations
Inverse Kinematics of a General 6R Robot
.
. .6 A DDITIONAL M ATERIAL
Problems, References and Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 95 / 96
A DDITIONAL M ATERIAL
Exercise Problems
References & Suggested Reading
. . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : A DVANCED C ONCEPTS & A NALYSIS NPTEL, 2010 96 / 96