[go: up one dir, main page]

0% found this document useful (0 votes)
64 views88 pages

Chap1 and 2

This document provides an introduction to industrial automation, computers, and robots. It discusses the history of automation beginning in ancient Greece and its growth with developments in control theory, feedback mechanisms, and computing. The term "robot" was coined in 1921 and early robots were envisioned as dangerous machines, but Isaac Asimov later developed his Three Laws of Robotics to ensure robots would not harm humans. The population of industrial robots has grown steadily with advances in technology such as transistors, microelectronics, and microcomputers that have enabled increased automation and robotics applications in manufacturing.

Uploaded by

Shantanu Das
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)
64 views88 pages

Chap1 and 2

This document provides an introduction to industrial automation, computers, and robots. It discusses the history of automation beginning in ancient Greece and its growth with developments in control theory, feedback mechanisms, and computing. The term "robot" was coined in 1921 and early robots were envisioned as dangerous machines, but Isaac Asimov later developed his Three Laws of Robotics to ensure robots would not harm humans. The population of industrial robots has grown steadily with advances in technology such as transistors, microelectronics, and microcomputers that have enabled increased automation and robotics applications in manufacturing.

Uploaded by

Shantanu Das
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/ 88

INTRODUCTION 1

Humanity has the stars in the future, and that future is too important to be lost
under the burden of juvenile folly and ignorant superstition
Sir Isaac Asimov

This chapter covers the following key topics:


Industrial Automation and Computers – Industrial Robot – The Laws of Robotics –
Robot Populations and Applications – Do Robots Create More Unemployment? –
Payback Period of a Robot – Robot Applications in Manufacturing

1.1 INDUSTRIAL AUTOMATION AND COMPUTERS


The term ‘Industrial automation’ is defined as the technology concerned with control of
systems in the process of achieving an end product. The process of achieving the end prod-
uct has to be with minimum or no human intervention. In this book, the term ‘automation’
is used in place of ‘industrial automation’ unless otherwise required. Automation first
became popular in automobile industries. Automation helps the industrial manufacturers
in achieving high productivity, high level of accuracy, consistent quality and increased
labour saving. Automation is based on foundations of automatic control and obviously
on feedback theory. It is applicable to any branch of science, engineering and technology
wherever and whenever a feedback is required.
The use of feedback in order to control a system has a fascinating history. The first appli-
cation of feedback control is believed to be a float regulator for level control in Greece dur-
ing the period starting somewhere between 300 and 1 BC. This control mechanism is used
in maintaining water level in the water clocks and oil level in oil lamps. Pressure regulators
for steam boilers (similar to pressure cooker valve) were in use from 17 AD. James Watt’s
fly ball governor, invented in 1769, is still in use in many industrial speed control systems.
Intuitive inventions were contributing to the development of automatic control and hence
automation till 1868 when Maxwell formulated the mathematical model (in terms of di er-
ential equations) to describe a system. He demonstrated the e ect of parameters on system
performance. The concepts of accuracy and stability were understood. The mathematical
2 | Robotics

models in di erent forms such as transfer function, pulse transfer function, describing
function and state variable modelling were considered as inevitable tools for analysing and
designing of control systems. Since Maxwell’s formulation of modelling, the automatic
control and hence automation have been accepted to be a science rather than an art.
World War II (during 1940s) was a milestone in the field of automation. In this period,
the whole area of scattered investigations of automation consolidated into a discipline. The
compelling necessity of designing military equipment, prototype production and testing
and mass scale manufacturing have contributed to a tremendous growth in the field of
automation. A push-through into new insights and methods was achieved. Many automatic
control theories were formulated. The pioneering contributions of H. Nyquist, H. W. Bode,
V. M. Popov and many others have strengthened the discipline of automatic control and are
still being used in developing new technologies of designing, controlling and perfecting
automation systems.
The idea of using computers in automation emerged during 1950s. Analogue com-
puters were used as on-line controllers in continuous processes such as steel and paper
industries. Almost during the same time, the power of rapid decision-making properties of
digital computers was found feasible in automation. A dramatic first application of digital
computer control was established when a polymerization unit went on-line. This pioneer-
ing work in computer control was noticed by industrialists, manufacturers and research
experts; the industrialists realized a potential tool for increased automation, the manufac-
turers recognized a new market and the research experts saw diversified research fields.
This has resulted in a tremendous growth in modern automation methods. Automation
without a computer is now hard to imagine.
The cost of computers used as controllers was the major concern in implementing
automation. The cost of analogue controllers increased linearly with increased control
loops. On the other hand, even though initial cost of digital computer was large, the cost
of adding additional loops was small. Additional advantages such as digital instrumenta-
tion panels, implementation of complex control strategies, easy human interface, reduced
human interaction and high reliability were the forcing functions of increased use of digital
computers in automation. The first microprocessor developed by Intel Corporation, USA,
during 1971, has initiated the microcomputer age. Since then, the research e orts in micro-
electronics and development of computer software have been o ering powerful computers
for automation at reduced cost. Since the necessities of computer control are unlimited,
one can safely guess that there will be a sustained growth in industrial automation during
many years to come.

1.2 INDUSTRIAL ROBOT


Automation and industrial robots are two closely related technologies. According to defini-
tion of automation, an industrial robot can be considered itself as a form of automation. The
term ‘robots’ is used in place of ‘industrial robots’ in this book. A robot is a general purpose
programmable machine which possesses the characteristics of a human arm. The robot can
be programmed by its computer to move its arm through sequences of motion in order to
perform some useful tasks. It repeats the motions over and over until it is reprogrammed to
perform some other task. Many industrial operations involve robots working together with
other equipment.
Introduction | 3

The word ‘robot’ was introduced by Karel Čapek a Czechoslovakian play writer in 1921.
Robot was derived from the Czech word ‘robota’ which means forced worker. Early writ-
ings and plays during 1920s and 1930s pictured the robot as ferocious humanoid machine
which was intended for killing human beings.
Sir Isaac Asimov (Figure 1.1) through his prodigious imagination contributed a number
of stories about robots starting from 1939. He coined the word ‘robotics’ which means the
science of robots. Later, Sir Isaac Asimov and Dr George Devol started a robotics indus-
try named as Unimation Inc. They started developing fully hydraulic powered UNIMATE
robot. In later years, Ford Motors used UNIMATE successfully for die casting.

1.2.1 The Laws of Robotics


In 1942, Sir Isaac Asimov developed the famous three laws (Law one, Law two and Law
three) of robotics which still remain as worthy industrial design standard. However, the
laws have been extended and revised by him and others since 1985 to accommodate his
creations, his attitude to robotics and the modern requirements of humanity. The extended
set of laws is as follows:
The Meta-Law
A robot may not act unless its actions are subject to the laws of robotics.
Law Zero
A robot may not injure humanity, or through inaction, allow a humanity to come to harm
(humanity is the family of all human beings and other biologically living things).
Law One
A robot may not injure a human being, or through inaction, allow a human being to come
to harm, unless this would violate a higher order (an earlier stated) law.
Law Two
A robot must obey orders given by human being, except where such orders would conflict
with a higher order law.
A robot must obey orders given by subordinate robots, except where such orders would
conflict with a higher order law.

Figure 1.1 Sir Isaac Asimov


4 | Robotics

Law Three
A robot must protect the existence of a subordinate robot as long as such protection does
not conflict with a higher order law.
A robot must protect its own existence as long as such protection does not conflict with
a higher order law.
Law Four
A robot must perform the duties for which it has been programmed, except where that
would conflict with a higher order law.
The Procreation Law
The robot may not take any part in the design or manufacture of a robot unless the new
robot’s actions are subject to the laws of robotics.
The robots which are strictly manufactured in accordance with the above rules do behave
better than human beings.
When the concept of robot was introduced and strengthened, the necessity of industrial
automation was also deeply felt. Moreover, the technological progress in thermionic valve
(1904), hydraulic and pneumatic systems (1906), logic circuits (1943), digital computer
(1946), transistor (1947), microelectronics (1970) and microcomputer (1977) have all
made automation and robotics a reality. The first commercial robot, controlled by limit
switches and cams, was introduced in 1959. Since then, the development in robot technol-
ogy has been in constant growth. Nowadays, the service robot within industry and in other
areas of applications has made a breakthrough in robot applications.

1.3 ROBOT POPULATION AND APPLICATION


Table 1.1 presents a brief chronological listing of the historical developments in robotics.
Population of robots in industrial scene grows steadily year by year. This is due to suc-
cess in conventional and unconventional applications of robots, new dedicated software
technologies, development in microelectronics, new manufacturing techniques, advances
in control technologies and in new research findings in artificial intelligence. The growth
of robot population in manufacturing applications of the world is reasonably predictable
to estimate the number of robots in use in the next decade. It is estimated that the world
population of robot exceeded 2.5 million in 2010 itself. Table 1.2 shows the statistics of
average price index based on 1990.
E ectively, robot applications in every factory of a country are growing every year. In
addition, the cost of robot of same quality is continuously decreasing so that even medium-
and small-scale industries can a ord to have robots for enhancing their productivity.
A robot need not be replaced very often since the average life of a robot is around
8–12 years. The reprogramming ability of a robot can be advantageously utilized in indus-
tries even when the life cycle of a product is small and a new product is taken up for
manufacturing. This ability perfectly fits the robot into the concept of flexible manufactur-
ing system.
Robotics is a technology of future, for the future and with a future. Extensive research
both in educational and in industrial institutions are continuously striving for developing a
robot of higher level of application capabilities. The sustained technology developments in
artificial intelligence, nano-electronics, computer interfacing, materials, drives, control and
sensors have nurtured the robots for increased requirements of modern factories.
Introduction | 5

Table 1.1 Chronological Developments of Robot Technology

Year Development
1921 The word ‘Robot’ was coined
1939 Early humanoid robot exhibited in 1939, 1940 World Fairs by Westinghouse
Electric Corporation
1942 The word ‘robotics’ appears in Sir Isaac Asimov story ‘Runaround’
1952 Numerical control machine demonstrated at Massachusetts Institute of
Technology, USA
1954 George Devol designed the programmable, teachable and digitally controlled
article transfer robot
1956 First robot company UNIMATION formed
1959 First commercial robot controlled by limit switches and cams
1961 First hydraulic drive robot UNIMATE in die casting machine in Ford Motors
1968 Mobile robot designed by Stanford Research Institute
1971 Electrically powered ‘Stanford Arm’ developed by Stanford University
1974 ASEA introduced all electric drive IRb6 robot
1974 KAWASAKI installed arc welding robot
1974 Cincinnati Milacron introduced T3 robot with computer control
1978 PUMA robot introduced by UNIMATION for assembly applications
1978 Cincinnati Milacron’s T3 robot applied in drilling and routing operations
1979 SCARA robot introduced for assembly applications at Yamanashi University
1980 Bin-picking robotic applications demonstrated at the University of Rhode Island
1983 Flexible automated assembly line using robots by Westinghouse Corporation
1986 ‘ORACLE’ robot used in commercial wool harvesting from sheep, Australia
1992 Flexible hydraulic microactuator for robotic mechanism developed in Japan
1992 First Humanoid by Honda Corporation, Japan, recognizes human faces
2000 Humanoid robot, ASIMO, put in service to society
2004 NASA in USA developed RED BALL robot with an intention of protecting the
astronaut coming out of space vehicle for repairs
2006 Jumping robot has been developed to investigate the surface of any unknown
areas
2010 RED BALL has been manufactured for protecting the astronaut

Table 1.2 Power Index of Industrial Robot for International Comparison (Based
on 1990 USD Conversion Rate)

Year 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008
% Robot Not
100 82 92 68 58 60 55 58 58 55
Quality Adjusted
% Robot Quality
100 65 48 40 28 29 25 25 22 22
Adjusted
6 | Robotics

Table 1.3 Main Features of Robot

A robot does not become fatigued or distracted


It is capable of producing a job with consistent quality at a steady rate with practically zero
rework and wastage
Continuous working throughout the year except during repairs and maintenance
It can take up repeated and tiresome jobs even in unsafe and unhealthy environment
It does not demand wage increase, fringe bene ts, pension, holiday, sick pay, etc.
Capital cost of robot is paid only once
Robot’s upkeeping cost is increasing at a slower rate compared with labour maintaining
cost every year
Robot can lift heavier weights, be more precise, work at higher speeds and can exert
larger force than is humanly possible

The main advantages of robot-based manufacturing compared with conventional


human-based manufacturing are listed in Table 1.3. It is a certainty that, with all these
features, the robot helps to conserve the human intelligence for more productive tasks
instead of working for the so-named 3D environment (dull, dangerous and di cult).

1.4 DO ROBOTS CREATE MORE UNEMPLOYMENT?


This is a standing question from a person who is introduced to robot technology. Industrial
robot is now considered an inevitable piece of an industrial automation system. Robots do
displace workers in the same way that technological changes have displaced workers. The
introduction of personal computers to o ces during 1980s created the same fear in the
o ce workforce. Nowadays, learning about computer and its related subjects is considered
as important as any other techniques to learn. Introduction of robots in an already run-
ning industry does displace a piece of workforce. However, there is a certainty that robot
will create new jobs to the displaced workers. This displaced workforce can be utilized in
maintaining, programming and applying the robot in new jobs. This cultivated experience
is far better than that gained by doing the work in a 3D environment. In addition, the advan-
tages of introducing the robot in industries have created several industrial set-up such as
robot and robot parts manufacturing, robot systems engineering, robot software develop-
ment and in unbounded areas of robot research and applications.
In order to monitor the growth of robot population in industries, a robot deployment
index (RDI) has been constructed. The RDI is the ratio of total number of industrial robots
in use to a percentage of manufacturing workforce multiplied by 10. Hence, higher the index
value, stronger the deployment of robot in a country. Table 1.4 compares the human unem-
ployment percentage with RDI of some of robots in di erent countries in 1980s. Table 1.4
also indicates that the countries which employ higher population of robots have lower unem-
ployment levels. It can be concluded that any level of robot population in industries does
not cause massive unemployment and, in fact, their applications appear to be indicative of
higher levels of employment with a good manufacturing habit. Various statistical figures
of robot and their applications are regularly published by robot associations of respective
Introduction | 7

Table 1.4 RDI and Human Unemployment

Details UK Italy USA France Germany Sweden Japan


Manufacturing Workforce
5.4 5.7 19.2 4.8 7.8 1.0 12.3
(millions)
Unemployment
11.5 11.0 6.9 10.3 9.0 2.7 2.8
(percentage of population)
Robot Population
3.7 5.5 27.0 7.5 12.4 3.8 90.0
(thousands)
Robot Population
(percentage of 0.07 0.10 0.14 0.16 0.16 0.40 0.73
manufacturing workforce)
RDI 0.7 1.0 1.4 1.6 1.6 4.0 7.3

countries. India has robot population much less than the countries listed in Table 1.4
and hence it has not been included in the statistics.

1.5 PAYBACK PERIOD OF A ROBOT


The economic viability of an industrial robot can be ascertained if a payback period is
computed. The payback period is the length of time required for the net accumulated cash
flow to equal the initial investment in the robot project. The usual working life of a robot
can be easily 8 years. The robot works faster or slower than human operator depending on
applications. A robot is faster than human being in a pick and place task; but, slower when
the task has a decision-making function. A simple but e ective payback analysis is done by
R
n= , (1.1)
W − M + q(W + D )
where n is the payback period, R is the total capital investment in robot and accessories,
W is the wages and other benefits paid to the workers per year, M is the annual expenses
of robot upkeep (maintenance, software development, etc.), q is the production rate
coe cient; negative if robot is slower than worker, otherwise positive and D is the annual
depreciation cost of robot and its peripheral equipment.
As an example, let us have the following values of currency:
R = 55,000; W = 24,000/shift; M = 2,600/shift; D = 30,000.
Then the payback periods (in years) for two di erent combinations of production rate with
two di erent combinations of shift/day, with q = 0.2 and q = − 0.2, are computed as in
Table 1.5.
It is convincing that larger the expected life of robot, larger the returns during its life
cycle.
This method of computing payback period is least complicated. If the payback period
is very short, it is not strictly necessary to apply more complex methods of economics.
The techniques such as accounting rate return or discounted cash flow can be used for
financial appraisal and for justification of robot installations.
8 | Robotics

Table 1.5 Payback Periods

Shift/Day When Robot is Slower When Robot is Faster


1 5.19 1.71
2 2.02 0.94

1.6 ROBOT APPLICATIONS IN MANUFACTURING


Robot applications are of wide variety in the manufacturing side. These include a large
variety of production operations. Here the operations are classified into the following
categories.
(i) Materials transfer and machine loading and un-loading
These are applications in which the robot grasps and moves a work part from one
location to another. This category includes applications of robots as they trans-
fer parts into and out of a production machine. These include metal machining
operations, die casting, plastic moulding and certain forging operations.
(ii) Processing operations
Here the robot uses a tool as an end e ector. This tool will accomplish some pro-
cessing operations on a work part positioned for the robot during the work cycle.
Spot welding, arc welding, spray coating and some machining operations fall in
this category.
(iii) Assembly and inspection operations
A set of new applications such as robot-based assembly and inspections is the final
set of robot applications. The robot is used to put components together into an
assembly and/or to perform some automated inspection operations. More robots
are equipped with vision capability facilitating the performance of these operations.
The applications of robot cameras are to inspect welding, brazing and bonding with
glues and other fasteners.
These applications are discussed and detailed in Chapter 9.

REVIEW QUESTIONS
1. When did Maxwell formulate the mathematical model of systems?
2. The cost of digital computers was a major concern, when and why?
3. Who coined the words Robot and Industrial Robot ? What was reaction of people at
the time of introducing these words?
4. What are the laws of robotics? Explain these laws?
5. Give the names of three more celebrities of robotics. Why are they called as
celebrities?
6. List some of the missing applications of robots till date.
7. Have robots created industrial unemployment? Why or why not?
GRIPPERS AND
TOOLS OF
INDUSTRIAL ROBOT 2
I do not fear computers. I fear the lack of them.
Sir Isaac Asimov

This chapter covers the following key topics:


Introduction – De nitions of Industrial Robot – Con guration and Work Volume –
Con guration of Human Body – Human Work Volume – Industrial Robot
Con guration  – Structural Con guration – Robot Work Volume – Precision of
Movement – Spatial Resolution – Example – Accuracy – Repeatability – Degrees
of  Freedom – Examples – End Effectors – Grippers – Tools

2.1 INTRODUCTION
This chapter imparts the perception of the industrial robot as an integrated structure
consisting of electrical and non-electrical subsystems. These subsystems are interfaced to
a computer and controlled by its software. Human structure is considered as the model for
robot and articulations of human arm in performing a task are compared with robot arm
articulations. Varieties of robots with a number of specific configurations have been intro-
duced in the market. Manufacturers, suppliers and the consumers use various terms when
describing an industrial robot and its functions. These terms can be compared with those
when a human is standing firmly on the ground and performing a task. The structure, the
space in which the human works, various joints and limbs, and the way of performing a task
are compared with an industrial robot. In addition, certain well-known robots that are used
in industrial applications are also introduced. The importance of spatial resolution, degrees
of freedom (DoF), accuracy and repeatability are illustrated. The use of a subsystem simi-
lar to our fingers is also explained.

2.2 DEFINITIONS OF INDUSTRIAL ROBOT


Any automatic machine cannot be considered as a robot. Robot is to have a specific set of
characteristics. Interestingly, a 3-axis computer numerical control (CNC) milling machine
10 | Robotics

may have a very similar configuration and control system of a robot arm. However, the
CNC machine is just a machine. It cannot do jobs other than milling. But the robot must
do something more. That is why the definitions are proposed for a machine to be a robot.
Di erent countries have di erent definitions for a robot. The Robot Institute of America
(RIA, 1985) defines the robot as
A robot is a reprogrammable multi-function manipulator designed to move
materials, parts, or specialized devices through variable programmable
motions for the performance of a variety of tasks.
This definition restricts robots in industrial applications. The two important key words are
‘reprogrammable’ and ‘multi-functional’. If the machine is single functional, it cannot
be reprogrammable. Reprogrammable means that (i) the robot motion is controlled by a
written program and (ii) the program can be modified to change significantly the robot
motion. Multi-functional implies that a robot is able to perform many di erent tasks
depending on the program in the memory and tooling at the end of arm. This means that
the robot can be programmed for welding with a welding tool at the end of arm and can be
reprogrammed if the end of arm has a totally new facility such as for gripping.
Another, a little broader definition is proposed by McKerrow (1986) as
A robot is a machine which can be programmed to do a variety of tasks
in the same way that a computer is an electronic circuit which can be
programmed to do a variety of tasks.
This definition excludes numerical control machines because they can be programmed for
variations within only one task. Teleoperators are also not considered as robots because
there is a human in the control system. They provide extended capabilities, not a replace-
ment of a human.
The International Standards Organization (ISO 8373) defines a robot in a similar way
as follows:
A robot is an automatically controlled, reprogrammable, multi-purpose,
manipulative machine with several reprogrammable axes, which may be
either fixed in place or mobile for use in industrial automation applications.
This definition specifically mentions ‘reprogrammable axes’ for industrial tasks. Such a def-
inition particularly points out that industrial robots are very suitable to modern industries.
There are several such definitions on robots – industrial robots in particular. One
way or other, each definition has to be expanded to suit the functioning of the modern
industrial robots. In most cases, the definition given by RIA is accepted to be closer to
industrial robots of modern times and such a definition is considered worth designing
industrial robots.

2.3 CONFIGURATION AND WORK VOLUME


We can compare the configuration of a human body, its work volume and its other features
with those of an industrial robot. They are similar in many aspects. Human is natural and
the robot is man-made to work for his/her objectives. The objectives can be faster, higher
accuracy and/or more powerful compared with those of human being. Both configurations
Grippers and Tools of Industrial Robot | 11

have their own advantages and disadvantages. In the following descriptions, we compare
the configuration of a human body with that of an industrial robot.

2.3.1 Con guration of Human Body


A human body with arms (especially one arm) mimics a stationary industrial robot. Every
human being has a similar structure but with varied sizes and power. He (she inclusive)
can stand firmly on the ground. He has a waist, body, shoulder, forearm, elbow, lower arm,
wrist and fingers and each one of these can have its own articulations. Articulations are
rotations about or translations along several axes of the joints. Typically, the waist (a joint
between body and legs) can rotate about three axes, the shoulder (a joint between body and
forearm) about three axes, the elbow (a joint between forearm and lower arm) about two
axes and the wrist (a joint between lower arm and the fingers) about two axes.
Each joint connects two links (limbs). Waist connects the leg and the body. The shoul-
der connects the body and the forearm, the elbow connects forearm and lower arm, and
the wrist connects the lower arm and the fingers. These joint rotations and link lengths
create a work space (work volume) around the human. The work volume is a set of all
points which the arm can reach. The fingers can give several independent rotations in each
of its joints. The human has a number of in-built sensing abilities for touch, pressure,
olfaction, vision, hearing, heat, force, torque and compliance with which the human body
does almost unlimited tasks. The compliance is an ability to perform little changes in artic-
ulations when unexpected structural disturbance is experienced. A small momentary thrust
on the human body shakes the body a little without modifying the rotational angles. Above
all, the brain controls all such articulations based on the sensory outputs. A sensor creates
a level of intelligence. Existence of countless sensors with an analytic brain exclusively dif-
ferentiates a human as highly intelligent than the machines, especially the robots.
The human, with his vast sensing abilities, can be faster and accurate than a robot in
performing several tasks. He cannot be consistent in speed and accuracy through a longer
period of time due to distractions and tiredness. However, a robot can maintain consistency
over a long period of time.

2.3.2 Human Work Volume


Let us consider a task of a human taking a nail from a table and inserting it in a hole above
his head on the wall. In doing so, he has to articulate his various joints. The articula-
tion angles are decided by the brain with an information continuously acquired from its
sensors, especially the eyes. Inserting a nail into the hole without a mistake is the accuracy.
Repeating the task very many times with the same accuracy is the repeatability. He can
perform this task with high accuracy and high repeatability several times, of course, with a
perfect vision. If the vision is poor, the task performed by him has poor accuracy and poor
repeatability. If he is blind, he cannot do this job at all without using other sensors.
He has an intelligence, immeasurably abundant. His brain is supposed to have this
intelligence. Due to his various sensor capabilities, he can learn a task by making decisions
even in an unpredictable environment. For example, if an object (obstacle) comes between
the man and the wall, he can take a quick decision for what to be done. Either he can wait
till the obstacle goes away or bypass this obstacle by performing additional articulations
aided by sensors. If the human is a novice, he has to be taught on how to undertake the task
12 | Robotics

Figure 2.1 Japan’s Honda

successfully. Someone is to teach him through a set of programmed motions of joints and
links so that he will perform the task repeatedly.
Figure 2.1 shows a well-known product, Japan’s Honda called ASIMO. ASIMO can-
not do industrial jobs but can be a good associate to human in many ways. He can bring a
newspaper every day, chat with children, help old people and maintain rooms.

2.3.3 Industrial Robot Con gurations


An industrial robot is constructed for a specific purpose. It has to be economical and be
able to do varieties of industrial jobs. Hence, it has to be of varied structures so as to suit
specific requirements. For example, for spray painting, a robot has to carry the weight of
spray painting gun. The robot for this job can be of light weight. However, a robot which is
intended to stack cement bags in a lorry has to be powerful, strong in structure, with long
arms and less articulations. Hence, the configurations of these robots have to be di erent.
The configurations of industrial robots are many to suit several job requirements. To indi-
cate a few, the job requirements can be of picking and placing an object in a machine tool,
spray painting a finished product, welding two metal plates, assembling a number of pieces
together and palletizing (stacking the products within a specified space).
Figure 2.2 illustrates one of the configurations of an industrial robot manufactured by
Cincinnati Milacron, USA. This combines a variety of several robots. This is called T3
(twist power 3) robot, that is, a twist exerted at the base and another two twists exerted at
the body. This has a base firmly attached to the ground or a platform. The robot articula-
tion is possible due to rotations of several joints such as body rotation (about a vertical
axis), shoulder swivel (about an horizontal axis), elbow rotation (about another horizon-
tal axis) and wrist rotations named as yaw, pitch and roll in three di erent axes. An end
Grippers and Tools of Industrial Robot | 13

Elbow
3. Combined hydraulic/electrical power
extension
unit built to machine tool quality
and standards.
Shoulder
swivel

Yaw

2. Advanced computer-control Arm sweep


or Pitch
with solid-state IC electronics.
body rotation
Roll
Tool mounting
1. Jointed-arm robot-can be plate
remotely controlled and
located at any attitude.

Body traverse

Figure 2.2 Cincinnati Milacron’s T3 Industrial Robot

e ector (similar to our palm and fingers, not shown in the figure) can be mounted to the tool
mounting plate. The centre point of the end e ector can have its movements due to wrist
rotations. The end e ector can have a gripper to grip and hold objects. Several varieties
of grippers are available for various applications. A gripper can have two or more fingers.
The end e ector can be a tool to perform a process on a product. Drilling certain locations
is a process. A welding torch is a tool fitted to the tool mounting plate to perform welding
processes.
The robot has its brain in terms of a robot computer. The computer has the set of software
required for the functioning of the robot. The computer has facilities to interface with num-
ber of sensor systems such as a vision camera that can be attached to the robot or placed
elsewhere near the robot. The computer can have facilities to interface with other industrial
equipments typically a conveyor system which brings the product to the robot so that the
robot can perform handling or processing operations.
The robot is also connected to a power supply unit that gives the required power –
electrical or hydraulic or pneumatic or combination of these. Electric supply is required
to operate the internal motors coupled to various joints. Hydraulic and pneumatic powers
are useful in operating cylinder–piston mechanisms built in the robot structure. There is a
provision to teach a robot on how to perform a task. This can be done in various ways. The
usual method is through a teach pendant.
All these components of a robotic system described above are also illustrated in Figure 2.3.
A robotic system basically consists of robot mechanical structure, a robot control com-
puter and power sources. The robot structure has all necessary electro-mechanical, pneu-
matic and hydraulic elements such as electrical actuators (motors for rotary operations) and
14 | Robotics

O line storage,
Disk/tape drives,
Bulk storage
Key board, Screen, Robot
Power supply Computer
Interfacing facilities with
external equipments,
External sensor systems
and teach pendant

Robot Structure
Base, Body, Arm, End e ector, Actuators, Motors,
Internal sensors, Switches, Gears, Linkages, Cylinder-
piston systems,

Electric, Pneumatic,
Hydraulic power supplies

Figure 2.3 Block Diagram of a Robot System

non-electric actuators (hydraulic or pneumatic or both) with their cylinder–piston systems


for linear actuations. The robot also has several internal sensors mainly for measuring the
rotary positions of motor shafts, gears to reduce speed between the motors and the joints,
switches and relays for creating selected operations. These motions will have to be per-
formed when certain conditions are met. Robot has an end e ector such as a tool or a
gripper. The power required by the robot is decided on the capacity of all actuators.
The entire mechanical structure is interfaced with the robot control computer. The
computer has several softwares required for the functioning of the robot structure. The
computer has coordinate transformation software (discussed in other chapters), con-
trol software to control the speed and position of actuators and interfacing for teaching
and learning a specified task and for robot safety to avoid any possible damage to robot
structure. In addition, the computer has its own operating system for operating its internal
electronics, peripheral devices such as key board and display, disk drives, mass storage and
associated equipments.
Figure 2.4 shows another variety of robot, FANUC S-420i, six axes and electrically
powered. This has a tool mounting plate to which an end e ector has to be fixed. Generally,
robots are sold without the end e ector and the user has to design or buy the end e ector
suitable for his applications. This S-420i family consists of five members. This family of
robot is normally used in automotive industry for spot welding, body assembly and mate-
rial handling.
Table 2.1 lists the specifications of three of the S-420i family. Each axis has its own
range of rotation and speed. Maximum reach is the farthest point which can be reached by
the centre of the tool mounting plate (or by the centre of the end e ector, if end e ector is
mounted). Centre of the end e ector is generally known as tool centre point irrespective
of gripper or tool at the tool mounting plate. The maximum reach is a function of robot’s
configuration and its link lengths including obstacles on its articulations. Load capacity
(or pay load) is the maximum load (kg) that a robot can lift, hold and position by the
Grippers and Tools of Industrial Robot | 15

6 5

(1) Waist rotation; (2) Shoulder rotation; (3) Elbow rotation;


(4) Forearm rotation; (5) Yaw rotation and (6) Pitch rotation

Figure 2.4 FANUC S-420i Electrically Powered Robot

Table 2.1 Specifications of FANUC S-420i Robots

Speci cation S-420iF S-420iL S-420iS


Maximum reach (m) 2.4 3.00 2.25
Load capacity (kg) 120 120 80
Axis 1 Range (deg.) 360 360 360
Speed (deg./s) 100 90 70
Axis 2 Range (deg.) 142 142 142
Speed (deg./s) 110 110 110
Axis 3 Range (deg.) 135 135 135
Speed (deg./s) 100 90 100
Axis 4 Range (deg.) 600 600 480
Speed(deg./s) 210 210 210
Axis 5 Range (deg.) 260 260 260
Speed (deg./s) 150 150 150
Axis 6 Range (deg.) 720 720 720
Speed (deg./s) 210 210 210
Repeatability (mm) ± 0.4 ± 0.4 ± 0.4
Mounting method Upright Upright Upright
Mechanical brakes All axes All axes All axes
Weight (kg) 1500 1600 1500
16 | Robotics

end e ector repeatedly without a ecting other specifications. The S-420i family does have
automatic braking of all axes when power supply fails.

2.3.4 Structural Con guration


Industrial robots have many structural configurations that suit several applications in
industry. Figure 2.5 describes some of the configurations of robots that can have varieties
of joints. Configurations generally follow coordinate frames (Cartesian, cylindrical and
spherical) with which the robots are referred to. Figure 2.5 also describes combinations
of linear (prismatic or translational) and rotational joints. Figure 2.6 describes some of the
usually adopted industrial robots.
A robot has varieties of joints so that its end e ector can be manipulated for any specific
task. Figure 2.7 describes four types of joints. The linear (L) joint gives a link the transla-
tional motion. The rotational joint (R) makes a link move about an axis perpendicular to
the previous link. Twist joint (T) rotates a link by itself while it is aligned with the earlier
link. However, in the revolute joint (V), the link has an angular position with respect to the
earlier link and rotates at an axis along the earlier link.
With this definition of joints, the robots of Figure 2.5 may be designated as having its
configuration in terms as L, T, V and R. A Cartesian coordinate robot is termed as LLL,
cylindrical as TLL, spherical as TVL, articulated as TRR and the SCARA as TRL.
SCARA is a special variety, meaning ‘selective compliance assembly robot arm’.
SCARA is especially useful in electronic component assembly for picking and insert-
ing ICs in their respective sockets much faster and with greater accuracy and repeat-
ability compared with other types of robots. Its specific characteristic is that it is more
compliant in the horizontal plane but is sti in the vertical plane and thus has its selective
compliance.

Cartesian Cylindrical Spherical

Articulated SCARA

Figure 2.5 Configurations of Industrial Robots


Grippers and Tools of Industrial Robot | 17

ABB IRB 6400 S4 Jointed Arm; 6-axis;


Maximum reach: 2400 mm;
Load capacity: 120 kg;
Repeatability: ±0.1 mm;
Applications: Spot welding,
Material handling

KUKA KR 210-2 Jointed Arm; 6-axis;


Maximum reach: 2700 mm;
Load capacity: 210 kg;
Repeatability: ± 0.12 mm;
Applications: Spot welding, Assembly,
Painting, Servicing

EPSON RP-HMZ; 3-axis; Heavy duty;


Load capacity: 15 kg;
Repeatability: ± 0.01 mm;
Applications: Pick and place;
Contouring

DENSO E2C251; SCARA; 4-axis;


Load capacity 3 kg max;
Repeatability: ± 0.008;
Applications: Injection moulding;
Inspection; Packaging; Assembly

Figure 2.6 Commonly Known Industrial Robots


18 | Robotics

(a)

(b)

(c)

(d)

Figure 2.7 Types of Joints: (a) Linear or Translating (L), (b) Rotating (R),
(c) Twisting (T) and (d) Revolving (V)

2.3.5 Robot Work Volume


Work volume (work envelope) is the space in which the robot can manipulate its wrist end.
This convention of wrist end of robot to define the work volume is considered better than
adding di erent sizes of robot end e ectors attached to their individual wrists. The general
objective for the robot manufacturers is of getting a spherical work volume; however, the
work volume cannot be an ideal sphere due to the characteristics of robot such as physi-
cal configuration, size of the body, length of links and mechanical limits on joint move-
ments. All manufacturers give detailed specification of work volume of their robots in their
pamphlets.
Figure 2.8 illustrates varieties of robot structures and their respective work volumes.
Cartesian coordinate robot develops a full rectangular form of work volume, whereas cylin-
drical robot can produce only a hollow cylindrical work volume due its inherent structural
limitations. Polar coordinate robot and jointed arm horizontal axes robot present nearly
spherical work volumes. Jointed arm vertical axis is the SCARA robot which o ers a near
cylindrical form of work volume. The gantry pendulum arm’s work volume is a perfect
Grippers and Tools of Industrial Robot | 19

Configuration Work envelope

Cartesian Rectangular

Cylindrical Cylindrical

Polar
Spherical

+
+ +

Jointed-arm Spherical
horizontal-axes

Jointed-arm
vertical-axes Cylindrical

Partial
spherical
Pendulum arm

Multiple-joint arm
Spherical

Figure 2.8 Configurations and Work Volumes


20 | Robotics

section of a hollow sphere. The multiple jointed arm robot is named as spine robot manu-
factured by Komatsu Ltd, Japan. This provides an excellent flexibility in reaching a location
in its work volume. It is specially designed for spray painting, spot welding and seam (or
continuous) welding. Its arm can reach intrinsic locations where other conventional robots
cannot reach; hence, they are very suitable for car spot welding, painting of irregular-
shaped objects and for performing inspections in nuclear reactors. It is interesting to note
that it produces near perfect spherical work volume.

2.4 PRECISION OF MOVEMENT


Robot’s capability to reach a point within its work volume depends on the precision of the
robot. The precision of a robot is a function of three features:
(i) Spatial resolution
(ii) Accuracy
(iii) Repeatability.
In order to describe the precision of a robot, it is necessary that the robot is at rest and
works only when commanded. In addition, the robot is assumed without end e ector. The
precision is not usually defined with an end e ector since the end e ector can have di erent
sizes and weights. In order to define precision, we assume a robot of having one prismatic
joint and we later formulate how the error is magnified by all other joints to a ect the
precision.

2.4.1 Spatial Resolution


Spatial resolution of a robot is the smallest increment of movement in which the robot
divides its entire work volume. The smallest increment in movement depends on two
factors – the robot’s mechanical inaccuracies and the system control resolution.
Mechanical inaccuracies mainly come from robot joints. The joints generally have gears
and chains to move the links. The gear and chain drives have their nonlinearities such as
back clash and hysteresis which create errors in the movement of robot link. In the case of
hydraulic and pneumatic drives at the joints, additional inaccuracies are created due to fluid
leakage and compressibility. These inaccuracies are added and magnified if the robot has
several joints, thus making the measurement of spatial resolution uncertain.
The control resolution is determined by the robot’s position control system and its posi-
tion measuring devices. Position measuring devices are usually potentiometers and shaft
encoders. Inaccuracies in the measurement by either of these components a ect the spatial
resolution. The robot control system creates word data for each of the locations in the
work volume. Locations are known as addressable points. It is always advantageous when
the work volume is divided into numerous addressable points in order that the robot can
perform minute manipulations. The work volume is created by the range of joint motions
(rotational or translational). Reaching any addressable point within the work volume by
the end e ector depends on the number of increments within a restricted joint range. These
increments are created by robot computer. For example, if the robot has 8-bit word storage,
it can create 256 discrete increments within a joint range.
Grippers and Tools of Industrial Robot | 21

EXAMPLE 2.1
Consider a robot having a sliding joint which can extend the link maximum to 1 m. The robot
control memory has 12-bit word storage. What is the control resolution of the axis motion?
Solution:
Maximum number of increments within the joint range is 212 = 4096.
The minimum increment in sliding joint motion is 1 m/4096 = 0.24414 mm.
Therefore, the control resolution is 0.244 mm (to three digits accuracy).

In Example 2.1, if the robot is required to reach 2.5 mm, a compromise has to be made in
the control software on whether to go for 10 increments or 11 increments.
A robot has several joints, some of which are rotational and others translational. Each
joint has its own joint range and hence its control resolution. Hence, the total control
resolution of the entire robot cannot be obtained by algebraic addition of all individual
resolutions. This is a complex procedure in which each resolution has to be considered as
a vector in a three-dimensional space; the total resolution is, then, the vector addition of all
joint resolutions.

2.4.2 Accuracy
Accuracy refers to a robot’s ability to position its wrist end at a desired target point within
its work volume. The accuracy is related to spatial resolution because the accuracy depends
on how closely the neighbouring points are defined within the work volume and on how
accurately the mechanical structure is produced. For example, consider the robot of
Example 2.1. Figure 2.9 illustrates the definition of accuracy. A and B are the nearest points
as determined by control resolution. T is a point halfway between A and B. If the mechani-
cal structure is precise, then the robot can reach A or B exactly, but not at a point in between
them. Spatial resolution and the control resolution are the same if the mechanical structure
is precise. The robot accuracy is then defined as half of control resolution from either side
(±0.122 mm). However, the mechanical structure usually has its own inaccuracies. Due to
this, even when the robot is commanded to reach A or B, it will not reach them exactly, but
will reach any point around A or B.

Distribution of
Accuracy mechanical
inaccuracies

A T B One of the axes


Control resolution

Spatial resolution

Figure 2.9 Robot Accuracy, Spatial Resolution and Control Resolution


22 | Robotics

In Figure 2.9, the mechanical inaccuracies are represented as points along the bold short
lines around A or B. They can be regarded as having the statistical normal distribution along
the bold lines. With the mechanical inaccuracies, the spatial resolution is defined as the dis-
tance between two farthest points that a robot can reach when it is commanded to go to any
point between A and B. Then the accuracy is defined as one-half of the spatial resolution.
This definition seems to imply that the accuracies are the same everywhere within the work
volume. In fact, the accuracies mainly depend on two factors. One when the robot works
at the extreme areas near to the borders of work volume. Here the robot has to extend its
arm. The other factor in defining accuracy is the load being carried by the robot end e ector
when the load is attached to the wrist end. Larger load with extended arm produces greater
deflections of the mechanical links, thus reducing the accuracy. The robot accuracy, when
arm is fully extended, is worse than when the arm is close to the centre of the work volume
or close to the robot’s base. This is similar to the accuracy with which we place a 20 kg
weight at a location reachable by our extended arm compared with a 20 kg weight placed
near to our legs.

2.4.3 Repeatability
The repeatability and accuracy of a human in throwing darts in a dart game are illustrated
in Figure 2.10. A person is said to be accurate and repeatable if he is able to throw the
darts every time very close to and around the target point T (Figure 2.10(d)). If the darts
always fall around and close to a point that is not T, then the person has a capability of
repeating with no accuracy (Figure 2.10(c)). Figure 2.10(b) shows all the darts thrown
close to and around T, showing accuracy but not repeatable. If the darts fall everywhere
on the board (Figure 2.10(a)), the person is understood as having no repeatability and no
accuracy.
The same configurations of repeatability and accuracy in dart game will also happen to a
robot. Assume a robot holds a pin at its gripper and is commanded to go to the target loca-
tion on a board, kept horizontal, again and again and prick. By studying the test (pricked)
points, we can estimate the robots ability of repeatability and accuracy. In Figure 2.11, T is
the location to which the robot is commanded to go. However, due to its errors and errors
in control resolution, the robot will not reach T but it reaches the point P. If repeatability is
the highest, the robot has to reach the point P whenever it is commanded to go to T. Due to
its inability to reach point P over and over again, it goes to any other point along the bold
short line around P. One such point is R which shows the repeatability error. The repeat-
ability is now defined as ±r where 2r is the length of the bold short line which carries all
the test points.
Figure 2.11 shows one-dimensional aspects. It is noted that, during the experiments, the
robot can have test points on a two-dimensional plane. In this case, r will be the radius of a
circle encompassing all the test points in the two-dimensional plane.

2.5 DEGREES OF FREEDOM


We always work in Cartesian coordinate system. In robotics, this is also known as world
coordinate system or frame, since it is universally used in locating a point in the robot work
space. Even though other coordinate frames such as polar and spherical are also used in
robotics, we always prefer a robot to work in Cartesian coordinate frame. Figure 2.12(a)
Grippers and Tools of Industrial Robot | 23

(a)

(b)

(c)

(d)

Figure 2.10 Accuracy and Repeatability: (a) Not Accurate Neither Repeatable,
(b) Accurate But Not Repeatable, (c) Not Accurate But Repeatable
and (d) Accurate and Repeatable
24 | Robotics

Repeatability error

Test point Programmed point


Target point

−r 0 +r One of the axes


R P T
Accuracy error

Repeatability
±r

Figure 2.11 Measure of Repeatability


represents a two-dimensional (X, Y) frame; whereas Figure 2.12(b) describes a three-
dimensional (X, Y, Z) frame in which the Z-axis is pointing you from the paper. The (X, Y, Z)-
axes are orthogonal (+90o) to each other. It is evident that the representation of Z
(Figure 2.12(b)) is di cult to view the (X, Y, Z) frame on the paper; however, Figure 2.12(c)
is a convenient form of representing a three-dimensional frame. The (X, Y, Z)-axes follow

(a)

Z
X

(b)

Y X
Z

X Z
Y

Z Y
X

(c)

Figure 2.12 Cartesian Coordinate Frames: (a) Two-dimensional and (b) Three-
dimensional Frames. (c) Right-hand Screw Method of Representing
the Frame
Grippers and Tools of Industrial Robot | 25

the right-hand screw rule. The rule states that if a right-hand screw is placed with its head
at the origin and its tail point directed towards the Z-axis, it advances along the Z-axis when
it is rotated from X to Y. We shall follow this way of representing a Cartesian coordinate
frame in robot work space analysis.
In industrial robotics, the object is the one to be manipulated by the robot. One of
the manipulations is placing an object in a machine tool at a particular location with a
particular orientation so that the object is machined successfully.
Here at least two sets of world coordinate frames are to be considered – one frame (x, y,
z) corresponds to the object and the other (X, Y, Z) to the machine tool table.
For positioning the object, the object can be moved (translated) along any one, or two or
three of its coordinate axes to reach a desired position in the machine tool table. For orien-
tation, the object has to be rotated about any one or more of its axes.
Figure 2.13 shows a simple manipulation which involves two translations (30 cm along
the object’s y-axis and 10 cm along the object’s z-axis) and a rotation (90o about the object’s
x-axis) to match the frames (x, y, z) and (X, Y, Z). E ectively, the origin of object frame is
translated and rotated while performing manipulations. Note that if the sequence of manip-
ulation is di erent, (x, y, z) may or may not coincide with (X, Y, Z).
The number of ‘independent’ movements that a robot exerts on an object with respect to
a coordinate frame is known as the number of degree of freedom (DoF). An unconstrained
manipulation can translate the object along all three axes and rotate the object about these
axes. This results in six DoF. That is, this manipulation requires translational motions along
x, y and z and rotational motions about x, y and z directions. The manipulation of any object
can be decomposed into these six independent motions of the mechanical constraints of a
robot or the specific positional constraints of the object can limit the DoF.
If an object of Figure 2.13 is to be always on a surface of a flat table even when it is
manipulated by a robot, then the object loses three of the six DoF. That is, if it is constrained
to be always placed flat on the table, then it can be manipulated only in terms of moving the
object along the x and y axes and rotating it about the z-axis.
y

90º

z
z

x
10 cm

x
30 cm

Figure 2.13 A Simple Manipulation of Object


26 | Robotics

Figure 2.14 illustrates a set of joints and DoF which normally an engineer in industry
comes across. The students are to be advised to understand Figure 2.14.

Number of degrees
Comments Type
of freedom
Revolute
Rotation about one axis
Requires only one parameter to specify One
position in space

Prismatic
Linear movement along one axis
Requires only one parameter to specify One
position in space

Screw
Composite linear and rotational movement
along one axis One
Translation defined by pitch and rotation
Only one parameter need be specified

Cylindrical
Linear and rotational
Independent movement along and around Two
one axis
Two parameters to be specified

Spherical
Can rotate about three axes (precession,
Three
nutation and spin)
Three parameters to be specified

Planar
Linear movement along two axes in one plane
Three
and rotation about one axis
Three parameters to be specified

Figure 2.14 Joints and DoF

EXAMPLE 2.2
The robot with a gripper shown in Figure E2.2.1 has a fixed base and four hinged joints.
What is its DoF?
Z

Y
X

Figure E2.2.1 Four-joint Robot


Grippers and Tools of Industrial Robot | 27

Solution:
The robot, through its end e ector (gripper in this case), can translate an object along the
Y-direction and the Z-direction by folding its links. In addition, it can manipulate the object
about the X-axis. Since the robot has only three independent manipulations, it has three DoF.

EXAMPLE 2.3
Observe various joints and possible manipulations as shown in Figure E2.3.1 Indicate, with
an explanation, the DoF of each joint.
Solution:
RX , RY and RZ are rotations about the X, Y and Z axes respectively. Figure E2.3.1 shows all
six DoF. We compare Figure E2.3.1 with the motions of each joint as listed in Table E2.3.1.
Assume that a gripper is attached to movable joints.

RZ
RY

X RX

Figure E2.3.1 Possible Six DoF

Table E2.3.1 Solution to Problem

No. Nature Rotation/Translation DoF


1 Revolute Rotated about the Y-axis One
2 Prismatic Translated along the Y-axis One
3 Screw Translated along the Y-axis or rotated about the Y-axis One
4 Cylindrical Translated along the Y-axis and rotated about the Y-axis Two
5 Spherical Rotated about any axis (X, Y, Z) Three
6 Planar Translated along two axes (Y and X) and also can be Three
rotated about the Z-axis.

2.6 END EFFECTORS


End e ector is an attachment to the wrist of a robot that enables to perform specialized
tasks. The ideal form of a general purpose end e ector is to do all the jobs that human palm
and fingers do. Human fingers have several joints and each joint has two or three DoF that
can grasp, hold and manipulate the object irrespective of its shape and size. Robot manu-
facturers and researchers around the world have been working for achieving an economical,
28 | Robotics

digits

palm

wrist

(a) (b)

Figure 2.15 (a) Human Palm and Fingers and (b) Man-made Palm (NAIST)
and Fingers
powerful, multi-purpose end e ector that can match the performance of the human palm
and fingers. This task requires an enormous level of engineering feat. Figure 2.15 compares
the joints of human palm and fingers with those of NAIST (12 DoF) produced by research-
ers in Japan. The days are not long for man-made palm and fingers that perform tasks very
similar to those of human being.
The end e ector has to grasp an object irrespective of its shape, hold it without the
objects coming out of the grasp, lift and shift the object to a new location and place it in a
specified orientation. The end e ector also needs to do some processing functions such as
welding and screwing. There are wide varieties of end e ectors required to perform di er-
ent industrial work functions. The various types of end e ectors are divided into mainly two
categories: (1) grippers and (2) tools.

2.6.1 Grippers
Grippers are used to grip or grasp the objects. The objects (or parts) are generally the
work pieces that are to be manipulated by the robot. This aspect of part handling includes
machine loading and unloading, palletizing and picking parts from conveyor. Figure 2.16
illustrates some of the generally used grippers in industries.
Interchangeable finger pair is the one which can be selected from several pairs and
attached to the wrist to suit the required part size. Constricted fingers are suitable for han-
dling special contoured parts such as cylinders and spheres. Standard angular and paral-
lel grippers are designed to pick up smaller or larger sized parts of rectangular shapes.
Inflatable grippers are used to handle cup-shaped parts. The inflatable cylindrical dia-
phragm is inserted into the cup and inflated so that the inside surface of the cup is held
firmly by the diaphragm.
All the above grippers are of ON-OFF type; when it is ON, the gripper grips the part
and when it is OFF the part is released. In addition, the ON-OFF grippers are open-
loop type. Open loop means that the robot computer commands the fingers to make a
Grippers and Tools of Industrial Robot | 29

(g)

Pneumatic lines Pneumatic controller

Air cylinder
actuator

Stripper push Robot wrist


o pins

Permanent magnet Steel plate

(h)

Figure 2.16 Examples of Robot Grippers: (a) Interchangeable Gripper,


(b) Constricted Gripper, (c) Standard Angular and Parallel
Grippers, (d) Inflatable Gripper, (e) Gripper with Pressure Pad,
(f) Suction Cup and Venture Device, (g) Magnetic Grippers
(Single and Dual) and (h) Stripper Push off Pins in the
Permanent Magnet Gripper
30 | Robotics

(g)

Pneumatic lines Pneumatic controller

Air cylinder
actuator

Stripper push Robot wrist


o pins

Permanent magnet Steel plate

(h)

Figure 2.16 Continued

gripping or no gripping. There are no sensors in the gripper and hence the computer
makes no decision. That is, the gripper can work even when the parts are not present in the
gripping location.
Sometimes, pressure sensors (pressure pads) are fixed inside of the gripping fingers
(Figure 2.17). The gripping force is measured by a computer and the gripper is commanded
whether to change the gripping force. An industrial pressure pad is made up of several
tiny pressure sensors. The configuration of these tiny sensors which are activated gives the
approximate shape of the object. Assume that a set of pressure sensors are fixed in the pres-
sure pad in a matrix form. During gripping a part, those sensors that come in contact with
the part are activated and others are not.
Figure 2.17 illustrates such a sensor matrix. The set of activated pressure sensors are seen
as dots while grasping the object and the non-activated sensors are not visible in the matrix.
The pattern of activated pressure sensors can show the shape of object. The computer con-
tinuously measures the pressure subjected by each sensor. A situation may arise when the
gripped part is heavy and slips o from the fingers. The computer recognizes this situation
Grippers and Tools of Industrial Robot | 31

……………..….
……. ……
…….. …....
…….. ……
………………...

(a)

…….
…………
.……………
........……
………

(b)

Figure 2.17 Patterns of Activated Sensors in a Pressure Matrix: (a) Rectangular


Object and (b) Prismatic Object

by the variations in the pattern of activated sensors and commands for an increased gripper
holding pressure to avoid a total slipping o of the object from the gripper.
A heavy metal object has to be gripped with a force larger than that for a thin glass
material. Suction cup and venture device are some of the sensors that the industries need.
A flat surface is gripped by a suction cup.
Magnetic grippers are of single and dual that can handle smaller or larger flat surfaces.
A simple push and pull gripper with permanent magnet is shown in Figure (2.16(h)).
Vacuum cups, also called suction cups, are employed as gripper devices of certain objects.
This requires that the surface of the object to be handled to be clean, smooth and flat with no
holes so that a sustained vacuum between the object and the cup is created. The vacuum cups
are made up of elastic material such as rubber or soft plastic. The vacuum pump can be of a
piston–cylinder operated by pneumatic device and powered by an electric motor. If the part
to be handled is a flexible material such as rubber, then the vacuum cup has to be made from
a hard material. When the object surface is broad in area, multiple suction cups arrangements
can be used. Some of the features and advantages of suction cup gripper are as follows:
(a) Requires only one surface for grasping
(b) Relatively light weight
(c) Application of an uniform pressure distribution in the gripping area
(d) Useful even to handle brittle objects such as glass plates
(e) Not useful when the surface is corrugated and having holes.
The magnetic grippers are very useful devices when the object is of ferrous material. In
general, the magnetic gripper has the following advantages:
(a) Pick-up time is very short
(b) Variations in part sizes are not a problem since multiple magnetic gripping arrange-
ments are possible
(c) It can handle ferrous metal objects even when there are holes on the surface of the
parts and the surface is not necessarily smooth and tidy
32 | Robotics

(d) Requires only one surface to hold


(e) Its design does not belong to a particular shape of object.
There are two types of magnets – electromagnet and permanent magnet. Electromagnet
gripper needs a separate DC power source and a controller unit. Picking an object, holding
it and releasing are easier in the case of electromagnetic gripper. If the object is heavy, the
releasing is easy by switching OFF the power supply to the electromagnet. However, there
will be a problem of releasing lighter object by switching OFF the power source. Releasing
may not be successful due to the existing residual magnetism in the magnetic gripper. A
quick releasing is performed by reversing the polarity of power source to the gripper before
switching OFF the power source.
Permanent magnet gripper has a disadvantage of not having a separate power source.
Permanent magnet is to be rejuvenated every now and then since the magnetizing force
weakens due to age and repeated use. Another problem is that the object cannot be released
unless some gadget is attached to push out the object at the releasing location. This gadget
can be a stripper push o pin mechanism operated by a pneumatic controller. At the releas-
ing location, the pneumatic push o pins extend and strip o the object from the permanent
magnet. The permanent magnet gripper is highly advantageous for handling tasks in haz-
ardous and explosive environments since this gripper needs no electric ON-OFF devices.
In addition to the above grippers, there are several other varieties such as adhesive grip-
pers (that uses adhesive agents to pick up small pieces of objects), hooks (to pick up objects
such as bags) and scoops for handling liquids, molten metals and powders (such as chemi-
cal substances ). The gripper is application oriented and has to be from a new design for an
entirely new application.

2.6.2 Tools
In many applications, the robot has to manipulate a tool to be operated on a work piece
rather than manipulating a work piece. Sometimes, a suitable gripper can be used to hold
and handle a tool. In some cases, multiple tools can be handled by using a single gripper.
However, in most cases the tool is to be attached to the wrist to perform certain process
on the work piece. Several applications of tools can be cited in a manufacturing industries.
Some applications of tools include spot welding, arc (seam) welding, heating, spray
painting, drilling, grinding, brushing, cementing and water jet cutting. Figure 2.18 shows
certain types of tools used by industrial robots and their descriptions next to each tool.

Tool changers are often used to change


from one tool to the other in accordance
with sequentially programmed operations.
The tools can be of di erent types and
sizes. A cradle is used to place the tool.
The tool and the robot wrist have a
snap-in mechanism. When placing a tool
on the cradle, the robot lowers its tool
into the cradle and pulls its wrist away.
This process is reversed when picking up
another tool from its cradle

Figure 2.18 Various Types of Tools


Grippers and Tools of Industrial Robot | 33

The industrial robot can also manipulate


a heating torch to break out foundry
moulds by playing a torch over the
surface. When more heat is required, the
flame is lingered over the portion of the
surface. This break out operation
is faster than sending the mould using a
conveyor through a gas-fired oven

An industrial robot can handle a spot


welding gun to place a series of spot
welds on a flat or a simple curved or
compound curved surfaces. This is an
inevitable application in an automobile
industry

Robot welding by using an arc welding


torch is an important industrial
application. The welding torch dwells
briefly on a location of welding two
metals till a sufficient current passes
through the welding torch. Then the
torch is taken along the weld path at a
close proximity of the metals. This can
work for straight, simple or compound
curved weld paths. The robot can relieve
the human from this unhealthy and
dangerous job environment

Pneumatic nut-runner drills and impact


wrenches are used in a general purpose robot
working in hazardous environments. Drilling
and counter sinking are done with the aid of
positioning guides. Mechanical guides are
used to position the tool

Figure 2.18 Continued


34 | Robotics

Sanders, routers and grinders can be mounted


on the wrist of an industrial robot. With these
tools, a robot can route work piece edges, remove
any excess material from plastic or metal moulded
objects, apply adhesives along a route and create
routed polishing

Figure 2.18 Continued

REVIEW QUESTIONS
1. List four more definitions of industrial robots. Explain these definitions.
2. Explain the configuration of human body.
3. What are the equivalent configurations in robots?
4. How many articulations are there in Cincinnati Milacron-T3 industrial robot? Name
these articulations? Why are these articulations required?
5. List and explain the structural configurations of industrial robots.
6. What are precisions of movement? Explain these precisions with some statistics?
7. What do you understand by DoF? How do you connect DoF with movements of
robot joints?
8. Discuss the configurations of pressure sensor matrix. Explain with a set of dia-
grams on pressure-pad patterns when the following objects are gripped: (a) a bolt,
(b) a plate with number of holes and (c) a gear.
COORDINATE
TRANSFORMATION 3
You end up with a tremendous respect for a human being if you’re a roboticist
Joseph Engelberger

This chapter covers the following key topics:


Introduction – 2D Coordinate Transformation – Example – 2D Homogeneous
Transformation – Example – Description of Object – Example – 3D Coordinate
Transformation – Examples – Inverse Transformation – Kinematic Chain – Composite
Transformation Matrix – Algorithm for Composite Transformation – Examples –
Object Manipulation – Example – The Wrist – Example

3.1 INTRODUCTION
Human hand continuously manipulates the objects of interest very skilfully in a
three-dimensional (3D) space. Our hand and fingers are controlled by our computing brain
to move to locations, picking up objects, placing objects, moving objects, rotating the
objects and working on the objects. We have several sensors and the most important is our
vision to know where the object is placed, where the fingers are located and what to be
done. A conventional industrial robot cannot perform these tasks unless we give su cient
information. The first part of information is about instructions on where the object in 3D
space is located, where the robot base is situated and where the gripper is positioned and
also various joints and links are located at a particular time. The second part of information
is to contain data on what to be done such as moving the gripper on to the object, orientating
the gripper in such a way to carefully grasp the object, lift the object, move the object in a
certain direction, rotating the object in a certain way, and placing the object in a required
orientation. The second part is created by programming the robot so that it performs these
smaller e orts towards completing a major task. Several high-level software platforms are
available for programming each variety of robot and these make the second part easier.
These programs obviously require data we create through the first part of information.
Generating data through the first part requires a careful description of locations of
object, gripper, robot base and joints in terms of position and orientation in a 3D space.
36 | Robotics

This chapter mainly discusses on the first part of information to create required data to
make the robot to understand the position of the object and its own position in a 3D space.
Through this we can study the location and orientation of the object when the robot begins
and completes a task. This chapter starts with basic vectors and their transformations
in a two-dimensional (2D) space (X (X, Y ) and extends to three dimensions (X
(X, Y,
Y Z ). In
robotics, these vectors and transformations are defined in a di erent way known as homo-
geneous vectors and homogeneous transformations in three dimensions. These concepts
are illustrated through several typical examples.

3.2 2D COORDINATE TRANSFORMATION


We shall begin with a 2D coordinate transformation. Let a point p in the 2D space (X
(X, Y )
be described as
pT = [a, b] = [2, 1], (3.1)
where the superscript, T, is the transpose. The point (also called as vector) has a magnitude
m and an angle q with respect to the X X-axis, thus (Figure 3.1)

m = √(a2 + b2); cos q = (a/m); sin q = (b/m). (3.2)


The point p can be transformed to a new point p1T = [a1, b1] by means of a (2 × 2) transfor-
mation matrix P such that p1 = P × p where
 a 1   p11 p12  a
b  =  p p22 
b  . (3.3)
 1   21  
Let us describe a few transformation matrices that transform the vector p to p1.

1 0
(a) No change: P=   ; P is an identity matrix.
0 1

m
b
[a b]T

a X

Figure 3.1 Vector p


Coordinate Transformation | 37

b1 [a1 b1]T

ϕ m
b
[a b]T

a1 a X

Figure 3.2 Vectors p and p1

3 0
(b) x-scale change: P=   ; x-scale factor is 3; p1 = [3a, b]
T

 0 1 
1 0 
(c) y-scale change: P=   ; y-scale factor is 4; p1 = [a, 4b]
T

0 4 
3 0 
(d) x- and y-scale changes: P =   ; x, y-scales are independent; p1 = [3a, 4b]
T

0 4 
(e) Orientation of vectors: The vector p has a magnitude m and angle q as represented
in Equation (3.2). A new vector p1 can now be obtained by a rotation of the
vector p about the origin to an angle j. We use the universal way of representing the
angle as positive if rotation is counterclockwise. The rotation can be regarded as a
compound scale change; that is, x-scale and y-scale are dependent on each other.
Referring to Figure 3.2, vector p1 = P × p, in which P can be derived as follows:
a1 = mcos (q + j) = mcos q cos j − msin q sin j = acos j − bsin j. (3.4)
b1 = msin (q + j) = mcos q sin j + msin q cos j = asin j + bcos j. (3.5)

cos j sin j 
That is, P=  . (3.6)
 sin j cos j 

The (2 × 2) transformation matrix P produces a rotation of p, j o, about the origin


of (X
(X, Y ) plane. This transformation matrix P defines the orientation of vector p1
with respect to vector p.
(f) Orientation of frames: Let us assume that the magnitude of vector p shrinks to 0;
that is, m = 0. This imaginary vector may be considered as a point object located at
the origin O of (X
(X, Y ) frame. In robotics, every object has its own coordinate system
and hence has its own origin. Let this origin be represented as Oo. Figure 3.3(a)
describes such a situation. At this instant, frame O and frame Oo coincide. Let us call
the coordinates of point object as ((Xo, Yo) and the position of the point object as Oo.
38 | Robotics

XO

O, OO
YO Y

(a)

X XO

b OO

YO

O a Y

(b)

XX
YO

OO
b1
XO
ϕ

a1 O Y

(c)

Figure 3.3 Transformation of Point Object Oo: (a) O and Oo coincide,


(b) Translation of Oo and (c) Translation and Rotation of Oo
Coordinate Transformation | 39

Now the point object is moved through ‘a’ units along the X X-axis and through ‘b’ units
along the YY-axis. We call the motion along the X X-direction and Y Y-direction as translation.
Such a translation results in a transformed position of Oo. The point object carries its coor-
dinate frame (X
( o, Yo) as it translates. This translation is illustrated in Figure 3.3(b).
Further, the point object is rotated about the origin O of (X (X, Y ) by an angle j to reach
(a1, b1). During this rotation, the frame ((Xo, Yo) is also rotated to the same angle j with
respect to O (Figure 3.3(c)). Then, the orientation of (X ( o, Yo) with respect to ((XX, Y ) is
defined by the transformation matrix which is identical to Equation (3.6) as
 cos j sin j 
P=  . (3.7)
 sin j ccos j 

EXAMPLE 3.1
Let the origins of ((X
X, Y ) and (X
( o, Yo) frames be O and Oo, respectively. Let the origin Oo be
shifted 2 units along the X Y-axis and rotated 90° about O. What are
X-axis, 1 unit along the Y
the new position and orientation of Oo?
Solution:
Due to translation, the origin Oo reaches a point [2, 1]T in the (X
(X, Y ) frame. After rotation,
the new position of Oo is obtained using Equation (3.7) as
 −1 0 1  2
 2  = 1 0  1  (E3.1.1)
    

0 1
and the orientation matrix is  . (E3.1.2)
1 0 

Both in the above discussion and in Example 3.1, we realize that the transformation matrix
contains the information on rotation and not the information on translation. It will be useful
if the transformation matrix has both these information so that with an observation on the
transformation matrix, one can easily estimate the final orientation and translation of the
object with respect to O if the object undergoes several translations and rotations. For this
we define the concept of homogeneous transformation that utilizes a set of new forms of
vectors and matrices.

3.2.1 2D Homogeneous Transformation


The concept of homogeneous coordinates was introduced in computer graphics. This
coordinate system represents an n-dimensional space in terms of (n + 1) coordinates. For
example, in a 2D space, a point [a, b] is represented as [aw, bw, w]T where w is a selected
scale factor
 2  0 2   20 
1  =  0 1 =   (3.8)
    10 
1   0 1 10 
This means, the vectors represent the same vector [2, 1]T. In robotics, w is always consid-
ered as unity.
40 | Robotics

By using these homogeneous (3 × 1) vectors in all our computations, the transformation


matrix has to be of (3 × 3) form. This has the following form with the sub-matrices 1, 2, 3 and 4.

1 2
P= . (3.9)
3 4

Sub-matrix 1: This is a (2 × 2) sub-matrix representing the rotation (or orientation) similar


to Equation (3.6). Every rotation of object by an angle about the origin of the
(X, Y ) frame creates this sub-matrix.
(X
Sub-matrix 2: This is a (2 × 1) sub-matrix representing the translation along the axes of the
(X, Y ) frame. After a number of translations, the sub-matrix 2 gives the final
(X
position of the object in the (X
(X, Y ) frame.
Sub-matrix 3: This is a null vector of dimension (1 × 2).
Sub-matrix 4: This is a scalar that has the value of scale factor w = 1.

EXAMPLE 3.2
Consider the problem given in Example 3.1. The point object Oo with respect to the ((X X, Y )
frame originally coincides with O. Then the point object is represented by the homogeneous
vector [0, 0, 1]T. Three transformations are done in three consecutive stages: (i) Oo is moved
2 units in the X
X-direction, then (ii) it is moved 1 unit in the Y
Y-direction and then (iii) rotated
90°about the origin O. Determine the final position and orientation of the point object.
Solution:
We shall consider these transformations one by one:
(i) Translation along the X-axis
X
 2   1 0 2  0 
0  = 0 1 0    . (E3.2.1)
    0 
 1   0 0 1  1 

We create the transformation matrix with the sub-matrix 1 as an identity matrix indi-
cating no rotation (or orientation) and the sub-matrix 2 indicating 2 unit translation
in the X
X-direction and 0 unit in the Y
Y-direction. The position of Oo is now [2, 0]T.
(ii) Translation along the Y-axis
Y
 2 1 0 0   2
1  = 0 1 1    . (E3.2.2)
    0 
 1   0 0 1  1 

Transformation matrix indicates the Y Y-axis translation of 1 unit without any rota-
tion. Thus, the position of Oo is [2, 1]T.
(iii) Rotation about origin O [by substituting f = 90° in Equation (3.6)]
 −1  0 −1 0   2 
 2  = 1 0 0  1  . (E.3.2.3)
     
 1   0 0 1   1 
Coordinate Transformation | 41

Transformation matrix indicates a rotation of 90° about origin O with no translation. The
final position is [−1, 2]T.
The sequence (i), (ii) and (iii) can be combined without changing the order of transfor-
mations as
 −1 0 1 0  1 0 0  1 0 2  0 
 2  = 1 0 1 1     
   0 0    0 1 0  0 
 1  0 0 1   0 0 1  0 0 1  1 

0 1 −1 0 
= 1 0 2  0  ,
  (E3.2.4)
 0 0 1  1 

thus forming a compound transformation matrix which has the information on two transla-
tions and one rotation.

3.3 DESCRIPTION OF OBJECT


An object in 2D space is described by selected points on the object’s periphery. As an example,
consider the square object, M
M, of side 1 unit placed in the (X, Y ) plane such that sides AD and
AB coincide with the X- and Y Y-axes, respectively (Figure 3.4). The object is described by its
corner points as individual vectors in homogeneous form. The object M is defined as
A B C D
0 0 1 1
M = 0 1 1 0  . (3.10)
1 1 1 1 

When the object is translated and rotated, every point on the object is translated and rotated.
This is illustrated in the following Example 3.3.

B C

O
A D X

Figure 3.4 Object M

EXAMPLE 3.3
The square object M of 1 unit side is placed in the (X, Y ) frame. Describe the position of the
object when it is translated −1 unit and 2 units along the X-axis and the Y-axis, respectively
and then rotated about the origin O by 90°.
Solution:
When the transformation matrix is H, the new location of the object is described by
42 | Robotics

Mnew = HM
A B C D
0 1 −1 0 0 1 1   −1 −2 −2 −1
Mnew = 1 0 2  0 1 1 0  =  2 2 3 3  . (E3.3.1)
   
0 0 1   1 1 1 1   1 1 1 1 

The transformed object is given in Figure E3.3.1. Note the new locations of the corner
points.
C D Y
3

2
B A

−2 −1 O X

Figure E3.3.1 Transformed Object

3.4 3D COORDINATE TRANSFORMATION


The 3D homogeneous coordinate system is an extension of 2D homogeneous coordinate
system to involve all the six degrees of freedom (DoF) of the robot in the 3D space. The six
DoF by which an object is manipulated is depicted in Figure 3.5. Manipulation is the skilful
handling of objects in terms of its translation and orientation. The set of first three DoF is
described by translational motions along the X, X Y and Z directions and the next three DoF
is described by rotational motions about the X, X YY, and Z axes.
The 3D vector [a, b, c]T in the ((X Y Z ) space can now be represented by a (4 × 1) homo-
X, Y,
geneous vector as [aw, bw, cw, w]T where w is the scale factor; hence denotes the same

Z
Roll

Pitch
Yaw

Figure 3.5 Six DoF


Coordinate Transformation | 43

3D vector, [5.0, 2.5, 4.0]T. We follow the usual convention of maintaining the scale factor
w = 1.
 20  10  5 0 
10     
  =  5  =  2 5 (3.11)
16   8   4 0 
     
4 2  1 
The homogeneous transformation matrices, now, are of (4 × 4) dimensions. The general
form of transformation matrix is

1 2
H= . (3.12)

3 4

The homogeneous transformation matrix may be interpreted as defining a relationship


between two frames in terms of how far are their origins separated and the way of orienta-
tion of one frame to the other.
Sub-matrix 1: This is a (3 × 3) sub-matrix referred to as the rotation or orientation between
two frames–the reference frame and the new frame. Every rotation of the
new frame about the X X, about the Y, and about the Z axes of reference frame
creates this sub-matrix.
Sub-matrix 2: This is a (3 × 1) sub-matrix representing the translation vector that gives the
position of the origin of new frame with respect to the origin of the reference
frame.
Sub-matrix 3: This is a null vector of dimension (1 × 3).
Sub-matrix 4: This is a scalar representing the scale factor w = 1.

A vector is a point in a the 3D frame ((X


X, Y,
Y Z ); it can be translated parallel to the
X Y and Z axes of the frame and can also be rotated about each of the X,
X, X Y and Z
axes to get a new vector. This is known as transformation. For instance, a homoge-
neous vector v is transformed into homogeneous vector u by the following matrix
operation:
u = H v, (3.13)
where H is the homogeneous transformation matrix.
Since we always deal with homogeneous transformations, we call a homogeneous
transformation matrix as transformation matrix, unless otherwise specifically required.
Similarly, a homogeneous vector will be called as vector itself.
The transformation to accomplish a translation of a vector in space by distances a, b and
c in the X,
X Y and Z directions, respectively, is given by the transformation matrix

1 0 0 a
0 1 0 b 
H = Trans(a, b, c) =  , (3.14)
0 0 1 c
 
0 0 0 1
44 | Robotics

where ‘Trans’ represents translation. Sub-matrix 1 is an identity matrix indicating no rota-


tion of the vector with respect to axes of the reference frame.

EXAMPLE 3.4
A vector [25, 10, 20]T is translated by a distance of 8 units in the X
X-direction, 5 units in the
Y-direction and 0 units in the direction of Z. Determine the translated vector.
Y
Solution:
The transformation matrix is

1 0 0 8
0 1 0 5 
H = Trans (8, 5, 0) =  (E3.4.1)
0 0 1 0
 
0 0 0 1

and the translated vector is

1 0 0 8  25   33 
0 15 
1 0 5  10 
  =  .
u = Hv =  (E3.4.2)
0 0 1 0  20   20 
     
0 0 0 1 1 1

Rotations of a vector (Rot) about each of the three axes by an angle q are accomplished
by rotation transformation matrices. The rotation transformation matrix about the
X-axis is
X

1 0 0 0
0 q i q 0 
H = Rot(x, q) =  . (3.15)
0 i q q 0
 
0 0 0 1

About the Y-axis,


Y H is given by
 cos q i q 0
0 sin
 0 1 0 0 
( , q) = 
H = Rot(y (3.16)
 − sin q 0 cos q 0 
 
 0 0 0 1
and about the Z-axis
Z
 cos q s q 0 0
sin
 sin q c q 0 0 
cos
H = Rot(z, q) =  . (3.17)
 0 0 1 0
 
 0 0 0 1
Coordinate Transformation | 45

EXAMPLE 3.5
A vector v = [1, 1, 0]T is described in a reference frame ((X, Y, Z ) and is rotated by an angle
45° about the Z
Z-axis; determine the transformed vector, u.
Solution:
The transformation matrix corresponding to the rotation about the Z
Z-axis has been derived.
Hence, the required transformed vector, u, is computed as
 0.707 −0.707 0 0 1 
 0.707 0.707 0 0  1 
u = H v = Rot(z, 45°) v =   
 0 0 1 0 0 
   
 0 0 0 1 1 
 0 
1.414 
=  . (E3.5.1)
 0 
 
 1 
The transformed vector, u, occupies the new position [0, 1.414, 0]T in the reference frame
(X, Y,
(X Y Z ).

EXAMPLE 3.6
A frame coincident with a reference frame ((X X, Y,
Y Z ) is rotated by 90o about its Z
Z-axis to
obtain a new frame (X
( n, Yn, Zn). What is the orientation of this new frame with respect to
the reference frame?
Solution:
The transformation matrix after the rotation is given in Equation (E3.5.1). The (3 × 3) partition
matrix is the orientation of the new frame (X
( n, Yn, Zn) with respect to reference frame (X
(X, Y,
Y Z ).
Xn Yn Zn
cos 90 sin 90 0 0  0 −1 0 0 X
 sin 90 cos 90 0 0  1 0 0 0  Y
H = Rot(Z, 90) =  = . (E3.6.1)
 0 0 1 0  0 0 1 0 Z
 
 0 0 0 1  0 0 0 1

Equation (E3.6.1) depicts the reference frame and the new frame after the rotation about
the Z–axis.
Z
Y

Xn
90
Yn X

Zn
Z

Figure E3.6.1 Reference Frame and the New Frame


46 | Robotics

Let us compare Figure E3.6.1 and Equation (E3.6.1). The H matrix in Equation (E3.6.1)
(X, Yn) element = −1). H
shows that X and Yn are in opposite directions (as indicated by the (X
also shows that the Y and Xn and Z and Zn are in the same directions.

EXAMPLE 3.7
Figure E3.7.1 describes three frames A, B, and C displaced and rotated from one to the
other. Determine
(a) transformation matrix HAB which transforms A frame to B frame,
(b) transformation matrix HBC which transforms B frame to C frame and
(c) transformation matrix HAC which transforms A frame to C frame.

4 unitss
Z X

B C
X Y
Z
Y

3 un
units X

A Y
Figure E3.7.1 A, B, C Frames
Solution:
(a) Frame B is obtained through a set of manipulations with respect to frame A’s axes:
(i) Rotating frame A for an angle of 90o about its Z
Z-axis to get an intermediate frame I1
(let us call it as an intermediate frame I1)
(ii) Moving the I1 frame along frame A’s X X-axis for a distance of 3 units to get frame B
Hence
HAB = Trans(3, 0, 0) Rot(Z, 90),

1 0 0 3 0 1 0 0 0 1 0 3
0 1 0 0  1  1
0 0 0 0 0 0 
HA = 
B  =  . (E3.7.1)
0 0 1 0 0 0 1 0 0 0 1 0
     
0 0 0 1 0 0 0 1 0 0 0 1

(b) Frame C is obtained through a set of manipulations with respect to frame B’s axes:
(i) Rotating frame B for an angle of −90° about its X X-axis to get the I1 frame
(ii) Rotating I1 frame for 180 about frame B’s Y
o
Y-axis to get I2 frame (I2 is another
intermediate frame)
(iii) Translating the I2 frame for 4 units along frame B’s XX-axis to get frame C.
Hence
HBC = Trans(4, 0, 0) Rot(Y,
Y 180°) Rot(X
(X, −90°),
Coordinate Transformation | 47

1 0 0 4  −1 0 0
0 1 0 0 0
0 0 1 0 0  0 0 1 0 
1 0 0   
HBC = 
0 0 1 0 0 0 −1 0  0 1 0 0
     
0 0 0 1 0 0 0 1 0 0 0 1
 −1 0 0 4
0 0 1 0 
=  . (E3.7.2)
0 1 0 0
 
0 0 0 1

(c) HAC = HAB HBC


XC YC ZC
0 1 0 3   −1 0 0 4 0 0 −1 3  X A
1 0 0 0   0   −1
0 1 0 0 0 4  YA .
=  =  (E3.7.3)
0 0 1 0  0 1 0 0 0 1 0 0 ZA
     
0 0 0 1  0 0 0 1 0 0 0 1

Observation: HAC shows that


(i) Frame C’s X
X-axis is opposite to frame A’s Y-axis
Y
(ii) Frame C’s Y
Y-axis is in the direction of frame A’s Z-axis
Z
(iii) Frame C’s ZZ-axis is opposite to frame A’s X-axis
X
(iv) The origin of frame C is away from origin of A frame by 3 units along frame
A’s X
X-axis, 4 units along frame A’s Y
Y-axis and 0 units along frame A’s Z-axis.

Example 3.7 also illustrates a part of robot structural definition. A robot structure for which
the coordinate frames of Figure E3.7.1 can be fit is presented in Figure 3.6. A, B and C are
the coordinate frames representing each joint. Only Z Z-axis is shown in each joint and the
other axes are as given in Figure E3.7.1.

Z
β
C
B
m

Z
A

Figure 3.6 A Three-joint, Two DoF SCARA Robot


48 | Robotics

The students can try to enter the other two axes. The Z Z-axis represents the direction or
axis of motion of a joint. Joint A has a rotation q represented by the direction of Z of frame
A, at joint B the rotation b is represented by the direction of Z of frame B and joint C has a
translation m represented by the direction of Z of frame C. Figure 3.6 shows a three-joint,
two DoF SCARA robot.
Example 3.7 has illustrated the procedure for determining the transformation matrix
from a reference frame (R) to a new frame (N ), that is, HRN.
If there is a chain of frames in the sequence, such as M,
M P and Q, appear in between frame
R and frame N N, then the matrix HR is obtained through consecutive transformation matrices as
N

HRN = HRM HMP HPQ HQN. (3.18)

EXAMPLE 3.8
Determine the resultant transformation matrix that represents a set of following manipula-
tions on an object with respect to a reference frame (X
(X, Y,
Y Z ):
(i) Rotation of j ° about the X-axis,
X
(ii) Translation of a units along the X-axis
X
(iii) Translation of d units along the Z-axis
Z
(iv) Rotation of q ° about the Z-axis.
Z
What are the position and orientation of the object after the completion of all manipulations?
Solution:
The resultant transformation matrix is the product of transformation matrices of individual
manipulations.
H = Rot(Z, q) Trans(0, 0, dd) Trans(a, 0, 0) Rot(X(X, j) = H4 H3 H2 H1, (E3.8.1)
where Hi is the transformation matrix of ith manipulation.

cos q s q 0 0
sin 1 0 0 0 1 0 0 a 1 0 0 0
 sin q 0 i j 0 
0 0 
cos q 0 1 0 0 
0 1 0 0   j
H=   
 0 0 1 0 0 0 1 d 0 0 1 0 0 i j j 0
       
 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

 cos q − sin q cos j sin q sin j a cos q 


 
H =  sin q cos q cos j − cos q sin j a sin q  . (E3.8.2)
 0 sin j o j
cos d 
 
 0 0 0 1 

X Y and Z axes is given by the (3 × 3) sub-


The orientation of the object with respect to X,
matrix. The position of object from the origin of ((X
X, Y,
Y Z ) frame, at the completion of all
manipulations, is indicated by the (3 × 1) sub-matrix. This set of manipulations is important
in the context of structural modelling a robot of any configuration with parameters {q, j, a,
d}. This will be considered in later chapters.
Coordinate Transformation | 49

3.5 INVERSE TRANSFORMATION


HAB represents the forward transformation matrix that defines frame B with respect to
frame A. Then HBA is known as inverse transformation matrix which defines frame A with
respect to frame B. It is obvious that HAB and HBA are inverse to each other.
The transformation matrix
XB YB ZB
0 1 0 3 X A
1 0 0 0  YA
HAB = 
0 0 1 0 ZA
 
0 0 0 1

is inverse of
XA YA ZA
0 1 0 0 X B
 −1 0 0 3  YB
HB = [ HA ] = 
A B −1 . (3.19)
0 0 1 0 ZB
 
0 0 0 1

It can be verified that HAB HBA = II, the identity matrix.


In general, getting an inverse of a (4 × 4) matrix from first principles demands a good
level of computations. However, we wish to have less computations in real time. The trans-
formation of coordinates is performed by the robot computer and hence requires less com-
putations to meet real-time control of robot arm. A simpler approach in getting the inverse
is described in the following. This approach is suitable only when the coordinate axes are
ortho-normal (i.e. 90°) to each other.
Given a transformation matrix H of the form
 nx ox ax px 
n oy ay p y 
H= 
y
, (3.20)
n oz az pz 
 z 
 0 0 0 1 
then the inverse transformation of H denoted by H−1 is defined as
 nx ny nz ( p . n) 
 
 ox oy oz ( p . o) 
H = 
−1
. (3.21)
a ay az ( p . a) 
 x 
 0 0 0 1 
Here in the last column
vector n = [nx ny nz]T, normal vector
o = [ox oy oz]T, orientation vector
a = [ax ay az]T, approach vector and
p = px + py + pz , positional vector.
50 | Robotics

Then
((p⋅n) = (p
( xnx + pyny + pznz),
((p⋅o) = (p
( xox + pyoy + pzoz),
((p⋅a) = (p
( xax + pyay + pzaz).
Also from Equations (3.20) and (3.21), H H−1 = II, the identity matrix.
Since all three axes are ortho-normal to each other, the dot product (n⋅o) = (o⋅a) = (a⋅n) = 0.
The reader can verify this concept with any of the transformation matrix he/she develops.
It is easily accepted that the inverse transformation H−1 is to undo the operation accom-
plished by the transformation H.H

3.5.1 Kinematic Chain


Kinematics is the study of motion of a robot without regard to forces or other factors that
influence the motion. An industrial robot consists of a group of rigid bodies called as the
links, connected together by joints. The joint can be revolute or prismatic. The revolute
joints allow rotations of one link to another while the prismatic joints allow translation
between links. The links are interconnected such that they are constrained to move relative
to one another to position the end e ecter. Due to the joint motions, each joint is consid-
ered as having a coordinate system or frame. With possibility of joint motions and the
link lengths, each coordinate frame is related to one another. These relations in terms of

(a)

(b)

Figure 3.7 Kinematic Chains: (a) Closed Kinematic Chain and (b) Open
Kinematic Chain
Coordinate Transformation | 51

H CT
HB C

C
T
B

HAT

HAB
HTA = [ HAT ]−1

Figure 3.8 Robot and its Kinematic Chain

coordinate frames in a sequence provide the kinematic chain. The kinematic chains are
of two types – closed kinematic chain and the open kinematic chain – as described in
Figure 3.7.
In the closed kinematic chain, every link has two joints. All links are rigid and hence
the joint movements are restricted. An end e ector attached to an extended link will not
produce a reasonably large work volume. On the other hand, in the open kinematic chain
all links have two joints except the last link at which an end e ecter is attached. This is a
conventional robot having a larger work volume.
A conventional robot is depicted in Figure 3.8. This has three joints, A, B and C. Each
joint is represented by its coordinate frame. The last link has an end e ector. The point
T is known as the tool centre point (TCP). The transformation matrix H connects the
consecutive joints.
It is known that HAT = HAB HBC HCT. The kinematic chain closes via HTA = [H HAT]−1. That
is, the product of all transformation matrices, HAB HBC HCT HTA = HAA = II, the identity
matrix, thus establishing a closed kinematic chain.

3.6 COMPOSITE TRANSFORMATION MATRIX


In our discussions so far, we have considered translation and rotation with respect to one
reference frame, the ((X
X, Y,
Y Z ). This frame can be referred to as the absolute reference
frame, R. Such a transformation with respect to R is known as absolute or forward trans-
formation. We have shown that when the transformation matrices are pre-multiplied, the
transformations are performed with respect to R. In contrast, post-multiplications may lead
to wrong result.
In some manipulations, it is beneficial to keep another frame derived from R, as an
intermediate reference frame. For example, while working with the end e ector it will be
advantageous to refer the manipulations of gripper with respect to wrist frame for which
the transformation matrix has been already derived from the absolute reference frame. To
cite another example, it is an usual practice to have the gripper frame as the reference while
defining the location and orientation of an object. In such cases, when the transformation
52 | Robotics

is considered with respect to new frame, post-multiplication of transformation matrix is


essential. When post-multiplying the transformation matrices, each transformation is exe-
cuted with respect to a di erent coordinate frame, as the location of a new frame changes with
each transformation. In general, there are two rules for processing a transformation equation:
(1) Pre-multiply with a transformation matrix whenever a manipulation is performed
with respect to reference frame.
(2) Post-multiply with a transformation matrix whenever a manipulation is performed
with respect to a new frame.
Such a transformation matrix computed through the rules (1) or (2) or both for all manipu-
lations is known as the composite homogeneous transformation matrix. This matrix can be
obtained through an algorithm:

3.6.1 Algorithm for Composite Transformation


Let F be the fixed (original or absolute or reference) coordinate frame, and N be the new
(transformed) coordinate frame.
Then
(a) Initialize the transformation matrix H = II, the identity matrix, which means F and
N are coincident.
(b) Get a new transformation matrix, N N, to represent a translation or a rotation using the
fundamental transformation matrices.
(c) If N is to be rotated about or translated along the axis of F, pre-multiply H with F
to get a modified H.
(d) If N is to be rotated about or translated along one of its own axes, post-multiply H
with N to get a modified H.
(e) If there are more fundamental rotations or translations to be performed, go to step
(c); else stop.
(f) The resulting composite homogeneous transformation matrix H maps N on to F.
Through the following two examples, we can establish the concept of composite transfor-
mation matrices.
ZO
XA

YA ZA

YO
XO
m
n

Figure 3.9 Frames O and A


Coordinate Transformation | 53

There are two frames O and A as given in Figure 3.9. It is required to derive the
transformation matrix that relates frame A with frame O. Two approaches are possible: (i)
through set of translations and rotations pertaining to the axes of frame O only and (ii) through
a set of translations and rotations pertaining to axes of new frames consecutively generated.

EXAMPLE 3.9
Manipulations with respect to frame O to get frame A (Figure E3.9.1):
Rule 1
(i) Rot(x, −90°) frame O to get frame 1, then
( , −90°) frame 1 to get frame 2, then
(ii) Rot(y
(iii) Trans(n, m, p) frame 2 with respect to frame O to get frame A.
Equation (E3.9.1) illustrates the steps of obtaining the resultant transformation matrix.
The resultant transformation matrix is obtained by pre-multiplications of individual
transformation matrices.
1 0 0 n  0 0 −1 0   1 0 0 0
0 1 0 m  0 1 0 0   0 0 1 0 
HOA = 
0 0 1 p  1 0 0 0  0 1 0 0
   
0 0 0 1  0 0 0 1  0 0 0 1

(iii) (ii) (i)

0 1 0 n
0 0 1 m 
=  . (E3.9.1)
1 0 0 p
 
0 0 0 1

ZO

YO
XO
(a)

ZO

X1 Z1
YO
XO Y1
(b)

Figure E3.9.1 Manipulations with Respect to Reference Frame O: (a) Frame O,


(b) Frame 1, (c) Frame 2 and (d) Frame A
54 | Robotics

ZO

X2
Y2 Z2
YO
XO

(c)

ZO
XA

YA ZA
p
n
m YO
XO

(d)

Figure E3.9.1 Continued

EXAMPLE 3.10
Manipulations with respect to the new frames (Figure E3.10.1).
Rule 2
(i) Rot(xo, −90o) frame O to get frame P, then
(ii) Rot(zo, −90o) to get frame Q, then
(iii) Trans(p
( , n, m) along ((X
XQ, YQ, ZQ) to get frame A.
Equation (E3.10.1) illustrates the steps of obtaining the resultant transformation matrix.
The resultant transformation matrix is obtained by post-multiplications of individual
transformation matrices.

1 0 0 0  0 1 0 0  1 0 0 p
0 0 1 0   −1 0 0 0  0 1 0 n 
HOA = 
0 1 0 0  0 0 1 0  0 0 1 m
   
0 0 0 1  0 0 0 1  0 0 0 1

(i) (ii) (iii)

0 1 0 n
0 0 1 m 
=  . (E3.10.1)
1 0 0 p
 
0 0 0 1
Coordinate Transformation | 55

ZO

YO
XO
(a)

ZO

XP ZP

YP YO
XO
(b)

ZO

XQ

YQ ZQ
YO
XO
(c)

ZO
XA

YA ZA

p
n
m
XO YO

(d)

Figure E3.10.1 Manipulations with Respect to Consecutive Frames: (a) Frame


O, (b) Frame P, (c) Frame Q and (d) Frame A
56 | Robotics

3.6.2 Object Manipulations


We shall examine how the composite transformation matrix is useful in object manipulations.
The algorithm described in Section 3.6.1 is applicable to object manipulations in which
Rules 1 and 2 are appropriately related. Example 3.11 illustrates how the composite trans-
formation is developed into object manipulation.

EXAMPLE 3.11
The wedge of unit dimension shown in Figure E3.11.1 is placed in a reference frame O. Its
(or object frame) frame W with axes ((X
XW, YW, ZW) initially coincides with frame O.
(a) determine the description of wedge in the reference frame.
(b) If the wedge is translated by (2, 0, −3) in the reference frame and is rotated by 90°
about its own Y
Y-axis, determine the new description of wedge in the reference frame.

F
Z

Y
E

C
B

A D X
Figure E3.11.1 The Wedge
Solution:
(a) Wedge is of unit dimension, that is, all sides except ED and FC are of unit length;
hence the description of wedge (in terms of its corners) in its original place is
A B C D E F
0 0 1 1 0 0
0 1 1 0 0 1 
WO =  . (E3.11.1)
0 0 0 0 1 1
 
1 1 1 1 1 1

(b) The composite transformation is


H = Trans(2, 0, −3) I Rot((y, 90°) (E3.11.2)
where I is the identity matrix. I is pre-multiplied with Trans(2, 0, −3) due to manip-
ulation in the reference frame and is post-multiplied by Rot( y, 90°) due to manipu-
lation in the object frame.
(Note: Consecutive pre-multiplications occur whenever manipulations happen in
reference frame; also consecutive post-multiplications occur whenever manipula-
tions happen in object frame.)
The new description of the object in reference frame is
Wnew = Trans(2, 0, −3) Rot( y, 90°) Wo
Coordinate Transformation | 57

1 0 0 2 0 0 1 0 0 0 1 1 0 0
0 0 1 0 0  0 1 1 0 0 1 
1 0 0   
= 
0 0 1 −3  −1 0 0 0 0 0 0 0 1 1
     
0 0 0 1 0 0 0 1 1 1 1 1 1 1

A B C D E F
2 2 2 2 3 3
0 1 1 0 0 1 
=  . (E3.11.3)
 −33 3 4 4 3 −3
 
1 1 1 1 1 1

3.7 THE WRIST


Position and orientation are required in manipulating an object. Typically, the arm (with
joints and links) of the robot controls the position of the end e ector in space and the wrist
controls the fingers to final orientation. The end e ector has two names:
1. Gripper which grasps the object by any means
2. Tool which undertakes a processing operation.
With this definition, drilling a hole is a process of operation and grasping a cement bag by
gripper is another process.
To get a six DoF, three DoF can be achieved by translation of the arms and another three
DoF can be created by the rotation of the end e ector. However, the functions of position
and orientation cannot be fully decoupled to be separate functions of the arm and the wrist.
Our palm and fingers can form the end e ector. Prismatic joints that give translations are
not normally found in human wrists.
It is complex to design a complete three-DoF wrist and such wrists are useful only
in special applications. Figure 3.10 shows a typical design of a wrist having three DoF.
However, several designs are available from di erent manufacturers.

Robot arm

Face plate to attach


end e ector

Wrist pitch

Wrist roll
Wrist yaw

Figure 3.10 Wrist Articulations


58 | Robotics

The wrist has three rotations, the roll, the yaw and the pitch such that
(a) roll involves rotations of the wrist mechanism about the arm axis
(b) pitch involves the up and down rotations of the wrist
(c) yaw involves the right side or left side rotations
Figure 3.11 illustrates the palm and fingers (the gripper) attached at the face plate of wrist.
The articulations of wrist allows the gripper to have three DoF–the roll, the yaw and the
pitch. The gripper axes ((X
X, Y,
Y Z ) are shown in the two finger form of wrist as in Figure 3.11.
Its articulations are defined as follows:
(a) Roll is the rotation of the Z
Z-axis that is directed from arm axis.
(b) The YY-axis is normally considered as an axis going through the fingers. A rotation
about the YY-axis is known as pitch.
(c) The XX-axis is perpendicular to both Z and Y axes. A rotation about the XX-axis is
called as yaw. In Figure 3.11, the XX-axis is directed towards you.
(d) The origin of the gripper frame, T, is referred to as the TCP.
An interesting aspect is to be observed here. When the gripper is mounted to the end
e ector, it appears that the TCP (marked as T in Figure 3.11) will be changing its posi-
tion whenever the wrist articulates. It is true unless compensated by extra articulations of
arms. That is, when we command the robot to bring the TCP to a position in the 3D space,
the robot joints adjust within themselves in such a way that the TCP reaches the defined
position. Such adjustments in robot joints are possible in some of robot softwares so that
we are guaranteed that the TCP reaches the point we define.
In some cases, the axis directions are also referred to as the following:
X-axis is known as ‘n’, the normal axis (normal to Y and X axes).
X
Y-axis is known as ‘o’, the orientation axis (axis goes through the fingers)
Y
Z-axis is known as ‘a’, the approach axis (axis approaching an object).
Z
However, the fixing of TCP and the directions of vectors n, o and a depend on the geometry
of the gripper.

X, n
Yaw, Rot(x)

Finger

Palm

T
Roll, Rot(z)

Z, a
Pitch, Rot(y)

Y, o

Figure 3.11 Gripper Articulations


Coordinate Transformation | 59

EXAMPLE 3.12
Figure E3.12.1 describes a robot vision system. The robot is controlled on the basis of infor-
mation received by the camera. It is required that robot has to align its gripper so that the
object is properly gripped by the gripper. Two transformation matrices are given as follows:
0 1 1
0 1 0 0 10 
1 0 0 10  0 1 0 20 
TC = 
O
; TB =  , (E3.12.1)
0 0 −1 9  C 0 0 −1 10 
   
0 0 0 1 0 0 0 1 

where C, O and B stand for coordinate frames at the camera, object and base, respectively.
Then,
(a) What is the position of the centre of object with respect to the base coordinate frame?
(b) What is the orientation matrix if the robot has to pick-up the object from its top?
Camera

Robot

Camera
Object

Basee

Base Object
(a) (b)

Figure E3.12.1 Robot Vision System: (a) Robot Workspace and


(b) Transformations

Solution:
Let us first observe how the transformation matrices given in Equation (E3.12.1) relate to
the respective coordinate axes:
Xo Yo Zo
0 1 1  XC
0
1 0 0 10  YC
TCO =  . (E3.12.2)
0 0 −1 9  Z C
 
0 0 0 1

The origin of O is away by [1, 10, 9]T from the origin of C.


XB YB ZB
1 0 0 10  X C
0 1 0 20  YC
TCB =  . (E3.12.3)
0 0 −1 10  Z C
 
0 0 0 1 

The origin of B is away by [−10, 20, 10]T from the origin of C.


The above descriptions help us to illustrate the C, O and B frames as in Figure E3.12.2 as
60 | Robotics

XC

YC
ZC

(a)

ZB

YB

B XB

(b)

ZO

O YO

XO
(c)

Figure E3.12.2 Base, Camera and Object Frames

(a) We have to find out the transformation of O from B, that is, TBO matrix.
This can be derived as

1 0 0 10  0 1 0 1
0 1 0 20  1 0 010 
TBO = TBC TCO = [ TC ] TC
B −1 O
= inv  ,
0 0 −1 10  0 0 −1 9 
   
0 0 0 1  0 0 0 1

where inv[⋅] is the inverse of matrix; hence

Xo Yo Zo
0 1 0 11 X B
 −1 0 0 10  YB
TBO =  . (E3.12.4)
0 0 1 1  ZB
 
0 0 0 1

The position of origin of frame O is at [11, 10, 1]T units from the origin of frame B.
Coordinate Transformation | 61

(b) If the robot has to pick up the object from its top, there are two possibilities as indi-
cated in Figure E3.12.3. In both cases, the object orientation is fixed at the frame
(XO, YO, ZO).
(X

ZO

O YO

XO a

(a)

ZO n

YO
O

XO a

(b)

Figure E3.12.3 Two Possibilities of Gripper Orientations: (a) Gripper


Orientation 1 and (b) Gripper Orientation 2

However, there are two possibilities of gripper frame (n, o, a) by which it can grip
the object. From Figure E3.12.3, it is possible to determine the relationship between
the object frame and the gripper frame.
Possibility
y1 Possibility
y2
Xo Yo Zo Xo Yo Zo
1 0 0 n  −1 0 0  n
0 1 0  o ,  0 1 0  o.
  
 0 0 −1 a  0 0 −1 a

REVIEW QUESTIONS
1. What is coordinate transformation? Why is it required?
2. What are the two parts when a robot is to handle an object?
3. What is 2D homogeneous transformation? Why or why not is this su cient?
62 | Robotics

4. In 2D transformation space, how do you describe any object? Are there any
restrictions?
5. How many DoF does the object undergoes in a 3D transformation space? Illustrate
through a diagram.
6. How many basic transformations are there in a 3D transformation space? Illustrate
through various matrices.
7. After a transformation
(i) Frame C’s x-axis is opposite to frame A’s y-axis
(ii) Frame C’s y-axis is in the direction of frame A’s z-axis
(iii) Frame C’s z-axis is opposite to frame A’s x-axis
(iv) The origin of frame C is away from the origin of frame A by 3 units along frame
A’s x-axis, 4 units along frame A’s y-axis and 0 units along frame A’s z-axis.
Sketch the vectors in a 3D space and verify whether the above rules satisfy.
8. The transformation matrix from base (B) to TCP (T) of a robot is
0.966 0.259 0 20.344 
0.259 −0.966 0 66.264 
H TB =  .
 0 0 −1 55.700
 
 0 0 0 1 

What is the closing chain matrix?


KINEMATICS

The danger of the past was that men became slaves.


The danger of the future is that men may become robots.
Erich Fromm

This chapter covers the following key topics:


Introduction – Joint Coordinate Space – Kinematics and Inverse Kinematics –
A Two-Joint Two-DoF Robot – Use of Homogeneous Transformations – Robot
Vision System – Link Parameters – Joint Parameters – D-H Notation of Coordinate
Frames – D-H Transformation Matrix – Symbolic Procedure – D-H Algorithm –
Application Examples – Jacobian –Manipulator Jacobian – Jacobian Singularities

4.1 INTRODUCTION
In Chapter 3, we have described Cartesian coordinate systems in a three-dimensional
space. Each robot joint is considered as having its own coordinate frame. A joint is indi-
cated by the axis of rotation or axis of translation. These coordinate frames do not have
same orientation. We have described the transformation matrices for connecting the joint
coordinate frames. We have also derived the homogeneous transformation matrices. The
transformation matrices give the orientation and the location of the next frame with respect
to the frame we are working now. In this chapter, we will discuss kinematics, which is an
interesting topic in robotics. We conclude this chapter with Jacobian, a matrix which rep-
resents the transform of infinitesimal changes of joint velocities to infinitesimal changes of
end-e ector position and orientation.

4.2 JOINT COORDINATE SPACE


A structure of a three degrees of freedom (DoF) robot is depicted in Figure 4.1. The current
robot space is known as {u1, u2, u3} space. This is a typical structure of a robot having links
64 | Robotics

u3 Link 3
Joint 3
u2
Joint 2
Prismatic joint
End e ector
Link 2

u1
Link 1

Joint 1
Revolute joint X
Base

Figure 4.1 Joints and Links of a Robot

and joints. A way of identifying the links and joints is also shown. The structure has an end
e ector controlled by the motions of joints with respect to their individual axes. Figure 4.1
shows only rotational (revolute) joints; however, a robot may consist of translational (pris-
matic) joints also. The links connected to revolute joints are fixed in length and the links con-
nected to prismatic joints are variable in length. The set {u1, u2, u3} represents the set of joint
movements. Given the set {u1, u2, u3}, it is possible to compute the position of gripper with
the knowledge of link lengths. In other words, for a specific robot configuration, the set {u1,
u2, u3} can be considered as representing a point in (X
(X, Y,
Y ZZ) space to which the gripper sets
in. This is how the robot computer computes the position of gripper in real time. The set {u1,
u2, u3} is referred to as joint coordinate frame. However, the students have a good concept of
(X, Y,
(X Y ZZ) coordinate frame. Let us call it world coordinate frame. Robot computer has a pow-
erful software to convert joint coordinate frames to world coordinate frames and vice versa.

4.3 KINEMATICS AND INVERSE KINEMATICS


Let the set {u1, u2, …..um} represent a joint coordinate system. The value ui can be a rotation
of a revolute joint or can be a translation of a prismatic joint. We use ui as a variable for
both rotation (o) and translation (cm, m). Given the set of ui, i = 1, 2, …, m, the computa-
tion of gripper location in the (X
(X, Y,
Y ZZ) space is known as direct (or forward) kinematics.
On the other hand, given the gripper point as a location in the ((X
X, Y,
Y ZZ) space, computation
of ui, i = 1, 2, …m is known as inverse kinematics. It will be shown that acquiring forward
kinematics data is easier than acquiring inverse kinematics data. This can be illustrated by
an example in the following section.
Kinematics | 65

Y P (x, y)

L2

u2

L1

u1
X

Figure 4.2 Forward Kinematics

4.3.1 A Two-Joint Two-DoF Robot


We will illustrate the forward kinematics and the inverse kinematics problems through a
simple robot structure. Figure 4.2 shows a two-joint, two-dimensional (planar), two-DoF
robot. The link lengths are L1 and L2 units. The angular positions of joint movements are
u1 and u2. P(x, y) is the gripper point. We use two-dimensional trigonometric equations to
compute P(x, y).
The forward kinematics problem is as follows:
Given the joint coordinates (u1, u2 ), compute the world coordinates of gripper point
P(x, y).
This can be solved directly by the following set of equations:
x = L1 cos u1 + L2 cos (u1 + u2), (4.1)
y = L1 sin u1 + L2 sin (u1 + u2). (4.2)
Thus, the point P(x, y) can be easily computed. The solution to this forward kinematics
problem is direct and unique.
The inverse kinematics problem is as follows:
Given the world coordinates of the gripper point P(x, y), compute the joint coordinates
(u1, u2).
The solution requires an involved process. We define two angles a and b as shown in
Figure 4.3.

Y P (x, y)

L2

a
L1
b
X

Figure 4.3 Inverse Kinematics


66 | Robotics

Elbow-up
articulation
Y P (x, y)
u2

Elbow-down
u1 articulation

Figure 4.4 Two Ways of Reaching P(x, y)

Then, the angles u1 and u2 are computed through the following set of procedures :
Find u2 from
x2 + y2 = L12 + L22 + 2 L1 L2 cos u2. (4.3)(4.3)
Substitute u2 and find a from
tan a = (L2 sin u2)/(L2 cos u2 + L2). (4.4)
Find b from
tan b = y/x
/ (4.5)
and then find u1 from
u1 = (b - a ). (4.6)
It is observed that several trigonometric functions are to be solved while solving inverse
kinematic problems. Determining angles from trigonometric functions leads to multiple
solutions and hence there are multiple solutions for an inverse kinematic problem. We can
easily observe, in this example, that two solutions are possible from Equation (4.3) for u2.
Hence, the point P(x, y) can be reached through two types of articulations, the elbow-up
articulation and the elbow-down articulation, as shown in Figure 4.4. In Figure 4.4, the
angles (u1, u2) are indicated for elbow-up articulation. Constraints such as mechanical end
stops, limitations of arm angular and translational travels and presence of obstacles in the
work space can lead to a practical choice. When a robot reaches a position with more than
one configuration of linkages, the robot is said to be redundant. Redundancy occurs when
more than one solution to the inverse kinematic transformation exists.

4.3.2 Use of Homogeneous Transformation


We will solve the above problem using the three-dimensional homogeneous transformation
matrices discussed in Chapter 3. Let a point object be placed at the origin, O, of a reference
frame ((X
X, Y,
Y ZZ) (Figure 4.5). The object frame is (x, y, z). Initially the object frame (x, y, z)
and the reference frame ((XX, Y, Z) are coincident. The object undergoes a set of following
Y Z
articulations to reach the gripper point, P:
(i) A rotation of u1o about the z-axis
(ii) A translation of L1 units along the x-axis
(iii) A rotation of u2o about the z-axis
(iv) A translation of L2 units along the x-axis
Kinematics | 67

Gripper point, P
Y

L2
y
u2

L1
u1
X
O x

Figure 4.5 Transformations of P

Note that all transformations are performed with respect to the object frame (x, y, z). Hence,
the fundamental transformation matrices are post-multiplied for every articulation (Rule 2,
Section 3.6, page 52). The homogeneous transformation matrix from O to P is as follows:
H0P = Rot(z, u1) Trans(L1, 0, 0) Rot(z, u2) Trans(L2, 0, 0) (4.7)

 cos u1 sin
i u1 0 0 1 0 0 L1  cos u2 sin
i u2 0 0 1 0 0 L2 
 0 0 0  0 0 0 1 0 0 
=  sin u1 cos u1
 1 0 0   sin u2 cos u2
 .
 0 0 1 0 0 0 1 0  0 0 1 0 0 0 1 0
      
 0 0 0 1 0 0 0 1  0 0 0 1 0 0 0 1
(4.8)
By simplifying we get
cos (u1 u 2 ) sin ( 1 2 ) 0 L2 cos (u
(u1 u2 ) 1cos ( 1 ) 
 u2 ) + L1 sin (u1 ) 
H =  sin (u1 u 2 )
0
P cos (u1 u2 ) 0 2 si (u1 (4.9)
.
 0 0 1 0 
 
 0 0 0 1 

Let the gripper point P(x, y, z) be given in the homogeneous vector form equal to
[ px, py, pz, 1]T. Then
 L2 (u1 u2 ) L1 cos u1   px 
   
P (x, y, z) = [p[ x, py, pz, 1]T =  L2 i ( u1 u 2 ) L1 sin u1  =  py  . (4.10)
 0   pz 
   
 1   1 
The two equations to solve kinematics and inverse kinematics problems are as follows:
px = L1 cos u1 + L2 cos(u1 + u2), (4.11)
py = L1 sin u1 + L2 sin(u1 + u2). (4.12)
68 | Robotics

It can be easily observed that the z-axis (i.e. pz) is redundant for this problem; however, the
procedure is general and applicable in three-dimensional space.
Direct kinematic (or simply kinematic) and inverse kinematic equations depend on the
specific structure of robot. A complex robot structure leads to a set of complex kinematic
and inverse kinematic equations. In addition, as we know, while kinematic equations o er
unique solutions, the inverse kinematic equations give multiple solutions and the robot
system has to choose one among them.
Another aspect is that through these equations we usually find the position of gripper
with respect to a reference world coordinate frame. Orientation is one more aspect to detect
while the gripper is at the computed position. Orientation is usually computed by the same
or by some other equations.
One can check whether there is any general procedure to solve kinematic equations to
circumvent complexities due to varied structures of robots. There is an approach in defining
a unique set of parameters that will be suitable in defining any complex structure of robots.
This o ers a standard procedure in solving kinematic equations irrespective of robot struc-
ture. This will be discussed later in this chapter.
The robot continuously uses both direct and inverse kinematic equations. We mainly
work in the familiar world coordinate system ((X X, Y, Z) and our data, such as positions of
Y Z
objects in work space are in world coordinate system. However, the robot has to work in
joint coordinate system {u1, u2, u3, …., um} because for every position of object, the robot
computer has to compute the joint angles and instruct the joint motors to reach these joint
angles. Hence, the robot computer has to be powerful and faster in computing joint angles
through several complex inverse kinematic equations and in taking decisions for an accept-
able solution. Another important aspect is that these computations and decision makings
are to be performed in real time. The vision-controlled robot, a typical industrial robot
system, is an example requiring real-time coordinate transformations.

4.3.3 Robot Vision System


Figure 4.6 describes a vision-controlled robot system. The system consists of a robot, a
camera, a conveyor and a robot computer. The robot and the camera are interfaced with
robot computer. The camera ‘looks at’ the object coming on the conveyor, acquires the

Camera

u3 u4

Z
u2 Gripper
Robot
computer Y
u1 X Object

Conveyor

Figure 4.6 Application of Inverse Kinematics


Kinematics | 69

image, processes the image and informs object position in ((X X, Y,


Y ZZ) to the robot computer.
The computer uses this world coordinate data, transforms it in to joint coordinate data (u1,
u2, u3, u4). It then controls the positions of the motors at the base and at the joints to their
respective angles for picking-up the object. The robot picks up the object and places it in
a di erent location ((X X1, Y1, Z1). This also needs the solution of inverse kinematic equa-
tions to get a new set of (u1, u2, u3, u4). Since the object’s position is time dependent, all
these e orts are to be performed in real time so that the whole process is fast enough. The
robot will miss the object for picking if there is a delay in these e orts. Delays, either in
image processing, world to joint coordinate transformation and also in mechanical system
responses, are natural. A successful pick and place of objects is possible if the conveyor
speed is adjusted to compensate such delays.

4.4 LINK PARAMETERS


The robot can be modelled as a kinematic chain of rigid links interconnected by revolute
and prismatic joints. Figure 4.7 shows the links (L) and joints (J)
J and also their respective
coordinate frames. Position and orientation of each joint is described by its coordinate
frames. In a kinematic chain, the coordinate frame of a joint is described relative to the
coordinate frame of the previous joint. Hence, starting from the robot base, the coordinate
frame for each joint can be developed. The process of obtaining the coordinate frame of
a joint requires a set of four parameters. Two of them are associated with the links and
the other two with the joints. They are named as link parameters and joint parameters,
respectively.
The process of deciding the link parameters is described in Figure 4.8. Note the conven-
tion of representing axis numbers, joint numbers and link numbers. Link n connects Axis
(n - 1) and Axis (n). Axis (n - 1) is the same as Joint (n).
The link is arbitrary and can have any shape, length and twist. Owing to this, Joint n and
Joint (n + 1) are not necessarily in one plane. There exists a unique mutually perpendicular

L2 L3
J3

J2
L1

J1

Figure 4.7 Joint and Links


70 | Robotics

Axis n-1 Axis n


Joint (n+1)
Joint n Link n

wn
A p
An-1
X
an
B

Figure 4.8 Description of Link Parameters {an, wn}

line AB to both axes. AB is known as the common normal between two axes. In addition, AB
indicates the minimum distance between the axes and is known as link length (an ).
Line AP(n - 1) is parallel to Axis (n - 1). The angle between this parallel and Axis (n) on
a plane perpendicular to the common normal AB is known as link twist (wn). The e ec-
tive distances AB of Joint n and its twist is measured by link parameters {an, wn}. The link
parameters are constants for a given link.
The link length, an, measured from A to B is considered as positive; link twist wn is posi-
tive when measured from AP(n - 1) to Axis n. Owing to the arbitrary shape of the link either an
or wn or both can be negative.
Sometimes, Axis (n - 1) and Axis n can intersect. In such case, an is zero. When the axes
are parallel, wn = 0. If the joint n is prismatic, then the link length an is variable.
For an industrial robot, the axes are usually parallel with an equal to physical length
of the link. However, there can be twists in the link. Figure 4.9 shows a link having a 905
twist. The directions of measurement of an and wn are also indicated. Here, an is the same
as physical length of the link; link twist wn = 90° is measured from AP(n - 1) to Axis n about an
(extended), where AP(n - 1) is parallel to Axis (n - 1).

Axis n-1 Axis n

fn

p
Joint n Joint n+1 An-1

an

Link n

Figure 4.9 Twisted Link


Kinematics | 71

Axis (n-1)

Axis n
Axis (n-2)
Joint n Link n
Link n-1 Joint (n+1)
Joint (n-1)
wn
p
an An-1
wn-1
B
A
p
C An-2 dn
an-1 AB
p

un
D
E

Description of Joint and Link Parameters {un, dn, an, wn}

4.4.1 Joint Parameters


Figure 4.10 describes the process of obtaining rest of the parameters of the nth joint, that
is, joint angle (un) and joint distance (dn). Figure 4.10 shows three joints, (n - 1), n and
(n + 1) with their respective axes, Axis (n - 2), Axis (n - 1) and Axis (n). Joint n has two
levels, upper and lower. CD is a common normal from Axis (n - 2) to Axis (n - 1); AB is
a common normal from Axis (n - 1) to Axis n. DE E is the extension of CD. The lines AP(n - 2)
and A (n - 1) are parallel to Axis (n - 2) and Axis (n - 1) respectively. In addition, ABP is
P

parallel to AB.

4.5 D-H NOTATION OF COORDINATE FRAMES


In this section, we use the set of four kinematic parameters to define the coordinate frame
(X, Y,
(X Y Z Z) of a joint. The definition is based on Denavit–Hartenberg (D-H) notation. D-H
notation is followed universally for defining the coordinate frame of the joints irrespective
of any complex-shaped robot links. We also follow this notation extensively herein after in
this book.
All four kinematic parameters {un, dn, an, wn} for joint n and link n are described in
Figure 4.10. This process is followed from the robot base, through each joint, to the gripper
to get the entire set of robot parameters for all joints and for all links. This set of all param-
eters is used for developing a kinematic model for the robot.
We have to follow Figure 4.10 closely. We use the word ‘axis’ with two di erent mean-
ings, one to represent the axis at a joint and the other to represent axis of a coordinate
frame. To avoid misinterpretation, we use the terms such as ‘Axis ( )’ to represent the axis
number at a joint and ‘( )-axis’ or ‘( )’ to represent coordinate frame axis.
In D-H notation, we define the coordinate frame (X ( n - 1, Yn - 1, Zn - 1) corresponding to
Axis (n - 1) as follows:
(i) Point D is the origin of frame (X
( n - 1, Yn - 1, Zn - 1)
(ii) Axis (n - 1) fixes Zn - 1
72 | Robotics

Axis n-1

Axis n-2 Axis n


Joint n Link n
Joint n+1
Link n-1 Zn
Joint n-1
wn
p
an An-1
B Xn
A
C Zn-1
dn
p
an-1 AB
D un

Xn-1

Figure 4.11 Relation between Consecutive Frames

(iii) The direction of common normal from C to D defines Xn - 1.


(iv) A suitable line perpendicular to both Xn - 1 and Zn - 1 in the right-hand sense defines
Yn - 1 (not shown in Figure 4.10).
In a similar way, we define the coordinate frame (X
( n, Yn, Zn) corresponding to Axis n as
follows:
(i) Point B is the origin of frame (X
( n, Yn, Zn)
(ii) Axis n fixes Zn
(iii) The direction of common normal from A to B defines Xn
(iv) A suitable line perpendicular to both Xn and Zn in the right-hand sense defines Yn
(not shown in Figure 4.10).
Now, we have to establish the relationship between the two consecutive coordinate
frames.
Figure 4.11 shows only the relevant details corresponding to these frames. The frames
are shown in bold lines. Yn - 1 and Yn are not shown but are existing.

4.6 D-H TRANSFORMATION MATRIX


In order to establish the relationship between the two coordinate frames ((Xn-1, Yn-1, Zn-1) and
( n, Yn, Zn), we assume a point object placed at origin D (Figure 4.11). We will manipulate
(X
the point object so that it undergoes a set of selected motions to move the point object from
location D to B and to match its frame exactly to the frame (X ( n, Yn, Zn). The manipulations
of object and the e ects are listed in Table 4.1.
Note that all rotations and translations are with respect to current coordinate frame
( n - 1, Yn - 1, Zn - 1) and not with any absolute reference frame. Hence, Rule 2 (Chapter 3,
(X
Section 3.6, page 52) is followed to obtain the homogeneous coordinate transformation
matrix which defines the relationship between frames (X ( n - 1, Yn - 1, Zn - 1) and (X
( n, Yn, Zn).
The final result of coordinate transformation matrix is to move origin D and its frame to
origin B. Its frame is
Kinematics | 73

Table 4.1 Manipulations and their Effects

No. Manipulation of point object Effect


1 Rotate by uno about Zn - 1 Xn - 1 has its new direction along ABP
2 Translate by dn units along The object is moved to A; its Xn - 1 is directing along
Zn - 1 AB
3 Translate by an units along The object has reached B; its Xn - 1 is along Xn; its
Xn - 1 Zn - 1 is along APn-1
4 Rotate by wno about Xn - 1 Zn - 1 is now directed along Zn. The frame (Xn- 1, Yn -
1
, Zn - 1) is rotated by uno, translated by dn, translated
by an and rotated by wno; the frame (Xn, Yn, Zn)
matches exactly

 cos u sin
i u 0 0 1 0 0 0 1 0 0 a  1 0 0 0
0  i f 0 
 sin u cos u 0 0   1 0 0  0
 1 0 0  0 f
HDB = 
 0 0 1 0 0 0 1 d 0 0 1 0  0 i f f 0
       
 0 0 0 1 0 0 0 1 0 0 0 1  0 0 0 1

cos u sin
i u cos w sin
i u sin w cos u 
 sin u cos u cos w cos u sin w i u 
sin
=  , (4.13)
 0 sin
i w cos
o w d 
 
 0 0 0 1 

where HDB is the D-H transformation matrix at u = uno, w = wno, a = an and d = dn, for all
n = 0, 1, 2, ...., m.

4.7 SYMBOLIC PROCEDURE


We follow a symbolic procedure as given in Table 4.2 to determine the kinematic param-
eters {u, d, a, w} once the structure of joints and links are given. This procedure is proved
to be easily remembered.
On - 1 is the origin of the frame ((Xn - 1, Yn - 1, Zn - 1) indicated as D in Figure 4.11. Table
4.1 can be compared with the definitions of the kinematic parameters given in Figure 4.11.
On is the origin of frame (X( n, Yn, Zn) indicated as B in Figure 4.11. The symbol (Zn - 1
Xn) means the point of intersection of two lines Zn - 1 and Xn. In some cases, Zn - 1 and Xn
may not intersect, then the point (Zn - 1 Xn) cannot be located, which is a special situation.

4.8 D-H ALGORITHM


The D-H method is useful in obtaining a kinematic model of a robot. Application of the
D-H method requires the robot to be initially set at its home position or home state. At
the home state, all joints positions (revolute as well as prismatic) are usually held at zero
values. Owing to mechanical restrictions, some joints may reach minimum position but
74 | Robotics

not the exact zero position; in this case, a new zero position is to be defined by adding a
constant displacement. This normally happens when a revolute joint and a prismatic joint
have the same origin.
Figure 4.12 describes how the joints (J),
J joint motions (u ), coordinate frames ((X X, Y,
Y Z),
Z
origins (O) and the links (L) are labelled from the base to the end e ector.
The D-H algorithm has the following phases:
Phase 1: Labelling the links and joints and assigning of joint frames
Phase 2: Determining kinematic parameters, {ui, di, ai, wi}
Phase 3: Computing the joint frame transformations (kinematic model)
Phase 4: Computing the position and orientation of end e ector for a given set of joint
positions, {ui, di, ai, wi}
We will discuss this in the following ways with respect to Figure 4.12:
We assume that there are Ji joints where i = 1, 2, 3, 4, 5. J1 is at the base and Jm (m = 5)
is at the end e ector (Figure 4.12).
PHASE 1: Labelling the links and joints and assignment of joint frames
Step 1 Assign Z0, Z1, ….., Zm-1 axes along the direction of motion of J1, J2, ….Jm respec-
tively. Therefore, Z0-axis coincides with direction of motion of Joint J1 and so on.
Step 2 Choose X0, Y0, and Z0 axes at Joint J1 in any convenient way to form a right-hand
frame ((XX0, Y0, Z0). The origin is O0.
Let i = 1.
Step 3 If Zi - 1 and Zi intersect, choose Oi, the origin at the intersection point.
If Zi - 1 and Zi do not intersect, choose Oi as the intersection of Zi at the common
normal between Zi - 1 and Zi.
Step 4 If Zi- 1 and Zi intersect, choose Xi-axis to be perpendicular to both Zi- 1 and Zi
axes. The direction is arbitrary.

(X3, Y3, Z3), O3

J4, u4 L4 TCP (X4, Y4, Z4), O4

End e ector
(Tool)
L2 L3 J5, u5
(X1, Y1, Z1), O1
J2, u2 J3, u3 (X2, Y2, Z2), O2

L1

(X0, Y0, Z0), O0 J1, u1

Base

Figure 4.12 Labelling Scheme of a Robot


Kinematics | 75

If Zi- 1 and Zi do not intersect, choose Xi-axis along the common normal with Xi
directed away from Zi - 1.
Step 5 Choose Yi-axis perpendicular to both Zi and Xi to form a right-hand frame.
Repeat steps 3 to 5 for i = 2, 3, 4, 5.
Step 6 Determine the end-e ector frame (X
( m, Ym, Zm) in the following way:
• Choose the origin of end-e ector frame at the tool centre point (TCP)
• Set Zm-axis parallel to Zm - 1-axis, then set Xm-axis to be orthogonal to both
Zm-1 and Zm axes and set the direction of Xm to be away from Zm - 1
• If Zm - 1 and Zm are aligned, then set Xm to be perpendicular to both Zm - 1 and
Zm with any chosen direction.
• Finally, set Ym-axis to form the right-hand frame ((Xm, Ym, Zm). Ym is not shown
in Figure 4.12.
PHASE 2: Determining kinematic parameters {Un, dn, an, Wn}
Apply the symbolic procedure of Table 4.2 and determine the kinematic param-
eters {ui, di, ai, wi} for i = 1, 2, 3, 4, 5.
PHASE 3: Computing the joint frame transformations (kinematic model)
Equation (4.14) determines the homogeneous transformation matrices of con-
secutive frames for every set of kinematics parameters. These parameters are
inherent to the robot when it is in its home position. At home position, the
robot is yet to be controlled to do the required task. The matrices are

cos ui sin
i u cos wi sin
i ui sin wi i cos ui 
 
 sin ui cos ui cos wi cos ui sin wi ai sin ui 
,
Hi 1 = 
i
(4.14)
0 sin wi ccos
os wi di 
 
 0 0 0 1 

where {ui, di, ai, wi}, i = 1, 2, 3, 4, 5.


PHASE 4: The homogeneous transformation matrix is obtained from the base to the centre
of the end e ector (TCP) as

H15= H12 H23 H34 H45, (4.15)


where H15 is known as arm matrix or solution to forward kinematics of a 5-link robot
manipulator at its home position.
All the above phases (PHASES 1–4) are required for determining parameters of each
axis and finally the homogeneous transformation matrix.

4.9 APPLICATION EXAMPLES


We will demonstrate the application of the D-H algorithm and the symbolic procedure
through examples.
76 | Robotics

Table 4.2 A Symbolic Procedure (n = 1, 2, ... m (the TCP))

Procedure Explanation

Xn
Zn-1
un
Angle of rotation from Xn - 1 to Xn measured about Zn - 1
(Joint angle, Un)
Xn-1

Zn-1 Xn
Distance from origin On - 1 to point (Zn - 1 Xn) measured
Zn-1
dn along Zn- 1
(Joint distance, dn )
On-1

On
Distance from point (Zn- 1 Xn) to the origin On measured
Xn
an along Xn
(Link length, an)
Zn-1 Xn

Zn
Xn Angle of rotation from Zn - 1 to Zn measured about Xn
wn
(Link twist, Wn)
Zn-1

Table 4.2 guides us to determine the orientation of link, the kinematic parameter table
and the transformation matrix from home position. Carefully go through each entry and
you may use them in several other problems.

EXAMPLE 4.1
Figure E4.1.1 shows a two-link (i.e. L1 and L2) manipulator. A task requires the rotations of
joints such as joint 1 by 30o and joint 2 further by 155o.
Determine the rotation (or orientation) matrix and the position vector for P (TCP).

L1= 30 cm L2= 15 cm

P (TCP)
30 deg 45 deg

Figure E4.1.1 Two-Link Robot


Kinematics | 77

Solution:
Phase 1: Assignment of coordinate frames
Figure E4.1.2 indicates the origins of coordinate frames O0, O1 and O2 (= P). The devel-
opment of the coordinate frames (or simply frames) is as follows:
1. Fix Z0 and Z1 to indicate the directions of motion.
2. Assign X0 in a suitable way so that the frame O0 is formed.
3. Fix the frame O1 at the intersection of Z1 with common normal between Z0 and
Z1.
4. Select X1 to be along the common normal and direct it away from Z1.
5. There is no motion at frame O2 (= P). There is a choice of selecting Z2. Select
Z2-axis parallel to Z1-axis. Choose X2 in line with X1 and away from X1.
6. Y0, Y1 and Y2 are to be in right-hand sense at every frame to reach O2.(= P).

Y0 Y1 Y2

X0 X1 P (TCP)
X2
O0 L1 O1 L2 O2
P is at O 2
u1 u2
Z2
Z0 Z1

Figure E4.1.2 Coordinate Frames of Robot in Figure E4.1.1

X1 Z0 X1 O1 Z1
Z0 Z0 X1 X1
u1 =0 d1 =0 a1 = L1 w1 =0

X0 O0 Z0 X1 Z0

X2 Z1 X2 O2 Z2
Z1 X2
u2 =0 Z1 =0 X2 = L2 w2 =0

X1 O1 Z1 X2 Z1

Figure E4.1.3 Determination of Kinematic Parameters of Figure E4.1.2


Z2, the TCP)
(Z

Phase 2: Kinematic parameters


We will use the symbolic procedure to derive the kinematic parameters. The kinematic
parameters are listed in Table E4.1.1.

Table E4.1.1 Kinematic Parameter Table

Joint i ui (degrees) dj (cm) ai (cm) wi (degrees)


1 u1 0 L1 = 30 0
2 u2 0 L2 = 45 0
78 | Robotics

Phases 3 and 4: Transformation matrix for the desired task position


(both phases are required in determining the following equations)
H02 = H01 H12. (E4.1.1)
with u1 = 30o, u2 = 45o, L1 = 30 cm and L2 = 15 cm, the transformation matrix is derived as

 0.866 -0.5 0 25.981  0.707 -0.707 0 10.607


 0.5 0.866 0 15 0   0.707 0.707 0 10.607
H02 =H
=H01 H12 =    
 0 0 1 0   0 0 1 0 
 0 0 0  
1   0 0 0 1 

 0.259 -0.966 0 29.863


 0.966 0.259 0 29.489 
=  0 0 1 0
. (E4.1.2)
 
 0 0 0 1 

The orientation of P (= TCP) with respect to reference frame, OR, is given by the (3 : 3)
sub-matrix of H02. The position of P with respect to OR is given by the (3 : 1) vector of H02.

EXAMPLE 4.2
Figure E4.2.1 indicates a TRR (Twist-Rotation-Rotation) robot in its home position.
The link lengths are {m1, m2, m3} = {20, 15, 10} cm.
(a) Develop the coordinate frames.
(b) Determine the kinematic parameters.
A task requires a set of joint motions {u1, u2, u3} = {45o, 30o, 30o}. What is orientation
matrix and the position vector of P with respect to base?

u2 = 30 deg u3 = 30 deg
P (TCP)

m2 = 15 cm
m3 = 10 cm

m1 = 20 cm
u1 = 45 deg

Base

Figure E4.2.1 TRR Robot


Solution:
The coordinate frames are developed as in Figure E4.2.2. P is the TCP.
1. Z0, Z1 and Z2 indicate the directions of axis movements; but Z3 does not have move-
ment. Z3 is to be chosen. A choice is made to set Z3 parallel to Z2.
Kinematics | 79

2. X0, X1 and X2 are made parallel to each other. X3 does not have movement. X3 is to
be chosen. A choice is made to be along the common normal between Z2 and Z3 and
is away from Z2.
3. Yi, i = 0, 1, 2, 3 are selected to form right-angled frames. O3 = P which is a TCP
Y1 Y2 Y3

m2 = 15 O2 m3 = 10 O3
O1
X1 X2 P X3
Z1 Z2 Z3

m1 = 20

Z0 Y0

Ο0 X0

Figure E4.2.2 Coordinate Frames of the TRR Robot. O3 = P which is a tool


center point.
Determination of kinematic parameters:

Xi
Zi
ui Joint angle: ui is an angle between xi-1 and xi it
is measured about the line of zi.
Xi-1

Zi-1 Xi
Zi Joint distance: di is found by using the distance
di measurement of Oi - 1 and the intersection of
Oi-1 (zi − 1, xi) using zi

Oi
Xi an Link length: ai is measured by the angle of
Zi-1 Xi intersection of (zi − 1, xi) and the point Oi using xi

Zi
Xi w Twist angle: wi can be measured from
n
zi − 1 to zi using xi
Zi-1

Dummy variables i = 1, 2, 3 are listed in Table E4.2.1.


Figure E4.2.3 Determination of Kinematic Parameters of TRR Robot
Figure E4.2.3 shows the procedure for deriving kinematic parameters. Derived parameters
are listed in Table E4.2.1.
80 | Robotics

Table E4.2.1 Kinematic Parameter Table for TRR Robot

Joint i ui (degrees) di (cm) ai (cm) wi (degrees)


1 u1 m1 = 20 0 90
2 u2 0 m2 = 15 0
3 u3 0 m3 = 10 0

The homogeneous transformation matrix from u1 to u3 for the given set of task movements
of {45o, 30o, 30o} and with the other parameters are obtained by using H03 = H01 H12 H23.
0.707 0 0.707 0 0.866 -0.5 0 12 99
0.707 0 
H01 = 
0 0.707
, H12 =  0.5 0.866 0 7.50 
,
 0 1 0 20 
 0 0 1 0 
 0 0 0 1   0 0 0 1 

0.866 -0.5 0 8.66  0.3535 -0.612 0.707 12.719 


 0.5 0.866 0 5.00  0.3535 -0.612 -0 .707 12.719
H23 =   , H03 =   . (E4.2.1)
 0 0 1 0   0 0 1 20 
 0 0 0 1   0 0 0 1 

The orientation matrix of P with respect to base is given by the (3 : 3) sub-matrix of


H03 shown in Equation (E4.2.1). The position of P with respect to base frame is
[12.719 12.719 20]T cm.

EXAMPLE 4.3
This robot is presented in Figure E4.3.1. Joints J1, J2 and J3 have the same origin at Q. The
first two of them are revolute and the third is prismatic. P is the TCP. Determine the trans-
formation matrix connecting the frames Q and P as u1 = 90o, u2 = 90° and m3 = 10 cm. m0
is fixed, no motion. The origins are at m1 = Q, m2 = Q and m3 = Q but variable by 10 cm
u1

1805 u3= 0 to m3(= 10 cm)

m3
Q
P

905
u2
m0

Base

Figure E4.3.1 A Robot with a Prismatic Joint


Kinematics | 81

Solution:
1. mo is a fixed member with no movement.
2. We initially assume that the joints are separated by m1, m2 and m3.
3. Later we combine them so that all movements are from same point.
4. The coordinate frames of the robot are given as follows.
Detailed frame descriptions are given in Figure E4.3.2.

Same point

m2 m3

Y1 X2 X3

O1 O2 O3
u2 X1 Z2 Z3
P
Z1 Y2 m3 Y3
m1 Z0
u1
Y0 Fix Z0, Z1., and Z2 as axes of motions.
X0 Make X0 and X1 parallel. One arbitrary
O0 position for Z3 is as shown so that X2 and
X3 are made parallel. Yi, i = 0, 1, 2, 3,
complete the right handed frames.
m0

Base

Figure E4.3.2 Coordinate Frames of Robot of Figure E4.3.1

The kinematic parameters of the robot are listed in Table 4.3.1.

Table E4.3.1 Kinematic Parameters of Robot in Figure E4.3.1

Joint i ui (degrees) di (cm) ai (cm) wi (degrees)


1 u1 m1 0 90
2 u2 0 m2 90
3 u3 m3, [linear variable] = 10 cm 0 0
1. Obtaining {ui, wi}, i = 1, 2, 3, is easier.
2. It is also easier to get the parameter sets {a1, d1} and {a3, d3} for joints 1 and 3.
3. m1 = m2 = 0 and m3 is variable and, consequently, the revolute motion u3 = 0.
4. The inset of Figure E4.3.2 gives a brief explanation on how the frames are formed.
5. Z2 has to be along the translated movement of joint 3 and hence we cannot make X2
parallel to X1.
82 | Robotics

PHASE 1: Labelling the links and joints; assignment of joint frames


Step 1 Assign Z0, Z1, Z3 axes along the direction of motion of J1, J2, J3 respectively.
Therefore, Z0-axis coincides with direction of motion of joint J1 and so on.
To get the parameters {a2, d2}, we have to determine the point of intersection of common
normal between Z1 and X2.
Determination of kinematic parameters is shown in Figure E4.3.3.
Zi-1 Xi
Xi
Zi-1 Xi = 1, 2, 3. Zi-1 Xi = 1, 2, 3.
ui q1 = 0°; q2 = 90°, di d1 = m1; d2 = 0;
q3 = 0° d3, = m3.
Xi-1 Oi-1

Oi Zi
Xi
an Xi = 1, 2, 3. Xi Xi = 1, 2, 3.
a1 = 0; a2 = m2; wi w1 = 90°; w2 =+90°;
a3 = 0 w3 = 0.
Zi-1 Xi Zi-1

Figure E4.3.3 Determination of Kinematic Parameters of TRR Robot


The transformation matrix from 0 to 3 is
H03 = H01 H12 H23. (E4.3.1)
with link lengths {m1, m2, m3} = {0, 0, 10} cm, (with m3 = 10 cm but variable), the trans-
formation matrix is obtained as

1 0 0   -1 0 0 0  1 0 0 0 
0 - 1 0 0 0 
0 
0 -1 0   0 0 1 0  0 1 0 0
 0 -1 0 0 
H03 =       =  . (E4.3.2)
0 1 0 0   0 1 0 0  0 0 1 m3  0 0 1 m3 
0  
0 0 1   0 0 0 1  0 0 0 1  0 0 1 
 0

1. Equation (E4.3.2) indicates that the position of P is [0 0 m3]T as m3 is units along


reference z axis.
2. Its orientation with respect to reference frame OR is the 3 * 3 sub-matrix indicated
in Equation (E4.3.2).
3. The reader can easily sketch and verify the final position and the orientations of
each co-ordinate frame with respect to OR.

EXAMPLE 4.4
An important type of robot manipulator is the vertical axis jointed arm robot, the SCARA
(Selective Compliance Assembly Robot Arm) manufactured by Adept Technologies Inc. A
four-axis direct drive Adept One robot is shown in Figure E4.4.1. The robot drive mecha-
nisms have no gears or other mechanical power transmission systems, thus eliminating
gear friction and backlash. Its drives are from low speed, high torque brushless DC motors.
Adept One SCARA robots allow for clean, precise, high-speed operation.
Kinematics | 83

Figure E4.4.1 also shows the set of joint movements and joint distances.
The joint movements are as follows:
(i) Base rotation, u1o (45o about Z1)
(ii) Elbow rotation, u2o (-60o about Z2)
(iii) Vertical extension, d3 cm (12 cm along Z3)
(iv) Tool roll, u4o (90° about Z4)
The joint distances are as follows:
m1 = 87.7 cm, m2 = 42.5 cm, m3 = 37.5 cm,
m4 = (10 to 20 cm, variable) and m5 = 20.0 cm.

m2 = 42.5 m3 = 37.5
X1 X2
B1 Z2 m4 (variable
Y1 Y2
X3 along Z2) = 20 max
Z1 Y3
Z3 m5= 20
m1 = 87.7 Y4
P
X4 Tool
Z0 Z4
Y0
X0 Base rotation about Z1 = 45º
Base
Elbow rotation about Z2 = -60º
Vertical extension about Z3 = 12 cm
Tool roll about Z4 = 90º

Figure E4.4.1 Coordinate Frames of SCARA

(a) Determine the set of kinematic parameters of Adept One SCARA.


(b) Find the position of the tool from its base when the variables are indicated as above.
Solution:
1. On careful observation of the selected coordinate frames of Figure E4.4.1, we can
Zi-1 Xi), i = 1, 2, 3, 4 are clearly specified.
conclude that the intersection points (Z
2. With this information, we can complete the kinematic parameter set as in Table
E 4.4.1.

Table E4. 4.1 Kinematic Parameters of SCARA

Joint J ui (degrees) dj (cm) aj (cm) wi (degrees)


1 45 m1 m2 180
2 -60 0 m3 0
3 12 cm m4=12 0 0
4 90 m5 0 0

The transformation matrix from base (O0) to TCP (P) is obtained from:
H0P = H01 H12 H23 H3P,
84 | Robotics

where

C1 S1 0 m2 C1  C 2 S2 0 m2 C2 
   
 S1 C1 0 m2 S1  0
H0 = 
1
H 2
=  S2 C2 m3 S 2 
 0
0 0 -1 m1 0 
1
  0 1
 0 0 0 1 
 
0 0 0 1 

1 0 0 0  C 4 S4 0 0
 0  S C4 0 0
H23 =  0 1 0
 H3P =  4  (E4.4.1)
0 0 1 m4  0 0 1 m5 
 0 0 0 1   0 0 0 1 

where Si = sin ui, Ci = cos ui, i = 1, 2, 3, 4.


After multiplying all these fundamental transformation matrices, and simplifying
through trigonometric identities, we get
Ca Sa 0 m2 C1 + m3 C b 
 
 Sa Ca 0 m2 S1 + m3 Sb 
H0P =  , (E4.4.2)
0 0 - 1 m1 m4 - m5 
 
 0 0 0 1 

where a = (u1 – u2 – u4), b = (u1 – u2).


Substituting {m1, m2, m3, m4, m5} = {87.7, 42.5, 37.5, 12.0, 20.0} cm and
{u1, u2, u4} = {45o, –60o, 90°} into Equation (E4.4.2), we get the transformation matrix
from base to tool as
0.966 0.259 0 20.344 
0.259 -00.966 0 66.264 
Tool  .
H0 = HBase
P
-1 55.700  (E4.4.3)
 0 0
 0 0 0 1 

4.10 JACOBIAN
Direct kinematic models are discussed in this section. This establishes the relationship
between the robot’s joint positions such as displacements and orientations. This relation-
ship permits the static control of robot to place the end e ector at a specified location, thus
making a possibility of its end e ector to traverse a specific path in space. This makes the
end e ector to reach a final location with proper joint velocities. This requires the coor-
dination of instantaneous end-e ector velocity and joint velocities. One way to achieve
this is to take time derivatives of kinematic equation of the robot. We do the transforma-
tions from joint velocities to the end-e ector velocity described by a matrix named as the
Jacobian [J].
In other words, the Jacobian, JJ, is one of the important tools for characterization of
di erential motions of the robot. Inverse of Jacobian, J–1, is another important aspect. The
Kinematics | 85

Jacobian may at times lose rank and may not be possible to compute the inverse. Such a
position of gripper is known as singular position or simply singular. In this section, some
singularities are also discussed. In addition, the Jacobian is also useful in describing forces
applied to joints and their responses we arrived at.

4.10.1 Manipulator Jacobian


The Jacobian is a multi-dimensional form of derivatives. Suppose we have six functions
each of which is a function of six independent variables such that
y1 = f1(x1, x2, ….., x6),
y2 = f2(x1, x2, ....., x6),
...
...
y6 = f6(x1, x2, ….., x6), (4.16)
where [x1, x2, .... x6 ]T is a vector of six independent variables, [f [f1, f2, .... f6 ]T is a vector of six
dependent variables and [y [ 1, y2, …. y6] is a vector of dependent variables on [f
T
[f1, f2, …. f6]T.
In a vector matrix form
y = f T x. (4.17)
From Figure 4.13, it can be observed that the end-e ector velocities (linear and angular) are
linearly related to the joint velocities. The end-e ector velocity is described in Cartesian
space. An infinitesimal change in joint position is created by infinitesimal joint motions. It
will be shown that the relationship between joint motions produced by end-e ector posi-
tion and orientation is a matrix. As these changes take place in infinitesimal time, we have
to define a matrix Jacobian between instantaneous end-e ector velocity in Cartesian space
and instantaneous joint velocities in joint space.
This Jacobian between di erential changes in Cartesian space and joint space is linear
and can be expressed as
Te = J u¿, (4.18)
where Te is the torque of the end e ector; u ¿ is the joint velocity and J is the Jacobian. They
are defined as
Te = [veT weT]T = J u ¿, (4.19)
where
J = [JvT, JwT]T. (4.20)
The matrix J is defined as
JT = [Jvx Jvy Jvz Jwx Jwy Jwz], (4.21)
where {vx, vy, vz} and {wx, wy, wz} are the components of directions in X,
X Y and Z axes for
linear joint velocity and angular joint velocity.

Joint velocity linear Jacobian End e ector velocity linear


matrix,

Joint velocity angular End e ector velocity angular


J = (JvT, JwT)

Figure 4.13 Differential Model


86 | Robotics

4.10.2 Jacobian Singularities


The manipulator Jacobian, JJ, may become rank-singular (determinant vanishing) at some
configuration in Cartesian space. In such cases, the inverse Jacobian does not exist. These
singularities are said to be ‘JJ non-invertible’ and the configuration is itself called singular.
In such cases, J is not of full rank and its column vectors are linearly dependent. That is,
there exists at least one direction when the end e ector does not move.
The study of manipulator singularities is of great significance for the following reasons:
(a) Not possible to give an arbitrary motion: It is not possible to give an arbitrary
motion to the end e ector. That is, singularities represent structural configuration in
which at least one structural mobility vanishes.
(b) No solution will exist: At one singularity, no solution exists for the inverse Jacobian
problem.
(c) Requires a high velocity at the joint space: Small velocities in the neighbourhood
of a singularity, especially in the Cartesian space, require very high velocities in the
joint space. This will pose a problem when the manipulator is required to track a
trajectory that passes closer to the singularity.
The manipulator loses at least one DoF at a singular configuration.
The singular configurations are classified into following two categories based on loca-
tions of end e ector.
(i) The boundary singularities: These singularities will occur when the end e ector
is on the boundary of work space. That is when the manipulator is either fully
stretched out or completely contracted. Let us consider the case of two-link, two-
DoF planar manipulator shown in Figure 4.14.
In this configuration, the two links are in a straight line. The end e ector can only
be moved in a direction, not perpendicular, but in line with the links. This boundary
singularity can occur if the design of manipulator is not accurate. This singularity
can produce angle error, possibly, to a minimum extent. Such an occurrence of sin-
gularity depends on the size of limbs.
(ii) Interior singularities: These singularities can occur when the end e ector is within
the work space of the manipulator. They are visible when the joints are collinear.
They can also be seen when the joints are in a specific configuration when the
manipulator cannot solve these problems of singularities. They cause serious prob-
lems for designing path planning.

u =0
2

u 1
X

Figure 4.14 Two-Link and Two-DoF Robot


Kinematics | 87

Beginning
The gripper
of gripper

Figure 4.15 Spherical Wrist as a Singularity Configuration

Figure 4.15 describes the interior singularity with a gripper at a singularity configuration.
This avoids the planned movements in a variety of path planning at particular locations of
gripping force.

REVIEW QUESTIONS
1. What is the di erence between kinetics and kinematics? Explain in a few words.
2. Illustrate prismatic joint, revolute joint and joint coordinate frame with diagrams.
3. Discuss the di erence between (i) forward kinematics and (ii) inverse kinematics.
4. What is homogeneous transformation? Explain the uses of homogeneous
transformation.
5. What is robot vision system? Explain with a diagram.
6. What are link and joint parameters an, un, wn, dn? Illustrate with a diagram.
7. Explain symbolic procedure with diagrams.
8. How do you attach various labels on a robot? Explain using a five-jointed robot.
9. Explain the following with at least five diagrams: (i) a single link manipulator coor-
dinate frame, (ii) parameter table and (iii) transformation matrix for home position.
10. What is home position of a robot?
11. Explain the importance of kinematic parameter table.
12. What are the Jacobian matrix and the Jacobian robot singularities?
13. Explain singularities in Jacobian matrix with a diagram.

You might also like