Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

Mechanics

Dr Khaled Roshdy E. Atia

of
Industrial Robots

(Lecture Notes)

by

Dr. Khaled R. E. Atia

Department of mechanical Design and Production Engineering

Faculty of engineering

Zagazig University

2020
Chapter 1
Dr Khaled Roshdy E. Atia

INTRODUCTION

 Industrial Robot

A general-purpose, programmable machine possessing certain anthropomorphic characteristics.


Industrial robots are programmable, multi-function manipulators designed to automate tasks
such as welding or the movement of materials through variable programmed motions. Robots
are capable of performing a wide variety of tasks and are an integral part of automated
manufacturing systems.

Industrial robots consist of a number of rigid links connected by mechanical joints. The link
assembly, or robot arm, is mounted onto a base and the entire system is run by a controller.
A wrist attached to the robot arm uses an end effector to facilitate gripping or handling. The
complete motion of the end effector is accomplished through a series of motions and positions
of the links, joints, and wrist. The axes of movement that a robot has are referred to as
degrees of freedom.

 Why industrial robots are important?

1. Robots can substitute for humans in hazardous work environments.

2. Consistency and accuracy not attainable by humans.

3. Can be reprogrammed.

4. Most robots are controlled by computers and can therefore be interfaced to other computer
systems.

 A manipulator may be thought of as a set of bodies (links) connected in a chain by joints.

– Joints provide relative motion.

– Links are rigid members between joints.

– Various joint types: linear and rotary.

– Each joint provides a “degree-of-freedom”.

– Most robots possess five or six degrees-of-freedom.

1
 Degrees of Freedom

The degrees of freedom of a manipulator (mobility) is the number of independent variables


that define its configuration.

The mobility of a system formed from n moving links and j joints each with freedom fi , i =
1, ..., j, is given by
X
j
M = 6(n − j) + fi (1.1)
i=1

 Main parts of a manipulator


Dr Khaled Roshdy E. Atia

Robot manipulator consists of two sections:

I Body-and-arm –for positioning of objects (gripper, tool, etc.) in the robot’s work volume.

I Wrist assembly –for orientation of objects.

 Robot Links and Joints

In a robot, the connection of different manipulator joints is known as Robot Links, and the
integration of two or more link is called as Robot Joints. A robot link will be in the form of
solid material, and it can be classified into two key types – input link and output link. The
movement of the input link allows the output link to move at various motions. An input link
will be located nearer to the base.

Types of robot joints:

H Linear joint (type L)

. This type of joints, fig(1.1), can perform both translational and sliding movements. These
motions will be attained by several ways such as telescoping mechanism and piston. The two
links should be in parallel axes for achieving the linear movement.

H Orthogonal joint (type O)

This joint, fig(1.1), is somewhat similar to the linear joint. The only difference is that the
output and input links will be moving at the right angles.

H Rotational joint (type R)

This type, fig(1.2), will allow the joints to move in a rotary motion along the axis, which is
vertical to the arm axes.

H Twisting joint (type T)

This joint, fig(1.2), makes twisting motion among the output and input link. During this
process, the output link axis will be vertical to the rotational axis. The output link rotates in
relation to the input link.

2
Dr Khaled Roshdy E. Atia

Figure 1.1: Joints allowing translational motion.

H Revolving joint (type V)

Here, fig(1.2), the output link axis is perpendicular to the rotational axis, and the input link
is parallel to the rotational axes. As like twisting joint, the output link spins about the input
link.

Figure 1.2: Joints allowing rotary motion.

 What are the different types of Robot Body-and-Arm Configurations ?

There are five common body-and-arm configurations for industrial robots (Figure 1.3):

1. Polar coordinate body-and-arm assembly

2. Cylindrical body-and-arm assembly

3. Cartesian coordinate body-and-arm assembly

4. Anthropomorphic (Articulated) body-and-arm assembly

5. Selective Compliance Assembly Robot Arm (SCARA)

3
 Cartesian coordinate body-and-arm assembly

The Cartesian or (x, y, z) arrangement is the only one to use just prismatic joints, correspond-
ing to the dimensions of the Cartesian coordinate system. This is the mathematically simplest
system as far as translational movements are concerned. It is easy to calculate what joint
movements are needed to move the payload from one place to another, and arm movement
does not affect payload orientation. This is advantageous when dealing with a world domi-
nated by right angle geometry; an example is inserting components into printed circuit boards.
Robots for this purpose often hang down from a gantry rather than standing like a pillar.
Since the slideways for the two motions are supported at both ends, a gantry machine is easier
Dr Khaled Roshdy E. Atia

to make rigid, and is the most rigid of the common structures for industrial robots.

 Polar coordinate body-and-arm assembly

The spherical polar or (r, θ, ϕ) configuration was adopted in the Unimate, the first industrial
robot. This design is used mostly for machine loading, being well suited to a long straight
reach into a press or moulding machine.

 Cylindrical body-and-arm assembly

This cylindrical or (r, z, θ) configuration is found mostly in pick and place robots for parts
feeding. As in the Cartesian geometry the wrist is automatically kept in a constant attitude
(apart from rotation about the vertical axis), and so it is suitable for tasks such as the
assembly of an electric motor where the assembly is dominated by a vertical axis along which
components such as bearings and shafts are to be inserted. Its main advantage over the
Cartesian arrangement is that the robot can be surrounded by the machines it serves and can
swing right round to cover a large working area.

 Selective Compliance Assembly Robot Arm (SCARA)

This configuration is often referred to as a ’SCARA’ arm, for selective compliance assembly
robot. This means that the vertical axis at the gripper is kept rigidly vertical, and the vertical
prismatic joint can apply a force for insertion during assembly while the horizontal motion is
allowed to be somewhat compliant to take up small positioning errors. The SCARA arm is
often used for assembly, like cylindrical and Cartesian arms, and for the same reasons. It is
more compact than a cylindrical robot.

 Anthropomorphic (Articulated) body-and-arm assembly

The anthropomorphic arm, sometimes said to use revolute coordinates, is very popular. It is
compact (and so has a large working volume for its size) and avoids prismatic joints.

4
Cartesian

cylinderical
Polar
Dr Khaled Roshdy E. Atia

SCARA
Articulated

Figure 1.3: Five common arm geometries: (a) Cartesian, (b) polar, (c) cylindrical, (d) SCARA, (e)
Jointed or anthropomorphic.

 Wrist Configurations

Wrist assembly is attached to end-of-arm. The mathematically ideal wrist allows rotation of
the held object about three axes at right angles, such as those shown in Figure 1.4, although
wrists with fewer axes are also common. There are several systems of names for the three
axes; the system adopted here is that of pitch, roll and yaw. It would be mathematically tidy ,
and often useful in practice, if the axes of rotation passed through some specified point in the
payload, such as the tip of a tool or the centre of a workpiece. This is not usually possible;
the joints are almost always some distance behind this point. A more realistic objective is to
make the three joint axes intersect at a point somewhere in the wrist, and this is commonly
done.

5
Dr Khaled Roshdy E. Atia

Figure 1.4: The basic three-axis wrist.

It is difficult to design a satisfactory three-axis wrist. The main problem is this: if the joint
actuators are attached directly to the joints, the wrist will be heavy and bulky, but if they are
not then some mechanical transmission must be devised to couple the wrist joints to actuators
mounted on the arm.

 What are the requirements that must be met by a robot wrist ?

A wrist must meet some or all of the following requirements

1. The mass at the end of the arm should be minimized. Otherwise the arm will have to be
stronger than it need be, and because of excessive inertia the robot will be slow.

2. The volume of the wrist mechanism should be minimized as it is liable to intrude into
the work space and to collide with obstacles.

3. The wrist must allow transmission of power to the gripper. This can be done by a
mechanical linkage.

4. Each joint must have a useful angular range .

5. It is sometimes desirable to allow a compliant or force-sensing device to be incorporated.

 End effectors (grippers, tools and hands)

End effector is attached to wrist assembly. The purpose of it is to carry a tool or workpiece.
The most general way of accomplishing this is to provide a hand which, like the human hand,
is almost infinitely adaptable. Such hands are still in the research stage. Industrial robots
generally have a two-jaw gripper, a special purpose gripper, a permanently mounted tool or a
fitting for interchangeable tools .

H TWO-JAW GRIPPERS

6
The crudest kind of two-jaw gripper is shown in Figure 1.5(a). It is rarely used except in
very cheap robots owing to its tendency to displace the load sideways as the jaws close. The
version of Figure 1.5(b) is preferred. The jaws are coupled by gears or a linkage. The variant
of Figure 1.5(c) has been fitted with jaw faces matching a particular part. Those of Figures
1.5(d), (e) and (f) are suitable for gripping objects with parallel faces.

Such grippers can use any kind of power source, but pneumatic actuation is particularly
suitable because of its inherent springiness: if the workpiece starts to slip, some resilience in
the jaws may enable the gripper to keep its hold. However, grippers are also available with
jaws powered by servomotors which allow servo control of jaw separation or gripping force.
Dr Khaled Roshdy E. Atia

The gripping force may be measured by strain gauges or the motor current.

H VACUUM AND MAGNETIC GRIPPERS

Suction cups are used in egg packing machinery and glass handling as well as in robotics. A
common way of producing the (partial) vacuum is to use vacuum pump.

Magnetic grippers can use permanent magnets or electromagnets. An electromagnet can, of


course, easily be turned off, but when this is done it is desirable to apply a pulse of reversed
current. This cancels any magnetization induced in the workpiece and ensures a quick release.
If a permanent magnet is used there must be a mechanical device for detaching the workpiece,
or else the robot can pull free once the workpiece is secured at its destination. Permanent
magnets can be designed to produce shallow magnetic penetration so that only the top layer
of a stack of steel sheets is picked up.

Both magnetic and vacuum grippers are of limited load capacity. Another property they
share is that if an object is held by a flat surface it will tend to slide if it is at an angle to
the horizontal or if it is accelerated too rapidly. Vacuum and magnetic grippers also need a
continuous supply of power.

 TOOLS

Tools are generally attached to the outermost link of the wrist, in place of a gripper. Arc and
spot welding, spraying and grinding are robot applications in which the robot carries a tool.
Other tools are gas torches, ladles, drills, wrenches, screwdrivers and inspection equipment.

 What are the factors that must be taken into account when deciding whether a tool is suitable
for robot use ?

In deciding whether a tool is suitable for robot use several factors must be taken into account:

1. Weight of the tool;

2. Positional and angular accuracy with which it must aligned with the workpiece;

3. Any sensing needed to use it;

7
Dr Khaled Roshdy E. Atia

Figure 1.5: Varieties of a two-jaw gripper: (a) single moving jaw; (b) both jaws move symmetrically,
coupled by gears; (c) jaws shaped to match a cylindrical workpiece; (d) self adjusting parallel jaws;
(e) standard design of parallel jaw gripper; and (f) sliding jaws driven by rack and pinion for
straight-line motion.

4. Rigidity with which it must be held (tools such as grinders and wrenches exert a large
reaction on the robot);

5. Reliability (a tool such as a screwdriver which jams once in a thousand operations might
be acceptable by a person but is useless for a robot).

 Robot Workspace

The workspace of robot manipulator is defined as the set of points that can be reached by its
end-effector. Workspace is also sometimes called work volume or work envelope. It cab also
be defined as: the volume in space that a robot’s end-effector can reach, both in position and
orientation.

The workspace depends mainly on the robot configuration.

8
H Cartesian Robot Workspace.
Dr Khaled Roshdy E. Atia

Figure 1.6: Cartesian Robot Workspace.

H Articulated Robot Workspace.

Figure 1.7: Articulated Robot Workspace.

9
H SCARA robot Workspace.
Dr Khaled Roshdy E. Atia

Figure 1.8: SCARA Robot Workspace.

H Spherical Robot Workspace.

Figure 1.9: Spherical Robot Workspace.

10
H Cylindrical Robot Workspace.
Dr Khaled Roshdy E. Atia

Figure 1.10: Cylindrical Robot Workspace.

 Actuators for Robots

I An actuator is any device for producing mechanical movement. It is usually considered to


produce it from some non-mechanical power source.

I There are three types of power source in common use: pneumatic, hydraulic and electric.

 Pneumatic Actuators (cylinders)

1. Double effect pneumatic cylinders.

acceleration (m/sec2 )

a = P*A − k*v
2

Figure 1.11: Double effect pneumatic cylinders.

2. Single effect pneumatic cylinders

~ Pneumatic actuators work on compressed air at a pressure of, typically, 10 bar.

11
Figure 1.12: Single effect pneumatic cylinders.

~ They are used almost entirely in pick and place manipulators since the compressibility of air
Dr Khaled Roshdy E. Atia

makes it difficult to control speed.

~ In a pick and place machine the valves are either fully on or fully off, and each actuator stops
only at the end of its travel.

Figure 1.13: Double effect pneumatic cylinders with air valve.

~ Pneumatic (and also hydraulic) cylinders cannot resist torque about the long axis and so, if
axial rotation is undesirable, an extra sliding guide must be used.

~ Oval pistons to prevent axial rotation (no need of auxiliary guides).

12
Figure 1.14: Pneumatic cylinders with Lateral guides to prevent axial rotation.
Dr Khaled Roshdy E. Atia

Figure 1.15: Oval Pneumatic cylinder to prevent axial rotation.

~ Classical cylinders drawbacks: a displacement of length l requires an additional length l (not


compact).

Figure 1.16: Issue of compactness in pneumatic cylinders.

~ Rodless cylinders have the advantage of compactness.

~ A pneumatic actuator is often used for the gripper of robot, where its elasticity is useful as it
automatically limits the force which can be applied and can cope with variations in the size
of the workpieces.

~ A pneumatic gripper actuator is very light and needs to be connected only by a narrow flexible
tube which is easy to feed through a complex wrist.

13
Figure 1.17: Rodless pneumatic cylinders.
Dr Khaled Roshdy E. Atia

 Hydraulic Actuators (cylinders)

~ Hydraulic actuators can generate an extremely high force in a small volume, with good rigidity
and servo control of position and velocity.

Figure 1.18: A Hydraulic cylinder.

~ The basic components such as cylinders and valves are similar to those used in pneumatics.

 Rotary Hydraulic Actuators (Motors)

~ Hydraulic motors are used to convert hydraulic energy into mechanical energy.

~ Hydraulic motors are very similar in construction to hydraulic pumps. In fact many pumps
may be used as motors without any modification.

~ Hydraulic motors are classified as gear, vane, piston or deri sine type.

~ Rotary motors are generally rated in terms of DISPLACEMENT or TORQUE. They may be
fixed displacement motors or variable displacement motors.

14
~ Fixed displacement motors normally have constant torque, the speed being varied by altering
the flow to the motor.

~ Variable displacement motors have variable torque and speed. With the input flow and oper-
ating pressure remaining constant, varying the displacement can vary the ratio between torque
and speed to suit the load requirements.

F GEAR MOTORS

Fluid is pumped into the motor inlet (P) where it has two courses to follow around the outside
in the space between the teeth to the exit at (T). Like the gear pump the gears in a gear
Dr Khaled Roshdy E. Atia

motor are closely fitted in the housing end and, for this reason, flow of fluid through the motor
from the inlet to the outlet can occur only when the gears rotate. In the gear motor fluid
drives both gears but only one gear is coupled to the output shaft to supply rotary mechanical
motion. Gear motors are of the fixed displacement type - this means that the output shaft
speed varied only when the flow rate through the motor changes. These motors are generally
two directional, the motor being reversed by direction fluid through the motor in the opposite
direction.

Figure 1.19: A Hydraulic gear motor.

 Electric Actuation

Electric actuation is the dominant method for industrial robots. Most electric robots use
servomotors; these can be divided into DC servomotors, which power the majority of existing
robots, and a second class sometimes called the brushless DC servomotor and sometimes the
AC servomotor, which is becoming increasingly popular. Electric actuation can also be done
by stepper motors, for a limited class of robots.

15
F DC Motors

These have been the most common kind of motor used in industrial robots until now. Figure
1.20 illustrates the construction of a DC motor, consisting of a stator, a rotor, and a com-
mutation mechanism. The stator consists of permanent magnets, creating a magnetic field
in the air gap between the rotor and the stator. The rotor has several windings arranged
symmetrically around the motor shaft. An electric current applied to the motor is delivered
to individual windings through the brush-commutation mechanism, as shown in the figure. As
the rotor rotates the polarity of the current flowing to the individual windings is altered. This
allows the rotor to rotate continually.
Dr Khaled Roshdy E. Atia

Figure 1.20: Construction of DC motor.

Brush DC Motors have several advantages :

1. It has a simple construction (its Operation needs no special controller).

2. Controlling the speed of a Brush DC Motor is simple. The higher the armature voltage,
the faster the rotation. This relationship is linear to maximum speed.

3. simple adjustment of torque (the higher the armature current, the higher the torque
generated).

4. Inexpensive.

Brush DC Motors disadvantages :

1. Brush wear out and need replacement which undesirable.

2. Process of brush create dust.

F Brushless DC Motors (BLDC motors)

If a permanent magnet DC servomotor is turned inside out so that the magnets form the rotor
while the windings are fixed, then no commutator connection to the rotor is needed. Instead
the current in the windings must be switched by electronic commutation, or must alternate, in

16
synchronism with the motor rotation. The rotor may carry a slotted disc or a ring of magnets
to operate optical or Hall-effect switches to synchronize the commutation.

Brushless DC Motors have several advantages over DC commutator motors:

1. higher reliability;

2. low friction;

3. less electrical noise owing to elimination of the commutator;

4. no sparks;
Dr Khaled Roshdy E. Atia

5. longer life;

6. high torque to inertia ratio;

7. high torque throughout the speed range .

The disadvantage of Brushless DC Motors is: They require an electronic controller to generate
the alternating coil currents.

Figure 1.21: Construction, Working Principle and Operation of BLDC motor.

 Robot Sensors

 Potentiometer

The potentiometer is an inexpensive and easy to use position sensor. It has a wiper contact
linked to a mechanical shaft that can rotate or slider that allows linear movement. This
motion (linear or rotational) causes the resistance value between the wiper/slider and the two
end connections to change. This change in resistance is proportional to position of the wiper
or slider.

17
A DC reference voltage is applied across the two outer fixed connections forming the resistive
element. The output voltage signal is taken from the wiper terminal of the sliding contact as
shown below.
Dr Khaled Roshdy E. Atia

Figure 1.22: Potentiometer Construction.

The output signal (Vout) from the potentiometer is taken from the centre wiper connection as
it moves along the resistive track, and is proportional to the angular position of the shaft.

 Linear Variable Differential Transformer (LVDT)

This is an inductive type position sensor which works on the same principle as the AC
transformer. The LVDT consists of 3 coils wound on a hollow tube. One forms the primary
coil and the other two coils form identical secondaries connected electrically together in series
but 180o out of phase either side of the primary coil. A moveable soft iron ferromagnetic core
(sometimes called an “armature”) which is connected to the object being measured, slides or
moves up and down inside the tubular body of the LVDT.

A small AC reference voltage called the “excitation signal” (2˘20 V rms, 2˘20 kHz) is applied
to the primary winding which in turn induces an EMF signal into the two adjacent secondary
windings (transformer principles). If the soft iron magnetic core armature is exactly in the
centre of the tube and the windings, “null position”, the two induced emf’s in the two secondary
windings cancel each other out as they are 180o out of phase, so the resultant output voltage
is zero. As the core is displaced slightly to one side or the other from this null or zero position,
the induced voltage in one of the secondaries will be become greater than that of the other
secondary and an output will be produced.

The polarity of the output signal depends upon the direction and displacement of the moving
core. The greater the movement of the soft iron core from its central null position the greater
will be the resulting output signal. The result is a differential voltage output which varies

18
Dr Khaled Roshdy E. Atia

Figure 1.23: The Linear Variable Differential Transformer.

linearly with the cores position. Therefore, the output signal from this type of position sensor
has both an amplitude that is a linear function of the cores displacement and a polarity that
indicates direction of movement.

The phase of the output signal can be compared to the primary coil excitation phase to know
the direction of travel.

 Resolver (RVDT)

The resolver is a transformer-type angular position transducer consisting of a stator with two
excitation windings shifted in phase by 90o , and a rotor with one output winding, the ends
of which touch the slide rings fitted on the resolver shaft. Resolvers usually transform the
rotation angle into a phase of the voltage induced in the output winding. Figure 1.24 shows
their operating principle with sine excitation voltages and sine output voltage. Coefficient kr
is the resolver’s ratio.

 quadrature Optical Incremental Encoder

An optical encoder in an incremental position readout, which uses a light source (LED), two
photosensors in quadrature and a glass or plastic disk between them, Figure 1.25. The disk
has fine etched lines radiating from its center, and as it rotates the sensors see patterns of
light and dark. The number of lines on the disk and some other techniques determines the
resolution, which is typically 1,024, 2,048 or even as high as 4,096 counts per revolution.

Encoders actually generate a quadrature signal, consisting of two square waves that are 90o
out of phase, figure 1.26.

19
Dr Khaled Roshdy E. Atia

Figure 1.24: The Rotary Variable Differential Transformer.

Direction of rotation is determined by the phase difference between the two signals. For
example, if Channel A leads Channel B, then the encoder is rotating (say) CCW. If Channel
B leads Channel A, then the direction of rotation is CW.

However, the encoder is an incremental, not absolute, indicator of motion. In order to deter-
mine absolute position, most encoders add a third track, with just one window, and photosensor
as an indicator "zero reference track"; the shaft must rotate enough to pass the zero reference
position for this to signal.

 Tachometer

The permanent magnet DC (PMDC) tachometer has the same structure as the PMDC motor.
The differece is that the former take motion as an input and gives voltage as output. Figure
1.27 shows a schmeatic of the tachometer.

The permanent magnet generates a steady and uniform magnetic field. Relative motion be-
tween the field and the rotor induces voltages, which is proportional to the speed of the rotor.
The inductance gives the tachometer a certain time constant so that the tachometer cannot
measure fast transient accurately.

 Industrial Robot Applications

1. Material handling

– Material transfer – pick-and-place – Machine loading and/or unloading.

2. Processing operations

– welding – Spray coating – waterjet cutting – laser cutting – grinding.

3. Assembly

4. Inspection

20
Dr Khaled Roshdy E. Atia

Figure 1.25: The optical encoder has a light source, quadrature light sensors and an interposed disk
with lines.
1
Index (I)

0
Channel A

1
Channel B

Figure 1.26: The A/B quadrature and index outputs of the optical encoder .

 Robot Programming

1. Leadthrough programming (On Line programming)


Work cycle is taught to robot by moving the manipulator through the required motion
cycle and simultaneously entering the program into controller memory for later playback.
There are two types of Leadthrough programming:

– Powered leadthrough [Common for point-to-point robots]


Uses teach pendant to move joints to desired position and record that position into
memory.
– Manual leadthrough [Convenient for continuous path control robots]
Human programmer physically moves manipulator through motion cycle and records
cycle into memory.

2. Robot programming languages


Textual programming language is used to enter commands into robot controller. It pro-
vides the opportunity to perform the following functions that leadthrough programming

21
Figure 1.27: A permanent magnet DC (PMDC) tachometer.
Dr Khaled Roshdy E. Atia

Figure 1.28: A Teach Pendant for Powered Leadthrough Programming.

cannot readily accomplish:

– Enhanced sensor capabilities.


– Improved output capabilities to control external equipment.
– Program logic not provided by leadthrough methods.
– Computations and data processing similar to computer programming languages.
– Communications with other computer systems.

3. Simulation and off-line programming


The program is prepared at a remote computer terminal and downloaded to robot con-
troller for execution without need for leadthrough methods.
Advantage of true off-line programming is that the program can be prepared beforehand
and downloaded to the controller with no lost production time. Graphical simulation is
used to construct a 3-D model of the robot cell in which locations of the equipment in
the cell have been defined previously.

22
Chapter 2

Spatial descriptions & transformations


Dr Khaled Roshdy E. Atia

2.1 INTRODUCTION

Robotic manipulation, by definition, implies that parts and tools will be moved around in space by
some sort of mechanism. This naturally leads to a need for representing positions and orientations
of parts, of tools, and of the mechanism itself. To define and manipulate mathematical quantities
that represent position and orientation, we must define coordinate systems and develop conventions ‫ﻗﻮاﻋﺪ‬
for representation.

It is considered that somewhere there is a universal coordinate system to which everything


we discuss can be referenced. We will describe all positions and orientations with respect to the
universe coordinate system or with respect to other Cartesian coordinate systems that are (or could
be) defined relative to the universe system.

2.2 Descriptions of positions, orientations, and frames

 Description of a position

Once a coordinate system is established, we can locate any point in the universe with a
3 × 1 position vector. Because we will often define many coordinate systems in addition to
the universe coordinate system, vectors must be tagged with information identifying which
coordinate system they are defined within. In this course, vectors are written with a leading
superscript indicating the coordinate·system to which they are referenced — for example, AP .

This means that the components of AP have numerical values that indicate distances along
the axes of {A}. Each of these distances along an axis can be thought of as the result of
projecting the vector onto the corresponding axis.

Figure 2.1 pictorially represents a coordinate system, {A}, with three mutually orthogonal
unit vectors with solid heads. A point AP is represented as a vector and can equivalently be
thought of as a position in space, or simply as an ordered set of three numbers. Individual

23
elements of a vector are given the subscripts x, y, and z:
 
 x 
 
 
 
A
P = 
 y 
 
 
 
z

frame
Dr Khaled Roshdy E. Atia

Figure 2.1: Vector relative to frame (example).

 Description of an orientation

In order to describe the orientation of a body, we will attach a coordinate system to the body
and then give a description of this coordinate system relative to the reference system. In Fig.
2.2, coordinate system {B} has been attached to the body in a known way. A description of
{B} relative to {A} now suffices to give the orientation of the body.

The orientation of of {B} relative to {A} is represented by a 3 × 3 matrix that is called a


rotation matrix which has the notation A R. The later matrix is defined as
B

 
Cos(X̂B , X̂A ) Cos(ŶB , X̂A ) Cos(ẐB , X̂A )
" #  
 
 
A
BR = A X̂
B
A Ŷ
B
A Ẑ
B
=  Cos(X̂B , ŶA ) Cos(ŶB , ŶA ) Cos(ẐB , ŶA ) 

 (2.1)
 
 
 
Cos(X̂B , ẐA ) Cos(ŶB , ẐA ) Cos(ẐB , ẐA )

The description of frame {A} relative to {B}, is given by

B A −1 A T
AR = BR = BR (2.2)

24
Dr Khaled Roshdy E. Atia

Figure 2.2: Locating an object in position and orientation.

 Frame: is a coordinate system where, in addition to the orientation, we give a position vector
which locates its origin relative to some other embedding frame. It is defined by a set of four
vectors giving position and orientation information. For example, in Fig. 2.2, one vector locates
the fingertip position and three more describe its orientation. Equivalently, the description of
a frame can be thought of as a position vector and a rotation matrix.
For example, frame {B} is described by " AR
B " and a " AP
BORG " where AP
BORG is the
vector that locates the origin of the frame {B} :

A
{B} = B
R, A
PBORG (2.3)

In Fig. 2.3, there are three frames that are shown along with the universe coordinate system.
Frames {A} and {B} are known relative to the universe coordinate system, and frame {C} is
known relative to frame {A}.

Figure 2.3: Example of several frames.

25
2.3 Mappings: Changing descriptions from frame to frame

In many cases in robotics, we are concerned with expressing the same quantity in terms of various
reference coordinate systems. The previous section introduced descriptions of positions, orientations,
and frames; we now consider the mathematics of mapping in order to change descriptions from frame
to frame.

 Mappings Involving Translated Frames

In Fig. 2.4, we have a position defined by the vector BP . We wish to express this point in
Dr Khaled Roshdy E. Atia

space in terms of frame {A}, when {A} has the same orientation as {B}. In this case, {B}
differs from {A} only by a translation, which is given by AP
BDRG , a vector that locates the
origin of {B} relative to {A}.

Because both vectors are defined relative to frames of the same orientation, we calculate the
description of point P relative to {A}, AP , by vector addition:

A A B
P = PBDRG + P (2.4)

Note that only in the special case of equivalent orientations may we add vectors that are
defined in terms of different frames.
P

Figure 2.4: Translational mapping.

26
 Mappings Involving Rotated Frames

As in Fig. 2.5, a situation will arise often where we know the definition of a vector BP with
respect to some frame, {B}, and we would like to know its definition AP with respect to
another frame, {A}, where the origins of the two frames are coincident. This computation is

P
Dr Khaled Roshdy E. Atia

Figure 2.5: Rotating the description of a vector.

possible when a description of the orientation of {B} is known relative to {A}. This orientation
is given by the rotation matrix A R.
B

AP can be calculated as
A A B
P = BR P (2.5)

 EXAMPLE
Figure 2.6 shows a frame {B} that is rotated relative to frame {A} about Ẑ by 30 degrees.
Here, Ẑ is pointing out of the page. Given BP = [ 0 2 0 ]T . Find AP ?

Figure 2.6: {B} rotated 30 degrees about Ẑ.

27
Solution
 
Cos(X̂B , X̂A ) Cos(ŶB , X̂A ) Cos(ẐB , X̂A )
 
 
 
A 
B R =  Cos(X̂B , ŶA )

Cos(ŶB , ŶA ) Cos(ẐB , ŶA ) 
 
 
 
Cos(X̂B , ẐA ) Cos(ŶB , ẐA ) Cos(ẐB , ẐA )
   
Cos(30) Cos(120) Cos(90) 0.866 −0.500 0.000
   
   
   
= Cos(60) Cos(30) Cos(90) = 0.500 0.866 0.000
  

Dr Khaled Roshdy E. Atia

   
   
   
Cos(90) Cos(90) Cos(0) 0.000 0.000 1.000

Now, we have

A A B
P = R P

B
    
0.866 −0.500 0.000 0  −1 
     
     
     
    
= 0.500 0.866 0.000 · 2 = 1.732

     
     
     
0.000 0.000 1.000 0 0

 Mappings Involving General Frames


Very often, we know the description of a vector with respect to some frame {B}, and we would
like to know its description with respect to another frame, {A}. We now consider the general
case of mapping. Here, the origin of frame B is not coincident with that of frame A but has
a general vector offset. The vector that locates {B}’s origin is called AP
BORG . Also {B} is
rotated with respect to {A}, as described by A R.
B

Given BP , we wish to compute AP , as in Fig. 2.7.

We can first change BP to its description relative to an intermediate frame that has the same
orientation as {A}, but whose origin is coincident with the origin of {B}. This is done by
premultiplying by A R. We then account for the translation between origins by simple vector
B

addition, and obtain


A A B
P = BR P +A PBORG (2.6)

Equation 2.6 describes a general transformation mapping of a vector from its description in
one frame to a description in a second frame. Note that the B’s cancel, leaving all quantities
as vectors written in terms of A, which may then be added.

28
Dr Khaled Roshdy E. Atia

Figure 2.7: General transform of a vector.

The form of 2.6 is not as appealing as the conceptual form:

A A B
P = BT P (2.7)

This aids in writing compact equations and is conceptually clearer than 2.6. Equation 2.7 has
the structure     
A P   AR AP
BORG   P 
B
   B  
 =   (2.8)
    
1 0 0 0 1 1

The 4 x 4 matrix T in 2.7 is called a homogeneous transform. For our purposes, it can be
regarded purely as a construction used to cast the rotation and translation of the general
transform into a single matrix form.

 EXAMPLE

Figure 2.8 shows a frame {B}, which is rotated relative to frame {A} about ẐA by 30 degrees,
translated 10 units in X̂A and translated 5 units in ŶA . Find AP , where BP = [3 7 0]T .

The definition of frame {B} is

   
Cos(30) Cos(120) Cos(90) 10 0.866 −0.5 0 10
   
   
   
Cos(60) Cos(30) Cos(90) 5   0.5 0.866 0 5
   
A 
BT = 
= 
  
   
Cos(90) Cos(90) Cos(0) 0   0 0 1 0
   
   
   
0 0 0 1 0 0 0 1

29
Dr Khaled Roshdy E. Atia

Figure 2.8: Frame B rotated and translated.

Thus,

A A B
P = BR P +A PBORG
      
0.866 −0.5 0  3 10  9.098 
      
      
      
= 
 0.5 0.866 0
  +   =  
 7  5  12.562
      
      
      
0 0 1 0 0 0

Or, simply applying formula 2.7 as follows

     
0.866 −0.5 0 10 3  9.098 
     
     
     
 0.5 0.866 0 5  7 12.562
   
 
A
P =

· =
   


     
 0 0 1 0 0  0 
     
     
     
0 0 0 1 1 1

 COMPOUND TRANSFORMATIONS
In Fig. 2.9, we have CP and wish to find AP .

Frame {C} is known relative to frame {B}, and frame {B} is known relative to frame {A}.
We can transform CP into BP as

B
P =B
C T
C
P − − − − − − − (i)

30
Dr Khaled Roshdy E. Atia

Figure 2.9: Compound frames: Each is known relative to the previous one.

then we can transform BP into AP as

A
P =A
B T
B
P − − − − − − − (ii)

Combining (i) and (ii), we get the result

A
P =A
B T
B
CT
C
P − − − − − − − (iii)

from which we could define


A
CT =A
B T
B
CT (2.9)

In terms of the known descriptions of {B} and {C}, we can give the expression for AT
C as

 
 AR BR AR BP +A PBORG 
A  B C B CORG

CT =  (2.10)
 
0 0 0 1

 INVERTING A TRANSFORM

Consider a frame {B} that is known with respect to a frame {A}—that is, we know the value
of AT , i.e.
B  
 AR AP
BORG 
A  B 
BT = 
 
0 0 0 1

Sometimes we will wish to invert this transform, in order to get a description of {A} relative
to {B}—that is, BT .
A

31
we can write the form of BT as
A

 
 A RT −A
BR
T AP
BORG 
B −1  B 
AT =A
B T =  (2.11)
 
0 0 0 1

 Translational operators
A translation moves a point in space a finite distance along a given vector direction. With
Dr Khaled Roshdy E. Atia

this interpretation of actually translating the point in space, only one coordinate system need
be involved. Figure 2.7 indicates pictorially how a vector AP is translated by a vector A Q.
1

Here, the vector AQ gives the information needed to perform the translation.

Figure 2.10: Translation operator.

The result of the operation is a new vector AP


2, calculated as

A
P2 =A Q +A P1

To write this translation operation as a matrix operator, we use the notation

A A
P2 = DQ (q) P1 (2.12)

where q is the signed magnitude of the translation along the vector direction Q̂. The DQ

32
operator may be thought of as a homogeneous transform of a special simple form:

 
1 0 0 qx 
 
 
 
0 qy 
 1 0 
DQ (q) = 


 (2.13)
 
0 0 1 qz 
 
 
 
0 0 0 1

q
Dr Khaled Roshdy E. Atia

where qx , qy and qz are the components of the translation vector Q and q = qx2 + qy2 + qz2 .

Now that the "DQ " notation has been introduced, we may also use it to describe a frame
{ζ} with a rotation matrix AR
ζ equal the identity matrix I3×3 and AP
ζORG = [qx qy qz ]T .

 Rotational operators
Another interpretation of a rotation matrix is as a rotational operator that operates on a
vector AP and changes that vector to a new vector, AP
1 2, by means of a rotation, R. Usually,
when a rotation matrix is shown as an operator, no sub- or superscripts appear, because it is
not viewed as relating two frames. That is, we may write

A A
P2 = R P1

The rotation matrix that rotates vectors through some rotation, R, is the same as the rotation
matrix that describes a frame rotated by R relative to the reference frame.

Although a rotation matrix is easily viewed as an operator, we will also define another notation
for a rotational operator that clearly indicates which axis is being rotated about:

A A
P2 = RK (θ) P1 (2.14)

In this notation, "RK (θ)" is a rotational operator that performs a rotation about the axis
direction K̂ by θ degrees. This operator can be written as a homogeneous transform whose
position-vector part is zero. For example, the operator that rotates about the Ẑ axis by θ can
be written as  
Cosθ −Sinθ 0 0
 
 
 
 Sinθ Cosθ 0 0
 
RZ (θ) = 


 (2.15)
 
 0 0 1 0
 
 
 
0 0 0 1

Of course, to rotate a position vector, we could just as well use the 3 x 3 rotation matrix part

33
of the homogeneous transform. The "RK " notation, therefore, may be considered to represent
a 3 x 3 or a 4 x 4 matrix.

 EXAMPLE

Figure 2.11 shows a vector AP = [0 2 0]T . We wish to compute the vector obtained by
l

rotating this vector about Ẑ by 30 degrees. Call the new vector AP .


2
Dr Khaled Roshdy E. Atia

Figure 2.11: The vector AP rotated 30 degrees about Ẑ.


1

Solution
The rotation matrix that rotates vectors by 30 degrees about Ẑ is the same as the rotation
matrix that describes a frame rotated 30 degrees about Ẑ relative to the reference frame.
Thus, the correct rotational operator is
 
0.866 −0.5 0
 
 
 

RZ (30) =  0.5 0.866 0
 
 
 
0 0 1

we calculate AP as
2

    
0.866 −0.5 0 0  −1 
    
    
    
A A     
P2 = RZ (30) P1 =  0.5 0.866 0 2 = 1.732

    
    
    
0 0 1 0 0

 Transformation operators
As with vectors and rotation matrices, a frame has another interpretation as a transformation
operator. In this interpretation, only one coordinate system is involved, and so the symbol T
is used without sub- or superscripts. The operator T rotates and translates a vector AP to
1

compute a new vector,


A A
P2 = T P1 (2.16)

34
A transform is usually thought of as being in the form of a homogeneous transform with general
rotation-matrix and position-vector parts.

 EXAMPLE

Figure 2.12 shows a vector AP


l. We wish to rotate it about Ẑ by 30 degrees and translate it
10 units in X̂A and 5 units in ŶA . Find AP , where AP = [3.0 7.0 0.0]T .
2 l
Dr Khaled Roshdy E. Atia

Figure 2.12: The vector AP rotated and translated to form AP


1 2.

Solution
The operator T, which performs the translation and rotation, is

 
0.866 −0.5 0 10
 
 
 
 0.5 0.866 0 5 
 
T =



 
 0 0 1 0
 
 
 
0 0 0 1

    
 
0.866 −0.5 0 10 3  9.098 
    
      9.098 
      
 0.5 0.866 0 5  7 12.562  
       
A A 
P2 = T P1 =        
  =   = 12.562
      
 0 0 1 0  0  0   
      
     0
    
0 0 0 1 1 1

35

You might also like