2nd Module
2nd Module
1.0 INTRODUCTION
A conventional industrial robot to perform tasks like move to locations, picking up objects,
placing objects, moving objects, rotating the objects and working on the objects needs sufficient
information. The first part of information is about instructions on where the object in 3D space
is located, where the robot base is situated and where the gripper is positioned and also various
joints and links are located at a particular time. The second part of information is to contain data
on what to be done such as moving the gripper on to the object, orientating the gripper in such a
way to carefully grasp the object, lift the object, move the object in a certain direction, rotating
the object in a certain way, and placing the object in a required orientation. The second part is
created by programming the robot so that it performs these smaller efforts towards completing
a major task. Several high-level software platforms are available for programming each variety
of robot and these make the second part easier. These programs obviously require data that is
created through the first part of information. Generating data through the first part requires a
careful description of locations of object, gripper, robot base and joints in terms of position
and orientation in a 3D space to study the location and orientation of the object when the robot
begins and completes a task. This involves basic vectors and their transformations in 3D. In
robotics, these vectors and transformations are defined in a different way known as
homogeneous vectors and homogeneous transformations in three dimensions.
Fig.1 Vector p
The point p can be transformed to a new point =[a1,b1] by means of a (2×2) transformation
matrix P such that p1=P×p where
1
= (3)
Let us describe a few transformation matrices that transform the vector p to p1.
1 0
0 1
(a) No change: P= ; P is an identity matrix
3 0
0 1
(b) x-scale change: P= ; x-scale factor is 3; =[3a,b]
1 0
0 4
(c) y-scale change: P= ; y-scale factor is 4; =[a,4b]
3 0
0 4
(d) Both x-scale and y-scale changes P = ; x-, y-scales are independent; =[3a,4b]
(e) Orientation of vectors: The vector p has a magnitude and angle as represented in
Equation (2). A new vector p1 can now be obtained by a rotation of the vector p about the
origin to an angle . The angle is considered as positive if rotation is counterclockwise. The
rotation can be regarded as a compound scale change; that is, x -scale and y-scale are dependent
on each other.
The (2×2) transformation matrix P produces a rotation of p ,o about the origin of (X,Y) plane.
This transformation matrix P defines the orientation of vector p1 with respect to vector p.
2
(f) Orientation of frames: Let us assume that the magnitude of vector p shrinks to 0; that is, m
= 0. This imaginary vector may be considered as a point object located at the origin O of (X, Y)
frame. In robotics, every object has its own coordinate system and hence has its own origin. Let
this origin be represented as Oo. Figure 3(a) describes such a situation. At this instant, frame O
and frame Oo coincide. Let us call the coordinates of point object as (Xo,Yo) and the position of
the point object as Oo.
Fig. 3 Transformation of Point Object Oo: (a) O and Oo coincide, (b) Translation of Oo and
(c) Translation and Rotation of Oo
3
Now, the point object is moved through ‘a’ units along the X-axis and through ‘b’ units along
the Y-axis. We call the motion along the x-direction and y-direction as translation. Such a
translation results in a transformed position of Oo. The point object carries its coordinate frame
(Xo, Yo) as it translates. This translation is illustrated in Figure 3(b).
Further, the point object is rotated about the origin O of (X ,Y) by an angle to reach (a1,b1).
During this rotation, the frame (X,Y) is also rotated to the same angle with respect to O (Fig.
3(c)). Then, the orientation of (Xo,Yo) with respect to (X,Y) is defined by the transformation
matrix which is identical to Equation (6) as
cos − sin
"=# $
sin cos
(7)
Example-1:
Let the origins of (X, Y) and (Xo, Yo) frames be O and Oo respectively. Let the origin Oo be
shifted 2 units along the x-axis, 1 unit along the y-axis and rotated 900 about O. What are the
new position and orientation of Oo?
Solution:
Due to translation, the origin Oo reaches a point [2, 1]T in the (X,Y) frame. After rotation, the
new position of Oo is obtained using Equation (7) as
−1 0 −1 2
=
2 1 0 1
0 −1
1 0
and the orientation matrix is .
Both in the above discussion and in Example 1, it can be realized that the transformation matrix
contains the information on rotation and not the information on translation. It will be useful if
the transformation matrix has both these information so that with an observation on the
transformation matrix, one can easily estimate the final orientation and translation of the object
with respect to O if the object undergoes several translations and rotations. For this the concept
of homogeneous transformation is defined that utilizes a set of new forms of vectors and
matrices.
4
By using these homogeneous (3×1) vectors in all computations, the transformation matrix has
to be of (3×3) form. This has the following form with the sub-matrices 1, 2, 3 and 4.
1 2
P= (9)
3 4
Sub-matrix 1: This is a (2×2) sub-matrix representing the rotation (or orientation) similar to
Equation (6). Every rotation of object by an angle about the origin of the (X, Y)
frame creates this sub-matrix.
Sub-matrix 2: This is a (2×1) sub-matrix representing the translation along the axes of the (X,Y)
frame. After a number of translations, the sub-matrix 2 gives the final position of
the object in the (X, Y ) frame.
Sub-matrix 3: This is a null vector of dimension (1×2).
Sub-matrix 4: This is a scalar that has the value of scale factor 1.
Example-2:
Consider the problem given in Example-1. The point object Oo with respect to the (X,Y) frame
originally coincides with O. Then the point object is represented by the homogeneous vector
[0,0,1]T. Three transformations are done in three consecutive stages: (i) Oo is moved 2units in the
X-direction, then (ii) it is moved 1 unit in the Y-direction and then (iii) rotated 900about the origin
O. Determine the final position and orientation of the point object.
Solution:
We shall consider these transformations one by one:
(1) Translation along the X-axis
We create the transformation matrix with the sub-matrix 1 as an identity matrix indicating no
rotation (or orientation) and the sub-matrix 2 indicating 2 units translation in the X-direction and
0 unit in the Y-direction. The position of Oo is now [2,0]T
Transformation matrix indicates the Y-axis translation of 1 unit without any rotation. Thus,
the position of Oo is [2,1]T
5
Transformation matrix indicates a rotation of 900 about origin O with no translation. The final
position is [1,2]T
The sequence (i), (ii) and (iii) can be combined without changing the order of transformations
as
thus forming a compound transformation matrix which has the information on two translations
and one rotation.
(10)
When the object is translated and rotated, every point on the object is translated and rotated.
This is illustrated in the following Example-3.
Fig. 4 Object M
Example-3
The square object M of 1 unit side is placed in the (X,Y) frame. Describe the position of the
object when it is translated -1 unit and 2 units along the X-axis and the Y-axis, respectively and
then rotated about the origin O by 900.
Solution:
When the transformation matrix is H, the new location of the object is described by
6
The transformed object is given in the following figure. Note the new locations of the corner
points.
The 3D vector [a,b,c]T in the (X Y Z ) space can now be represented by a (4×1) homogeneous
vector as [aw,bw,cw,w]T where w is the scale factor; hence denotes the same
3D vector, [5.0, 2.5, 4.0]T. We follow the usual convention of maintaining the scale factor 1
7
(11)
The homogeneous transformation matrices, now, are of (4×4) dimensions. The general form of
transformation matrix is
(12)
The homogeneous transformation matrix may be interpreted as defining a relationship between
two frames in terms of how far are their origins separated and the way of orientation of one
frame to the other
Sub-matrix 1: This is a (3×3) sub-matrix referred to as the rotation or orientation between two
frames–the reference frame and the new frame. Every rotation of the new frame
about the X, about the Y, and about the Z axes of reference frame creates this
sub-matrix
Sub-matrix 2: This is a (3×1) sub-matrix representing the translation vector that gives the
position of the origin of new frame with respect to the origin of the reference
frame.
Sub-matrix 3: This is a null vector of dimension (1×3).
Sub-matrix 4: This is a scalar representing the scale factor 1.
A vector is a point in a the 3D frame (X,Y,Z); it can be translated parallel to the X,Y, and Z axes
of the frame and can also be rotated about each of the X,Y, and Z axes to get a new vector. This
is known as transformation. For instance, a homogeneous vector is transformed into
homogeneous vector by the following matrix operation:
u = Hv (13)
where H is the homogeneous transformation matrix.
8
(14)
Example-4
A vector [25,10,20]T is translated by a distance of 8 units in the X-direction, 5 units in the
Y-direction and 0 units in the direction of Z Determine the translated vector.
Solution:
The transformation matrix is
Rotations of a vector (Rot) about each of the three axes by an angle q are accomplished by
rotation transformation matrices. The rotation transformation matrix about the X-axis is
(15)
(16)
and about the Z-axis
9
(17)
Example-5
A vector [1,1,0]T is described in a reference frame (X, Y, Z ) and is rotated by an angle 450 about
the Z-axis; determine the transformed vector, u.
Solution:
The transformation matrix corresponding to the rotation about the Z-axis has been derived.
Hence, the required transformed vector, u , is computed as
The transformed vector, u, occupies the new position [0,1.414,0]T in the reference frame
(X,Y,Z).
Example-6
A frame coincident with a reference frame (X,Y,Z) is rotated by 900 about its Z-axis to obtain a
new frame (Xn,Yn,Zn). What is the orientation of this new frame with respect to the reference
frame?
Solution:
The (3× 3) partition matrix is the orientation of the new frame (Xn,Yn,Zn) with respect to reference
frame (X,Y,Z).
The above equation and figure depict the reference frame and the new frame after the rotation
10
about the Z–axis. The H matrix in the equation shows that X and Y are in opposite directions
(as indicated by the (X,Yn) element -1). H also shows that the Y and Xn and Z and Zn are in the
same directions.
Example-7
The figure describes three frames A, B, and C displaced and rotated from one to the other.
Determine
a) transformation matrix )*+ which transforms A frame to B frame,
b) transformation matrix )+, which transforms B frame to C frame and
c) transformation matrix )*, which transforms A frame to C frame
Solution:
(a) Frame B is obtained through a set of manipulations with respect to frame A’s axes:
(i) Rotating frame A for an angle of 900 about its Z-axis to get an intermediate frame I (let
us call it as an intermediate frame I)
(ii) Moving the I frame along frame A’s X-axis for a distance of 3 units to get frame B
Hence
(b) Frame C is obtained through a set of manipulations with respect to frame B’s axes:
(i) Rotating frame B for an angle of 900 about its X-axis to get the I1 frame
(ii) Rotating I1 frame for 180o about frame B’s Y-axis to get I2 intermediate frame frame
(I2 is another intermediate frame)
(iii) Translating the I2 frame for 4 units along frame B’s X-axis to get frame C. Hence
11
(c) )*, = )*- )+,
Example-7
A robot structure is presented in Fig. 6. A, B and C are the coordinate frames representing
each joint. Only Z-axis is shown in each joint.
The students can try to enter the other two axes. The Z-axis represents the direction or axis of
motion of a joint. Joint A has a rotation represented by the direction of Z of frame A, at joint
B the rotation β is represented by the direction of Z of frame B and joint C has a translation m
12
represented by the direction of Z of frame C. Fig. 6 shows a three-joint, two DoF SCARA
robot. The example has illustrated the procedure
R
for determining the transformation matrix
from a reference frame (R) to a new frame (N), that is, )./ .
If there is a chain of Rframes in the sequence, such as M, P and Q, appear in between frame R
and frame N, then the matrix )./ is obtained through consecutive transformation matrices as
(18)
Example-8
Determine the resultant transformation matrix that represents a set of following manipulations
on an object with respect to a reference frame (X,Y,Z):
(i) Rotation of ° about the X-axis,
(ii) Translation of units along the X-axis
(iii) Translation of d units along the Z-axis
(iv) Rotation of q ° about the Z-axis
What are the position and orientation of the object after the completion of all manipulations?
Solution:
The resultant transformation matrix is the product of transformation matrices of individual
manipulations.
The orientation of the object with respect to X,Y and Z axes is given by the (3×3) sub-matrix.
The position of object from the origin of (X,Y,Z) frame, at the completion of all manipulations,
is indicated by the (3×1) sub-matrix. This set of manipulations is important in the context of
structural modelling a robot of any configuration with parameters {,,a,d}.
13
5.0 INVERSE TRANSFORMATION
)*+ represents the forward transformation matrix that defines frame B with respect to frame A.
Then )+* is known as inverse transformation matrix which defines frame A with respect to
frame B. It is obvious that )*+ and )+* are inverse to each other.
The transformation matrix
is inverse of
(19)
It can be verified that )*+ )+* = I, the identity matrix.
In general, getting an inverse of a (4×4) matrix from first principles demands a good level of
computations. The transformation of coordinates is performed by the robot computer and hence
requires less computations to meet real-time control of robot arm. A simpler approach in getting
the inverse is described in the following. This approach is suitable only when the coordinate
axes are orthonormal (i.e.900) to each other.
(20)
-1
then the inverse transformation of H denoted by H is defined as
(21)
Here in the last column, vector
14
Then
Also, from Equations (20) and (21), H denoted by H-1H = I, the identity matrix.
Since all three axes are orthonormal to each other, the dot product (n.o) = (o.a) = (a.n) = 0. It
is easily accepted that the inverse transformation H-1 is to undo the operation accomplished by
the transformation H.
15
Fig. 7 Kinematic Chains: (a) Closed Kinematic Chain and (b) Open Kinematic Chain
In the closed kinematic chain, every link has two joints. All links are rigid and hence the joint
movements are restricted. An end effector attached to an extended link will not produce a
reasonably large work volume. On the other hand, in the open kinematic chain all links have
two joints except the last link at which an end effecter is attached. This is a conventional robot
having a larger work volume.
A conventional robot is depicted in Fig. 8. This has three joints, A, B and C. Each joint is
represented by its coordinate frame. The last link has an end effector. The point T is known as
the tool centre point (TCP). The transformation matrix H connects the consecutive joints.
It is known that )* = )*+ )-, ), . The kinematic chain closes via ) * = [)* ]-1. That is, the
product of all transformation matrices, )*+ )+, ), ) * = )** = I, the identity matrix, thus
establishing a closed kinematic chain.
Such a transformation matrix computed through the rules (1) or (2) or both for all manipulations
is known as the composite homogeneous transformation matrix. This matrix can be obtained
through an algorithm:
Through the following two examples, the concept of composite transformation matrices can be
established. There are two frames O and A as given in Fig. 9. It is required to derive the
transformation matrix that relates frame A with frame O.
17
Fig. 9 Frames O and A
Two approaches are possible: (i) through set of translations and rotations pertaining to the axes
of frame O only and (ii) through a set of translations and rotations pertaining to axes of new
frames consecutively generated.
Example-9
Manipulations with respect to frame O to get frame A, referring to the following figure:
Rule 1
(i) Rot(x,-900 ) frame O to get frame 1, then
(ii) Rot(y,-900 ) frame 1 to get frame 2, then
(iii) Trans(n,m,p) frame 2 with respect to frame O to get frame A.
18
Example-10
Manipulations with respect to the new frames are as shown in the following figure.
Rule 2
(i) Rot(x0, -900 ) frame O to get frame P, then
(ii) Rot(z0, -900 ) to get frame Q, then
(iii) Trans(p,n,m) along (XQ,YQ,ZQ) to get frame A.
19
Example-11
The wedge of unit dimension shown in the following figure is placed in a reference frame O.
Its (or object frame) frame W with axes (XW, YW, ZW) initially coincides with frame O.
(a) Determine the description of wedge in the reference frame.
(b) If the wedge is translated by (2,0,-3) in the reference frame and is rotated by 900 about
its own Y-axis, determine the new description of wedge in the reference frame.
Solution:
a) Wedge is of unit dimension, that is, all sides except ED and FC are of unit length; hence
the description of wedge (in terms of its corners) in its original place is
20
8.0 THE WRIST
Position and orientation are required in manipulating an object. Typically, the arm (with joints
and links) of the robot controls the position of the end effector in space and the wrist controls
the fingers to final orientation. The end effector has two names:
1. Gripper which grasps the object by any means
2. Tool which undertakes a processing operation.
With this definition, drilling a hole is a process of operation and grasping a cement bag by
gripper is another process. To get a six DoF, three DoF can be achieved by translation of the
arms and another three DoF can be created by the rotation of the end effector. However, the
functions of position and orientation cannot be fully decoupled to be separate functions of the
arm and the wrist. Our palm and fingers can form the end effector. Prismatic joints that give
translations are not normally found in human wrists.
It is complex to design a complete three-DoF wrist and such wrists are useful only in special
applications. Fig. 10 shows a typical design of a wrist having three DoF. However, several
designs are available from different manufacturers.
21
The wrist has three rotations, the roll, the yaw and the pitch such that
(a) roll involves rotations of the wrist mechanism about the arm axis
(b) pitch involves the up and down rotations of the wrist
(c) yaw involves the right side or left side rotations
Fig. 11 illustrates the palm and fingers (the gripper) attached at the face plate of wrist. The
articulations of wrist allow the gripper to have three DoF–the roll, the yaw and the pitch. The
gripper axes (X Y Z ) are shown in the two finger form of wrist as in Figure 3.11.
An interesting aspect is to be observed here. When the gripper is mounted to the end effector,
it appears that the TCP (marked as T in Fig. 11) will be changing its position whenever the
wrist articulates. It is true unless compensated by extra articulations of arms. That is, when we
command the robot to bring the TCP to a position in the 3D space, the robot joints adjust within
themselves in such a way that the TCP reaches the defined position. Such adjustments in robot
joints are possible in some of robot software so that we are guaranteed that the TCP reaches
the point we define.
In some cases, the axis directions are also referred to as the following:
X-axis is known as ‘n’ , the normal axis (normal to Y and X axes).
Y-axis is known as ‘o’ , the orientation axis (axis goes through the fingers)
22
Z-axis is known as ‘a’ , the approach axis (axis approaching an object).
However, the fixing of TCP and the directions of vectors, and depend on the geometry of the
gripper.
Example-12
The following figure describes a robot vision system. The robot is controlled on the basis of
information received by the camera. It is required that robot has to align its gripper so that the
object is properly gripped by the gripper.
where C, O and B stand for coordinate frames at the camera, object and base, respectively.
Then,
(a) What is the position of the centre of object with respect to the base coordinate frame?
(b) What is the orientation matrix if the robot has to pick-up the object from its top?
Solution:
Let us first observe how the transformation matrices given relate to the respective coordinate
axes:
23
The origin of B is away by [-10, 20, 10]T from the origin of C.
The above descriptions help us to illustrate the C, O and B frames in the following figure as
(a) We have to find out the transformation of O fromB B, that is, T O matrix. This can be derived
as
The position of origin of frame O is at [11, 10, 1]T units from the origin of frame B.
(b) If the robot has to pick up the object from its top, there are two possibilities as indicated in the
following figure. In both cases, the object orientation is fixed at the frame (XO YO, ZO).
24
(Two Possibilities of Gripper Orientations: (a) Gripper Orientation 1 and (b) Gripper
Orientation 2)
However, there are two possibilities of gripper frame (n, o, a) by which it can grip the object.
From the above figure, it is possible to determine the relationship between the object frame and
the gripper frame.
Reference(s):
1. Ramachandran Nagarajan, “Introduction to Industrial Robotics”, Pearson Ed.
25