0% found this document useful (0 votes)
84 views10 pages

Unit5 - Kinematis & Matrics Representation

This document discusses robot kinematics and introduces key concepts. It begins by explaining that forward kinematics determines where a robot's end is located given known joint variables, while inverse kinematics calculates required joint variables to place the end at a desired point and orientation. It then describes robots as multi-degree of freedom, three-dimensional, open-loop mechanisms. Matrix representations are introduced to describe points, vectors, frames and transformations which will be used to derive kinematic equations.

Uploaded by

vamshicloud14
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)
84 views10 pages

Unit5 - Kinematis & Matrics Representation

This document discusses robot kinematics and introduces key concepts. It begins by explaining that forward kinematics determines where a robot's end is located given known joint variables, while inverse kinematics calculates required joint variables to place the end at a desired point and orientation. It then describes robots as multi-degree of freedom, three-dimensional, open-loop mechanisms. Matrix representations are introduced to describe points, vectors, frames and transformations which will be used to derive kinematic equations.

Uploaded by

vamshicloud14
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/ 10

2

Robot Kinematics:
Position Analysis

2.1 INTRODUCTION

In this chapter, we will study forward and inverse kinematics of robots. 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. Using matrices, we will first establish a way of de-
scribing objects, locations, orientations, and movements. Then we will study the for-
ward and inverse kinematics of different configurations of robots, such as Cartesian,
cylindrical, and spherical coordinates. Finally, we will use the Denavit-Hartenberg
representation to derive forward and inverse kinematic equations of all possible
configurations of robots.
It is important to realize that in reality, manipulator-type robots are delivered
with no end effector. In most cases, there may be a gripper attached to the robot. How-
ever, depending on the actual application, different end effectors are attached to the
robot by the user. Obviously, the end effector's size and length determine where the end
of the robot is. For a short end effector, the end will be at a different location than for a
long end effector. In this chapter, we will assume that the end of the robot is a plate to
which the end effector can be attached, as necessary. We will call this the "hand" or the
"end-plate" of the robot. If necessary, we can always add the length of the end effector
to the robot for determining the location and orientation of the end effector.

2.2 ROBOTS AS MECHANISMS

Manipulator-type robots have multiple degrees of freedom (DOF), are three-


dimensional, are open loop, and are chain mechanisms.

29
Chapter 2 Robot Kinematics: Position Analysis

77777/ '///}, Figure 2.1 A one-degree-of-freedom


0\ 02 closed-loop four-bar mechanism.

In a one-degree-of-freedom system, when the variable is set to a particular


value, the mechanism is totally set, and all its other variables are known. For ex-
ample, in the four-bar mechanism of Figure 2.1, when the crank is set to 120°, the
angles of the coupler link and the rocker arm are also known. However, in a mul-
tiple-degree-of-freedom 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 three-dimensional machines if they are to move in space. Although
it is possible to have a two-dimensional multiple-degree-of-freedom robot, they are
not common.
Robots are open-loop mechanisms. Unlike mechanisms that are closed loop
(e.g., four-bar mechanisms), 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 sub-
sequent links without feedback. For example, in the four-bar mechanism of Fig-
ure 2.2, if the link AB deflects, it will affect link 02B, whereas 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 and link parameters
must continuously be measured or the end of the system must be monitored for the
kinematic position of the machine to be known. This difference can be expressed by
comparing the vector equations describing the relationship between different links
of the two mechanisms as follows:
(hA + AB = O A + OJi, (2-1)
O^A +AB+BC = 7)\C, (2.2)
As you can see, if there is a deflection in link AB, link 02B will move accord-
ingly. However, the two sides of Equation (2.1) have changed corresponding to the
changes in the links. On the other hand, if link AB of the robot deflects, all subse-
quent links will move too, but unless OxC is measured by other means, the change
will not be known.
To remedy this problem in open-loop robots, the position of the hand is con-
stantly measured with devices such as a camera, the robot is made into a closed-loop
system with external means such as the use of secondary arms or laser beams [1,2,3],
or, as is the standard practice, the robot's links and joints are made excessively
strong to eliminate all deflections. The last method renders the robot very heavy,
W"

Section 2.3 Matrix Representation 31

\B

(«) (6)
Figure 2.2 (a) Closed-loop versus (b) open-loop mechanisms.

massive, and slow, and its specified payload is very low compared with what it actu-
ally can carry.

2.3 MATRIX REPRESENTATION

Matrices can be used to represent points, vectors, frames, translations, rotations,


and transformations, as well as objects and other kinematic elements in a frame. We
will use this representation throughout this book to derive equations of motion for
robots.

2.3.1 Representation of a Point in Space

A point P in space (Figure 2.3) can be represented by its three coordinates relative
to a reference frame:
P = ax\ + byi + czk, (2.3)
where ax, bv, and c. are the three coordinates of the point represented in the refer-
ence frame. Obviously, other coordinate representations can also be used to de-
scribe the location of a point in space.

Figure 2.3 Representation of a point in


space.
32 Chapter 2 Robot Kinematics: Position Analysis

2.3.2 Representation of a Vector in Space

A vector can be represented by three coordinates of its tail and of its head. If the
vector starts at a point A and ends at point B, then it can be represented by PAB =
(Bx - Ax)i + (By - Ay)j + (Bt - A$.. Specifically, if the vector starts at the origin
(Figure 2.4), then: _
P = ax\ + byj + czk, (2.4)
where ax, by, and ct 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 con-
nected to it at point P and expressed by the three components of the vector.
The three components of the vector can also be written in a matrix form, as in
Equation (2.5). This format will be used throughout this book to represent all kine-
matic elements:

(2.5)

This representation can be slightly modified to also include a scale factor w


such that if x, y, and z are divided by w, they will yield a„ by, and c.. Thus, the vector
can be written as

P= where ax = —, b., y t (2.6)


w - —, etc.
w

Variable w may be any number, and as it changes, it can change the overall size of
the vector. This is similar to zooming a picture in computer graphics. As the value of
w changes, the size of the vector changes accordingly. If w is greater than unity, all
vector components enlarge; if w is less than unity, all vector components become
smaller. This is also used in computer graphics for changing the size of pictures and
drawings.
If iv is unity, the size of the components remain unchanged. However, if w = 0,
then ax, bv, and c. will be infinity. In this case, x, y, and z (as well as ax, bv, and c,) will

y Figure 2.4 Representation of a vector in


space.
Section 2.3 Matrix Representation 33

represent a vector whose length is infinite, but nonetheless, is in the direction repre-
sented by the vector. This means that a directional vector can be represented by a
scale factor of w = 0, where the length is not of importance, but the direction is rep-
resented by the three components of the vector. This will be used throughout this
book to represent directional vectors.
Example 2.1
A vector is described as P = 3i + 5j + 2k. Express the vector in matrix form:
(1) With a scale factor of 2.
(2) 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

and P=

However, in order to make the vector into a unit vector, we will normalize the length
such that the new length will be equal to unity. To do this, each component of the vector
will be divided by the square root of the sum of the squares of the three components:
-1 c
A = Vp; + pi + pl = 6.16, where px = —— = 0.487. p v = ——, etc.,
6.16 6.16
0.487-

and* rpuni . = °'811


0.324
0

2.3.3 Representation of a Frame at the


Origin of a Fixed-Reference Frame

A frame centered at the origin of a reference frame is represented by three vectors,


usually mutually perpendicular to each other, called unit vectors n,d,a, for normal,
orientation, and approach vectors (Figure 2.5). Each unit vector is represented by its

v Figure 2.5 Representation of a frame at


the origin of the reference frame.
34 Chapter 2 Robot Kinematics: Position Analysis

three components in the reference frame as in Section 2.3.2. Thus, a frame F can be
represented by three vectors in a matrix form as:

°x <*x
F = o.. a„ (2.7)

2.3.4 Representation of a Frame in a Fixed Reference Frame

If a frame is not at the origin (or, in fact, even if it is at the origin) then the loca-
tion of the origin of the frame relative to the reference frame must also be ex-
pressed. In order to do this, a vector will be drawn between the origin of the frame
and the origin of the reference frame describing the location of the frame (Fig-
ure 2.6). This vector is expressed through its components relative to the reference
frame. Thus, the frame can be expressed by three vectors describing its direction-
al unit vectors, as well as a fourth vector describing its location as follows:

nx °.x «., P*
ny o. a. Py
F= (2.8)
nz °z «z P,
0 0 0 1.

Figure 2.6 Representation of a frame in


a frame.

As shown in Equation (2.8), the first three vectors are directional vectors with
w = 0, representing the directions of the three unit vectors of the frame n,o,a, while
the fourth vector with w = 1 represents the location of the origin of the frame rela-
tive to the reference frame. Unlike the unit vectors, the length of vector P is impor-
tant to us, and thus we use a scale factor of one. A frame may also be represented
with a 3 X 4 matrix without the scale factors, but it is not commonly done this way.
Example 2.2
The frame F shown in Figure 2.7 is located at 3,5,7 units, with its /i-axis parallel to x, its
o-axis at 45° relative to the >'-axis, and its o-axis at 45° relative to the z-axis. The frame
can be described by:
Section 2.3 Matrix Representation 35

1 0 0 3
0 0.707 -0.707 5
0 0.707 0.707 7
0 0 0 1

v Figure 2.7 An example of representa-


tion of a hame in space.

2.3.5 Representation of a Rigid Body

An object can be represented in space by attaching a frame to it and representing


the frame in space. Since the object is permanently attached to this frame, its posi-
tion and orientation relative to this 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 2.8). As before, a frame in space can be rep-
resented by a matrix, where the origin of the frame, as well as the three vectors rep-
resenting its orientation relative to the reference frame, are expressed. Thus,

«.v °x ax Px
nv ov a,. Py
object (2.9)
n, o. ciz Pz
0 0 0 1

Figure 2.8 Representation of an object


in space.
36 Chapter 2 Robot Kinematics: Position Analysis

As was discussed in Chapter 1, a point in space has only three degrees of free-
dom; it can only move along the three reference axes. However, a rigid body in
space has 6 degrees of freedom, meaning that not only it can move along three axes
of x, y, and z, but can also rotate about these three axes. Thus, all that is needed to
completely define an object in space is 6 pieces of information describing the lo-
cation of the origin of the object in the reference frame relative to the three refer-
ence axes, as well as its orientation about the three axes. However, as can be seen in
Equation (2.9), 12 pieces of information are given, 9 for orientation, and 3 for posi-
tion. (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 preceding to 6. Thus, we need 6 constraint equations
to reduce the amount of information from 12 to 6 pieces. The constraints come from
the known characteristics of the frame, which we have not used yet:

• the three unit vectors «,o,a are mutually perpendicular, and


• each unit vector's length must be equal to unity.

These constraints translate into the following six constraint equations:

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


(2) n-a = 0.
(3) ao = 0. (2.10)
(4) \n\ = 1. (The magnitude of the length of the vector must be 1.)
(5) \o\ = 1.
(6) M = 1.
As a result, the values representing a frame in a matrix must be such that the
foregoing equations are true. Otherwise, the frame will not be correct. Alternative-
ly, the first three equations in Equation (2.10) can be replaced by a cross product of
the three vectors as follows:
nXd = a. (2.11)

Example 2.3
For the following frame,findthe values of the missing elements, and complete the ma-
trix representation of the frame:

? 0 ? 5'
0.707 ? ? 3
? ? 0 2 '
0 0 0 L

Solution Obviously, the values 5,3,2 representing the position of the origin of the
frame do not affect the constraint equations. You also notice that only three values for
directional vectors are given. This is all that is needed. Using Equation (2.10), we get
nx ov + n, ov + n-0; = 0, or nx (0) + 0.707 (ov) + n. (o,) = 0,
nx ax + n, a, + n. a. = 0, or nx (aj + 0.707 (av.) + n. (0) = 0,
Section 2.3 Matrix Representation 37

ax ox + av. oy + azo,= 0, or ax(0) + ay(oy) + 0(oz) = 0,


n2 + n2 + n2 = 1, or n2 + 0.7072 + n2 = 1,
2 2 2
o + o + o = 1, or 02 + o / + o / = 1,
a2 + a2 + a.2 = 1, or a J + a 2 + 02 = 1.
Simplifying these equations yields
0.707 oy + nzoz = 0,
nxax + 0.707 ay = 0,
avo, = 0,
n / + n2 = 0.5,
ov2 + o2 = 1,
a/ + a2 = 1.
Solving these six equations yields nx = ±0.707, nz = 0, oy = 0,oz = 1, at = ±0.707, and
av = —0.707. Please notice that both nx and ax must have the same sign. The reason for
multiple solutions is that with the given parameters, it is possible to have two sets of
mutually perpendicular vectors in opposite directions. Thefinalmatrix will be:
0.707 0 0.707 5" 0.707 0 -0.707 5
0.707 0 -0.707 3 ).707 0 -0.707 3
F=
0 1 0 2 0 1 0 2
0 0 0 1 0 0 0 1
As can be seen, both matrices satisfy all the requirements set by the constraint
equations. It is important to realize that the values represented by the three direc-
tion vectors are not arbitrary, but are bound by these equations. Thus, you may not
arbitrarily use any desired values in the matrix.
The same problem may be solved by taking the cross products of n and o and
setting it equal to a as « X o = a, or

i J k
nx ny n, ax\ + ovj + fl,k,
°X °l °7

i(nyoz - «-ov) - j(n v o. - nzox) + k(nxov - nyox) = avi + a j + n.k.


Substituting the values into this equation yields:
i(0.707o, - n.os) - }(nxoz) + k(n.vov) = ax\ + o j + 0k.
Solving the three simultaneous equations gives:
0.707 o. — nzoy = ax,
~nxo, = av,
w,o,. = 0.
38 Chapter 2 Robot Kinematics: Position Analysis

which replace the three equations for the dot products. Together with the three unit
vector length constraint equations, there are six equations, which ultimately result
in the same values for the unknown parameters. Please verify that you get the same
results.

2.4 HOMOGENEOUS TRANSFORMATION MATRICES

For a variety of reasons, it is desirable to keep transformation matrices in square


form, either 3 X 3 or 4 X 4. First, as we will see later, it is much easier to calculate
the inverse of square matrices than rectangular matrices. Second, in order to multi-
ply two matrices, their dimensions must match, such that the number of columns of
the 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 matri-
ces A and B are square with (m X m) and (m X m) dimensions, one 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 in 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 di-
mension different from A and B. Since we will have to multiply many matrices to-
gether in different orders to find the equations of motion of the robots, we desire
square matrices.
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 a
4 X 4 matrix. If we represent the orientation alone, we may either drop the scale
factors and use 3 x 3 matrices, or add a 4th column with zeros for position in order
to keep the matrix square. Matrices of this form are called homogeneous matrices,
and we write them as follows:

nx ox ax P,
n. 0, av P>
n. oz az P:
0 0 0 1

2.5 REPRESENTATION OF TRANSFORMATIONS

A transformation is defined as making a movement in space. When a frame (a vec-


tor, an object, or a moving frame) moves in space relative to a fixed reference frame,
we can represent this motion in a form similar to a frame representation. This is be-
cause a transformation itself is a change in the state of a frame (representing the
change in its location and orientation), and thus it can be represented as a frame. A
transformation may be in one of the following forms:

You might also like