Lec13 PDF
Lec13 PDF
Lecture - 13
Robot Kinematics (Contd.)
So, we have seen how to determine the 3 × 3 matrix corresponding to rotation about Z by
an angle θ.
Similarly, we can find out the rotation about X by an angle θ and that is nothing but 1, 0,
0; 0, cos θ, minus sine θ; 0, sine θ, cos θ; then, rotation about Y by an angle θ in the
anticlockwise sense is cos θ, 0, sine θ; 0, 1, 0; minus sine θ, 0, cos θ.
Now, I am just going to discuss the properties of rotation matrix. The first one: each row
or column of a rotation matrix is a unit vector. That means, if I just concentrate on this
particular rotation matrix, like each row. For example, if I consider the first row that is
your cos θ, 0, sine θ. Now, this is the unit vector representation; that means your
(cos 2 θ + 0 + sin 2 θ ) =1 Similarly, if I concentrate on a particular column then, cos θ, 0,
The next is the inner product or the dot product of each row of a rotation matrix will
become equal to 0. So, if I concentrate on a particular row or if I concentrate on a
particular the column: for example, say if I concentrate on this particular the row, that is,
cos θ, 0, sine θ and the second row is 0, 1, 0.
And, if I try to find out their inner product or their dot product, the inner product of the
first row, and the second row it is nothing but c os θ × 0 + 0 ×1 + sin θ × 0 =0 . Similarly, if
I consider the two columns of the rotation matrix like the first column, that is, cos θ, 0, -
sinθ and 0, 1, 0. And, if we try to find out the inner product this will become equal to
c os θ × 0 + 0 ×1 − sin θ × 0 =0 . So, this is the way actually we can check the second
property of this particular rotation matrix, that is, an inner product of each row or each
column of a rotation matrix with each other row becomes equal to 0.
Next property is the rotation matrices are not commutative in nature; that means, it
depends on the sequence. So, sequence is very much important, while writing down the
rotation matrix. For example, say ROT ( X , θ1 ) ROT (Y , θ 2 ) ≠ ROT (Y , θ 2 ) ROT ( X , θ1 ) .
Now, if I calculate the left hand side and determine the right hand side separately and try
to compare, we will see that they are not equal. That means, this particular rotation
matrix depends on the sequence, thus, the way, the sequence along which we are writing
down these rotation matrices and they are not commutative in nature. The next property
is the inverse of a rotation matrix is nothing but it is transpose. So, if it is a pure rotation
matrix, then if you want to find out the inverse of that particular rotation matrix, it is very
easy. So, what you can do is: if we can find out the transpose of that particular rotation
matrix, that will be equal to its inverse.
For example, say if I see that ROT ( X , θ ) −1 = ROT ( X , θ )T but, this is true only when,
this is a pure rotation matrix. Now, if there is a any such translation term, this particular
condition will not hold good. Now, here, I have written another thing that is ABT = BAT −1 ,
ok?
Now, this is very much essential because say we want to find out a particular joint with
respect to the previous and the reverse, that is, this particular joint with respect to the
next and for that what you need is, this particular inverse we will have to find out and
A
BT = BAT −1 . So, this particular condition we can use.
Now, I am just going to solve one numerical example based on the theory, which I have
already discussed. Now, for this numerical example, the statement is as follows: a frame
B. So, B is nothing but a body coordinate frame is rotated about X_U, that is, the X axis
of the universal coordinate system by 45 degrees. So, this is positive 45 degrees; that
means, the anticlockwise direction and translated along X_U, Y_U and Z_U by 1, 2, and
3 units, respectively. Let the position of a point Q in B is given and this is given by 3, 2,
1 transpose, then how to determine the position of that same point with respect to the
universal coordinate system, that is, Q with respect to U.
So, here, the way we will have to find out it, is very simple. So, this U=
Q U
B R × BQ , and
of course, this is a vector so, we will have to put this vector sign. So, if I can find out this
rotation of B with respect to U and I know this Q with respect to B so, very easily, I can
find out what is Q with respect to U. Now, how to determine this rotation matrix, that is,
U
B R.
So, once again, let me read that there is a rotation about X_U by an angle 45 degree in
the anticlockwise sense and there are translation along X_U, Y_U and Z_U by 1, 2 and 3
units, respectively. So, by using that particular information, what I will have to do is so: I
will have to find out what should be this particular UB R .
Now, this UB R if you see the rotation term, the rotation terms is nothing but 1, 0, 0; 0, cos
θ, -sinθ; 0, sinθ, cosθ; now, here, theta is nothing but 45 degrees. So, this is actually
nothing but this particular rotation about X_U by an angle 45 degrees and these are
nothing but the translation terms.
So, I will be getting the transformation matrix corresponding to that particular rotation
U
and that is nothing but this 4 × 4. In fact, although I have written there it is B R . Truly
speaking, corresponding to that it should be your UBT . So, if I write UBT , then it will carry
actually the 4 × 4 matrix and this is multiplied by 3 2 1 1 and these (3 2 1) is nothing but
the position terms, that is, Q with respect to B.
So, Q with respect to B and if I know actually, we will have to find out Q with respect to
U and truly speaking, this is nothing but UBT multiplied by actually Q with respect to B.
Now, Q with respect to B is this much, and this UBT is nothing but this much and if I just
multiply, this is a 4 × 4 matrix and this is a 4 × 1 matrix, and if I multiply then, I will be
getting this particular the 4 × 1 matrix and this is nothing but Q with respect to U.
So, very easily, we can find out, what is this particular the Q with respect to U. So, Q
with respect to U, you can find out.
Now, let us try to concentrate on this particular rotation matrix, that is called the
composite rotation matrix. Now, I have already discussed that while writing this
particular rotation matrix, the sequence is very important and we will have to follow a
particular sequence, otherwise altogether you will be getting the different the final results
and that is why, to write down this particular rotation matrix all of us, who work on
robotics, follow one rule that is called the composite rotation matrix rule.
Now, the rule is as follows: the composite rotation matrix representing a rotation of α
angle about Z axis followed by a rotation of β angle about Y axis followed by a rotation
of γ angle about X axis is written in this particular the format. The rule is as follows:
whatever I state first; that means, the rotation about Z by an angle α, that particular thing
will be written at the last, that is rotation about Z by an angle α will be written at the end
followed by the rotation of β about Y axis; so rotation of β about Y axis is followed by
the rotation of a γ angle about X axis. So, ROT ( X , γ ) is written first.
Now, for each of these, actually we can find out like what should be the 3 × 3 matrix. So,
this is a 3 × 3 matrix, this is also a 3 × 3 matrix and this is also a 3 × 3 matrix. Now, if I
multiply then finally, we can find out one 3 × 3 matrix and that is nothing but the
composite rotation matrix. So, we can find out the 3 × 3 matrix, that is nothing but
ROT_composite, that is the composite rotation matrix. Now, this particular rule is
actually followed by the whole robotics community, just to write down, whenever there
is rotation term.
Now, here, I am just going to take some examples and I am going to show you that this
particular rule is correct. So, indirectly, I am just going to prove that this particular rule
that is the rule, for the composite rotation matrix is correct.
(Refer Slide Time: 12:41)
So, here, till now, whatever we have seen is: we have expressed position in terms of the
Cartesian coordinate system and we have seen that, in terms of Cartesian coordinate
system, the position can be expressed in terms of a vector and that is nothing but a 3 × 1
matrix. For example, say the position vector is nothing but say q_x, q_y, q_z and once
again, let me repeat that this is nothing but a position vector in matrix form, this is
nothing but a 3 × 1 matrix. Now, the same position can also be expressed in other
coordinate system now that I am going to discuss.
Now, here, supposing that the problem is as follows: so I have got the universal
coordinate system and in this particular universal coordinate system, this is nothing but
X_U, Y_U, and Z_U. Now, supposing that I have represented a particular point, that is
nothing but Q with respect to U. So, in Cartesian coordinate system if I want to represent
this, it is very easy. So, if I know the translation along X direction, if I know the
translation along Y direction and if I know the translation along Z direction. So, very
easily, I can find out this Q with respect to U in Cartesian coordinate system.
Now, here, my aim is to reach the same point using the cylindrical coordinate system; so
how to reach, we take the help of these steps. So, in step one, we start from the origin O.
So, this is the origin O and then, we translate by r units along X_U. So, from here, we
translate by r unit along X_U. So, I am here the next is the rotation in a anticlockwise
sense about Z_U axis by an angle θ. So, I am here now, I am taking rotation about this
particular Z_U by an angle θ in the anticlockwise sense. So, I am here so, this is my
position. Now, the next is translate along Z_U axis by Z unit. So, starting from here, we
translate along this particular Z direction by this small z unit, and I am just going to
reach the same point, that is nothing but Q with respect to U.
(Refer Slide Time: 15:52)
Now, this particular sequence, if I just take the help of the rule for the composite rotation
matrix, I can find out the final transformation matrix or if I want, I can find out the
corresponding rotation matrix also, but, here, I am interested mostly in position.
So, what I can do is: I can find out the transformation matrix. So, T_composite, that is,
the transformation matrix corresponding to this particular composite, whatever I stated
first that will go to the last, that is translation along X_U by r unit followed by rotation
about Z_U by theta followed by translation along Z_U by z. Now, corresponding to each
of these particular things, we can write down the 4 × 4 matrix. For example, say
corresponding to this rotation about Z_U by an angle θ, I can write down very easily this
particular transformation matrix, that is, 4 × 4.
For example, say, this will be the cos θ, - sinθ, 0; then comes sine θ, cosθ, 0; 0, 0, 1 and
this is the pure rotation so, the translation terms will be 0. So, 0 0 0 and of course, I have
got the fourth row, that is, 0 0 0 1. So, this is nothing but the rotation about Z_U by an
angle theta in 4 × 1 matrix form. Similarly, I can also find out the translation along X_U
by an angle r, sorry by r.
Now, this translation it is a pure translation. So, this rotation terms will be nothing but a
3 × 3 identity matrix. So, very easily, I can write down this particular thing, for example,
say the TRANS ( X U , r ) so, this can be written in the matrix form in a 4 × 4 form as
follows: So, this is 1 0 0; 0 1 0; 0 0 1. So, this is nothing but the rotation term, this is an
identity matrix. Then, along X_U, I have got r translation, then Y it is 0, Z it is 0 and the
fourth row is 0 0 0 1.
So, similarly, I can also write down the 4 × 4 matrix corresponding to this
TRANS ( ZU , z ) . Now, I am getting 3 matrices each having 4 × 4 dimensions and if I just
multiply, then finally, I will be getting this particular 4 × 4 matrix. Now, in this 4 × 4
matrix, these particular terms are going to represent the position terms. For example, say
in Cartesian whatever was q_x that is nothing but r cos θ , whatever was q_y that is
nothing but r sin θ . Similarly, your q z is nothing but is equal to z. So, this particular
relationship between the Cartesian coordinate system and this particular the cylindrical
coordinate system, I can establish very easily using the rule of the composite rotation
matrix.
Now, all of us, we know that the relationship between the Cartesian coordinate system
and the cylindrical coordinate system is nothing but this, that is, q_x equals to r cos θ ,
q_y equals to r sin θ . So, these are actually very well-known relationships between the
Cartesian coordinate system and the cylindrical coordinate system. So, the rule for
composite rotation matrix, whatever we have used, that is correct. So, this is the way,
actually, indirectly, we can prove the correctness of this particular rule for composite
rotation matrix.
So, in step – 1: starting from the origin O, we translate along Z_U axis by r. So, this is
nothing but the origin of this particular coordinate system. So, starting from here, along
this particular Z_U, we translate by r units, I am here, this is by r units. Now, the next is,
rotate in anticlockwise sense about Y_U by an angle α. So, this is nothing but my Y_U
axis so, about Y_U, I just rotate by α in the anticlockwise sense. So, whatever was here,
this particular thing will be rotated something like this.
So, let me repeat, supposing that this is along this particular Z_U and here, say I have
got, Y_U axis. So, I am just rotating about this particular Y_U. Now, it will be rotated
something like this and after that, we take another rotation, that is, rotation in
anticlockwise sense about Z_U by an angle β.
So, now, I am rotating about Z_U by an angle β so, there is a possibility that I am going
to reach this particular point, that is, nothing but Q with respect to U. So, what we do, let
me repeat again, I am just going to translate it, translate along the Z by r units, after that I
am just going to rotate about Y_U by an angle α and after that we are going to rotate
about Z_U. So, this is nothing but Z_U, so rotate by an angle β. And, then, I will be able
to reach this particular point. So, with the help of one translation and two rotations I am
just going to reach this particular point.
(Refer Slide Time: 23:00)
Now, all such translation and rotations, if I just write with the help of this composite
rotation matrix, I will be getting this particular form, that is, your that transformation
matrix corresponding to this composite. Now, whatever I stated first, will go to the last.
So, translation along this particular Z_U by r unit, so I will have to write at the end,
because that I stated first, followed by the rotation about Y_U by α, followed by rotation
about Z_U by an angle β.
And, as I discussed this particular 4 × 4 matrix, I can write down, and all of us we know
how to multiply like these two matrices and so, it is having the dimension of 4 × 4, this is
once again like the 4 × 4. So, these 4 × 4 matrices we can multiply and then, you will be
getting one 4 × 4 matrix, and that particular 4 × 4 matrix, we can multiply with this, then,
I will be getting this final 4 × 4 matrix.
Now, in this particular 4 cross 4 matrix, actually, the position terms are denoted by these
three, that means, in Cartesian, what is q_x that is nothing but r sin α cos β and q_y is
nothing but your r sin α sin β and q_z is nothing but is your r cos α . Now, here, if I
know, in this Cartesian coordinate system, the same point I can also represent in the
spherical coordinate system; that means, this is the known relationship between the
Cartesian and the spherical coordinate systems. So, once again, actually, I have a re-
derived.
So, this particular relationship between your the Cartesian and the spherical coordinate
systems is actually known to us and this is another indirect proof for this particular rule
of composite rotation matrix. That means, the position of a point with respect to the
universal coordinate system can be expressed in Cartesian coordinate system in
cylindrical coordinate system, and in spherical coordinate system. And, that is why, the
same robot can be actually controlled either in Cartesian coordinate system or cylindrical
coordinate system or in spherical coordinate system.
Now, here, actually, I am just going to express and discuss how to represent the
orientation other than the Cartesian coordinate system. So, the position we have seen that
we can represent in other coordinate system. Now, I am just going to show like, how to
represent the orientation with respect to the other coordinate system.
For example, in terms of Cartesian, we have already discussed that we take the help of
like 3 × 3 matrix to represent the orientation. Now, if we remember, we have seen that
with the help of this normal vector, sliding vector and approach vector actually we can
represent this particular orientation, n_x, n_y, n_z; s_x, s_y, s_z; a_x, a_y, and a_z. So,
this is nothing but the 3 × 3 rotation matrix in Cartesian to represent the orientation.
These I have already discussed in details. Now, this n stands for the normal vector, s
stands for the sliding vector and a stands for the approach vector.
Now, if I just draw once again the same picture like one end-effector with two such
fingers for a particular manipulator, so very easily, actually, I can represent; these are the
normal vector, sliding vector and approach vector. So, if this is the end-effector with two
fingers, the normal vector is nothing but this, and the sliding vector is nothing but this,
and the approach vector is nothing but this. This is how to represent the orientation in
terms of your Cartesian coordinate system.
So, now, we will be discussing how to represent the same orientation in other coordinate
system.
Thank you.