0% found this document useful (0 votes)
181 views56 pages

ME424 201516 Unit4

This unit discusses robot kinematics and coordinate transformations. It covers topics like homogeneous coordinates, transformation matrices, Denavit-Hartenberg parameters, and forward and inverse kinematics. The key goals are to understand how to represent points, vectors and frames mathematically using homogeneous coordinates and transformation matrices, and to learn techniques for solving the forward and inverse kinematics problems of robotic manipulators.

Uploaded by

venkatesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
181 views56 pages

ME424 201516 Unit4

This unit discusses robot kinematics and coordinate transformations. It covers topics like homogeneous coordinates, transformation matrices, Denavit-Hartenberg parameters, and forward and inverse kinematics. The key goals are to understand how to represent points, vectors and frames mathematically using homogeneous coordinates and transformation matrices, and to learn techniques for solving the forward and inverse kinematics problems of robotic manipulators.

Uploaded by

venkatesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

ROBOTICS

ME424 A Unit4

Dr. Ch.Lakshmi Srinivas


Syllabus
UNIT – 4

Transformations and Kinematics: Objectives, homogenous coordinates, basic transformation


operations, forward solution – Denavit Hartenberg procedure. Simple problems involving
planar manipulators, inverse or backward solution – problems involved, techniques.

Introduction to Trajectory Planning, the manipulator jacobian.

Learning Objectives

After completing this unit, you will be able to:

 Understand the concepts of homogenous coordinates representation


 Describe the points and objects in terms of transformation matrices
 Understand the coordinate transformations, in the frame work of the kinematics of
robots
 Map the coordinate reference frames
 Understand the Denavit-hartenberg notation and procedure for forward solution
 Solve a Forward kinematic problem
 Know the inverse or backward solution
 Solve simple problems involving forward and inverse kinematic models
 Know the basic concepts in trajectory planning of a manipulator

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

Figure 4.1 the direct and inverse kinematic models

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.

Figure 4.4 A 1 DOF closed loop 4-bar mechanism

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 point P in space can be represented by its three coordinates relative to a reference


frame as:
P = ax + byj + czk Where ax, by, and cz are the three coordinates of the point
represented in the reference frame.

Figure 4.6 Representation of a point in space

Representation of a Vector 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 =

{This is called the homogeneous coordinate representation for the vector}

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

Px = 3 6.16 = 0.487, Py = 5 6.16 = 0.811 Pz = 2 6.16 = 0.324


0.487
0.811
Therefore, Punit =
0.324
0
Note that √0.487 + 0.811 + 0.324 = 1.

EXAMPLE PROBLEM 4.2


A vector p is 5 units long and is in the direction of a unit vector q described below.
Express the vector in matrix form.
0.371
0.577
qunit =
0

SOLUTION:
The unit vector’s length must be 1. Therefore,

λ= + + = 0.138 + 0.310 + =1

This gives: = 0.743

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.

EXAMPLE PROBLEM 4.3 (DOT product equations)


Obtain the Cartesian and homogeneous representations for the dot product of the two
vectors x and y. Given that x = ai + bj + ck and y = di + ej + fk

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 same vectors represented in homogeneous coordinates are given by


′ ′
′ ′
x= and y =
′ ′

where a’=aw, b’=bw and c’=cw


d’=dr, e’=er and f’=fr

′ ′ ′ ′ ′ ′
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:

Using the definition of the vector cross product, we find that

× = = ( − )− ( − )+ ( − )

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.

Figure 4.9 representation of a frame at the origin of 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=

REPRESENTATION OF A FRAME RELATIVE TO A FIXED-REFERENCE FRAME


To fully describe a frame relative to another frame, both the location of its origin and
the directions of its axes must be specified.

Figure 4.10 representation of a frame in a frame

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:

Figure 4.11 an example of representation of a frame


1 0 0 3
0 45 − 45 5
The frame is described by F =
0 sin 45 cos 45 7
0 0 0 1
1 0 0 3
0 0.707 −0.707 5
=
0 0.707 0.707 7
0 0 0 1
REPRESENTATION OF A RIGID BODY
An object can be represented in space by attaching a frame to it and representing the frame.
(See figure 4.12) since object is permanently attached to this frame, its position and orientation
relative to the frame is always known. As a result so long as the frame can be described in
space, the object’s location and orientation relative to the fixed frame will be known.

Figure 4.12 representation of an object in space

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.

The constraints come from the known characteristics of a frame:

 The three unit vectors n, o, a are mutually perpendicular


 Each unit vector’s length, represented by its directional cosines, must be equal to 1.

These constraints translate into the following six constraint equations:

1. n . o = 0 (the dot-product of n and o vectors must be zero)


2. n.a=0
3. a.o=0
4. | | = 1 (the magnitude of the length of the vector must be 1)
5. | |=1
6. | |=1

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:

ny=1, nx=0 and nz=0

0 0 −1 5
1 0 0 3
F=
0 −1 0 2
0 0 0 1

EXAMPLE PROBLEM 4.7


Find the missing elements of the following frame representation.
? 0 ? 3
0.5 ? ? 9
F=
0 ? ? 7
0 0 0 1

15
ME424U4ChLS201516
SOLUTION:
From the known relationship of frame, we write:

The magnitude of the length of the unit vector is 1.

| |=1

+ + =1

+ 0.5 + 0 = 1

Which yields, nx=0.866

. ̅=0
(The dot product of n and o vectors must be zero)

0.866 (0) + 0.5 + 0( ) = 0

Which yields, oy=0

| |=1

+ + =1

Which yields, oz=1

Also, from the known relation of frame, we write

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

Figure 4.13 Four reference frames in three dimensional space

Frame to frame transformation by inspection method for four reference frames shown in figure
4.13 is given below.

Transformation matrix for frame 0 and frame 1


(0T1 transformation relation of frame 1 with frame 0)
−1 0 0 0
0 0 1 0
=
0 1 0
0 0 0 1

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

REPRESENTATION OF A PURE TRANSLATION


If a frame (that may also be representing an object) moves in space without any change in its
orientation, the transformation is a pure translation. In this case, the directional unit vectors
remain in the same direction, and therefore do not change. The only thing that changes is the
location of the origin of the frame relative to the reference frame as shown in fig. The new
location of the frame relative to the fixed reference frame can be found by adding the vector
representing the translation to the vector representing the original location of the origin of the
frame. In matrix form, the new frame representation may be found by pre-multiplying the
frame with a matrix representing the transformation. Since, the directional vectors do not
change in a pure translation, the transformation T will simply be:

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.

Figure 4.14 representation of pure translation in space

The new location of the frame will be:


1 0 0 +
0 1 0 +
Fnew = x =
0 0 1 +
0 0 0 1 0 0 0 1 0 0 0 1
This equation is also symbolically, written as:
Fnew = Trans (dx, dy, dz) x Fold

Important Notes:

1. Pre-multiplying the frame matrix by transformation matrix will yield the


new location of the frame.
2. The directional vectors remain the same after a pure translation, but the
new location of the frame is at d + p.
3. The homogeneous transformation matrices facilitate the multiplication of
matrices resulting in the same dimensions.

EXAMPLE PROBLEM 4.8

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

REPRESENTATION OF A PURE ROTATION ABOUT AN AXIS

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

py = l1-l2 = po cosθ – pa sinθ

pz = l3+l4 = po sinθ + pa cosθ

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)

In a simplified way it can be written as:

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]

EXAMPLE PROBLEM 4.10

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

REPRESENTATION OF COMBINED TRANSFORMATIONS

Combined transformations consist of a number of successive translations and rotations about


the fixed reference frame axes or the moving current frame axes. Any transformation can be
resolved into a set of translations and rotations in a particular order.

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;

1. Rotation of α degree about the x-axis.


2. Followed by a translation of [l1, l2, l3] (relative to the x-, y-, and z-axes
respectively).
3. Followed by a rotation of β degrees about the y-axis.

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:

p1, xyz = Rot(x, α) x pnoa

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:

p2 ,xyz = Trans(l1,l2,l3) x p1, xyz = Trans(l1,l2,l3) x Rot(x, α) x pnoa

Similarly, after the third transformation, the coordinates of the point relative to the reference
frame will be:

pxyz = p3 ,xyz = Rot(y, β) x p2, xyz = Rot(y, β) x Trans(l1,l2,l3) x Rot(x, α) x pnoa

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.

EXAMPLE PROBLEM 4.11

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.

1. Rotation of 900 about the z-axis.


2. Followed by a rotation of 900 about the y-axis.
3. Followed by a translation of [4,-3, 7].

25
ME424U4ChLS201516
SOLUTION:

The matrix equation representing the transformation is:

pxyz = Trans(4,-3,7) Rot(y,90) Rot(z,90)pnoa

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

Figure 4.18 Effects of three successive transformations

EXAMPLE PROBLEM 4.12

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.

1. A Rotation of 900 about the z-axis.


2. Followed by a translation of [4,-3, 7].
3. Followed by a rotation of 900 about the y-axis.

SOLUTION:

The matrix equation representing the transformation is:

pxyz = Rot(y,90)Trans(4,-3,7) Rot(z,90)pnoa

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

TRANSFORMATIONS RELATIVE TO THE ROTATING FRAME


All transformations we have discussed so far have been relative to the fixed reference frame.
This means that all translations, rotations, ands distances (except for the location of a point
relative to the moving frame) have been measured relative to the reference frame axes.
However, it is possible to make transformations relative to the axes of a moving or current
frame.
In this case, to calculate the changes in the coordinates of a point attached to the current frame
relative to the reference frame, the transformation matrix is post-multiplied.

EXAMPLE PROBLEM 4.13

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.

1. A Rotation of 900 about the a-axis.


2. Then a translation of [4,-3,7] along n-, o-, a- axes.
3. Followed by a rotation of 900 about the o-axis.

27
ME424U4ChLS201516
SOLUTION:

Since the transformations are made relative to the current frame, each transformation matrix is
post-multiplied.

Pxyz = Rot(a,90)Trans(4,-3,7) Rot(o,90)pnoa

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.

Figure 4.20 Transformations relative to the current frames

EXAMPLE PROBLEM 4.14

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.

a) Write an equation that describes the motions.


b) Find the final location of a point p (1, 5, 4)T attached to the frame relative to
the reference frame.

SOLUTION:

In this case, motions alternate relative to the reference frame and current frame.

(a) Pre- or post-multiplying each motions matrix accordingly, we will get

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

EXAMPLE PROBLEM 4.15

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.

T = Trans (4, 0, 0) Rot(y, 90) Rot (o, 30) Trans (5, 0, 0)

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.

We adopt here the following procedure to simplify the above equation.

(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.

Therefore the equation can be re written as:


R
TH=UTR-1 UTP PTE (HTE)-1 = RTU UTP PTE ETH = RTH -------------- (4)

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.

Rot(x, θ)-1 = Rot(x, θ)T ------------------------------(5)

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.

EXAMPLE PROBLEM 4.17

Calculate the matrix representing Rot(x, 400)-1

1 0 0 0
0 0.766 −0.643 0
( , 40 ) =
0 0.643 0.766 0
0 0 0 1
SOLUTION:

The inverse of this matrix is:

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.

EXAMPLE PROBLEM 4.18

Calculate the inverse of the given transformation matrix:

0.5 0 0.866 3
0.866 0 −0.5 2
=
0 1 0 5
0 0 0 1
SOLUTION:

0.5 0.866 0 −(3 × 0.5 + 2 × 0.866 + 5 × 0)


0 0 1 −(3 × 0 + 2 × 0 + 5 × 1)
=
0.866 −0.5 0 −(3 × 0.866 + 2 × −0.5 + 5 × 0)
0 0 0 1
0.5 0.866 0 −3.23
0 0 1 −5
=
0.866 −0.5 0 −1.598
0 0 0 1
You may want to verify that T T-1 will be an identity matrix.

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.

The three common configurations are as under:


a) Roll, Pitch, Yaw (RPY) angles
b) Euler angles
c) Articulated joints

Roll, Pitch, Yaw (RPY) angles:

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.

Figure 4.22 RPY rotations about the current axes

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

The matrix representing the RPY orientation change will be

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)

Figure 4.23 Euler rotations about the current axes

The matrix representing the Euler angles orientation change will be:

Euler (ϕ, θ, ψ) = Rot (a, ϕ) Rot (o, θ) Rot (a, ψ) =

ϕ − ϕ − ϕ − ϕ ϕ 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:

Articulated joins consists of three rotations other than the above.

DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC


EQUATIONS OF ROBOTS:

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.

Figure 4.24 Link-Joint numbering scheme

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.

 The result is:


n
Tn+1 = An+1 = Rot (z, θn+1) x Trans (0,0,dn+1) x Trans(an+1, 0,0) x Rot(x, αn+1)

− 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.

Table 4.1: D-H Parameters Table

# θ d a α
0-1
1-2
2-3
3-4
4-5
5-6

EXAMPLE PROBLEM 4.20

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.

The frame assignment is given below:

Table 4.2 (Example problem 4.21) D-H parameters table


# θ d a α
0-1 θ1 0 0 900
1-2 0 d2 0 0

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:

−0.5 0 0.866 173.2


0 0.866 0 0.5 100.0
T2 =
0 1 0 0
0 0 0 1
It is assumed that θ1 and d2 chosen above are within the available range of joint motions.

EXAMPLE PROBLEM 4.22

Formulate the forward kinematic model of the 3 DOF (RPP) manipulator arm shown below.

45
ME424U4ChLS201516
SOLUTION:

Frame assignment for the given robot is as under

Table 4.3 (Example problem 4.22) D-H parameters table


# θ d a α
0-1 θ1 0 0 0
1-2 0 d2 0 -900
2-3 0 d3 0 0

− 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:

S12= ny and C12= nx which yields, θ12=ATAN2 (ny, nx)

+ = Or + = which yields, =

+ = Or + = which yields, =

Which gives θ1= ATAN2 (S1, C1) = ATAN2 ,

Since, θ1 and θ12 are known, θ2 can be calculated.

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)

And in matrix form,


− sin − sin( + ) − sin( + )
= ---- (5)
cos + cos( + ) cos( + )
Differential Jacobian Differential
motion of B motion of joints
Please notice the similarities between equations (2) and (5). You notice that the two equations
are similar in content and in form. The difference is that equation (2) is the velocity
relationship, whereas equation (5) is the differential motion relationship. If both sides of
equation (5) are divided by , since / is , .

Equation (6) will be exactly the same as equation (2), as follows:


− sin − sin( + ) − sin( + )
= / ------- (6)
cos + cos( + ) cos( + )

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.

EXAMPLE PROBLEM 4.24

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:

Substituting the above matrices in to equation (10) discussed above, we get;


2 0 0 0 1 0 0 0
−0.1⎤ ⎡
⎡−1 ⎤ ⎡ ⎤ ⎡ ⎤
0 1 0 0 0 0.1
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
[ ] = [ ][ ]=⎢ 0 1 0 0 0 0⎥ ⎢−0.1⎥ ⎢ 0.1 ⎥ ⎢
= = ⎥
⎢0 0 0 2 0 0⎥ ⎢ 0 ⎥ ⎢ 0 ⎥ ⎢ ⎥
⎢0 0 1 0 0 0⎥ ⎢ 0 ⎥ ⎢−0.1⎥ ⎢ ⎥
⎣0 0 0 0 0 1⎦ ⎣ 0.2 ⎦ ⎣ 0.2 ⎦ ⎣ ⎦

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.

9. For the point 3i+7j+5k perform the following operations:


(a) Rotate 30o about the X axis
(b) Rotate 45o about the Y axis
(c) Rotate 90o about the Z axis
(d) Translate 8 units along the Y axis
(e) Rotate 30o about X, then translate 6 along Y
(f) Translate 6 along Y, then rotate 30o about X

10. Find the inverse of the matrices given below:


0 10 5 3 2 3 4 5
1 5 3 2 1 2 3 4
(a) (b)
0 1 5 1 1 3 5 7
0 0 0 1 0 0 0 1

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy