You are on page 1of 13


"Introduction "
Kinematics is the relationships between the positions, velocities, and accelerations of the
links of a manipulator, where a manipulator is an arm, finger, or leg. In this chapter, we
will develop a mathematical framework for describing these relationships, in particular
position. The transformation, between a coordinate frame located in the hand of the
robot (known as the hand frame) and a coordinate frame located in the base of the robot
(known as the base frame) will be studied in detail. This transformation specifies the
location (position and orientation) of the hand in space with respect to the base of the
robot, but it does not. tell us which configuration of the arm is required to achieve this
location. As we will see, it is often possible to achieve the same hand position with man
arm configurations. A serial link manipulator is a series of links, which connects the hand
to the base, with each link connected to the ne!t b an actuated "oint. If a coordinate
frame is attached to each link, the relationship between two links can be described with
a homogeneous transformation matri! # an A matri!. The first A matri! relates the first
link to the base frame, and the last A matri! relates the hand frame to the last link. $e
use a sequence of these A matrices to describe the transform from the base to the hand
of the manipulator, a sequence called the forward kinematic transform of the manipulator
In the kinematic analsis of manipulator position, there are two separate problems to
solve% direct kinemalics, and inverse kinematics. &irect kinematics involves solving the
forward transformation equation to find the location of the hand in terms of the angles
and displacements between the links. The angles and displacements between the links
are called "oint coordinates and are described with link variables, while the location of
the hand in space is described with 'artesian coordinates. Inverse kinematics involves
solving the inverse transformation equation to find the relationships between the links of
the manipulator from the location of the hand in space.
Inverse kinematics is the more difficult problem to solve and, for some manipulators,
closed form solutions cannot be found. (owever, con#straints are usuall placed on
manipulator design so that the inverse solution can be found) without this, the robot is
difficult to control in 'artesian space. The inverse kinematic solution for a manipulator is
usuall derived from the direct kinematic transform, so direct kinematics will be
discussed first. *efore we discuss the direct kinematic algorithm in detail, we will
develop a method for assigning coordinate frames to links. To assign a coordinate frame
to a link, the relationship between it and the previous link must be understood. This
relationship comprises the rotations and trans#lations that occur at the "oints.
"Summary "
+orward Kinematics 'omputation of the position, orientation and velocit of the end
effector, given the displacements and "oint angles.
,everse Kinematics 'omputation of the "oint displacements and angles from the end
effectors position and velocit.
Kinematics depends on (-.-/010-23 T,A13+-,.ATI-13
'onsider a point in space with the co#ordinates%
v 4 ai 5 b" 5 ck
where % i, ", k are the unit vectors along the 6,7,8 a!es
v can also be written as%
9: : : w;T % if w is not equal to :, this defines the origin
9a b c :;T % represents directions
9: : : :;T % undefined
Transformations A transformation ( is a < b < matri!, so given a point u, its
transformation to v is%
'onsider two general co#ordinate frames += and +>, with origins at ?= and ?>.
The relative position of +> in += is given b the co#ordinates of ?> in +=.
The relative orientation of the frames is e!pressed b the cosine of 1I10 angles.
The orientation of the ! a!is of +> to += is given b the angles, !>, >, @>. The respective
cosines are l!, l, l@
The orientation cosines for > in += are m!, m, m@.
The orientation cosines for @> in += are n!, n, n@.
The general relationship, (, between frames +> and += is therefore given b%
To simplif considerations, four specific matrices can be constructed.
,otation of about the ! a!is.
As != and !> are coincident, the angle is :, hence l! 4 =.
The angles between !>, and = and @= are A:o, hence
'onsider >. A:o to != m! 4
*etween the two a!is is , hence
@= to > is A: # , hence
As the origins coincide, p! 4 p 4 p@ 4 :
(ence ,ot9!,q; 4
,otation about the a!is
,otation about the @ a!is
Application of Transformations
Bet u 4 9 C D > = ;T, and is rotated b A:o around the @ a!is to v%
v 4 ,ot9@ A:o;
u 4
If v is the rotated around the a!is b A:o to w%
(ence w 4 ,ot9 A:;,ot9@ A:;u
As e!pected ,ot9@ A:;,ot9 A:; E ,o9 A:;,ot9@ A:;, as shown in the figure.
.ovement of co#ordinate frames
'onsider a point being moved through the following transformations
Trans9< #D C;,ot9 A:; ,ot9@ A:; 4
If the origin of the original frame was 9: : : =;T, this will transform to
If we repeat this for the unit vectors)
! 4 9= : : =; transforms to 9< #> C =; 4 9: = : =; transforms to 9< #D F =; @ 4 9: : = =;
transforms to 9G #D C =;
If the four vectors are plotted, the new co#ordinate frame can be constructed. The
directions of the vectors are found b subtracting the position of the origin, and
e!tending the vector to infinit.
This indicates that the new ! a!is is at A:o to the original ! a!is, :o to the original a!is
and A:o to the original @ a!is, as drawn in the diagram.
This matri! has the same values as the first column of the original vector. Therefore the
transformation matri! directl gives the origin and the position vectors of the new co#
ordinate frame relative to the reference frame.
Relative transformations
2p to this point we have considered all movements to be made relative to a fi!ed co#
ordinate frame. (ence the above move can be summarised as
+rame rotated around the reference @
+rame rotated around the reference
+rame translated within the reference frame
It is also possible to interpret the same move as%
Therefore the direction of multiplication of the transformations is crucial to obtaining the
correct final position.
If we postmultipl a transform representing a frame b a second transform describing a
translation or rotation, then that translation or rotation is made with respect to the frame
described b the first transformation
If we premultipl a frame transformation b a second transform describing a translation
or rotation, then that translation or rotation is made with respect to the base co#ordinate
'onsider a frame ' and an arbitrar transformation T
,esult with respect to the base co#ordinate frame%
,esult with respect to the frame co#ordinate frame%
/iven that%
The sequence of the moves can be identified from the diagram.
,obotic Kinematics 0quations
As considered in an earlier section, a manipulator consists of a selection of links and
"oints, each with its own co#ordinate frame, and described b four parameters.
It is possible to state%
9A=; is the position and orientation of the first link with reference to the manipulatorHs
origin. 9A>; is the position and orientation of the second link relative to the first link.
(ence for a multi"ointed manipulator, 9Tn; 4 9A=; 9A>;.......9An;
If the end effector is considered
where n is the approach vector, and points along the direction that the end effector will
approach and ob"ect.
m is the orientation vector, conventionall from fingertip to finger tip
l is the final vector, and is defined as l 4 mIn
p is the position vector
3pecification of -rientation
9Tn; has =J elements, onl => of which have an real meaning.
K 1o limit on the value of p! p p@
K The l, m and n vectors must satisf% m.m 4 =, n.n 4 =, m.n 4 :.
It is required to appl a set of rules to the orientation of the end effectors. Two main
schemes are possible, either 0uler angles or ,?7 % roll, pitch and aw
K ,otation around the @ a!is is defined as roll K ,otation around the a!is is defined as
pitch K ,otation around the ! a!is is defined as aw
The order is defined as%
and on solving equals%
3pecification of ?osition
9Tn; 4
?osition can be specified in the form, p!, p p@ or in another co#ordinate sstem, e.g.
-rder of the translations are%
The orientation will be computed with reference to the rotational co#ordinate frame, if we
require it to be with reference to the base fame, we need to post multipl as follows
resulting a spherical transform of%
In summar 9Tn; can be defined as%
3pecification of the 9A; matri!
The "oints and links have been defined as%
To full describe the relationship, a set of co#ordinate frames are assigned to each link
The sequence of moves is therefore specified as
0quate the manipulator transformation matri! and the general orientation matri! to
obtain the hand orientation angles.
The relationship between the co#ordinate frame of link n to the co#ordinate frame of link
n#= is given b%
3pecification of 9Tn; in terms of 9A;
+or a si! degree of freedom manipulator it is possible to write%
If in addition a tool is attached to the robot with a transformation 0, and the manipulator
is related to the sstems reference frame b 8%
,epresented b the manipulator transform graph.
.ove the manipulator to its @ero position.
Assign a coordinate frame to each link.
&escribe the rotations and translations between "oints with link variables.
&efine the A matrices relating the links.
.ultipl the A matrices to calculate the manipulator transformation matri! ,T(.
0quate the manipulator transformation matri! and the general transformation matri! to
obtain 'artesian coordinates in terms of "oint coordinates.
If this is applied to the G a!is manipulator
,everse or Inverse kinematics
9Tn; is formall defined as
The robots workspace can be formall defined as
The robot control strateg is formall defined as%
where &( is the number of pulses or equivalent required to move the "oints, i.e. the
command vector.
&q is the demand vector
p is the precision vector, i.e. counts or equivalent per degree or unit displacement
' is the coupling matri!, which identifies an coupling between links, for e!ample if the
robot includes a parallel bar mechanism
/eneral properties of the solution The reverse kinematic solution can be e!presses as,
given the position and orientation of the manipulator, the values of q that satisf the initial
9Tn;, and
2niqueness of the solution
If the manipulator has more than si! "oints, we have a number of possible solutions to
the kinematic problem. A manipulator that has more than si! "oints is defined as a
kinematicall redundant manipulator, because it has more degrees of freedom than is
necessar to establish an arbitrar tool configuration.
A kinematicall redundant sstem has a number of significant advantages%
0ven if a robot or manipulator is not redundant a number of "oint solutions are possible
for a required tool position.
3olution to ,everse kinematics
The approach to reverse kinematics is to equate the variables in the 9T; matri! with those
in the tool space matri!. (ence, all the elements in the tool matri! must equal those of
the forward kinematic equations%
As the solutions contain sin#= and cos#=, uncertainties can arise. These can be
minimised b%
2se of the atan> function, where 4 atan>(!,)
! M :
! 4 :
! O :
arctan(,!) 5 9sgn()p;
* defining the solution in terms of elbow up or down, left or right handed
,ight (anded, 0lbow &own
Beft handed, 0lbow 2p
* avoiding as far as possible solutions that lead to singular matrices.