ME424 201516 Unit4
ME424 201516 Unit4
ME424 A Unit4
Learning Objectives
1
ME424U4ChLS201516
TRANSFORMATIONS & KINEMATICS
The purpose of this unit is to study the concepts of homogenous coordinates and coordinate
transformations, when utilized in the frame work of the kinematics of robots, these concepts
provide a concise mathematical formulation to describe the position and orientation of a
manipulator.
The topics included here are:
1) Homogeneous coordinates
2) Transformations
3) Coordinate reference frames
4) The forward solution (Kinematic equations) or (forward kinematics)
5) Reverse solution (back solution) or (Inverse kinematics)
6) Transformation matrices applied to motion control
The forward kinematics will enable us to determine where the robot’s end (hand) will be, if all
joint variables are known.
Inverse kinematics will enable us to calculate what each joint variable must be, if we desire that
the hand be located at a particular point and have a particular orientation.
2
ME424U4ChLS201516
Figure 4.2 Robot and Joint measurements
The control strategy used in most robots is based on the ability to control the position of
the joints; the most natural reference frame for a robot is defined by its joints. With the control
system monitoring and controlling joint positions and velocities, it is quite simple to move the
robot about by changing the positions of each of its joints. A particular position of the
manipulator or its tool may be defined in terms of a set of joint positions. Figure 4.2 shows a
five joint manipulator with a set of ‘rulers’ attached to each of its joints. By selecting a point on
each of the rulers as a reference point, the position of each joint may be defined. Joint Space is
defined as the space, in which the position of the manipulator is described by a joint vector
whose components are the positions of each joint. A point in a robot’s work volume is in its
joint space. Figure 4.3 shows the robot of Figure 4.2 tracing out a plane in its workspace.
3
ME424U4ChLS201516
Figure 4.3 Robot and plane in its workspace
ROBOTS AS MECHANISMS
Manipulator type robots have multiple degrees of freedom (DOF) are three dimensional, are
open loop, and are chain mechanisms. In a 1 DOF system, when the variable is set to a
particular value, the mechanism is totally set, and all its other variables are known.
For example, as shown in the above figure 4.4, when the crank is set to 1200, the angles of the
coupler link and the rocker arm are also known. However, in multi DOF mechanism, all input
variables must be individually set in order to know the remaining parameters. Robots are such
machines, where each joint variable must be known in order to know where the hand of the
robot is.
Robots are 3-D machines, if they are to move in space. Robots are open loop mechanisms,
unlike mechanisms that are closed loop (e.g. 4 bar mechanism), even if all joint variables are
set to particular values, there is no guarantee that the hand will be at the given location. This is
because if there is any deflection in any joint or link, it will change the location of all
subsequent links without feedback.
4
ME424U4ChLS201516
Figure 4.5 Closed loop (a) versus open-loop mechanisms
In figure 4.5(a), if the link AB deflects, it will affect link O2B, where as in an open loop system
such as the robot, the deflections will move all succeeding members without any feedback. As
a result, in open-loop systems, either all joint or link parameters must be continuously
measured (or) the end of the system must be monitored. Otherwise, the kinematic position of
the machine is not completely known. This difference can be expressed by comparing the
vector equations describing the relationship between different links of the two mechanisms as
follows:
O + = + ---------- (1)
O + + = ------ (2)
As we can see, if there is a deflection in link AB, O2B will move accordingly. However,
the two sides of equation 1 have changed corresponding to the changes in the links. On the
other hand, if link AB of the robot deflects, all subsequent links will move too. However,
unless O1C is measured by other means, the change will not be known. To remedy this
problem, in open loop robots, either the position of the hand is constantly measured with
devices such as a camera, the robot is made in to a closed loop system with external means
such as the use of secondary arms or laser beams or as is the standard, the robot’s links and
joints are made excessively strong to eliminate all deflections. The last method renders the
robot very heavy, massive, and slow. And its specified payload is very low compared with what
it actually can carry.
5
ME424U4ChLS201516
MATRIX REPRESENTATION
Matrices can be used to represent points, vectors, frames, translations, rotations,
transformations, as well as objects and other kinematic elements. (Figure 4.6)
Representation of a Point in Space
A vector can be represented by three coordinates of its tail and its head. If the vector
starts at point A and ends at point B, then it can be represented by;
PAB = (Bx – Ax) i + (By – Ay) j + (Bz – Az) k.
Specifically, if the vector starts at the origin, then;
P = ax + byj + czk
Where ax, by, and cz are the three components of the vector in the reference frame. In
fact, point P in the previous section is in reality represented by a vector connected to it at point
P and expressed by the three components of the vector. (Figure 4.7)
6
ME424U4ChLS201516
Figure 4.7 Representation of a vector in space
The three components of the vector can also be written in matrix form, as given below:
P=
This representation can be slightly modified to also include a scale factor w such that if P x, Py,
and Pz are divided by w, they will yield ax, by, and cz. Therefore the vector can be written as:
P= where ax = , by = , and cz =
Where w may be any number and as it changes, it can change the overall size of the vector.
This is similar to the zooming function in computer graphics. As the value of w changes, the
size of the vector changes accordingly. If w is bigger than 1, all vector components enlarge; if
w smaller than 1, all vector components become smaller.
When w is 1, the size of these components remains unchanged. However, if w=0, then a x, by,
and cz will be infinity. In this case, Px, Py, and Pz (as well as ax, by, and cz) will represent a
vector whose length is infinite but nonetheless is in the direction represented by the vector. This
means that a direction vector can be represented by a scale factor of w=0, where the length is
not important, but the direction is represented by the three components of the vector.
7
ME424U4ChLS201516
EXAMPLE PROBLEM 4.1
A vector is described as P = 3i + 5j + 2k. Express the vector in matrix form:
(a) With a scale factor of 2.
(b) If it were to describe a direction as a unit vector.
SOLUTION:
The vector can be expressed in matrix form with a scale factor of 2 as well as 0 for
direction as:
6 3
10 5
P= and P=
4 2
2 0
However, in order to make the vector into a unit vector, we normalize the length to be
equal to 1. To do this each component of the vector is divided by the square root of the sum of
the squares of the three components:
λ= + + = 6.16 and
SOLUTION:
The unit vector’s length must be 1. Therefore,
λ= + + = 0.138 + 0.310 + =1
8
ME424U4ChLS201516
0.371 1.885
0.577 2.785
qunit = and p=qx5=
0.743 3.715
0 1
VECTROR OPERATIONS:
Many operations may be performed on vectors. These include the typical ones, such as
addition, subtraction, and multiplication by a scalar. Also, two common vector operations are
the dot product (X.Y) and the vector cross product (X x Y).
The dot product generates a scalar result, while the cross product results in a vector.
These operations are important in determining the normal to a plane and whether points are in a
plane.
SOLUTION:
Cartesian basis representation:
We have x = ai + bj + ck
y = di + ej + fk
Using the definition of the vector dot product, we find that
x. y = (ad + be + cf)
Homogeneous representation:
′ ′ ′ ′ ′ ′
The dot product is given by x .y =
9
ME424U4ChLS201516
EXAMPLE PROBLEM 4.4 (CROSS product equations)
Obtain the Cartesian and homogeneous representations for the cross product of the two
vectors x and y. Given that x = ai + bj + ck and y = di + ej + fk
SOLUTION:
Cartesian basis representation:
× = = ( − )− ( − )+ ( − )
This gives × =( − ) +( − ) +( − )
Homogeneous representation:
′ ′
− ′ ′
⎡ ′ ′
⎤
× =⎢ − ′ ′⎥
⎢ ′ ′
− ′ ′⎥
⎣ ⎦
10
ME424U4ChLS201516
REPRESENTATION OF A FRAME AT THE ORIGIN OF A FIXED-REFERENCE FRAME
Figure 4.8 the normal, orientation and approach axis of a moving frame
The letters n, o, and a are derived from the words normal, orientation, and approach.
Referring to figure 4.8, it should be clear that in order to avoid hitting the part while trying to
pick it up, the robot would have to approach it along the z-axis of the gripper. In robotic
nomenclature, this axis is called approach-axis and is referred to as the a-axis. The orientation
with which the gripper frame approaches the part is called orientation-axis, and it is referred
to as o-axis. Since, the x-axis is normal to both, it is referred to as n-axis. We will denote the
moving frame as Fn, o, a with normal, orientation and approach axes.
A frame is generally represented by three mutually orthogonal axes (such as x, y and z). since
we may have more than one frame at any given time, we will use axes x, y and z to represent
the fixed universe reference frame Fx,y,z and a set of axes n, o, and a to represent another
(moving) frame Fn,o,a relative to the reference frame.
11
ME424U4ChLS201516
Each direction of each axis of a frame Fn,o,a located at the origin of a reference frame Fx,y,z is
represented by its three directional cosines relative to the reference frame.
The three axes of the frame can be represented by three vectors in matrix form as:
F=
If a frame is not at the origin (or in fact even if it is at the origin) of the reference frame,
its location relative to the reference frame is described by a vector between the origin of the
frame and the origin of the reference frame. Therefore, the frame can be expressed by three
vectors describing its directional unit vectors and a fourth vector describing its location as:
F=
0 0 0 1
As shown in figure 4.10, the first three vectors are directional vectors with w=0,
representing the directions of the three unit vectors of the frame Fn,o,a, while the fourth vector
with w=1 represents the location of the origin of the frame relative to the reference frame.
Unlike the unit vectors, the length of vector P is important; consequently we use a scale factor
of 1.
A frame may also be represented by a 3 x 4 matrix without the scale factors, but it is not
common. Adding the fourth row of scale factors to the matrix makes it a 4 x 4 or homogeneous
matrix.
12
ME424U4ChLS201516
EXAMPLE PROBLEM 4.5
The frame F shown in figure 4.11 is located at 3,5,7 units, with its n-axis parallel to x,
its o-axis at 450 relative to the y axis, and it’s a-axis at 450relative to the z-axis. Describe the F
matrix for the frame.
SOLUTION:
13
ME424U4ChLS201516
A frame can be represented by a matrix, where the origin of the frame and the three vectors
representing its orientation relative to the fixed reference frame are expressed.
Therefore, Fobject =
0 0 0 1
A point in space has only three degrees of freedom; it can only move along the three reference
axes. However, a rigid body in space has six degrees of freedom, meaning that not only it can
move along x-, y-, and z-axes, it can also rotate about these three axes. Consequently, all that is
needed to completely define an object in space is six pieces of information describing the
location of the origin of the object in the reference frame and its orientation about the three
axes.
However, as can be seen from the above equation, twelve pieces of information are given: nine
for orientation, and three for position (this excludes the scale factors on the last row of the
matrix because they do not add to this information). Obviously, there must be some constraints
present in this representation to limit the above to six. Therefore we need 6 constraint equations
to reduce the above from twelve to six.
As a result, the values representing a frame in a matrix must be such that the
above equations remain true. Otherwise, the frame will not be correct. Alternatively, the first
three equations can be replaced by a cross product of the three vectors as:
nxo=a
Since, the above equation includes the correct right-hand rule relationship too; it
is recommended that this equation be used to determine the correct relationship between the
three vectors.
14
ME424U4ChLS201516
EXAMPLE PROBLEM 4.6
For frame F, find the values of the missing elements and complete the matrix
representation of the frame.
? 0 −1 5
? 0 0 3
F=
? −1 0 2
0 0 0 1
SOLUTION:
The given frame is given in the form
0 −1 5
0 0 3
F=
−1 0 2
0 0 0 1
From the known relation of frame, we have
nXo=a
Which, implies,
=−
0 0 −1
Or, i (-ny)-j (nx) +k (0) = -1 and therefore, we write:
0 0 −1 5
1 0 0 3
F=
0 −1 0 2
0 0 0 1
15
ME424U4ChLS201516
SOLUTION:
From the known relationship of frame, we write:
| |=1
+ + =1
+ 0.5 + 0 = 1
. ̅=0
(The dot product of n and o vectors must be zero)
| |=1
+ + =1
nXo=a
This implies,
= + +
0.866 0.5 0 = + +
0 0 1
(0.5) − (0.866) + (0) = + +
ℎ ℎ , = 0.5, = −0.866 =0
16
ME424U4ChLS201516
The complete element of the frame becomes:
0.866 0 0.5 3
0.5 0 −0.866 9
F=
0 1 0 7
0 0 0 1
HOMOGENEOUS TRANSFORMATION MATRICES
For a variety of reasons, it is desirable to keep matrices in square form, either 3 x 3 or
4 x 4. First, it is much easier to calculate the inverse of the square matrices than rectangular
matrices. Second, in order to multiply two matrices, their dimensions must match, such that the
number of columns of first matrix must be the same as the number of rows of the second
matrix, as in (m x n) and (n x p), which results in a matrix of (m x p) dimensions. If two
matrices, A and B, are square with (m x m) and (m x m) dimensions, we may multiply A by B
or B by A, both resulting in the same (m x m) dimensions. However, if the two matrices are not
square, with (m x n) and (n x p) dimensions respectively, A can be multiplied by B, but B may
not be multiplied by A, and the result of AB has a dimension different from A and B. since we
will have to multiply many matrices together, in different orders, to find the equations of
motion of the robots, we want to have square matrices.
In order to keep representation matrices square, if we represent both orientation and
position in the same matrix, we will add the scale factors to the matrix to make it 4 x 4. If we
represent orientation alone, we may either drop the scale factors and use 3 x 3 matrices, or add
a fourth column with zeros for position in order to keep the matrix square. Matrices of this form
are called homogeneous matrices, and we refer to them as:
F=
0 0 0 1
17
ME424U4ChLS201516
Multiple reference frames in space
Frame to frame transformation by inspection method for four reference frames shown in figure
4.13 is given below.
0 0 −1 0
0 1 0 0
=
1 0 0
0 0 0 1
0 1 0
0 0 1 0
=
1 0 0 0
0 0 0 1
−1 0 0 0 0 0 −1 0 0 0 1 0
0 0 1 0 0 1 0 0 1 0 0
= = =
0 1 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
18
ME424U4ChLS201516
−1 0 0 0 0 0 −1 0 0 1 0
0 0 1 0 0 1 0 0 0 0 1 0
= =
0 1 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0
0 1 0 +
=
0 0 1
0 0 0 1
The relationship of frame 3 with frame 0 can also be written by visual inspection, which yields
the same result.
REPRESENTATION OF TRANSFORMATIONS
A transformation is defined as making a movement in space. When a frame (a vector,
an object or a moving frame) moves in space relative to a fixed reference frame, we represent
this motion in a form similar to a frame representation. This is because a transformation is a
change in the state of a frame (representing the change in its location and orientation);
therefore, it can be represented like a frame. A transformation may be in one of the following
forms:
A pure translation
A pure rotation about an axis
A combination of translations and/or rotations
1 0 0
0 1 0
T=
0 0 1
0 0 0 1
19
ME424U4ChLS201516
Where, dx, dy, and dz are the three components of a pure translation vector d relative to the x-,
y-, and z- axes of the reference frame. The first three columns represent no rotational
movement (equivalent of a 1), while the last column represents the translation.
Important Notes:
Suppose that instead of a frame, a point P=(3,5,7)T in space was translated a distance of
d=(2,3,4)T. Find the new location of the point relative to the reference frame.
20
ME424U4ChLS201516
SOLUTION:
As for a frame,
1 0 0 2 3 5
0 1 0 3 5 8
= =
0 0 1 4 7 11
0 0 0 1 1 1
EXAMPLE PROBLEM 4.9
The following frame B was moved a distance of d= (5, 2, 6)T. Find the new location of the
frame relative to the reference frame.
0 1 0 2
1 0 0 4
=
0 0 −1 6
0 0 0 1
SOLUTION:
The transformation matrix representing the translation is used to find the new location as:
1 0 0 5 0 1 0 2 0 1 0 7
0 1 0 2 1 0 0 4 1 0 0 6
= =
0 0 1 6 0 0 −1 6 0 0 −1 12
0 0 0 1 0 0 0 1 0 0 0 1
To simplify the derivation of rotations about an axis, let us first assume that the frame is at the
origin of the reference frame and is parallel to it.
Figure 4.15 coordinates of a point in a rotating frame before and after rotation
21
ME424U4ChLS201516
Figure 4.16 coordinates of a point relative to the reference frame and rotating frame as viewed
from the x-axis.
Let’s assume that a frame Fnoa, located at the origin of the reference frame Fxyz, rotates an angle
of θ about the x-axis of the reference frame. Let’s also assume that attached to the rotating
frame Fnoa, is a point p, with coordinates px, py, and pz, relative to the reference frame and pn,
po, and pa relative to the moving fame.
As the frame rotates about the x-axis, point p attached to the frame will also rotate with it.
Before rotation, the coordinates of the point in both frames are the same. After rotation, the p n,
po, and pa coordinates of the point remain the same in the rotating frame Fnoa, but px, py, and pz
will be different in the Fxyz frame.
We want to find the new coordinates of the point relative to the fixed reference frame after the
moving frame has rotated. The coordinates of point p are shown before and after rotation in the
above figure. The coordinates of point p relative to the reference frame are px, py, and pz, while
its coordinates relative to the rotating frame (to which the point is attached) remain as pn, po,
and pa.
From the figure 4.16, we see that the value of px does not change as the frame rotates about the
x-axis, but the values of py and pz do change.
p x = px
22
ME424U4ChLS201516
And in matrix form:
1 0 0
= 0 cos θ − sin θ
0 sin θ cos θ
Note: The coordinates of the point p (or vector p) in the rotated frame must be
pre-multiplied by the rotation matrix, as shown to get the coordinates in the
reference frame. This rotation matrix is only for a pure rotation about the x-axis
of the reference frame and is denoted as:
pxyz = Rot(x,θ) x pnoa -------------(1)
1 0 0
Rot (x, θ) = 0 θ − θ
0 θ θ
Similarly, it can be shown that:
θ 0 θ
Rot (y, θ) = 0 1 0 and
− θ 0 θ
θ − θ 0
Rot (z, θ) = θ θ 0
0 0 1
Equation (1) can also be written in a conventional form that assists in easily following the
relationship between different frames.
U
p = UTR x Rp
[It can be read as p relative to frame U (for universe) = Transformation of frame R relative to
frame U x p relative to frame R]
A point p (2, 3, 4)T is attached to a rotating frame. The frame rotates 900 about the x-axis of the
reference frame. Find the coordinates of the point relative to the reference frame after the
rotation, and verify the result graphically.
23
ME424U4ChLS201516
SOLUTION:
Since the point is attached to the rotating frame, the coordinates of the point relative to the
rotating frame remain the same after the rotation. The coordinates of the point relative to the
reference frame will be:
1 0 0 1 0 0 2 2
= 0 cos θ − sin θ = 0 0 −1 3 = −4
0 sin θ cos θ 0 1 0 4 3
As shown in figure 4.17, the coordinates of point p relative to the reference frame after rotation
are 2, -4, 3 as obtained by the above transformation.
Figure 4.17 rotation of a frame relative to the x-axis of the reference frame
For example we may rotate a frame about the x-axis, and then translate about the x-, y-, and z-
axes, then rotate about the y-axis in order to accomplish the desired transformation.
Here this order is very important, as the order of two successive transformations changes; the
result will be completely different.
To see how combined transformations handled, let’s assume that a frame Fnoa is subjected to
the following three successive transformations relative to the reference frame Fxyz;
24
ME424U4ChLS201516
Also, let’s say that a point pnoa is attached to the rotating frame at the origin of the reference
frame. As the frame Fnoa rotates or translates relative to the reference frame, point p within the
frame moves as well, and the coordinates of the point relative to the reference frame change.
After the first transformation, the coordinates of the point p relative to the reference frame is
given by:
Where, p1, xyz is the coordinates of the point after the first transformation relative to the
reference frame.
The coordinates of the point relative to the reference frame at the conclusion of the second
transformation will be:
Similarly, after the third transformation, the coordinates of the point relative to the reference
frame will be:
Note:
1. The coordinates of the point relative to the reference frame at the conclusion of
each transformation is found by pre-multiplying the coordinates of the point.
2. This order is very important.
3. The order of matrices written is the opposite of the order of transformations
performed.
A point p (7, 3, 1) T is attached to a frame Fnoa and is subjected to the following transformations.
Find the coordinates of the point relative to the reference frame at the conclusion of
transformations.
25
ME424U4ChLS201516
SOLUTION:
1 0 0 4 0 0 1 0 0 −1 0 0 7 5
0 1 0 −3 0 1 0 0 1 0 0 0 3 4
= × × × =
0 0 1 7 −1 0 1 0 0 0 1 0 1 10
0 0 0 1 0 0 0 1 0 0 0 1 1 1
In this case assume that the same point p (7, 3, 1) T is attached to frame Fnoa is subjected to the
same transformations, but the transformations are performed in a different order, as given
below. Find the coordinates of the point relative to the reference frame at the conclusion of
transformations.
SOLUTION:
0 0 1 0 1 0 0 4 0 −1 0 0 7 8
0 1 0 0 0 1 0 −3 1 0 0 0 3 4
= × × × =
−1 0 1 0 0 0 1 7 0 0 1 0 1 −1
0 0 0 1 0 0 0 1 0 0 0 1 1 1
26
ME424U4ChLS201516
As you can see, although the transformations are exactly the same, as in example problem 4.11,
since the order of transformations is changed, the final coordinates of the point are completely
different.
Figure 4.19 changing the order of transformations will change the final result
Assume that the same point p(7,3,1)T (as in example problem 4.12) is now subjected to the
same transformations, but all relative to the current moving frame, as listed below. Find the
coordinates of the point relative to the reference frame at the conclusion of transformations.
27
ME424U4ChLS201516
SOLUTION:
Since the transformations are made relative to the current frame, each transformation matrix is
post-multiplied.
0 −1 0 0 1 0 0 4 0 0 1 0 7 0
1 0 0 0 0 1 0 −3 0 1 0 0 3 5
= × × × =
0 0 1 0 0 0 1 7 −1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 1 1
As expected the result is completely different from the other cases, both because the
transformations are made relative to the current frame, and because the order of the matrices is
now different.
A frame B was rotated about the x-axis 900, and then it was translated about the current a-axis 3
inches, before it was rotated about the z-axis 900. Finally, it was translated about current o-axis
5 inches.
SOLUTION:
In this case, motions alternate relative to the reference frame and current frame.
U
TB = Rot (z, 90) Rot(x, 90) Tran (0, 0, 3) Trans (0, 5, 0)
28
ME424U4ChLS201516
(b) Substituting the matrices and multiplying them, we will get:
U
p =UTB x Bp
0 −1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 7
1 0 0 0 0 0 −1 0 0 1 0 0 0 1 0 5 5 1
= =
0 0 1 0 0 1 0 0 0 0 1 3 0 0 1 0 4 10
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1
A frame F was rotated about the y-axis 900, followed by a rotation about the o-axis of 300,
followed by translation of 5 units along the n-axis, and finally, a translation of 4 units along the
x-axis. Find the total transformation matrix.
SOLUTION:
The following set of matrices, written in the proper order to represent transformations relative
to the reference frame or the current frame describes the total transformation.
1 0 0 4 0 0 1 0 0.866 0 0.5 0 1 0 0 5
0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
= × × ×
0 0 1 0 −1 0 0 0 −0.5 0 0.866 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
−0.5 0 0.866 1.5
0 1 0 0
=
−0.866 0 −0.5 −4.33
0 0 0 1
EXAMPLE PROBLEM 4.16
A frame B is rotated 900 about the z-axis, then translated 3 and 5 units relative to the n- and o-
axes respectively, then rotated another 900 about the n-axis, and finally 900 about the y-axis.
Find the new location and orientation of the frame.
0 1 0 1
1 0 0 1
B=
0 0 −1 1
0 0 0 1
29
ME424U4ChLS201516
SOLUTION:
Bnew = Rot(y, 90) Rot (z, 90) B Trans (3, 5, 0) Rot (n, 90)
0 0 1 0 0 −1 0 0 0 1 0 1 1 0 0 3 1 0 0 0
0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 5 0 0 −1 0
=
−1 0 0 0 0 0 1 0 0 0 −1 1 0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
0 −1 0 1
0 0 −1 6
=
1 0 0 4
0 0 0 1
Inverse of Transformation Matrices
There are many situations where the inverse of a matrix will be needed in robotic analysis.
Suppose the robot (shown in figure 4.21) is to be moved toward part P in order to drill a hole in
the part. The robot’s base position relative to the reference frame U is described by a frame R,
the robot’s hand is described by frame H, and the end effector (end of the drill bit that will be
used to drill the hole) is described by frame E. The part’s position is also described by frame P.
the location of the point where the hole will be drilled can be related to the reference frame U
through two independent paths: one through the part, one through the robot. Therefore the
following equation can be written:
Figure 4.21 the Universe, robot, hand, part, and end effector frames
U
TE = UTR RTH HTE = UTP PTE ----------------------- (1)
The location of point E on the part can be achieved by moving from U to P and from P to E, or
it can alternately be achieved by a transformation from U to R, from R to H, and from H to E.
From the above illustration, it is clear that the only unknown transformation is RTH or the
transformation of the robot’s hand relative to the robot’s base. This means we need to find out
30
ME424U4ChLS201516
what the robot’s joint variables- the angle of the revolute joints and the length of the prismatic
joints of the robot-must be in order to place the end effector at the hole for drilling.
(UTR)-1 (UTR RTH HTE) (HTE)-1 = (UTR)-1 (UTP PTE) (HTE)-1 -------------- (2)
Or, since (UTR)-1 (UTR) =I and (HTE) (HTE)-1 =I, the left side of equation 2 simplifies to
R
TH and we get:
R
TH= (UTR)-1 UTP PTE (HTE)-1 ----------------------------------- (3)
We can check the accuracy of this equation by realizing that (HTE)-1 is the same as ETH.
It is now clear that we need to be able to calculate the inverse of transformation matrices for
kinematic analysis as well.
It can be shown that inverse of the 3 x 3 rotation matrices can be simply obtained by
transposing the original matrix.
This result is true only for a simple 3 x 3 rotation matrix without representation of a location.
For a homogeneous 4 x 4 transformation matrix, it can be shown that the matrix inverse
can be written by dividing the matrix into two portions; the rotation portion of the matrix can
be simply transposed, as it is still unitary. The position portion of the homogeneous matrix is
the negative of the dot product of the P-vector with each of the n-, o- and a-vectors as follows;
= and
0 0 0 1
− .
− .
=
− .
0 0 0 1
31
ME424U4ChLS201516
As shown, the rotation portion of the matrix is simply transposed; the position portion is
replaced by the negative of the dot products, and the last row (scale factor) is not affected. This
is very helpful, since we will need to calculate inverses of transformation matrices, but direct
calculation of 4 x 4 matrices is a lengthy process.
1 0 0 0
0 0.766 −0.643 0
( , 40 ) =
0 0.643 0.766 0
0 0 0 1
SOLUTION:
1 0 0 0
0 0.766 0.643 0
( , 40 ) =
0 −0.643 0.766 0
0 0 0 1
As you can see, since the position vector of the matrix is zero, its dot product with the n-, o-,
and a- vectors is also zero.
0.5 0 0.866 3
0.866 0 −0.5 2
=
0 1 0 5
0 0 0 1
SOLUTION:
32
ME424U4ChLS201516
EXAMPLE PROBLEM 4.19
In a robotic set-up a camera is attached to the fifth link of a 6-DOF robot. It observes an object
and determines its frame relative to the camera’s frame. Using the following information,
determine the necessary motion the end effector must make to get the object.
0 0 −1 3 0 −1 0 0
0 −1 0 0 1 0 0 0
5 = 5 =
−1 0 0 5 0 0 1 4
0 0 0 1 0 0 0 1
0 0 1 2 1 0 0 0
1 0 0 2 0 1 0 0
= =
0 1 0 4 0 0 1 3
0 0 0 1 0 0 0 1
SOLUTION:
We can write the transformations and frame relation as under (refer to figure 4.21):
R
T5 × 5TH × HTE × ETobj = RT5 × 5Tcam × camT obj
Since, RT5 appears on both sides of the equation, we can simply neglect it. All other matrices,
with the exception of ETobj, are known. Then:
E
Tobj = H ×5 × 5Tcam × camT obj = ETH × HT5 × 5Tcam × camTobj
Where,
1 0 0 0 0 1 0 0
H 0 1 0 0 5 −1 0 0 0
= =
0 0 1 −3 0 0 1 −4
0 0 0 1 0 0 0 1
Substituting the matrices and inverses in the above equation will result:
1 0 0 0 0 1 0 0 0 0 −1 3 0 0 1 2
E 0 1 0 0 −1 0 0 0 0 −1 0 0 1 0 0 2
Tobj =
0 0 1 −3 0 0 1 −4 −1 0 0 5 0 1 0 4
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
−1 0 0 −2
E 0 1 0 1
Tobj =
0 0 −1 −4
0 0 0 1
33
ME424U4ChLS201516
END EFFECTOR ORIENTATION:
Suppose that the moving frame attached to the hand of the robot has already moved to a desired
position, but is still parallel to the reference frame, or that it is in an orientation other than what
is desired. The next step will be to rotate the frame appropriately in order to achieve a desired
orientation without changing its position. The appropriate sequence of rotations depends on the
design of the wrist of the robot, and the way the joints are assembled together.
This is a sequence of three rotations about current , ̅ , axes respectively, which will orient
the hand of the robot to a desired orientation. The assumption here is that the current frame is
parallel to the reference frame and thus its orientation is the same as the reference frame before
the RPY movements.
Referring to the above figure 4.22, we see that the RPY sequence of rotations consists of the
following:
(i) Rotation of ϕa about the axis(z-axis of the moving fame) called Roll,
(ii) Rotation of ϕo about the ̅ axis(y-axis of the moving fame) called Pitch
(iii) Rotation of ϕn about the axis(x-axis of the moving fame) called Yaw
RPY (ϕa, ϕo, ϕn) = Rot (a, ϕa) Rot (o, ϕo) Rot (n, ϕn) =
34
ME424U4ChLS201516
ϕ ϕ ϕ ϕ ϕ − Sϕ ϕ ϕ ϕ ϕ + ϕ ϕ 0
ϕ ϕ ϕ ϕ ϕ + Cϕ ϕ ϕ ϕ ϕ − Cϕ ϕ 0
− ϕ ϕ Sϕ ϕ ϕ 0
0 0 0 1
This matrix represents the orientation change caused by the RPY alone. The location
and the final orientation of the frame relative to the reference frame will be the product
of the two matrices representing the position change and the RPY.
Euler Angles:
Euler angles are very similar to RPY, except that the last rotation is also about the current a-
axis. Referring to the below figure, we see that for the Euler angels, the sequence of rotations
consists of the following:
(i) Rotation of ϕ about the a-axis (z-axis of the moving fame) followed by,
(ii) Rotation of θ about the o- axis (y-axis of the moving fame) followed by
(iii) Rotation of ψ about the a-axis (z-axis of the moving fame)
The matrix representing the Euler angles orientation change will be:
ϕ − ϕ − ϕ − ϕ ϕ 0
ϕ + ϕ − ϕ + ϕ ϕ 0
− 0
0 0 0 1
35
ME424U4ChLS201516
This matrix represents the orientation change caused by the RPY alone. The location and the
final orientation of the frame relative to the reference frame will be the product of the two
matrices representing the position change and the RPY.
Articulated Joints:
In 1955, Denavit and Hartenberg published a paper in the ASME journal of Applied Mechanics
that was later used to represent and model robots and to derive their equations of motion.
36
ME424U4ChLS201516
Figure 4.25 Description of link parameters ai and αi
Robots may be made of a succession of joints and links in any order. The joints may be either
prismatic (linear) or revolute (rotational), move in different planes, and have offsets. The links
may also be of any length, including zero; may be twisted and bent; and may be in any plane.
Therefore, any general set of joints and links may create a robot.
In D-H representation, we assign a reference frame to each joint, and define a general
procedure to transform from one joint to the next (one frame to the next). If we combine all the
transformations from the base to the first joint, from the first joint to the second joint and so on,
until we get to the last joint, we will have the robot’s total transformation matrix.
Imagine that a robot may be made of a number of links and joints in any form. Figure 4.26
represents three successive joints and two links. Although these joints and links are not
necessarily similar to any real robot joint or link, they are very general and can easily represent
any joints in real robots. These joints may be revolute or prismatic or both. Although, in real
robots it is customary to only have 1-DOF joints, the joints in the figure represent 1-or 2 DOF
joints.
37
ME424U4ChLS201516
Figure 4.26 (a) Denavit-Hartenberg representation of a general purpose joint-link
combination
As shown in figure 4.26, each joint may both rotate and/or translate. Let’s assign joint number
n to the first joint, n+1 to the second joint and n+2 to the third joint as shown. There may be
other joints before or after these. Each link is also assigned a link number as shown. Link n will
be between joints n and n+ 1 and link n+ 1 is between joints n+1 and n+2.
First step is to assign a local reference frame for each and every joint. Therefore for each joint
we will have to assign a z-axis and an x-axis. We normally do not need to assign a y-axis, since
we always know that y-axes are mutually perpendicular to both x- and z-axes.
38
ME424U4ChLS201516
Procedure for assigning local reference frame to each joint:
a) All joints without exception are represented by a z-axis. If the joint is revolute, the z-axis is
in the direction of rotation as followed by right hand rule for rotation. If the joint is
prismatic, the z-axis for the joint is along the direction of linear movement. The index
number for the z-axis of joint n is n-1. For eg, the z-axis representing motion about joint
number n+1 is zn.
For revolute joints, the rotation about the z-axis is θ, which is the joint variable. For
prismatic joints, the length of the link, along z-axis represented by d will be the joint
variable.
b) In general, joints may not necessarily be parallel or intersecting. As a result, the z-axes may
be skew lines. There is always one line mutually perpendicular to any two skew lines,
called common normal, which is the shortest distance. We always assign the x-axis of the
local reference frame in the direction of the common normal. Therefore, if an represents the
common normal between zn and zn+1 is an+1, the direction of xn+1 will be along an+1.
[The common normal lines between successive joints are not necessarily intersecting or
collinear. As a result, the origins of two successive frames may also not be at the same
location.]
c) If two z-axes are parallel, there are infinite numbers of common normals between them. We
will pick the common normal that is collinear with the common normal of the previous
joint.
d) If the z-axes of two successive joints are intersecting, there is no common normal between
them. (Or it has a zero length). We will assign the x-axis along a line perpendicular to the
plane formed by the two axes. This means that the common normal is a line perpendicular
to the plane containing the two z-axes, which is the equivalent of picking the direction of
the cross-product of the two z-axes.
In the above figure, θ represents a rotation about the z-axis, d represents the distance on the z-
axis between two successive common normal (or joint offset), a represents the length of each
common normal (the length of a link), and α represents the angle between two successive z-
axes (also called joint twist angle). Commonly only θ and d are joint variables.
39
ME424U4ChLS201516
Figure 4.26 (b)-(g) Denavit-Hartenberg procedure of transformation of reference
frames
Steps or necessary motions to transform from one reference frame to the next:
[1] Rotate about the zn-axis an angle θn+1. This will make xn and xn+1 parallel to each
other. This is true because an and an+1 are both perpendicular to zn, and rotating zn
angle θn+1 will make them parallel (and thus coplanar). { from fig b to fig c}
[2] Translate along the zn-axis a distance of dn+1 to make xn and xn+1 collinear. Since xn
and xn+1 were already parallel and normal to zn moving along zn will lay them over
each other. {From fig c to fig d}.
[3] Translate along the (already rotated) xn-axis a distance of an+1 to bring the origins of
xn and xn+1 together. At this point the origins of the two reference frames will be at
the same location. {from fig d to fig e}
[4] Rotate zn-axis about xn+1 axis an angle of αn+1 to align zn axis with zn+1 axis. At this
point frames n and n+1 will be exactly the same and we have transformed from one
to the next. {from fig f to fig g}
Continuing with exactly the same sequence of four movements between the n+1 and n+2
frames will transform one to the next. And by repeating this as necessary, we can transform
between successive frames. Starting with the robot’s reference frame, we can transform to the
40
ME424U4ChLS201516
first joint, second joint and so on, until the end effector. Note that the above sequence of
movements remains the same between any two frames.
The transformation nTn+1 (called An+1) between two successive frames representing the
preceding four movements is the product of the four matrices representing them. Since all
transformations are relative to the current frame (they are measured and performed relative to
the axes of the current local frame), all matrices are post-multiplied.
− 0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0
= × ×
0 0 1 0 0 0 1 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0
0 − 0
×
0 0
0 0 0 1
−
−
=
0
0 0 0 1
As an example, the transformation between joints 2 and 3 of a generic robot will simply be:
−
2 −
T3 = A23 = A3=
0
0 0 0 1
At the base of the robot, we can start with the first joint and transform to the second joint, then
to the third, and so on, until the hand of the robot and eventually the end effector. Calling each
transformation an An+1, we will have a number of A matrices that represent the transformations.
The total transformation between the base of the robot and the hand will be:
R
TH = RT1 1T2 2T3,,,,n-1Tn = A1 A2 A3…..An = A01 A12A23 A34…An-1n
Where n is the join number. For a 6-DOF robot, there will be six A matrices.
41
ME424U4ChLS201516
To facilitate the calculation of the A matrices, we will form a table of joint and link parameters,
whereby, the values representing each link and joint are determined from the schematic
drawing of the robot and are substituted into each A matrix.
# θ d a α
0-1
1-2
2-3
3-4
4-5
5-6
For the simple 2-axis, planar robot shown below, assign the necessary coordinate systems
based on the D-H notation, fill out the parameters table, and derive forward kinematic
equations for the robot.
42
ME424U4ChLS201516
SOLUTION:
1. Both joints rotate in the x-y plane and that a frame xH-zH shows the end of robot.
2. We start assigning the z-axes for the joints. Z0 will be assigned to joint1, and z1 will be
assigned to joint2. Fig shows both z-axes pointing out from the page. Notice that the
0-frame is fixed and does not move. The robot moves relative to it.
3. Now, we need to assign x-axis for each frame. Since the frame0 is at the base of the
robot, and therefore, there are no joints before it, the direction of x0 is arbitrary. For
convenience, we may choose to assign it in the same direction as the universe x-axis.
4. Since z0 and z1 are parallel, the common normal between them is in the direction
between the two, and therefore, the x1-axis is shown. The following table shows the
parameters table.
Table (problem 4.20) D-H parameters table
# θ d a α
0-1 θ1 0 a1 0
1-H θ2 0 a2 0
5. The forward kinematic equation of the robot can be found by substituting these
parameters in to the corresponding A matrices as under:
− 0 − 0
0 0
= =
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
− − − 0 ( − )+
0 + − + 0 ( + )+
TH = × =
0 0 1 0
0 0 0 1
Using functions C1C2-S1S2 = C (θ1+θ2) = C12 and S1C2 + C1S2 = S (θ1+θ2) = S12, the
transformation simplifies to:
− 0 +
0 0 +
TH =
0 0 1 0
0 0 0 1
The forward kinematic solution allows us to find the location (and orientation) of the robot’s
end if values for θ1, θ2, a1 and a2 are specified.
43
ME424U4ChLS201516
EXAMPLE PROBLEM 4.21
Obtain the position and orientation of the tool point P with respect to the base for the 2
DOF, RP planar manipulator shown below.
SOLUTION:
The formulation of direct kinematic model of the manipulator begins with the study of its
mechanical structure and identification of the links and joints. The frames are assigned as
explained in the above problem.
44
ME424U4ChLS201516
0 0 1 0 0 0
0 − 0 0 1 0 0
= =
0 1 1 0 0 0 1
0 0 0 1 0 0 0 1
The orientation and position of the tool point P can be computed for given values of
displacement variables θ1 and d2 at any instant of time.
0
0 0 − −
T2 =
0 1 0 0
0 0 0 1
For example, for θ1=1200 and d2=200 mm, the end effector transformation matrix will be:
Formulate the forward kinematic model of the 3 DOF (RPP) manipulator arm shown below.
45
ME424U4ChLS201516
SOLUTION:
− 0 0 1 0 0 0
0 0 0 0 1 0
= =
0 0 1 0 0 −1 0
0 0 0 1 0 0 0 1
1 0 0 0
0 1 0 0
=
0 0 1
0 0 0 1
0 − −
0
= =
0 −1 0
0 0 0 1
46
ME424U4ChLS201516
The Inverse Kinematic solution of Robots
With inverse kinematic solutions, we will be able to determine the value of each joint in order
to place the robot at a desired position and orientation.
EXAMPLE PROBLEM 4.23
Find a symbolic expression for the joint variables of the robot shown below.
SOLUTION:
The forward kinematic equation for the robot is shown in example problem 4.20 and we take
same here. Assume that we desire to place the robot at a position and consequently, an
orientation given as n, o, a, p vectors:
− 0 +
0 0 +
TH = =
0 0 1 0
0 0 0 1 0 0 0 1
Since this robot has only two degrees of freedom, its solution is relatively simple. We can
solve for the angles either algebraically, or by de-coupling the unknowns.
Note: Whenever possible, we should for values of both the sine and cosine of an angle in
order to correctly identify the quadrant in which the angle falls.
47
ME424U4ChLS201516
1. Algebraic solution:
Equating the elements (2, 1), (1, 1), (1, 4), and (2, 4) of the two matrices, we get:
+ = Or + = which yields, =
+ = Or + = which yields, =
2. Alternative solution:
In this case, we will post-multiply both sides of the equation by to decouple θ1
from θ2, we get:
× × = ×
0 0 0 1
Which yields,
= ×
0 0 0 1
− 0 − 0 −
0 0 0
= ×
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
− 0 − + −
0 − + −
=
0 0 1 0 − + −
0 0 0 1 0 0 0 1
From elements, (1, 4) and (2, 4) we get a1C1= px- a2nx and a1S1= py - a2ny which is exactly
what we got from the other method. Knowing, S1 and C1, we can find expressions for S2
and C2.
48
ME424U4ChLS201516
Differential Motions and Velocities
Differential motions are small movements of mechanisms (the robots) that can be used to
derive velocity relationships between different parts of the mechanism. A differential motion
means a small movement. Thus if it is measured in (or calculated for) a small period of time (a
differential, or small time), a velocity relationship can be found.
Differential Relationships:
Let us consider a simple mechanism as shown in figure 4.27. Here each link can
independently rotate.
Figure 4.27 (a) A two-degree-of-freedom planar mechanism and (b) a Velocity diagram
The rotation of the first link θ1 is measured relative to the reference frame, where as the rotation
of the second link θ2 is measured relative to the first link. This would be similar to a robot,
where each link’s movement is measured relative to a current frame attached to the previous
link.
The velocity of point B can be calculated as follows:
= + /
= ̇ [⊥ ]+ ̇ + ̇ [⊥ ] ---- (1)
=− ̇ sin ̂+ ̇ cos ̂ − ( ̇ + ̇ ) × sin( + ) ̂ + ( ̇ + ̇ ) cos( + )̂
Writing the velocity equation in matrix form yields the following:
− sin − sin( + ) − sin( + ) ̇
=
cos + cos( + ) cos( + ) ̇
---------- (2)
49
ME424U4ChLS201516
The LHS of the equation (2) represents the x and y components of the velocity of point B. As
you can see, if the elements of the right-hand side matrix are multiplied by the corresponding
angular velocities of the two links, the velocity of point B can be found.
Now instead of deriving the velocity equation directly from the velocity relationship, we will
try to find the same velocity relationship by differentiating the equation that describes the
position of point B, as follows:
= cos + cos( + )
= sin + sin( + ) --------- (3)
Differentiating this equation with respect to the two variables θ1 and θ2 yields:
= − sin − sin( + )( + ),
= cos + cos( + )( + ) ---------- (4)
Similarly, in a robot with many degrees of freedom, the joint differential motions (or velocities)
can be related to the differential motion (or velocity) of the hand by the same technique.
50
ME424U4ChLS201516
JACOBIAN
The jacobian is a representation of the geometry of the elements of a mechanism in
time. It allows the conversion of differential motions or velocities of individual joints to
differential motions or velocities of points of interest (e.g., the end effector).It also relates the
individual joint motions to overall mechanism motions. Jacobian is time-related; since the
values of joint angles vary in time, the magnitudes of the elements of the jacobian vary in time
as well.
Figure 4.28 Resulting motions of the robot are dependent on the geometry of the robot
Consider a simple 2-DOF robot in three positions, as shown in figure 4.28. If joint 1 of the
robot moves an angle of θ, the magnitude and direction of the resulting motion of the end of the
robot will be very different in each case. This dependence of the resulting motion on the
geometry of the mechanism is expressed by the Jacobian. Therefore, the Jacobian is a
representation of the geometry and the interrelationship between different parts of the
mechanism and where they are at any given time. Clearly, as time goes on and the relative
positions of the different parts of the mechanism change, the jacobian will also change.
As we have seen, the jacobian was formed from the position equations that were
differentiated with respect to θ1 and θ2. Therefore, the jacobian can be calculated by taking the
derivatives of each position equation with respect to all variables.
Suppose we have a set of equations yi in terms of a set of variables xj as:
= ( , , ,…, ) ---------- (7)
51
ME424U4ChLS201516
The differential change in yi as a result of a differential change in xj will be;
= + + ⋯+
= + +⋯+
.
. -------- (8)
.
= + + ⋯+
Equation (8) can be written in matrix form, representing the differential relationship between
individual variables and the functions. The matrix encompassing this relationship is the
jacobian, as shown in equation (9). Therefore, the Jacobian can be calculated by taking the
derivative of each equation with respect to all variables. We will apply the same principle for
the calculation of the jacobian of a robot.
⎡ . . ⎤
⎡ ⎤ ⎢ ⎥⎡ ⎤
⎢ ⎥ ⎢ . . . ⎥⎢ ⎥
⎢ . ⎥=⎢ . . . . . ⎥⎢ . ⎥ [ ]= [ ] -------- (9)
⎢ . ⎥ ⎢ . . . . . ⎥⎢ . ⎥
⎢ . ⎥ ⎢ . . . . . ⎥⎢ . ⎥
⎣ ⎦ ⎢ ⎥⎣ ⎦
. .
⎣ ⎦
Using the same relationship as before and differentiating the position equations of a robot, we
can write the following equation that relates joint differential motions of a robot to the
differential motion of its hand frame:
⎡ ⎤ ⎡ ⎤
⎢ ⎥ ⎢ ⎥
⎢ ⎥=[ ]⎢ ⎥ [ ] = [ ][ ] ------------- (10)
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎣ ⎦ ⎣ ⎦
52
ME424U4ChLS201516
Where, dx, dy, and dz in [D] represent the differential motions of the hand along the x-, y-, and
z-axes. δx, δy, and δz in [D] represent the differential rotations of the hand around the x-, y-,
and z-axes, and [Dθ] represents the differential motions of the joints. If these two matrices are
divided by dt, they will represent velocities instead of differential motions.
The Jacobian of a robot at a particular time is given. Calculate the linear and angular
differential motions of the robot’s hand frame for the given joint differential motions.
2 0 0 0 1 0 0
⎡−1 0 1 0 0 0⎤ ⎡ 0.1 ⎤
⎢ ⎥ ⎢ ⎥
0 1 0 0 0 0⎥ −0.1⎥
=⎢ =⎢
⎢0 0 0 2 0 0⎥ ⎢ 0 ⎥
⎢0 0 1 0 0 0⎥ ⎢ 0 ⎥
⎣0 0 0 0 0 1⎦ ⎣ 0.2 ⎦
SOLUTION:
Problems
1. Write a unit vector in matrix form that describes the direction of the cross product of
p=5i+3k and q=3i+4j+5k.
2. A vector p is 8 units long and is perpendicular to vectors q and r described below. Express
the vector in matrix form.
0.3
0.5
= =
0.4 0.4
0 0
53
ME424U4ChLS201516
3. A point P= (3, 5, 7)T in space was translated a distance of d=(2, 3, 4)T. find the new location
of the point relative to the reference frame.
4. The following frame B was moved a distance of d= (5, 2, 6)T. find the new location of the
frame relative to the reference frame.
0 1 0 2
1 0 0 4
B=
0 0 −1 6
0 0 0 1
5. For frame F, find the values of the missing elements and complete the matrix representation
of the frame.
0.707 ? 0 2
? 0 1 4
F=
? −0.707 0 5
0 0 0 1
6. Derive the matrix that represents a pure rotation about the y-axis of the reference frame.
7. Derive the matrix that represents a pure rotation about the y-axis of the reference frame.
8. Find the coordinates of point P (2, 3, 4)T relative to the reference frame after a rotation of
45o about the x-axis.
11. Find the location of point P (1, 2 3)T relative to the reference frame after a rotation of 30 o
about the Z-axis followed by a rotation of 60o about the Y-axis.
54
ME424U4ChLS201516
12. The frame B is rotated 90o about the a-axis, 90o about the Y-axis, then translated 2 and 4
units relative to the X-and Y-axes respectively, then rotated another 90o about the n-axis.
Find the new location and orientation of the frame.
0 1 0 1
1 0 0 1
B=
0 0 −1 1
0 0 0 1
13. Show that rotation matrices about the Y- and Z-axes are unitary.
14. In the 2-DOF robot shown, the transformation matrix 0TH is given in symbolic form, as well
as in numerical form for a specific location. The length of each link l1 and l2 is 1 ft.
calculate the values of θ1 and θ2 for the given location.
− 0 + −0.2924 −0.9563 0 0.6978
0 0 + 0.9563 −0.2924 0 0.8172
TH= =
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
55
ME424U4ChLS201516