Lecture
THREE
Robot Kinematics
3.1 Kinematics
Robot kinematics deals with the analytical study of the geometry of motion of a robot with
respect to a fixed reference coordinate system as a function of time without regard to the
force and moment. Kinematics deals with two fundamental problems of both theoretical
and practical interest: direct kinematics and inverse kinematics.
Since the links of the robot arm rotates and/or translates with respect to a reference
coordinate, a relative coordinate or body attached frame is established along the joint axis
for each link. A transformation is needed for setting up the correspondence between the
elements of two coordinate systems that are rotated and/or translated relative to each
other. The position and orientation can be expressed in each of these coordinate systems.
There are several transformation techniques:



Rotation matrix technique
Quaternion and Rotation vectors
Homogeneous transformation matrices technique
3.2.1 Rotation Matrix
Let us consider two coordinate systems, shown in Figure 3.1, namely, the XYZ coordinate
and the UVW coordinate system.
Pxyz and Puvw represent the same point P in the space. A point P can be represented by its
coordinates with respect to the either coordinates XYZ and UVW as
(3.1)
Puvw  Pu , Pv , Pw T

Pxyz  Px , Py , Pz
1
T
(3.2)
Z
P
W
Y
V
U
X
Figure 3.1: Coordinate system
We are interested in finding a rotation matrix R that will transform the coordinates of
Puvw to the coordinates expressed with respect to the XYZ coordinate system, after UVW
coordinate system has been rotated. That is,
Pxyz  RPuvw
(3.3)
Physically the point Puvw has been rotated together with the UVW coordinate system. The
coordinates of Puvw can be obtained from the coordinates of Pxyz using the definition in
(3.3).
Puvw  R 1 Pxyz
(3.4)
The three basic rotations about the three axes are shown in Figure 3.2. Let UVW
coordinate system be rotated α angle about OX axis to arrive at a new location
transformation matrix R x , , which can be derived from the above concept as follows
Pxyz = Rx,α Puvw
(3.5)



Figure 3.2: Three basic rotations about x, y and z-axes.
Thus using the vector scalar product, the first basic rotation matrix for a positive rotation
 about X-axis is:
2
R x,
0
1

 0 cos 
0 sin 
0 
 sin  
cos  
(3.6)
A similar analysis can be done to derive the second and third basic rotation matrix about
Y-axis with angle  and about Z-axis with angle  respectively.
 cos  0 sin  
(3.7)
R y ,   0
1
0 
 sin  0 cos  
R z ,
cos 
  sin 
 0
 sin 
cos 
0
0
0
1
(3.8)
The matrices R x , , R y, , and R z , are called the basic rotation matrices as the other finite
rotation matrices can be derived from them.
3.2.2. Composite Rotation Matrix
To establish an arbitrary orientation for the end-effector, we need a sequence of finite
rotations of basic form which is termed as composite rotation matrix. The rotation can be
about the principal axis of the reference coordinate system as well as about its own
principal axes. There are distinct rules as to how a composite rotation matrix should be
constructed, and the following rules are used.
1. Initially both coordinate systems are coincident; hence the rotation matrix is a
3 3 identity matrix. Initialize the rotation matrix to R  I 3 .
2. If the rotating coordinate system is to be rotated about one of the principal axes of
the reference coordinate system, then pre-multiply the previous rotation matrix with an
appropriate basic rotation matrix.
3. If the rotating coordinate system is rotating about its own principal axes, then postmultiply the previous rotation matrix with an appropriate basic rotation matrix.
Using the above rules the composite rotation matrix can be found representing a rotation
of α angle about OX axis followed by rotation of  angle about OY axis followed by a
rotation of  angle about OZ axis. The resulting composite rotation matrix is
R  R z , R y , R x,
cos 
  sin 
 0
 sin 
cos 
0
 CC
  S
 SC
0  cos  0 sin   1
0
0 




0  0
1
0  0 cos   sin  
1  sin  0 cos   0 sin  cos  
SS  CSC CSC  SC 

(3.9)
CC
 CS

SSC  CS CC  SSS 
3
Where C (.)  cos(.) and S (.)  sin(.) .
3.2.3. Homogeneous Transformation Matrix
The most general relationship between the two coordinate systems X0Y0Z0 and X1Y1Z1 as
shown in Figure 3.3 can be expressed as the combination of a pure rotation and a pure
translation.
Z1
Z0
P1
P0
O1
O0
Y1
Y0
X1
V
X0
Figure 3.3: Relationship between two coordinate systems
A 3 3 matrix is not sufficient to represent translation. Pure rotations are sufficient to
characterize the orientation of a robotic manipulator but translation is used to characterize
the position of the manipulator relative to a coordinate system. In robotics, we normally
use a scale factor of σ = 1 for convenience. Thus, four dimensional homogeneous
coordinates are obtained from three dimensional physical coordinates by simply
augmenting the vector with a unit fourth component. A homogeneous transformation
matrix can be considered to consists of the following four sub-matrices
R
T   33
13
4
p 31 
 11 
(3.10)
 Rotation matrix

T 
 Perspective
 transforma tion

Position vector 



Scaling


(3.11)
Here the 3 3 sub-matrix R in the upper left corner of T is a rotation matrix. It represents
the orientation of the mobile coordinate frame relative to the fixed reference frame. The
upper right 31 sub-matrix P is the position vector which represents the translation. It
specifies the position of the origin of the mobile coordinate frame relative to the fixed
reference frame. The lower left 1 3 sub-matrix  T is a perspective vector and represents
perspective transformation which is used for computer vision and camera calibration.
Here, the elements of this matrix are set to zero to indicate null perspective
transformation. The scalar  in the lower right corner of T is a nonzero scale factor which
is typically set to unity.
If a physical point P in a three dimensional space is expressed in terms of homogeneous
coordinates and we want to change from one coordinate to frame we extend the 3 3
rotation matrix to a 4 4 homogeneous transformation matrix. For pure rotation
equations (3.6), (3.7), (3.8) expressed as rotation matrices, become
T x,
T y ,
T z ,
0
1
0 cos 

0 sin 

0
0
 cos 
 0

 sin 

 0
cos 
 sin 

 0

 0
0
0
0

1
(3.12)
0
0
0

1
(3.13)
0 0
0 0
1 0

0 1
(3.14)
0
 sin 
cos 
0
0 sin 
1
0
0 cos 
0
 sin 
cos 
0
0
0
The equations (3.12), (3.13) and (3.14) are called the basic homogeneous rotation
matrices.
The 31 position vector of the homogeneous transformation matrix has the effect of
translating the X1Y1Z1 coordinate system which has axes parallel to the reference
coordinate system X0Y0Z0. The three basic homogeneous translation matrices are as
follows.
5
T x , dx
1
0

0

0
0 0 dx
1 0 0 
0 1 0

0 0 1
(3.15)
T y , dy
1
0

0

0
0 0 0
1 0 dy 
0 1 0

0 0 1
(3.16)
T z , dz
1
0

0

0
0
1 0 0 
0 1 dz 

0 0 1
(3.17)
0 0
The basic homogeneous translation matrix can be obtained from the three basic
translation matrices (3.15)-(3.17) as
Ttran
1
0

0

0
0 0 dx
1 0 dy
0 1 dz 

0 0 1
(3.18)
A 4 4 homogeneous transformation matrix maps a vector expressed in homogeneous
coordinates with respect to X1Y1Z1 coordinate system to the reference coordinate system
X0Y0Z0 as shown in Figure 3.3. That is
(3.19)
P0  T01 P1
3.2.4 Composite Homogeneous Transformation Matrix
A sequence of individual rotation and translation matrices can be multiplied together to
obtain a composite homogeneous transformation matrix. The effects of the different
operations on the composite homogeneous transformation matrix are summarized in the
following rules.
1. Initially both the coordinate systems are coincident, hence the transformation matrix is
a 4 4identity matrix, therefore, initialize it to T = I.
2. Represent rotations and transitions using separate homogeneous transformation
matrices.
3. Represent composite rotations as separate fundamental homogeneous rotation matrices.
4. If the mobile coordinate system is to be rotated about or translated along a unit vector
of the fixed reference coordinate, then pre-multiply the homogeneous transformation
matrix T by the appropriate basic homogeneous rotation or translation matrix.
5. If the mobile coordinate system is to be rotated about or translated along one of its own
coordinate system, then post-multiply the homogeneous transformation matrix T by the
appropriate basic homogeneous rotation or translation matrix.
6
Thus composite homogeneous transformation matrices are built up starting with the
identity matrix and a rotation of  angle about OX axis, followed by rotation of  angle
about OY axis followed by a rotation of  angle about OZ axis as shown in the following
equations.
TR  Tz, T y, Tx,
cos 
 sin 
TR  
 0

 0
 sin 
cos 
0
0
0 0  cos 
0 0  0
1 0  sin 

0 1  0
0 sin 
1
0
0 cos 
0
0
(3.20)
0 1
0
0 0 cos 
0 0 sin 

1  0
0
0
 sin 
cos 
0
0
0
0

1
(3.21)
The homogeneous translation matrix for the three-dimensional space is
1
0
TT  
0

0
0 0 dx 
1 0 dy 
0 1 dz 

0 0 1
(3.22)
Now the composite homogeneous transformation matrix is obtained by pre-multiplying
the composite rotation matrix by the composite translation matrix as
T  TT TR
(3.23)
The homogeneous transformation matrix can be considered to consist of the four submatrices as given in equation (3.24).


T 



R
0

P 


1
(3.24)
R is a 3 3 rotation matrix and P is a 31 position vector. The geometric
interpretation of the homogeneous transformation matrix T is that it provides the
orientation and position of a mobile coordinate system with respect to a fixed reference
coordinate system. In robotic manipulator analysis of these two coordinate systems can be
assigned to two consecutive links of a robot arm, say link i  1 and link i respectively. The
link i  1 coordinate system is the fixed reference coordinate and the link i coordinate is
the mobile coordinate system. Using the homogeneous transformation matrix we can
specify a point Pi in the mobile coordinate i in terms of the fixed reference coordinate
i 1 .
(3.25)
Pi 1  Tii1 Pi
Where Tii1 is a 4 4 homogeneous transformation matrix relating two coordinate i and
7
i  1 . Pi is a 41 augmented position vector representing a point in the link i coordinate
system. Pi 1 is a 41 augmented position vector representing a point in the link
i  1 coordinate system. Sometimes, we also want to express the position and orientation of
a point in the fixed reference coordinate system in terms of the mobile coordinate system.
 
Pi  Tii1
1
(3.26)
Pi 1
Then, we need to find the inverse of the homogeneous transformation matrix T. The
inverse of a rotation sub-matrix R is equivalent to its transpose. However, the inverse of
the homogeneous transformation matrix is not equivalent to its transpose. The position of
the fixed reference coordinate system with respect to the mobile coordinate systems can
only be found after the inverse of Tii1 is determined. In general, if   0 and   1 , then
 
inverse of
  can be found to be
Tii1
T 
i 1
i 1






R
T
0

 R P 


1 
T
(3.27)
3.2.5 Joint and Link Parameters
A robotic arm is a chain of rigid links interconnected joints where the joints can be
revolute or prismatic joints. For an n-degree of freedom or n-axis robotic arm, there are n
joint-link pairs. Only six different joints are possible: revolute, prismatic, cylindrical,
spherical, screw, and planar. For example, PUMA arm consists of only revolute joints as
shown in Figure 3.4. For an N -axis robotic arm, there are 4  N kinematic parameters that
constitute minimal set to specify the configuration of a robot. The variable joint and link
parameters depend on the type of the joint. The Table 3.1 shows the parameters with
different type of joints.
Figure 3.4: Links and joints of PUMA arm.
8
Table 3.1: Joint and link parameters
Parameters
Symbols Revolute
Prismatic
joint
joint
 i 
Joint angle
Variable
Fixed
d i 
Joint distance
Fixed
Variable
ai 
Link length
Fixed
Fixed
 i 
Link twist angle
Fixed
Fixed
3.2.6 Denavit-Hartenberg Representation
A systematic technique to establish the translation and rotational relationship for each
adjacent links was proposed by Denavit and Hartenberg (1955). This approach is known
as D-H representation. Once the link-attached coordinate systems are assigned,
transformation between adjacent coordinate systems can be represented by a
4 4homogeneous transformation matrix (See section 3.2.3).
Assign the N-th coordinate (Xn,Yn,Zn) to the end effector. Establish the origin conveniently along Zn, preferably at the center of the gripper or at tool tip point as shown in
Figure 3.5.
Yi
Z0
Xi
V
Zi
Yn
Xn
V
Zn
Y0
X0
Figure 3.5: Assignments of coordinates.
Once the D-H coordinate system has been established for each link, a homogeneous
transformation matrix can easily be developed relating to i -th coordinate to i  1 th
coordinate. A point in the coordinate system can be expressed in i  1 th coordinate
system by performing the following transformations:
1. Rotate about the Zi-1 axis an angle of  i to align the Xi-1 axis with the Xi axis.
2. Translate along the Zi-1 axis a distance of d i to bring the Xi-1 and the Xi axes into
coincidence.
3. Translate along the Xi axis a distance of a i to bring the two origins as well as the x axis into coincidence.
4. Rotate about the Xi axis an angle of  i to bring the two coordinate systems into
9
coincidence.
Each of these four operations can be expressed by a homogeneous transformation matrix
Aii1 as a product of four basic transformation matrices. Aii1 is known as the D-H
transformation matrix for adjacent coordinate system, i and i  1 . Thus we obtain
Aii1  TR z , TT x,d TT  x,a TR x, 
(3.28)
Using the transformation matrix, we can specify a point Pi in the coordinate i in terms of
the fixed reference coordinate i  1 .
(3.29)
Pi 1  Aii1 Pi
Where Pi 1  xi 1 , y i 1 , z i 1 ,1T and Pi  xi , y i , z i ,1T .
3.2.7 The Arm Matrix
There are four steps involved in constructing the homogeneous transformation matrix. On
performing the steps on a two consecutive coordinate frames, and we can get the
transformation matrix.
1. Rotate coordinate frame i  1 about Z i 1 by  i
2. Translate frame i  1 along Z i 1 by d i
3. Translate frame i  1 about X i 1 by a i
4. Rotate frame i  1 about X i 1 by  i
By convention, the joints and links of a robotic arm are numbered outward starting with
the fixed base, which is link 0, and ending with the tool, which is link n. Figure 3.6 shows
the approach vector a  is aligned with the tool roll axis, the sliding vector s  is aligned
with tool pitch (open-close) axis and orthogonal to approach vector and the normal vector
n  is aligned with tool yaw and orthogonal to plane defined by approach-sliding vectors.
tool
If Tbase
represent a transformation from tool tip coordinate of link n to base coordinate at
link 0 , then the homogeneous matrix is expressed as
i
tool
Tbase
 A01 A12  Aii1 
A
j
j 1
for i  1,2,  , n
(3.30)
j 1
The equation (3.30) can be written in terms of orientation matrix, position vector,
perspective and scaling factor as shown in (3.31).


 R tool
tool 
Pbase 
base
tool
(3.31)
Tbase





0
1 

10
Specifically, if i  6 we have a 6 link manipulator and we obtain T  A06 . This T matrix
is used so frequently in robot kinematics that it is called the arm matrix.
Figure 3.6: Normal (n), sliding (s) and approach (a) vector.
3.2.8. Arm Equations of Robot Manipulators
Example 3.1: A six-axis articulated arm
The homogeneous transformation matrix described in earlier sections M in (3.32) is the
product of all matrices that describe the joints’ coordinate frames. The position vector
describing the Cartesian location of the end effector with respect to the reference
coordinate frame is represented by Eq. (3.33), Eq. (3.34) and Eq. (3.35) respectively.
θ2
Z
θ1
Z
Z
Y
X
Y
X
d3
d4
d5
θ4
Y
X
X
d8
d9
d7
Y
θ3
θ5
Y
d6
Z
d2
d1
Z
X
Figure 3.7: Forward kinematics representation of RCS-6 articulated robotic manipulator
11
cos  1
 sin 
1
M 
 0

 0
 sin  1
cos  1
0
0
 cos  3
 0

 sin  3

 0
0
1
0 cos 
5

0 sin  5

0
0
0
1
0
0
0 0  cos  2  sin  2 0 d 2 
0 0   sin  2 cos  2 0 0 


1 d1   0
0
1 d3 
 

0 1  0
0
0 1
sin  3 d 4   cos  4 0 sin  4 d 6 
0
0   0
1
0
0 


cos  3  d 5   sin  4 0 cos  4 0 
 

0
1   0
0
0
1
0
 sin  5
cos  5
0
(3.32)
d7 
d 8 
d9 

1
X  d 2 cos1  d 8 sin(1   2 )  cos(1   2 )d 4  d 6 cos 3  d 7 cos( 3   4 )  d 9 sin( 3   4 )
(3.33)
Y  d2 sin 1  d8 cos(1  2 )  sin(1  2 )d4  d6 cos 3  d7 cos(3  4 )  d9 sin(3  4 )
(3.34)
Z  d1  d8  d5  d6 sin3  d7 sin(3  4 )  d9 sin(3  4 )
(3.35)
3.3 Kinematics of Mobile Robots
Wheels are tied together based on robot chassis geometry, and therefore their constraints
combine to form constraints on the overall motion of the robot chassis. But the forces and
constraints of each wheel must be expressed with respect to a clear and consistent
reference frame.
Representing robot position and motion
The total dimensionality of the robot chassis on the plane is three, two for position in the
plane and one for orientation along the vertical axis, which is orthogonal to the plane.
In order to specify the position of the robot on the plane we establish a relationship
between the global reference frame of the plane O : X I ,YI  and the local reference frame
P : X R , YR  of the robot, as in figure 3.8. To specify the position of the robot, choose the
point P on the robot chassis as its position reference point. The position of P in the global
reference frame is specified by coordinates x and y, and the angular difference between
the global and local reference frames is given by  . The position of the robot is described
as a vector with these three elements.
12
 x
 I   y 
 
(3.36)
The speed of the robot can be defined as
 x 
I   y 
 
(3.38)
The relationship between the two frames is expressed by the orthogonal rotation matrix
defined by
 cos 
R( )   sin 
 0
sin 
cos 
0
0
0
1
(3.39)
This matrix can be used to map motion in the global reference frame X I , YI  to motion in
terms of the local reference frame X R ,YR  . This operation is denoted by
R  R I
(3.40)
Figure 3.8: Global reference frame and local frame
Example 3.4: Consider the mobile robot in Figure 3.9. Robot is aligned with Y-axis of
X I , YI  frame. Given some velocity


T
I  x y  in the global reference frame, the
components of motion along the local reference frame X R , YR  can be computed as
13
 x 


 R  R( ) I  R( )  y 
 
(3.41)
Figure 3.9: The mobile robot aligned with a global axis.
When the robot has aligned with the global axis, it makes a rotation angle of  

2
,
which gives the following rotation matrix


 cos 2



R( )   sin
2
2

 0

sin
cos
0

2

2

0
  0 1 0
0   1 0 0

1  0 0 1

(3.42)
In this case, due to specific angle of the robot, the velocity in the local reference of frame
would be
 0 1 0  x 
  

 R  R( ) I   1 0 0  y  =
2
 0 0 1  
 y 
 x 
 
  
(3.43)
This differential drive robot has two wheels, each with diameter r. Given a point centred
between the two drive wheels, each wheel is a distance l from P. Given r, l ,  , and the
spinning speed of each wheel { 1,2 }, a forward kinematic model can predict the robot’s
overall speed in the global reference frame:
 x 

 I   y   f r , l , ,1,2 
 
14
(3.44)
We can compute the robot’s motion in the global reference frame from motion in its local
reference frame using equation rom (3.45):
I  R( )1R
Where R( )
1
cos
  sin 
 0
 sin 
cos
0
(3.45)
0
0 . The idea is to compute the components of R in terms
1
of r , l , ,1,2  and derive the kinematic models of robots with different wheel types.
Differential drive robot
The kinematic model for the differential-drive robot shown in Figure 3.10 would be:
 r1 r2 
 2  2 
1 


 I  R( )
0
 r  r 
2
 1
2l 
 2l
(3.46)
Figure 3.10: A differential-drive robot in its global reference frame.
This approach to kinematic modelling can provide information about the motion of a
robot given its component wheel speeds in straightforward cases. However, there are
different possible motions for robot depending on chassis design specified by the
constraints on robot motion imposed by each wheel.
Fixed standard wheel
The fixed standard wheel has no vertical axis of rotation for steering.
The kinematic model for the fixed standard wheel shown in Figure 3.11 with rolling and
sliding constraints would be:
Rolling constraints
sin(   )
Sliding constraints
 cos(   ) (l ) cos R( )I  r  0
sin(   )
cos(   ) l cos R( )I  0
15
(3.47)
(3.48)
Figure 3.11: Fixed standard wheel
Castor Wheel
Castor wheels are able to steer around a vertical axis
Figure 3.12: Castor Wheel
16
Swedish wheel
Swedish wheels have no vertical axis of rotation, yet are able to move omnidirectionally
like the castor wheel.
Figure 3.13: Swedish wheel
Spherical wheel
A ball or spherical wheel, places no direct constraints on motion.
Figure 3.14: Spherical wheel
17
Ackermann steering
Figure 3.15: Front wheel steering (a)Vehicle with front-wheel steering Ackermann
steering; (b)bicycle
Three-wheel configurations
Figure 3.16: Basic types of three-wheel configuration (a) Differential drive robot with two
individually motorized wheels and a castor wheel; (b) Tricycle with two fixed standard
wheels and one steered standard wheel
18
Basic types of three-wheel configurations
Figure 3.17: The five basic types of three-wheel configurations
References
J.J. Craig (2005). Introduction to Robotics - Mechanics and Control, 3rd Edition, Pearson
Prentice Hall, Upper Saddle, NJ.
K. S. Fu, R. C. Gonzalez, and C. S. G. Lee, (1987). Robotics: Control, Sensing, Vision,
and Intelligence, McGraw-Hill Inc., International Edition.
Y. Korem (1985). Robotics for Engineers, McGraw-Hill Book Company, New York.
R. M. Murray, Z. Li, and S.S. Sastry (1994). A Mathematical Introduction to Robotic
Manipulator, CRC Press.
R.P. Paul (1982). Robot Manipulators: Mathematics, Programming and Control, The MIT
Press, Cambridge.
R. J. Schilling (1990). Fundamentals of Robotics: Analysis and Control, Prentice Hall,
Englewood Cliffs, New Jersey.
Siegwart, R., Nourbakhsh, I.R., and Scaramuzza, D. (2011) Introduction to Autonomous
Mobile Robots, The MIT Press, Cambridge.
M. Xie (2003). Fundamentals of Robotics: Linking Perceptions to Action, World
Scientific, New Jersey, London, Singapore, Hong Kong.
19