DIRECT KINEMATICS:

DIRECT KINEMATICS:
The primary objective of the robotic manipulator is to control both the position
and orientation of the tool in three dimensional space. This requires the
formulation of a relationship between the joint variables and the position and
orientation of the tool which is termed as the direct kinematics problem.
COORDINATE FRAMES:
Fundamental Rotation:
f3, m3
3
2
f2, m2
1
f1, m1
Fig: Fundamental rotations in R3
Let F={f1, f2, f3} represent a fixed coordinate frame and M={m1, m2, m3} represent
a mobile coordinate frame in the space R3, with both the frames having the same
origin. The mobile coordinate frame is obtained from the fixed coordinate frame
by rotating the former about one of the unit vectors of the latter. The resulting
coordinate transformation matrix is called a fundamental rotation matrix.
Initially, M is coincident with F. For an arbitrary vector P in the space R3, we
have,
P  Pf 1 f 1  Pf 2 f 2  Pf 3 f 3
 Pm1m1  Pm 2 m2  Pm3m3
Now,
Pf 1  P. f 1   Pm1m1  Pm 2 m 2  Pm3m3  . f 1  m1. f 1Pm1  m 2 . f 1Pm 2  m3 . f 1Pm3
Pf 2  P. f 2   Pm1m1  Pm 2 m2  Pm3m3  . f 2  m1. f 2 Pm1  m 2 . f 2 Pm 2  m3 . f 2 Pm3
Pf 3  P. f 3   Pm1m1  Pm 2 m 2  Pm3m3  . f 3  m1. f 3 Pm1  m 2 . f 3 Pm 2  m3 . f 3 Pm3
In matrix form,
 Pf 1   f 1.m1
   2 1
 Pf 2    f .m
 P   f 3m1
 f3 
f 1.m2
f 2 .m2
f 3m2
f 1.m3   Pm1 

f 2 m3   Pm 2 
f 3m3   Pm3 
 Pf  R Pm
Where,
 f 1.m1

R   f 2 .m1
 f 3m1

f 1.m 2
f 2 .m 2
f 3m 2
f 1.m3 

f 2 m3 
f 3m3 
is the resulting coordinate transformation matrix or fundamental rotation matrix
which maps M coordinates into fixed F coordinate.
f3
m2
m3

P
q
f1, m1
Fig: Rotation of M about f1 by angle 
If M is rotated about the f1 axis of the fixed coordinate frame F by an angle  ,
then, f1=m1 and since, m1 is orthonormal to both m2 and m3, we have
1

R1     0
0

0
2
f .m
2
f 3m2
0 

f m3 
f 3m3 
2
Since the dot product is equal to the cosine of the angle between the unit vectors,
we have
0
1

R1     0 cos 
 0 sin 



 sin  
cos  
0
Similarly, if M rotates about the f2 axis by an angle  , then
 cos 

R2      0
  sin 

0 sin  

1
0 
0 cos  
and if M rotates about the f3 axis by an angle  , then
 cos 

R3      sin 
 0

 sin 
cos 
0
0

0
1 
Composite Rotations:
The yaw, pitch and roll are the three fundamental rotations, each of which is
represented by a matrix. When a number of fundamental rotations are applied to
a robotic tool, it corresponds to a number of rotation matrices multiplied together
with the product matrix representing a sequence of rotations about the unit
vectors. This form of multiple rotations is termed as composite rotations.
Since the operation of matrix multiplication is not commutative, the order in
which the fundamental rotations are performed makes a difference in the
resulting composite rotation. After one rotation has been performed, the axes of
the two coordinate frames are no longer coincident and the subsequent rotations
of the tool could be performed about the unit vectors of either the fixed
coordinate frame, F or the rotated coordinate frame, M.
The algorithm for constructing a composite rotation matrix is given below:
The rotation matrix is initialized to R=I, which implies that the orthonormal
coordinate frames, F and M, are coincident.
If mobile coordinate frame M is to be rotated by an amount  about the kth unit
vector of the fixed coordinate frame F, R is premultiplied by Rk(  ).
If the mobile coordinate frame M is to be rotated by an amount  about its own
kth unit vector, R is postmultiplied by Rk(  ).
If there are more fundamental rotations to be performed, step 2 is repeated
otherwise stopped. The resulting composite rotation matrix R maps mobile M
coordinates into fixed F coordinates.
The identity matrix I corresponds to no rotation at all.
Rotation of frame M about the unit vectors of frame F are represented by
premultiplication by the appropriate fundamental rotation matrix.
Rotation of frame M about one of its own unit vectors are represented by post
multiplication by the appropriate fundamental rotation matrix.
Homogeneous Coordinates:
The orientation of a robotic tool is characterized by pure rotations where the
origin of the transformed coordinate frame is same as the origin of the original
coordinate frame. However, position of the tool relative to a coordinate frame
attached to the robot based can be characterized by one type transformation
known as translation where the origin of the translated coordinate frame is not
same as the origin of the original coordinate frame.
Let q be a point in space R3 and F be a orthonormal coordinate frame for R3.
 is any non-zero scale factor, thus the homogeneous coordinates of q w.r.t. F
are denoted as,
q
F
  q1 , q2 , q3 ,1
T
i.e., the homogeneous coordinate of q in R3 are represented by a vector  q  in
F
four dimensional space R4. The original physical three dimensional vector from
its four dimensional homogeneous coordinates can be recovered using the
relation,
q  H  q 
F
where H is a 3x4 homogeneous coordinate conversion matrix defined by,
H
1

 I , 0
To change a physical point in three dimensional space expressed in terms of it
homogeneous coordinates from one coordinate frame to another, a 4x4
homogenous transformation matrix, T is used. T can be partition into four
separate submatrices as given below,
R
p
T

T
Where, R=rotation matrix which represents the orientation of the mobile
coordinate frame relative to the fixed reference frame. It specifies the orientation
of the tool.
p=translation vector which represents the position of the origin of the mobile
coordinate frame relative to the fixed reference frame. It specifies the position of
the tool tip.
 T =perspective vector and specifies a point of perspective.
 = scaling factor set to unity.
Translations and Rotations:
For two orthonormal coordinate frames, F and M, that are initially coincident, if
M is rotated by an amount  about the kth unit vector of F, then in terms of
homogeneous coordinates this operation can be represented by a 4x4 matrix
Rot( , k ), where
0
0
Rk 
Rot  , k 
0
0
0
0
1
Rk(  )=kth fundamental rotation matrix
Rot( , k )=fundamental homogeneous rotation matrix
The translation vector p has been set to zero. the homogeneous coordinate can
also be used to represent translations. For two initially coincident orthonormal
coordinate frames, F and M, if origin of mobile coordinate frame M is to be
translated by an amount pk along the kth unit vector of F for 1  k  3 , then in
terms of homogeneous coordinates this operation can be represented by a 4x4
matrix Tran(p), where
Tran( p)
1
0
0
1
0
0
0
0
0
0
1
0
p1
p2
p3
1
Tran(p) is the fundamental homogeneous translation matrix with translation
vector p and rotation matrix R set to identity matrix I.
Homogeneous transformation matrices represent both rotation and translation
of mobile frames w. r. t. fixed frame.
Composite Homogeneous Transformation:
Since matrix multiplication is not a commutative operation, the order in which
rotations and translations are performed is determined by the following
algorithm:
The transformation matrix is initialized to T=I which corresponds to the
orthonormal coordinate frames F and M being coincident.
Rotation and translations are represented using separate homogeneous
transformation matrices.
Composite rotations are represented as separate fundamental homogeneous
rotation matrices.
If M is to be rotated about or translated along a unit vector of F, premultiply the
homogeneous transformation matrix T by the appropriate fundamental
homogeneous rotation or translation matrix.
If M is to be rotated about or translated along one of its own unit vectors,
postmultiply T by the appropriate fundamental homogeneous rotation or
translation matrix.
For more fundamental rotations or translation to be performed, step 4 is
repeated else stopped.
Resulting composite homogeneous transformation matrix T maps mobile M
coordinates into fixed F coordinates.
Screw Transformation:
A linear displacement along an axis combine with an angular displacement about
the same axis is referred to as a screw transformation.
For F and M being initially coincident fixed and mobile orthonormal coordinate
frames respectively, if M is translated along the kth unit vector of F by a
displacement of  and rotated about the kth unit vector of F by an angle of  , the
resulting composite homogeneous coordinate transformation matrix is called a
kth fundamental screw transformation matrix.
Screw   , , k 
Rot  , k  Tran  i k 
Kinematic Parameters:
There are two types of kinematic parameters, viz. joint parameters and link
parameters.
Joint Parameters: every adjacent pair of links which connected by either a
revolute or prismatic joint. The joint parameters specify the relative position and
orientation of two successive links.
Joint k
Link k
xk
dk
Zk-1
Yk-1
Xk-1
Link k-1
k
Fig Joint angle  and joint distance d
In the above diagram joint k connects link k-1 to link k and axis zk-1is aligned with
the axis of joint k. The two joint parameters associated with joint ‘k’ are
Joint angle (  k ): it is the rotation about zk-1 needed to make axis xk-1 parallel with
axis xk.
Joint distance ( d k ): it is the translation along zk-1 needed to make axis xk-1
intersect with axis xk.
For a revolute joint, the joint angle is variable and joint distance is fixed while for
a prismatic joint the joint angle is fixed and the joint distance is variable.
Link Parameters: since there a link between two successive joints, link
parameters specify the relative position and orientation of the axes of two
successive joints.
Joint k+1
Zk
ak
Yk
k
Link k
Xk
Zk-1
Joint k
Fig: Link length a and link twist angle 
In the above diagram link k connects joint k to joint k+1 and an axis xk is the
common normal between the axes of joint k and joint k+1. the two link
parameters are
Link length( a ): it is the translation along xk needed to make axis zk-1 intersect
with the axis zk.
Link twist angle(  k ): it is the rotation about xk needed to make axis zk-1 parallel
with axis zk.
The two link parameters are always constant for both revolute and prismatic
joints.
For an n-axis robot, there are n+1 links interconnected by n joints, with joint k
connecting link k-1 to link k.
The joints and links of a robotic manipulator are numbered outwards starting
from the fixed base, which is termed as link 0 to the tool which is termed as link n
Denavit-Hartenberg (D-H) Representation:
Its is a systematic notation for assigning right handed orthonormal coordinate
frames, one to each link in an open kinematic chain of links. To assign coordinate
frames to the links of the robotic manipulator, we assume Lk to be the frame
associated with link k.
Lk
x , y
k
k
, zk 
0k n
Coordinate frame Lk will be attached to the distal end of link k for 0  k  n .
Algorithm:
Number the joints from 1 to n starting with the base and ending with the tool
yaw, pitch, and roll, in that order.
Assign a right-handed orthonormal coordinate frame L0 to the robot base,
making sure that z0 aligns with the axis of joint 1. Set k=1.
Align zk with the axis of joint k+1.
Locate the origin of Lk at the intersection of the zk and zk-1 axes. If they do not
intersect, use the intersection of zk with a common normal between zk and zk-1.
Select xk to be orthogonal to both zk and zk-1. If zk and zk-1 are parallel, point xk
away from zk-1.
Select yk to form a right-handed orthonormal coordinate frame Lk.
Set k=k+1. If k < n, go to step 2; else, continue.
Set the origin of Ln at the tool tip. Align zn with the approach vector, yn with the
sliding vector, and xn with the normal vector of the tool. Set k=1.
Locate point bk at the intersection of the xk and zk-1 axes. If they do not intersect,
use the intersection of xk with a common normal between xk and zk-1.
Compute θk as the angle of rotation from xk-1 to xk measured about zk-1.
Compute dk as the distance from the origin of frame Lk-1 to point bk measured
along zk-1.
Compute ak as the distance from point bk to the origin of frame Lk measured
along xk.
Compute αk as the angle of rotation from zk-1 to zk measured about xk.
Set k= k+1. If k ≤ n, go to step 8; else, stop.
THE ARM EQUATION:
The solution to the direct kinematics problem requires the representation of
position and orientation of the mobile tool w.r.t. a coordinate frame attach to the
fixed base, this involves a sequence of coordinate transformations, involving both
rotations and translations, from tool to wrist, wrist to elbow and so on; with each
coordinate transformations represented by matrix.
After assigning a set of link coordinates to an n-axis robot using D-H algorithm, a
homogeneous coordinate transformation matrix can be used to transform from
coordinate frame k to coordinate frame k-1. Several of this coordinate
transformation matrices can be multiplied together to arrive at the composite
coordinate transformation matrix, which maps tool coordinates into base
coordinates, known as the arm matrix.
To map frame k coordinates into frame k-1 coordinates four steps are involved in
constructing homogeneous transformation matrix with each of the steps
associated with one of the four kinematic parameters. The transformation matrix
can be determined by successively rotating and translating coordinate frame k-1
to render it coincident with coordinate frame k.
The four steps are:
Rotate Lk-1 about zk-1 by  k ; this makes axis xk-1 parallel to axis xk.
Translate Lk-1 along zk-1 by dk; this makes axis xk-1 collinear with axis xk.
Translate Lk-1 along xk-1 by ak ; this ensures that the origins of frames Lk-1 and Lk
coincide.
Rotate Lk-1 about xk-1 by ak ; this aligns axis zk-1 with axis zk.
The composite homogeneous transformation summarized in the above steps can
be expressed as a composition of two screw transformation;
Tkk1 k , dk , ak , k   Screw  dk ,k ,3 Screw  ak , k ,1
Tkk1 =transformation from coordinate frame k to coordinate frame k-1
At wrist point, the two matrices can be multiplied together and a closed form
expression for the entire arm matrix can be obtained and after getting this we can
substitute it into the following matrix equation, called the arm equation:
tool
Tbase
q 
R q
p q
0 0 0 1
tool
For each value of the joint vector q, the arm matrix Tbase
 q  can be evaluated. Left
submatrix R(q) specifies the orientation of the tool and the three columns of R
indicate the directions of the three unit vectors of the tool frame w.r.t. the base
frame. Right submatrix p(q) specifies the position of the tool tip and the
coordinates of the tool tip w.r.t. the base frame.
The solution of the direct kinematics problem in the above equation is shown
schematically:
r1
Tool
r2
p
Z0
r3
Y0
X0
Base
Fig: Position and orientation of the tool in base coordinate
Some examples of D-H parameters:
ONE-AXIS ROBOT OR INVERTED PENDULUM:
It consists of a single axis with two links and one joint. The fixed base is link 0
while the tool is link 1. Therefore there will be two coordinate frames, L0 and L1
as shown below:
X1
Y1
mL
a1
m1
Y0

1
X0
Fig: A one-axis robot (inverted pendulum)
The kinematic parameters of the one axis robot is given by,
Axis

d
a
α
1
1
0
a1
0
TWO-AXIS PLANAR ARTICULATED ROBOT:
Two axis planar articulated robot is shown below:
Y2
X1
2
Y1
a2
m2
X2
a1
m1
Y0
1
X0
Fig: A two-axis planar articulated robot
The two physical links are thin cylinders or rods. There are two joints, therefore
two axes and three links. The fixed base is link 0 and there will be three
coordinate frames for each link.
The kinematic parameters, using D-H algorithm are given by,
Axis

d
a
α
1
1
0
a1
0
2
2
0
a2
0
FOUR-AXIS SCARA ROBOT:
Source: www.adept.com
A SCARA (Selective Compliance Assembly Robot Arm) robot is an important
example of robotic manipulator.
The SCARA robot shown above has three revolute joints and one prismatic joint.
Using D-H algorithm, we can construct the link-coordinate diagram as shown
below,
Vertical
extension
Elbow
2
a1
a2
X1
X2
Y2
Y1
Z1
Toll
roll
Z2
d3
4
X3
1
d1
Y3
Z3
d4
Z0
P
Y4
Y0
Tool
X4
Z4
X0
Base
Fig: A four-axis SCARA Robot (Adept One)
The kinematics parameters of the four axis SCARA robot is given by,
Axis

d
a
α
1
q1
d1
a1

2
q2
0
a2
0
3
0
q3
0
0
4
q4
d4
0
0
PUMA ROBOT:
The PUMA robot is one of the most famous industrial robots with 6 rotary joints.
The robot is shown in the figure below:
Source: www.berglas.org
The kinematic parameters of the PUMA robot are as follows:
Joints

d
a
α
1
90
0
0
-90
2
0
149.5
432
0
3
90
0
0
90
4
0
432
0
-90
5
0
0
0
90
6
0
55.5
0
0