Subido por Michael Didier

ROBOTICS ENGINEERING Basic to Advanced Concepts of Robotics Engineering

Basic to Advanced Concepts of
Robotics Engineering
Prabhu TL
Nestfame Creations Pvt. Ltd.
[Robotics Engineering]
Copyright © [2021] Prabhu TL. All rights reserved.
Publisher - Nestfame Creations Pvt. Ltd.
Publisher Website -
The contents of this book may not be reproduced, duplicated or transmitted
without direct written permission from the Author .
Under no circumstances will any legal responsibility or blame be held against
the publisher for any reparation, damages, or monetary loss due to the
information herein, either directly or indirectly.
Author - Prabhu TL
Indexer - Akshai Kumar RY
Legal Notice:
This book is copyright protected. This is only for personal use. You cannot
amend, distribute, sell, quote or paraphrase any part or the content within this
book without the consent of the author.
Disclaimer Notice:
Please note the information contained within this document is for educational
and entertainment purpose only .every attempt has been made to provide
accurate, up to date and reliable complete information. No warranties of any
kind are expressed or implied. Please consult a licensed professional before
attempting any techniques outlined in this book .
By reading this document, the reader agrees that under no circumstances are
is the author responsible for any losses, direct or indirect, which are incurred
as a result of the use of information contained within this document,
including, but not limited to, __eRrors, omissions, or inaccuracies.
Robotics is an area of engineering and science that encompasses electronics,
mechanical engineering, and computer science, among other disciplines. This
branch is concerned with the design, building, and use of robots, as well as
sensory feedback and data processing. In the coming years, these are some of
the technologies that will replace humans and human activities. These robots
are designed to be utilised for a variety of tasks, however they are currently
being used in sensitive environments such as bomb detection and
deactivation. Robots can take on any shape, although many of them have a
human-like look. The robots that have taken on a human-like appearance are
expected to move, speak, and think like humans.
Robotics is the engineering discipline that deals with the conception, design,
operation, and manufacture of robots. Issac Asimov, a science fiction
novelist, claimed to be the first to name robotics in a short tale written in the
1940s. Issac proposed three principles for guiding these types of robotic
robots in that scenario. Issac's three rules of Robotics were later named after
these three ideas. The following are the three laws:
Humans will never be harmed by robots.
With the exception of breaking law one, robots will follow human
Without breaking any other restrictions, robots will defend themselves.
The following are some of the properties of robots:
Robots have a physical body that they can move around in. They are
maintained in place by their body's structure and moved by their mechanical
components. Robots will be nothing more than a software programme if they
don't have an appearance.
On-board control unit is another name for the brain in robots. This robot
receives data and then sends commands as an output. Otherwise, the robot
will just be a remote-controlled machine without this control device.
Sensors: These sensors are used in robots to collect data from the outside
world and deliver it to the Brain. These sensors, in essence, have circuits in
them that produce voltage.
Actuators are the robots that move and the pieces that move with the help of
these robots. Motors, pumps, and compressors are examples of actuators.
These actuators are told when and how to respond or move by the brain.
Robots can only work or respond to instructions that are given to them in the
form of a programme. These programmes merely inform the brain when to do
certain things, such as move or make sounds. These programmes only
instruct the robot on how to make judgments based on sensor data.
The robot's behaviour is determined by the programme that was created for it.
When the robot starts moving, it's easy to identify what kind of programme
it's running.
The Different Types of Robots
The following are some examples of robots:
Articulated: This robot's distinguishing feature is its rotational joints, which
range in number from two to ten or more. The rotary joint is attached to the
arm, and each joint is known as an axis, which allows for a variety of
Cartesian robots are also referred to as gantry robots. The Cartesian
coordinate system, i.e. x, y, and z, is used in these three joints. Wrists are
fitted to these robots to give rotatory mobility.
Cylindrical robots contain at least one rotatory and one prismatic joint for
connecting the links. Rotatory joints are used to rotate along an axis, while
prismatic joints offer linear motion.
Spherical robots are sometimes known as polar robots. The arm has a
twisting joint that connects it to the base, as well as two rotatory joints and
one linear joint.
Scara: Assembly robots are the most common use for these robots. Its arm is
shaped like a cylinder. It features two parallel joints that give compliance in a
single plane.
Delta: These robots have a spider-like structure to them. They're made up of
joint parallelograms joined by a shared basis. In a dome-shaped work area,
the parallelogram moves. They're mostly used in the food and electronics
Robots' scope and limitations: Advanced machines are robots that are trained
to make decisions on their own and are utilised to do advanced tasks. When
designing a robot, the most crucial considerations are what function the robot
will perform and what the robot's constraints are. Each robot has a
fundamental level of complexity, with each level having a scope that restricts
the functions that may be done. The number of limbs, actuators, and sensors
used in basic robots determines their complexity, whereas the number of
microprocessors and microcontrollers used in sophisticated robots determines
their complexity. As with any increase,
The following are some of the benefits of using robots:
● They have access to knowledge that humans do not.
● They are capable of completing jobs accurately, efficiently, and quickly.
● Because most robots are fully automated, they can execute a variety of
jobs without the need for human intervention.
● Robots are utilised in various factories to manufacture goods such as
planes and car parts.
● They can be employed for mining and dispatched to the nadris of the
The following are some of the downsides of using robots:
They require the power supply to continue operating. Factory workers
may lose their employment if robots are able to replace them.
To keep them working all day, they require a lot of upkeep. In addition,
maintaining the robots can be costly.
They can store a lot of information, but they aren't as efficient as our
Robots, as we all know, work according to the programme that has been
installed in them. Robots can't do anything other than run the
programme they've been given.
The most serious downside is that if a robot's programme falls into the
wrong hands, it can inflict massive harm.
Applications: Different types of robots are capable of doing various jobs.
Many robots, for example, are designed for assembly work and are referred
to as Assembly Robots since they are not suitable for any other task.
Similarly, several suppliers provide seam welding robots with their welding
materials, and these robots are referred to as Welding Robots. Many robots,
on the other hand, are built for heavy-duty labour and are referred to as
Heavy Duty Robots.
The following are some examples of applications:
Caterpillar has plans to build remote-controlled machinery and heavy
robots by 2021, according to the company.
Herding is another task that a robot can perform.
In manufacturing, robots are increasingly being employed more than
people, with “Robots” accounting for more than half of all work in the
auto sector.
Military robots are used by many of the robots.
Robots have been employed to clean up regions such as toxic waste and
industrial waste, among other things.
Robots that work in agriculture.
Robots for the home.
● Robots for the home.
● Nanorobots are tiny robots.
● Swarm robots.
Robotics: Introduction
Robotics: Scope and Limitations of Robots
Classification of Robotic Systems
Current Uses of Robots
Components Of Robots
What are Industrial Robots?
Benefits Of Robots
Position and Orientation of the Objects in Robotic Automation
The Kinematics of Manipulators – Forward and Inverse
Kinematics of Manipulators: Velocity Analysis
How Does a Robot's Voice Recognition System Works?
Light Sensors in Robots
Vision System in Robots
Robots in Engineering and Manufacturing
Robotics: Construction of a Robot
Robotics: Structure of Industrial Robots or Manipulators: Types of Base Bodies - I
Robotics: Structure of Industrial Robots or Manipulators: Types of Base Bodies – II
Manipulation Robotic System: Manual Type Robots
The Required Features of a Multimeter for Robot Building
Measuring Resistance of Resistors
The Optional Features of Multimeters for Robot Building
Variable Resistors: Identifying Potentiometers
The LM393 Voltage Comparator Chip
How to Test LED Lamps
Basic LED Attributes
Articulated Robots – SCARA and PUMA
Base Bodies of Robots: Articulated Robot Base
Base Bodies of Robots: Spherical Base Robot - Control and Application
Manipulation Robotic System: Tele-control or Remotely Operated Robot
Spherical Base Robot: Construction and Workspace
Base Bodies of Robots: Cylindrical Base Robot
Introduction to Robotics Technology
Advantages of Robotics in Engineering
Medical Robotics
Dealing with Decommissioned Industrial Robots
PID Loop Tuning Methods for Robotics
Honda Asimo - How Long to Robots in the Home?
The Brains and Body of a Robot
The Future of Robotics
Manipulation Robotic Systems: Automatic Type Robot
Recommended Additional Features for Multimeters in Robot Building
Identifying and Purchasing Resistors
Self-Learning Control System Concepts Simplified
Applying Artificial Intelligence and Machine Learning in Robotics
A safe, wearable soft sensor
How robots are helping doctors save lives in the Canadian North
Robocar year in review for 2018
Robots with sticky feet can climb up, down, and all around
Growing bio-inspired shapes with a 300-robot swarm
Drones and satellite imaging to make forest protection pay
3Q: Aleksander Madry on building trustworthy artificial intelligence
What are some of the basic sensors used in Robotics?
How to make your first Robot?
What is Mechatronics and Robotics?
Underwater Photography and Videography
Lithium, Lithium-ion, LiPo & LiFePO4Battery Safety and Fire Handling
CAN and CCP/XCP for Error Detection and Calibration
LIDAR vs RADAR: A Detailed Comparison
Motor Control Systems – Bode Plot & Stability
Perception in Smoke, Dust or Fog
How to Mount an External Removable Hard Drive on a Robot
Tether’s: Should Your Robot Have One?
Roboticists EDC (Every Day Carry)
Types of robot
Required studies in robotics
Technologies Of A Robot
Transmission system (Mechanics)
Servo Motor Design
How to define a suitable servo motor speed
73. Controlling inertia
74. Main types of an industrial robot
75. Industrial Manipulators And Its Kinematics
76. Types of robotic chains
77. Defining work space area
78. Trajectory Definition
79. 3R planar manipulator
80. Position, Orientation, Frames
81. Transformation
82. Translation operators
83. Trajectory Planning In Robotics
84. Cubic polynomials
85. Trajectory Planning By Using Robot Studio
86. Moving robot joint space
87. Target teach method
88. Create program using virtual flex pendant part 1
89. Create program using virtual flex pendant part -2
90. Toto the Robot
91. Toto’s Mapping Behaviour’s
92. Go, Team! Group Robotics
93. Types of Groups and Teams
94. Where To Next? The Future of Robotics
95. Manipulation and Dexterity
96. Actuators and Drive Systems
97. Dynamics of Single-Axis Drive Systems
98. PWM switching characteristics
99. Optical Shaft Encoders
Brushless Dc Motors
Robot Mechanisms
Parallel Linkages
Planar Kinematics
Inverse Kinematics of Planar Mechanisms
Kinematics of Parallel Link Mechanisms
Differential Motion
Properties of the Jacobian
Inverse Kinematics of Differential Motion
Duality of Differential Kinematics and Statics
Physical Interpretation of the Dynamic Equations
Lagrangian Formulation of Robot Dynamics
Inertia Matrix
Force and Compliance Controls
Architecture of Hybrid Position/Force Control System
Compliance Control
Braitenberg Vehicles
Hexapod Walker
Speech Recognition
Speech Recognition Circuit
How the circuit works
Robotic Arm
1. Application of Sampling-Based Motion Planning Algorithms in Autonomous Vehicle
2. Robust Accelerating Control for Consistent Node Dynamics in a Platoon of CAVs.
3. The Reliability of Autonomous Vehicles Under Collisions.
4. ADAS-Assisted Driver Behaviour in Near Missing Car-Pedestrian Accidents.
5. Flight Control Development and Test for an Unconventional VTOL UAV.
6. Design of Large Diameter Mine Countermeasure Hybrid Power Unmanned Underwater
Path Planning in the Local-Level Frame for Small Unmanned Aircraft Systems
How to Expand the Workspace of Parallel Robots
Expanding the rotational workspace
Kinematic and Biodynamic Model of the Long Jump Technique
Kinematic Model for Project Scheduling with Constrained Resources Under Uncertainties
A New Methodology for Kinematic Parameter Identification in Laser Trackers
Optimization of Single-Sided Lapping Kinematics Based on Statistical Analysis of Abrasive
Particles Trajectories
9. A Random Multi-Trajectory Generation Method for Online Emergency Threat Management
(Analysis and Application in Path Planning Algorithm)
Motion Tracking System in Surgical Training
Layered Path Planning with Human Motion Detection for Autonomous Robots
Audio-Visual Speaker Tracking
Motion Tracking and Potentially Dangerous Situations Recognition in Complex Environment.
Human Action Recognition with RGB-D Sensors
Gesture Recognition by Using Depth Data: Comparison of Different Methodologies
Gait Recognition
Advanced Design for Additive Manufacturing: 3D Slicing and 2D Path Planning
Color 3D Printing: Theory, Method, and Application
Colour Image Reproduction for 3D Printing Facial Prosthese
3D-Printed Models Applied in Medical Research Studies
3D Printing Cardiovascular Anatomy: A Single-Centre Experience
Regenerative Repair of Bone Defects with Osteoinductive Hydroxyapatite Fabricated to Match
the Defect and Implanted with CAD, CAM, and Computer-Assisted Surgery Systems.
7. Metal Powder Additive Manufacturing
8. Laser-Assisted 3D Printing of Functional Graded Structures from Polymer Covered
Nanocomposites: A Self-Review.
Robots for Humanitarian Demining
UAV for Landmine Detection Using SDR-Based GPR Technology
Towards Advanced Robotic Manipulations for Nuclear Decommissioning
Robot Protection in the Hazardous Environments
Safety Assessment Strategy for Collaborative Robot Installations
Introduction to the Use of Robotic Tools for Search and Rescue
User-Centered Design
Unmanned Aerial Systems
Unmanned Ground Robots for Rescue Tasks
Unmanned Maritime Systems for Search and Rescue
Tactical Communications for Cooperative SAR Robot Missions
ICARUS Training and Support System
Operational Validation of Search and Rescue Robots
Command and Control Systems for Search and Rescue Robots
Robotics: Introduction
Robots are not just machines, they are many steps ahead a typical machine.
Robots like machines can perform different tough jobs easily but the
advancement is that they can do it by their own. Once programmed robots
can perform required tasks repeatedly in exactly the same way.
A robot can be defined as an electro-mechanical system that follows a set of
instructions to do certain tasks, however the word robot literally means
"slave." In industries, robots are referred to as industrial robots, and in
science fiction films, they are referred to as humanoids. This and subsequent
articles will provide an overview of robotics.
Robotics and Automation
The first thing that comes to mind when we think of robotics is automation.
Except for initial programming and instruction set, robots are known to
accomplish activities automatically without much human participation. A
milk packaging machine was the first machine I saw as a child when we went
on a tour to a milk processing facility. It was the closest thing to a robot I'd
ever seen. A roll of packing material ran through the machine, and half a litre
of milk fell onto the roll each time, which was then sealed and cut by a
machine mechanism.
This machine can be a simple example of a very basic robot. It performs the
specified sequence of operations repeatedly with the same accuracy. It was
programmed and provided with the required material and then started.
Advancements in Robotics
The more advanced versions of robots seen now-a-days can perform
operations adaptively, that is, changing the dimensions and other settings
according to the requirements. One such advanced example of an adaptive
robot is a stitching machine which can read the different dimensions of dress
size on the personal card of a person and then cut the desired dress material
and stitch it to the size fitting to the person.
From a broad view, robotics is actually the continuous endeavor of robotics
engineers to make machines capable of performing tasks as delicately as
human can do and also the complicated, tough and repeated tasks which
humans would prefer not to do. The advancements in the field robotics are
made possible by use of microprocessors and microcontrollers with the
intelligent combination of them with servo motors, sensors and actuators.
Robotics: Future Scope
Now that the scope of robotics has broadened, robots that can only work on
preprogrammed instructions, regardless of the environment in which they
operate, will quickly become obsolete. Robots that are now being created can
perceive their environment, act in accordance with what they see, and make
decisions on their own about how to respond. The days of robots being able
to sense and respond to emotions, let alone express them, are long gone.
Robotics: Scope and Limitations of Robots
Robotics experts can create robots that can perform a wide range of jobs,
from delicate and precise operations like fitting microscopic pieces of
watches to hazardous tasks like fueling nuclear reactor chambers. Although
robots are considered super-machines, they still have limitations.
Despite significant advances in the field of robotics and ongoing efforts to
create robots more intelligent so that they can match, if not exceed, human
capabilities, robots developed to this point are still no closer to human beings
from a scientific and logical standpoint.
Scope and Limitations of Robots
In basic robotics we design machines to do the specified tasks and in the
advanced version of it robots are designed to be adaptive, that is, respond
according to the changing environment and even autonomous, that is, capable
to make decisions on their own. While designing a robot the most important
thing to be taken in consideration is, obviously, the function to be performed.
Here comes into play the discussion about the scope of the robot and
robotics. Robots have basic levels of complexity and each level has its scope
for performing the requisite function.
The levels of complexity of robots is defined by the members used in its
limbs, number of limbs, number of actuators and sensors used and for
advanced robots the type and number of microprocessors and
microcontrollers used. Each increasing component adds to the scope of
functionality of a robot. With every joint added, the degrees of freedom in
which a robot can work increases and with the quality of the microprocessors
and microcontrollers the accuracy and effectiveness with which a robot can
work is enhanced.
To understand the scope for any robot of given complexity, we will discuss it
with a very simple example. Consider a robot comprising of one member
joined to the base with a revolute joint and a servo motor is connected to that
revolute joint which is controlled by a microcontroller programmed to move
the member through a certain degrees of rotation. This is the most basic robot
which I could think of.
Scope: The motion of this robotic arm is restricted to a circular path. Any
task which can be done by the motion along the circular arc can be performed
by this robot. Say, we want to draw arcs on sheets of papers or we want to cut
them in circular pieces that can be achieved by fitting a pencil and a cutter to
the end of this robotic arm.
Limitation: Any point on this robotic arm can only move along a circular
path. Any task involving motion other that the circular motion cannot be
performed by such robot.
Scope of robots can be extended and limitations can be reduced by adding to
the complexity of the robots. One can imagine of the possibilities of motions
which can arise by simply adding one more limb to the existing one through a
revolute joint and a servo motor. This is a very basic example; in fact,
robotics is very vibrant field with infinite scope and an equal numbers of
limitations ever reducing.
Classification of Robotic Systems
Robotics systems, which are used in practically all production processes, are
categorised according to their use. The key categories of this classification
will be discussed in this article.
Robotic systems, a way of automating manufacturing process and also
reducing manual labor attached with it, are used extensively in almost all
fields these days. However, there are still many auxiliary processes that
require manual labor.
The manual labor is now getting reduced because of the introduction of
industrial robots equipped with manipulators with several degrees of freedom
and a dedicated controlled actuator for each of them. A manipulator with high
degree of freedom is similar to a human hand in movement and functionality.
The control system of a manipulator can be adjusted according to the
application. The manipulators are generally used in industrial robots that
cater to various needs of the application at the same time.
Classification of Robotic Systems
The robotic systems are classified mainly into three main types on the basis
of application. They are:
Manipulation Robotic system
Mobile robotic system
Data acquisition and control robotic system
Manipulation Robotic system
The Manipulation Robotic system is the most extensively used robotic
system that is found mainly in manufacturing industries. Manipulation
robotic system comes in several forms, depending mainly on its application.
Mobile robotic system
A Mobile robotic system is usually an automated platform that carries goods
from one place to another. The motion of the system can also be controlled
autonomously and might have a pre-programmed destination from where the
system might load or unload automatically.
Mobile robotic systems are also used mainly in industrial purposes for
carrying tools and spare parts to the storage. One more application where
mobile robotic systems are used is in farms, wherein they can be used for
pulling equipments to plough the fields or for transporting agricultural
products. Mobile robots are also used by petroleum and gas production
companies for offshore oil and gas exploration and by salvage companies for
searching for sunken ships. Mobility of these robots can be in the form of
flying, swimming, or running on land.
Data acquisition and Control Robotic System
The Data acquisition and control robotic system is used for acquiring,
processing, and transmitting important data used for generating various
signals. Generally meant for activities that require less human participation, a
control robotic system generates signals that can be used for controlling other
robots. Data acquisition and control robotic system are also used for CAD
systems used in engineering and business processes. Many mobile robotic
systems, especially the unmanned craft used for the exploration of the sea bed
are equipped with Data acquisition and control robotic system for procuring
important information and sending it back to the shore in the form of signals.
Current Uses of Robots
Though robots have limitations due to the way they are built, humans are able
to use them to their full potential depending on the applications. Robotics has
gone a long way, and new discoveries and improvements are always being
made. Here are a few examples of applications in which robots play a vital
What robots can do?
Robotics is highly advanced technology that strives to develop robots for
various applications. Let us have a look at robots already invented and being
used in the industry.
1) Industrial robots: Industrial robots are electronically controlled, both
programmable and reprogrammable to carry out certain tasks with high
precision and accuracy. Robots have been extensively used in highly
advanced manufacturing facilities or high volume assembly lines for a long
time. They are efficient and produce high yields or output. The most common
use of robots is in the automobile industry where they are used for various
applications like welding, painting, etc. The robots can carry out tasks which
are very difficult or hazardous for human beings.
Because robots use a perfect copy of exact strategy for troubleshooting
purposes, issues and solutions can easily be resolved and implemented. With
proper maintenance procedures and schedules, machine wear-out or
breakdowns can easily be predicted, resolved and controlled. Over-all,
manufacturing plants run by industrial robots can run smoothly without much
trouble and with less interactions of humans.
2) Aerospace robots: Another application of robots is in aerospace for outer
space exploration. Aerospace robots or unmanned robotic spacecraft play a
key role in outer space probe. Scientists can explore in outer space without
putting themselves in great danger considering the risks involved if they go to
outer space themselves. With controlled robots, the same results can be
achieved safely. The risk to lose a human life in outer space has been greatly
3) Healthcare delivery: A highly possible advancement in healthcare is
using robots in robotic surgery. Due to technological advancement, this is
possible even if the patient is located in remote areas. This possibility defies
distance. With the proper tools and set-up in place, proper healthcare could
be delivered to the patient even in remote areas without the corresponding
risks involved.
4) Robots resembling human beings and robotic pets: At home, humanlike robots and robotic pets have always been considered friends and
companions. They can play a musical instrument, sing, dance, etc. only to
please us humans for our own comfort.
5) Military robots: Possibly the worst part of robotic application is in
military use, as it may curtail human life instead of upholding it. You can
conquer or be conquered with a robot.
With man always in conquest of power, we hope that robots will not be used
justify an end result for their own favor. Our only hope is that man, along
with the advancement in technology, always promotes for the well being of
Components Of Robots
Robots consist of a variety of high tech components which are designed for
accuracy, speed and convenience of operation. Some are for general purpose
usage, while some are custom made to handle specific parts. The main
components are the main body, end effectors, and grippers.
Main Body
An important component of a robot is the main body which holds the
actuators and manipulators that create the activity for each axis of movement.
The manipulator carries the end effectors which grip the objects. Mechanisms
that provide response regarding the location are included for identification
and rectification of any difference between the chosen position in accordance
with the command and the existent position. The intelligence of the robot is
in the control element, which directs the manipulator along the ideal route. A
power supply is essential to activate the actuators.
End Effectors
End Effectors are a mechanism, which is located on the manipulator that pick
up objects, grasp, and manage the movement of items in accordance with the
designed parameters. They are designed specifically to handle desired parts
and to move in the intended path. End Effectors can be used as nut drivers,
accessory for welding processes, or guns for painting purposes. Types of End
Effectors include:
Permanent Magnet End Effector: It consists of a permanent magnet that
moves in an aluminium cylinder. When the actuator drives the magnet
towards the front end of the cylinder, it holds ferrous parts. As the magnet is
extracted from the cylinder, the magnetic field fades, and the parts are
released. This type can be used for only ferrous parts, and has the benefit of
managing parts with asymmetrical form as well as holding a number of parts
Electro Magnet End Effector: It is easy to operate, and multiple end
effectors can be positioned with the robot arm to perform multiple operations.
Even with minor disturbance in the location of parts, or alterations in
configuration and dimensions, these end effectors can function effectively.
These types can be used for parts with uneven exterior shape, such as coarse
ferrous castings or rounded components.
Vacuum End Effector: It consists of a cup-shaped component, and when it
comes into contact with a smooth part, vacuum is created in the cup which
ensures that the part remains attached. Controls are used to generate or
remove vacuum. This type of end effectors is used for delicate parts.
Grippers are of the following types:
Two Finger: These Grippers are used for gripping components that have
uncomplicated form, and can be utilized for inner or outer gripping. The
outer gripper is similar to thumb and index finger, and can be utilized for
holding a small part or that which is located in a densely filled assembly of
components. A tailored form consists of two parallel fingers with disposable
inserts that are designed to handle special parts.
Three Finger: These types are similar to the thumb, index finger, and middle
finger of the human hand, and are used for holding parts that are round or that
need revolving.
What are Industrial Robots?
Robots are being extensively utilized in the automotive industry, and in the
near future, their application, because of the quality and accuracy produced,
will spread to many more industries,
Selecting a Robot
A large range of robots with different components, techniques, and means of
operation have already been designed and manufactured. These are selected
according to their utility and financial considerations. A futuristic robot, with
modern sensors and appropriate software, can perform tasks efficiently,
accurately, and quickly, but will be expensive. Thus, all the relevant factors
must be considered while selecting robots for industrial applications,
including the initial expenditure and the benefits to be achieved in using the
Use Of Robots In Industry
Robots are being beneficially utilized in a vast variety of industries, some of
which are:
Loading and Unloading: Robots are extensively being utilized for the
loading and unloading of machines and parts in industries, thus substituting
human labor and other mechanical methods. Robots possess the benefit of
duplicating the designed tasks, performing accurately, and being compatible
with the nearby equipment. Future robots are expected to completely
substitute human beings in carrying out loading work, positioning tools for
machineries, and replacing tools when necessary.
Spot Welding: Robots perform spot welding very accurately, with recurring
operations, and are extensively being used in automotive industry. They can
extend to places which normally would be difficult to reach by manual
Arc Welding: The surroundings of arc welding are unsafe for the fitness of
human beings, and achievement of quality welds is difficult by manual
operations. Therefore, since smooth movements provide superior welds, the
use of robots for such operations is growing very rapidly. Utilization of
industrial robots for arc welding is economical, and the welds are of an
excellent quality.
Painting: It is a difficult and unhealthy operation, where hazardous fumes are
released that are extremely dangerous for human beings, and in which a
danger of explosion exists in the areas of operation. Furthermore, manual
painting results are not consistent due to unpredictable speed of movement of
the components involved in this process. Thus, robots are gradually replacing
manual labor for industrial painting applications.
Investment Casting: Investment casting requires duplication, accuracy, and
uniformity in production, all of which can be achieved with employment of
industrial robots.
Integration of Parts: The integration of parts in various sub systems of
production is an important application where robots can function more
efficiently and with extra speed, thus assisting in the increase of production
rate. Presently, robots are being used for tightening of bolts and nuts, placing
of components in circuit boards, and a variety of other similar tasks. Logic
devices are used for identification and rectification of defects or
Benefits Of Robots
Robots have many advantages, and production units which do not obtain their
services will be left behind and will not be able to compete in quality,
production, and cost.
Robots have been developed by extended modern research, and are being
used in numerous industries for achieving advantages which would not be
possible with the human beings. Some of the advantages for using robots are
mentioned below:
Operatin In Unsafe Surroundings
There are numerous industries where the surroundings are unsafe for the
employment of human labor due to the existence of hazardous environments.
Robots can be used effectively in such environments where handling of
radioactive materials is involved, such as hospitals or nuclear establishments,
where direct exposure to human beings can be dangerous for their health.
Improvement In Quality
Robots perform operations with superior exactitude, ensure uniformity of
production due to which rejections are minimized, and reduce losses.
Measurements and movements of tools being utilized are more accurate.
Thus, the quality of the product manufactured is improved manifold
compared to the performance by human beings.
Increase In Production
Robots have the ability to work continuously without pause, unlike human
labor for which breaks and vacation are essential. Thus, production is
increased by the utilization of robots in industrial applications, and
consequently profits of the production unit are increased.
Execute Boring And Repetitive Work
In many production establishments work required to be executed is awfully
boring, being cyclic and repetitive, due to which it is difficult for the
operators to remain fully dedicated to their tasks and generate interest in their
work. When tasks are monotonous, workers tend to be careless, thereby
increasing the probability of accidents and malfunctions of machines.
Utilization of robots has eliminated problems associated with boredom in
Duty During Adverse Hours
Most of the production units are required to function twenty-four hours,
during day or night, on holidays, without any break so as to ensure increased
production which is commensurate with the capacity of the machinery. Thus,
human laborers who do not feel very comfortable working such odd hours
can be employed accordingly. However, robots can be beneficially utilized
whenever necessary.
Safety And Health Of Workers
Since robots are capable of working in hazardous environments, more
dangerous operations are being handled by robots. Thus the safety and health
of workers is ensured, thereby reducing expenditures on health and
medicines. Robots are now engaged in hoisting and moving heavy objects,
and perform other unsafe tasks.
Position and Orientation of the Objects in Robotic
To study the mechanics of robotic manipulators comprehensively and then
apply it for the mechanical synthesis of the manipulators, we will first look at
the basic topics of mechanics involved in the mechanics of manipulators.
Future articles will deal each of them in detail.
Industrial Robots result in increased levels of automation in industrial
processes. Robot use started in repetitive, simple tasks, and now they are also
being used also in precision works. This transition happened because of the
sophisticated synthesis of robots and inclusion of electronics and computer
control. An industrial robot is designed such that it can be programmed to be
used in different applications.
The mechanics of the industrial robots and manipulators is not a new field of
engineering in itself. It is actually a combination of different branches of
engineering. The mechanics, static and dynamic analysis and design, comes
from mechanical engineering, and the analysis of motion and path planning
of the manipulators is done with the help of mathematical tools.
The Position and Orientation of Objects
For the design and analysis of the manipulators, the basic thing to keep track
of and to plan is the position as well as the orientation of objects. The objects
for which we are concerned are the components of the manipulators, like
their links, joints, and tools, and also the objects in the space around the
manipulator as well as all the objects with which the manipulator interacts.
For the effective design of the manipulator, the position and orientation of the
objects concerned need to be represented suitably such that it can be
mathematically processed to make the manipulator move in the desired
Attaching Frame to the Object
To define the position and orientation of the object and to keep track of its
movement a coordinate frame is rigidly attached to the object. The motion of
the object, that is, the change in position and orientation of the object is now
given by the frame attached to the object.
Reference Coordinate Frame
A Reference Coordinate Frame is defined with respect to which the position
and orientations of all the other frames attached to the objects are described.
Transformation of Frames
We can define any frame as the reference frame. For convenience we keep
changing the reference frames. So the position and orientation of the frames
attached to the objects need to be transformed from one reference frame to
the other. There are mathematical methods for the transformation of the
The article series on Position and Orientation of manipulators dealing with
the methods for describing position and orientation of the objects related to
the manipulators and different techniques for transformation of the position
and orientation for different reference frames will soon follow up under
Robotics topic in the Bright Hub Mechanical Engineering Channel.
The Kinematics of Manipulators – Forward and
In the kinematic design and analysis of manipulators, it is required to find the
position and orientation of the end-effector for given values of joint
parameters. Sometimes the position to be attained is given and possible
values of joint parameters to attain that are to be found.
In general, kinematics is the study of motion without any mention of the
forces causing it. When any object moves, the parameters attached to it are its
position, velocity and acceleration. Velocity and acceleration are derivatives
of the position. Sometimes even higher derivatives of position are required to
be calculated for the study of jerkiness and other irregularities in the motion.
The structure of a manipulator is like a kinematic chain with the end-effector
at the free end. It has rigid links connected by joints such that there can be
relative motion. The joints can be rotary or revolute and sliding or prismatic.
At the rotary joints the motion is angular and measured in terms of joint
angles. At the prismatic joint there is translational motion and is specified in
units of length. The angle and length between links is measure by the position
sensors attached to the joints.
Forward Kinematics of Manipulators
For a particular set of values of joint angles and distance between the links
the end-effector will be at a particular position in space. The forward
kinematic analysis is to find the position and orientation of the end-effector
of the manipulator with respect to the base frame for the given set of joint
For describing the position and orientation of the links, we attach coordinate
frames to each of them and then the position and orientation of these frames
are used for specifying the links. This scheme is known as the “joint space
description." The other form for describing position and orientation can be by
directly specifying them with reference to base frame. This representation is
called the Cartesian description.
Forward kinematics is like defining the position of manipulator links in a
base frame. This is done by sequential transformation of the reference frames
attached to the links.
Inverse Kinematics of Manipulators
We are provided with the position and orientation of the end-effector of the
manipulator, and the exercise is to find the values of joint angles and
displacements with which the specified position and orientation of the endeffector can be attained. There can be one or more such set of values and
even no such set of parameters for which the specified position and
orientation of the end-effector can be attained.
The equations formulated for solving the inverse kinematic problem are
nonlinear and it’s very difficult to obtain closed form solutions for that. There
may be multiple solutions to the problem, and maybe any solution doesn’t
exist at all.
The solutions of the inverse kinematic problem for manipulators are helpful
to define the workspace of manipulators. If solutions exist for a point then it
is in the workspace of the manipulator, and if no solution exists then the point
is not in the workspace.
Kinematics of Manipulators: Velocity Analysis
Finding the position and orientation of the links of a manipulator required for
attaining a certain position and orientation of the end-effector is just not
sufficient. We also want to know the corresponding variation of velocity of
the links and joints with the motion of the end-effector.
Velocity Analysis
In addition to finding the end-effector position for given joint parameters and
vice versa in forward and inverse kinematics, the kinematics of manipulators
also includes the analysis of manipulators in motion. Not only the final
position of the links and joints to attain the desired position of the endeffector, but also the velocity, and its variation, of the links and joints of the
manipulators while attaining the final position is important for analysis.
We discussed joint space and Cartesian space in the previous article. To find
the final position of an end-effector for given joint parameters is like moving
from joint space to Cartesian space, and obtaining joint parameters for a
given final position of the end-effector is like expressing the Cartesian space
in joint space.
For the velocity analysis of the motion of manipulators a matrix is defined
which represents the mapping of velocities from joint space to Cartesian
space. Such matrix is called the jacobian of the manipulator. The Jacobian
matrix is characteristic to a particular configuration of the manipulator. As
the configuration of the manipulator changes while in motion, the mapping of
velocities changes accordingly.
During the motion of the manipulator, the links of the manipulator acquire
different configurations. With these changing configurations, the description
of the Jacobian changes accordingly. While moving from one configuration
to another, sometimes the manipulator reaches a point beyond which it
cannot go. These points describe the workspace of the manipulator. And there
are some points which cannot be attained by the manipulator due to structural
At all such points the Jacobian of the manipulator is not invertible and these
points are called Singularities of the Jacobian. Singularities of the
manipulator can tell what the limits of workspace of the manipulator are. The
points of singularities should be taken into consideration while designing and
programming a manipulator for any specific task. The knowledge and
understanding of singularities is very helpful for designers and users of
The Jacobian of a manipulator is also used for mapping of forces and torques.
When the force and moment at the end-effector are given and the set of joint
torques required to generate that are to be found then also the Jacobian of the
manipulator is very useful.
The previous two articles have presented a brief overview of the kinematics
of manipulators. The kinematics of manipulators contains position,
orientation, and velocity analysis of manipulators. Now we move on to
Dynamics, the study of forces causing motion.
How Does a Robot's Voice Recognition System
Ever wondered how a robot is able to perform tasks after taking commands
from the user? It is the Robot's Voice Recognition system that identifies the
words and performs the desired action. Want to know how? Read the article
Voice recognition is the process by which a robot identifies what is ordered
to it and performs an action based on the information received. It is to note
that not all robots have this functionality; however the system can also be
integrated at a later stage.
The voice recognition system works on the basis of the frequency and
amplitudes of the spoken words. A signal is generated and sent to the main
operating unit of the robot, after dissecting the received words into various
frequencies and amplitudes.
When an order is given to a robot in the form of words the voice recognition
system breaks down each and every word into constituent frequencies of each
alphabet. The voice recognition system has a pre-programmed database,
which has a unique frequency for each and every letter. This database helps
the robot to identify the word and perform the right action. However, a good
amount of training needs to be given by the user for facilitating the robot to
initially form a table comprising of major frequencies of words and
The table once formed, acts as a quick reference for the robot to identify the
frequently used words. When a word is spoken, the robot identifies the sound,
determines the exact frequency and looks up in the table to perceive the right
word. If the robot is not able to find the right frequency, it finds the frequency
of the alphabet closest to the one needed and thus recognizes the whole word.
Frequent Training Required
In order to increase the accuracy, the robot should be trained repetitively to
identify the right frequency. Moreover, more the training provided, less is the
variation. This means that in case of any type of voice modulation or
variation, the system will not try to match the perceived signal to many
frequencies but will neglect the frequency and won’t perform any action.
However, if very few frequencies are matched for a particular variation, it
may misinterpret a word or choose a word similar in sound.
It is for this reason that most of the robots with voice recognition system are
highly trained by the users. More the robot is trained, quicker is the process
of the voice recognition system to identify the word and send a signal to the
controlling unit, performing the desired action.
Light Sensors in Robots
Have you ever wondered how a robot visualizes an object and then performs
an action related to it? What is it in a robot that allows it to see and identify
various objects? Don't know the answers? Know all of them in the article
Sensors are small electronic devices used in robots for converting a physical
quantity such as temperature, pressure, light etc. into an electrical signal. In
robots, sensors are used for both internal and external functions, for
coordinating the internal functions and for interacting with the outside world.
The light sensor is one such type of sensor that measures the amount of light
falling on a photocell. Photocell is a type of resistive sensor, which produces
a signal according to the change of resistance inside it. This means that if the
intensity of light falling on the photocell is high, the resistance in the
photocell will be low and vise-versa when the intensity of light is low.
Light sensors are used to do a variety of functions such as measuring the light
intensity, measuring the difference in intensity between two photocells and
measuring any change in intensity. Moreover, different types of light sensors
are used for different functions. Let’s take a quick look at each of them.
Optical Sensors
An optical sensor consists of two main things - an emitter and a detector. An
emitter is generally made of a light emitting diode and a detector is made of a
photodiode or a phototransistor. Depending on the arrangement of the emitter
and detector, optical sensors are divided into two types.
Reflective sensors – In this type the emitter and the detector are placed
together but are divided by a barrier. An object is detected when the light is
emitted from the emitter and detected by the detector.
Break beam sensors
– In this type, the emitter and detector are placed opposite to each other. An
object is detected when the beam between the emitter and detector is
Light Reflective Sensors
Light reflective sensors detect an object based on the color and other
properties of the surface of the object. However, the reliability of these
sensors is less. This is because the sensors have difficult to measure darker
objects than the lighter ones. Moreover, if the distance of a lighter and darker
object is more but same from the sensor, the lighter object will seem more
closer than the darker object.
Infrared Sensors
Infrared sensors are also a type of light sensor but they work in the infra red
zone of the frequency spectrum. Infrared sensors also have an emitter and
detector and have an arrangement same as that of break beam sensors.
Infrared sensors are frequently used in robots because they are less affected
by interferences and can identify objects easily.
Vision System in Robots
The vision system enables a robot to see and identify various objects. The
system provides the robot with an ability to collect the light reflected from
the objects, process an image out of it and then perform the desired action.
The vision system helps with these functions by using various electronic
devices and hardware systems.
How Does the System Works?
A vision system in a robot identifies an object by forming an electronic image
using a bunch of pixels already stored in the memory of the robot’s
controlling unit. Each pixel has a binary number allotted to it. Each of these
binary numbers represents a particular wavelength and intensity in the light
spectrum. An electronic image is formed in the controlling unit of the robot
by assembling various binary numbers according to the amount of light.
Types of Vision Systems
A robot’s vision system is classified into three main types on the basis of the
color of the objects. They are :
Binary image, which consist of black and white images
Gray colored images
Colored images with the base of red, green or blue.
An electronic image is formed with the help of pixels classified into these
three categories. If an image is not been able to put in any of these categories,
then the category that is extremely near to the image is selected.
Parts of the Process
A vision system will consists of a small camera, a monitoring system (a
computer) and the necessary hardware and software. The whole process of
identifying the image is classified into three main parts:
Image Processing
Connectivity paths
Image processing is a process by which an image is formed for analysis and
use at a later stage. It uses various techniques such as image analysis and
histogram of images to identify, simplify, modify or enhance an image.
Threshold is a process in which each image is classified into various
categories and then compared with the pixels stored in the database. The
pixels once compared are aligned to different levels to form an image.
The connectivity path is a process by which a particular pixel is connected
to a neighboring pixel if it falls in the same color and texture region.
It is the combination of all these three processes that a final electronic image
is conceived and the required action is taken after analysis.
Robots in Engineering and Manufacturing
From the inspiration of the miraculous robot origins of the 1960s to the farfetched imagination portrayed in movies, we see how robots have digressed
from their silver screen persona to create an impact in our day-to-day lives in
a practical sense.
The mere mention of the word robot conjures images of human-like
machines capable of intelligent interaction with the world around them. From
the robots of odd shapes and forms in George Lucas’s original "Star Wars" of
1977 to the lifelike robots shown more recently in the 2004 movie "I, Robot"
adapted from Isaac Asimov’s classic novel of 1950, these androids, equipped
with fictitious highly advanced artificial intelligence by their makers, were
able to mimic human intelligence and thrive and survive through all forms of
challenges and obstacles in their environment. Another incredible example of
robots that have been put to great film effect is found in the movie
Transformers, an adaptation from the animated series of the 1980s. Although
recent years have seen almost similar commercially-produced robots in the
form of AIBO and ASIMO introduced by Sony and Honda respectively, the
real practical use of robots in the engineering industry is a huge contrast to
what their persona from the silver screen would suggest.
In the real world, robots are utilised to perform repetitive tasks and job
functions which are in likelihood too tedious and boring for man to perform,
such as in the manufacturing line of plastics and various hardware. These
practical robots often take the form of mechanical arms equipped with
electromagnetic plates, grippers, or suction cups working in tandem with
conveyor belts to aid in the assembly of equipment in the manufacturing
industries. Although stationary in nature, these robotic arms are endowed
with several degrees-of-freedom, giving them the flexibility to move in many
directions through multiple angles with utmost ease and agility.
Robots can also be made to execute difficult activities and processes
requiring high precision at an accuracy usually beyond human capabilities.
Through proper programming, a task can be repeatedly carried out with
minimal or virtually without error. With proximity and pressure sensors
abound, the accuracy which can be achieved by some of these robots can be
rather remarkable, and allow them to work with extremely fragile materials
with great care. Even enervating jobs requiring skill and expertise such as arc
welding and spray painting can seem like child’s play to a robot.
Robots are also best employed in situations which may prove to be too
dangerous for man to perform. In steel manufacturing mills, robots are used
in materials handling and transfer, to load iron ore and coke into blast
furnaces and move molten iron, a chore perhaps too life-threatening for man
himself to undertake. With practical use of robots such as these, accidents
and loss of life at the industrial workplace can be minimized. Also, with the
capability of withstanding stress far beyond what human being can endure,
these tireless machines have a proven reliability and a track record in getting
the job done right without the adversities and risks commonly associated with
human error and behaviour.
Robots have also assisted man in accomplishing job duties in environments
which are not conducive to human life. In space exploration, the rover
spacecraft robots had been successfully deployed by NASA in their Mars
Exploration Rover Mission to survey and explore the surface of Mars, and to
retrieve geological samples from the red planet. In marine engineering, robots
known as autonomous underwater vehicles (AUVs) serve to produce detailed
maps of the seabed for the oil and gas industry, as well as for research into
deep underwater chemical compound composition and the presence of
microorganisms without any risk to human life.
In HVAC applications, robots equipped with sensors and brushes are
commonly used to effectively clean air-conditioning ducts in the engineering
maintenance of commercial buildings. Camera sensors are sometimes
installed on these robots to allow their human operator a glimpse of duct
interiors that are mostly too narrow and tight for humans to work inside them.
Similar robots have also recently found their way into residential homes,
performing the same automated cleansing duties on floors and carpets.
Robotic Arm
In closing, robots have established their place as dependable servants in the
daily lives of human beings, with robotic technology playing a vital role in
the engineering industry. Robots have been reliable in getting their assigned
responsibilities accomplished correctly and accurately with great efficiency,
and keeping their human masters safe from harm in the process.
Robotics: Construction of a Robot
What makes a machine different from a Robot? What improvisations convert
a dumb machine into a Robot? Though the basic construction of a robot is
very much build on the structure of a machine but there are certain things
like, actuators, sensors and controllers added to it which makes it a Robot.
Robot: Advancement over Machines
The basic building blocks of a robot are very similar to that of machines. As a
machine has moving parts or members connected to each other through
different types of joints, driven by some motor or any other driving
mechanism and moving in synchronization with each other to execute the
specified operation. In the same way the basic structure of a robot is similar
to that of a machine, but there are some advancements or additions to the
machine which make it a robot.
In robots the simple driver motors are replaced by the servo motors, which
are more accurate and fitted with sensors made up of transducers to provide
feedback. There is more number of actuator motors in the robots as compared
to the machines, which generally have single driving motor. Also there are
controllers, governing the operations of different sensors and actuators in the
robots, provided with the instruction set and they give command accordingly
to the actuators and receive feedback from the sensors. These are some
advancement in robots over machines.
Building Blocks of Robots
On addition to the frame of a machine the components of a robot can be
broadly named as:
Actuators: Actuators move the different members of the robots by the
specified amount and the specified point of time, angle or the linear
translation, as per the commands received from the controllers. Along with
the motion actuators also provide the requisite force to the members.
Actuators can be electrical like permanent magnet D.C. motors, stepper
motors, solenoids, printed armature motors or hydraulic like linear cylinders,
hydraulic motors and actuators in robots can also be pneumatic. Read more
about Electrical Actuators, Hydraulic Actuators, Pneumatic Actuators.
What makes a robot special and advanced than a machine? It is the proper
use of sensors, at right places, in a robot. Sensors as the name suggest can
sense the surroundings and the different objects with which it is interacting.
Sensors provide feedback to the controlling system about the motion of
actuators and other members, how much they have moved, what is the speed,
acceleration and also sensors can provide information about pressures and
forces which are acting upon. Some advanced sensors such as optical sensor,
thermal sensors and vision sensors which can create more vivid image of the
surroundings and provide more detailed information to the controlling
Processors and Controllers: To give the starting command to the actuators,
receive and process the feedback information from the sensors and then
provide the corrected signal to the actuators, Processing and Controlling
system is required. Controllers are programmed as per the function to the
robot; certain software and programmers are used for this purpose. The feed
back information received from the sensors is passed through the signal
convertors where is made usable and passed on to the processors which in
turn disseminate the modified signals.
Robotics: Structure of Industrial Robots
Manipulators: Types of Base Bodies - I
Robots used in industries mostly perform the tasks of picking and placing
different things. These functions are similar to that of a human arm, hold
something and then place and fit that at the require spot. Such robotic arms
are also called as manipulators. They have different types of Base Bodies.
Structure of Industrial Robots or Manipulators
Robotic arms are used in assembly lines to pick the components of products
to be assembled and place and fit them at the right place. Such as in a
production line of canned food, lids are placed, cans are picked by robotic
arms and placed in the container packets or like in the assembly line of cars,
the frames of cars move on the conveying system one by one and robotic
arms or manipulators working around the frame fit different components on
to it and finally completed cars come out of the assembly line.
The functions that can be performed by a manipulator, the reach of its end
effectors, the orientation in which it can work and the overall working space
for a manipulator is determined by the structure of the body of the
manipulator. Also the types of joints used to connect different members of
the manipulator along with the basic Body of the robot determine the overall
degrees of freedom of the manipulator in its motion.
The body of the manipulator moves the end effectors to the target point
where the object is grasped by the gripper fitted to the wrist. Wrist orients the
object in the required direction. The wrist is fitted on the end point of the
manipulator. The base Body, wrist and gripper constitute the basic structure
of a manipulator.
Types of Base Bodies of Manipulators
Based on the working space, axes of movements and degrees of freedom of
the manipulator as whole the Base Bodies can be classified into different
Linear: This type of manipulator arm as the name suggests can move along
only a single direction. Linear manipulator base body comprises of one
prismatic joint, that is, a slider which can move only along an axis. Such
robots can only perform simple tasks like picking and placing objects from
one spot to other. This can be the most basic type of manipulator possible.
The range of this manipulator arm is limited by the length of the prismatic
joint. The motion of the linear base body can be defined by a single variable
and can be obtained by one linear actuator.
This is a very basic body type of the robots. In the next article I will list some
more Base Body types of Industrial Robots or Manipulators.
Robotics: Structure of Industrial Robots
Manipulators: Types of Base Bodies – II
Types of Base Bodies of Manipulators
As the number of members and the degrees of freedom of the joints
connecting those increases the robotic arm can work in more complex space
and orientation.
Planer: The planer base body of a manipulator can be seen as one linear
manipulator attached to another linear manipulator with axes of the two
manipulators being perpendicular to each other in the same plane. Thus the
end of the manipulator can move along two mutually perpendicular axes and
can cover all the points in the plane defined by the range of motion along the
two axes. The motion of the planer base body can be defined by two variables
and motion can be achieved by two linear actuators. Such manipulator has
two degrees of freedom.
Examples of tasks planer manipulators can do; curve tracing or printing on
sheets, metal sheet cutting for specified design, welding on a planer metal
piece or drilling at different spots in a plane.
Cartesian: Such robot body allows the manipulator to move along the three
Cartesian axes only, which are the three mutually orthogonal axes. The
working space of such robots will be a cuboid whose dimensions are defined
by the range of motion of the manipulator along each axis. Cartesian robot
base consists of three prismatic joints arranged perpendicular to each other. It
requires three variables to define its position, has equal number of actuators
and has the same number of degrees of freedom.
One such example can be the hoisting robot used in a workshop, shipping
yard or construction site which moves on rails and the hoisting hook can be
moved up and down through the cables.
The types of robot base bodies discussed so far only comprise of prismatic
joints and the motion along any of the axes is only linear, there is no rotary
motion. Though the end effectors of a Cartesian manipulator can reach every
point defined in the space but still it is not used for every purpose. It will be
slow for moving between different points in the space and cannot effectively
orient its end effectors properly for certain jobs. Thus revolute and cylindrical
joints are included in the base body to obtain more efficient structure of
A manual robot is a type of manipulation robotic system that requires
complete human intervention for its operation. The manual type of robotic
system requires a particular kind of human control, a system seldom found in
any other type of robotic systems. Manual manipulators comprise a range of
robotic systems, from basic to highly advanced, each having a specific
control system according to its application.
Manual type robots can be divided into two main types:
Articulated robot
Articulated robot, as the name suggests, consists of a balanced manipulator
consisting of various joints with a separate actuator for each one of them.
One of the joints with a grip or tool will hold the load, within a particular
range, and will move according to signals fed to the control system for each
of the individual joint’s actuator. A proper synchronization of all these joints
will move a load from one point to another. Generally used for handling
heavy materials, articulated type robots are easy to use but require good
handling skills. The control signals given to each of the actuator should be
precise in comparison to the signals fed to the actuators of other joints. Thus,
functioning and controlling of an articulated robot mainly consists of feeding
the right signal to the right actuator at the right time.
Exoskeleton robot
An exoskeleton manipulator consists of a peculiar type of robot mechanism
wherein each joint of the manipulator control system corresponds with that of
a human arm or leg. When a particular joint of the operator is moved, the
manipulator joint which corresponds to that particular human joint also
moves. The motion of the human joint generates a control signal that moves
the corresponding manipulator accordingly. The joints are connected to
drives that are again connected to tools that do the needed job. This type of
manipulator is generally used for doing arduous assignments such as lifting
heavy weights or moving across a rugged terrain. Presently exoskeleton
manipulator system are extensively used in the entertainment industry.
An apt example of a manual manipulator is the high power mechanism used
for rock drilling and breaking down concrete structures. This mechanism is
also a multiple joint system which carries a heavy hydraulically operated
drilling tool used for breaking the rock or concrete by frequent impacts. The
drilling tool is held by a fully automatic manipulator that controls the
movement and position of the drill by analyzing and sensing the motion of
the truck on which the whole system is mounted. Also, according to the
quality and state of the rock, the manipulator automatically adjusts the
drilling tool’s speed and hydraulic system.
The Required Features of a Multimeter for Robot
A tool that is necessary for all robot builders is the multimeter. However,
there is sometimes an uncertainty as to what features a multimeter must have
for building robots. Although most multimeters have the required features,
one should still make sure before beginning a robot building project.
Among the many tools that a robot builder has by their side, the digital
multimeter is a crucial measurement tool that every robot builder is equipped
with. With a multimeter, you can:
determine what kind of part you’re dealing with
determine the electrical denomination of a part
determine whether too much or too little power is being
determine whether a part is damaged or not
read chips and sensors to help with the designing and
debugging processes.
Although some digital multimeters are much more expensive than others,
they all have similar features. Basically, multimeter features can be divided
into three categories: required, recommended, and optional. In this article, I
will be discussing the required features for a multimeter. The following
features are those that a multimeter must have in order to be used for robot
Although outdated, some multimeters have a needle display. These analog
multimeters are not always easy to read due to the swinging nature of the
needle. However, digital multimeters display values on an LCD (liquidcrystal display) such as the display found on calculators. Digital meters are
precise and easy to read. Therefore, digital multimeters must be used for
accurate readings.
DC Voltage
DC voltage is an indication as to how much force the electricity has, and is
measured in volts. For robotic purposes, only a range of 0.1 V to 30 V is
required. All multimeters meet this basic requirement.
DC Current
DC current is an indication as to how many electrons are passing a certain
point every second, and is measured in amps. For robotic purposes, only a
range of 0.0001 A to 2 A is required. All multimeters typically meet this
Resistance is an indication as to how much the flow of electricity is being
opposed. A range of 1 Ω to 2,000,000 Ω is all that is needed for robotic
purposes. Most multimeters meet this requirement.
Although most multimeters are sold with test probes, you must make sure
that you have a set of these cables in order to connect them to your robot
parts for testing.
Fuse Protection
In order to protect the multimeter from damage if an excess amount of
voltage or current passes through the test probes, all multimeters must have
fuse protection. To determine whether your multimeter has fuse protection,
look for UL (Underwriters Laboratory) or CE (Conformité Européenne)
markings. However, although a multimeter might have fuse protection,
precautions must still be taken since a multimeter is still vulnerable to
damage through its capacitor, transistor, and data ports.
Measuring Resistance of Resistors
For any beginners in robotics, or even experienced individuals, being able to
determine the resistance value of a resistor is important in building a robot, or
more specifically an electronic device.
Converting Colors to Numbers
Before we begin measuring the resistance of resistors, it would be very
helpful if we know how to distinguish between the different resistors.
Resistors have an assortment of colored bands that indicate their value. The
chart below shows all the possibilities. Click it to enlarge it.
Using this chart, a resistor with the colors yellow, violet, and brown, would
be 47 x 10 = 470
Moreover, if the resistor has four colored bands, the last color will indicate
the tolerance. The chart below shows the tolerance for different colors. Click
it to enlarge it.
The tolerance of a resistor will tell you the range of value expected from it.
For instance, a 5% tolerance on a value of 100 indicates that it could actually
be anywhere between 95 and 105.
To measure the resistance of a resistor, one must have a multimeter handy.
The following steps should be followed in order to correctly measure the
Switch the dial to the 200 Ω range, if it is not already there.
The black lead must be connected to the COM terminal.
The red lead is connected the terminal labeled Ω. This may
vary for different models, so consult your specific instructions.
Turn the meter on.
Obtain a 100 Ω resistor. The color bands will be brown,
black, brown, and gold which is the proper order.
Connect the tip of the black probe to one end of the wire of
the resistor. The end you choose is arbitrary.
Connect the tip of the red probe to the other end of the
resistor wire.
If you happen to have them, alligator-clips or hook adapters would be very
useful for meter test probe tips. Otherwise, it is difficult to touch each wire
end of a resistor with both probe tips simultaneously.
Interpreting the Resistance Displayed on the Meter
Ideally, the meter should be displaying 100 Ω. It is likely that the meter will
read a value slightly lower or higher than 100. However, if the meter displays
0L or an unusually large number, then you should ensure the setting for the
dial is at ohm, if that is the setting for your particular multimeter. Jiggle the
test probe connections so that the connection is properly established. Or, you
may have the color bands in the wrong order. The correct order is specified in
step 5. But if the multimeter is in working order, then the resistor may be the
cause for the unusual readings. Resistors are not resistible to ageing,
temperature extremes, shock, and other such mistreatment. Still, it is unlikely
that a new, 5% tolerance, 100 Ω resistor would give readings outside the 95105 Ω range. To be certain, test several more resistors.
Experiencing Resistance Ranges
Obtain a 470 Ω resistor, of which the color bands are
yellow, purple, brown, and gold.
With a manual ranging multimeter, choose an ohm range
less than 470 on the meter.
Connect the 470 Ω resistor the same way you did the 100 Ω
Choosing a low maximum range with the dial is not harmful to the
multimeter as is choosing an inappropriate voltage range. Nonetheless, a
manual-ranging meter will not be able to display the measurement of the
resistance. Typically, 0L will be displayed instead. Due to the need of
frequently testing different ranges on the manual-ranging meter, it will be
tedious to determine the resistance of a box of resistors. This job is made
much easier with an auto ranging meter.
The Optional Features of Multimeters for Robot
Although basic multimeters are sufficient for beginners in the field of
robotics, those who are more advanced may consider purchasing a multimeter
that will allow them to test a larger variety of values in a more efficient
manner. These multimeters are distinguishable through their optional features
For those who are willing to spend the money on a top-end multimeter with
plans on more advanced robot building, they may choose to purchase a
multimeter with features that are not required for the average robot builder. In
two previous articles I discussed the required and recommended features of
multimeters for robot building. I will be concluding my discussion on
multimeter features with this article on the optional features of multimeters.
These optional features optimize the process of testing different parts for their
electrical denominations and make robot building a more involved and
enjoyable activity:
Inductance gives an indication as to the extent of opposition to the change in
flow of electricity, and is measured in henries. This is a rare feature and is
only found in a few multimeters.
RS-232 Data Interface
The Recommended Standard 232 allows for communication of data between
a multimeter and a computer or other device. Such a data interface is crucial
when producing test logs. Despite its communicative abilities, multimeters
with data interface do not replace oscilloscopes, since multimeters only
update data a few times every second. If you plan on purchasing a multimeter
with an RS-232 data interface, make sure you purchase the software that must
be installed in order for you to transfer data from the multimeter to your
The scope mode takes measured data values and graphs them over a certain
time scale. When analyzing the quality of timing signals and data pulses, the
scope mode becomes crucial. However, the limited scope mode of a
multimeter does not compete with a more powerful oscilloscope, but are still
useful for the average robot builder. Be careful when deciding whether or not
to purchase a multimeter with a scope, since the scope mode typically results
in a significant increase in price.
The temperature mode gives an indication as to how hot or cold something is,
and is measured in degrees Celsius or degrees Fahrenheit. This feature is
helpful when determining whether a part is too hot, or whether a part is
functioning outside its optimal temperature range.
The sound mode gives an indication as to how loud or quiet something is, and
is measured in decibels. This feature can be useful when performing volume
tests on parts such as speakers and motors.
Bar Graph
When a part is being tested by a multimeter and there is a change in a
measurement value, the multimeter does not record every change. Rather, the
multimeter takes an average of the values over a small period of time and
displays this average a few times every second. All multimeters display a
numerical value, but some display the value as a bar graph as well.
The relative mode calculates the difference between the last measurement and
the current measurement. This mode is useful when testing the differences in
electrical denominations of similar parts.
Variable Resistors: Identifying Potentiometers
Potentiometers allow one to change their resistance and are invaluable when
it comes to building circuit boards. Although there are many types of
potentiometers, the one often used in robotics is the trimpot because it can fit
into a breadboard.
For those beginning to learn about robotics, particularly in the area of
building circuits, you may have come across the question of how to change
the brightness of a LED, without having to keep switching parts. This is the
concept I will be discussing. Quite simply, the solution to this issue is a
Although you may not have heard of the word potentiometer, you may have
heard of variable resistors. In fact, potentiometers are variable resistors.
Specifically, they function to alter their resistance via a knob or dial. You
have probably used one before by adjusting the volume on your stereo or
using a light dimmer.
Potentiometers have a range of resistance, that is, they can be attuned from
zero ohms to whatever maximum resistance that is specific to it. For example,
a potentiometer of 300 Ω can be adjusted from 0 Ω to its maximum of 300 Ω.
When it comes to installing a potentiometer onto a solderless breadboard,
however, only a specific type of potentiometer can fit. (Many are shaped in a
way that they can not fit into the breadboard.)
Trimpot is another term for trimmer potentiometer. They are useful in that
they are lightweight, small, and usually fit into solderless breadboards.
On the other hand, it is tedious to change their control dial. Instead of knobs
that can be changed with your own fingers, trimpots require a screwdriver, or
some similar tool with a flat end. Moreover, trimpots are more fragile than
larger potentiometers. They can damage after their dial has been adjusted
about 100 times compared to larger potentiometers that can be adjusted
thousands of times without damage.
Turning the Dial
Most potentiometers require only a single turn of their dial to adjust between
their minimum and maximum value, or from 0 Ω to whatever maximum ohm.
This allows for a simple assessment of whether the dial is at the minimum,
half way, or at its maximum.
There also exists potentiometers that require multiple turns. For instance, a
multi-turn potentiometer may require up to 30 turns to cover the entire range
in ohms. The advantage of this potentiometer is that it allows for small
incremental changes. Also, if vibration to the dial causes a partial turn, the
effect may even go unnoticed, as opposed to a single-turn dial.
A multi-turn trimpot is identified by a metal screw located to the side of the
trimpot. A single-turn trimpot usually has a plastic dial. Due to their greater
level of sophistication, multi-turn trimpots are more expensive.
At one point or another in your robotics career, you will have the need to
conveniently change between resistors, such as different LEDs, and the way
to do this is to use a potentiometer. There are many kinds of potentiometers,
but ones that are often used in solderless breadboards are trimpots. All
potentiometers have a mechanism by which their resistance value is changed,
whether it is a finger knob or a dial requiring a screwdriver. Moreover, the
knob or dial can be adjusted across its range in ohms by a single turn or
multiple turns, and this poses several advantages and disadvantages.
The LM393 Voltage Comparator Chip
When building a light sensing robot, it is necessary to include a comparator
chip that compares the pair of sensors located on the breadboard. An LED is
lit up depending on the difference in voltage between the sensors.
In a general sense, an analog voltage comparator chip is like a small
voltmeter with integrated switches. It measures voltages at two different
points and compares the difference in quantity of voltage. If the first point
has a higher voltage than the second point, the switch is turned on. However,
if the first point has a lower voltage than the second point, the switch is
turned off. Although there are different models of voltage comparator chips, I
will discuss a very common comparator, the LM393.
What does LM393 stand for?
LM393 stands for “Low Power, Low Offset Voltage, Single Supply, Dual,
Differential Comparators." I will define each part:
“Low Power" is an indication that the chip uses little
electricity. This can be very useful for a robot that runs on low
voltage batteries.
“Low Offset Voltage" is an indication that the chip can
compare voltages of points that are very close together.
“Single Supply" is an indication that the chip uses the same
power supply as the points being compared.
“Dual" is an indication that there are two comparators in the
“Differential" is an indication that the chip is comparing the
amount of voltage of each point to each other and not
comparing the voltage to a set value, such as below 4.0 V.
Examining the Datasheet
Each voltage comparator chip has a datasheet that includes important
information about features of the part and how it is an improvement over
previous models of that part. Engineers find the datasheet very useful, as it
indicates specific aspects of the comparator that were not present before.
Furthermore, the datasheet states average and maximum values for certain
aspects, including the amount of current the comparator uses, the
comparator’s optimal voltage range, and the comparator’s optimal
temperature range. The datasheet provided for the LM393 states that it has an
optimal voltage range of 2 V to 36 V. This makes the LM393 suitable with a
9 V battery, since this battery has a voltage range of approximately 5 V to 10
Analyzing the Pinouts
If you inspect the LM393 comparator, you will notice metal wires that stick
out. These are called pins. Undoubtedly, the most significant information
about a comparator chip is how to connect the pins to the rest of the
components in a circuit. Since the LM393 comparator chip is too small for an
indication of the pins to be printed, the datasheet has an illustrated Image, a
pinout, which shows the location and function of each pin. The Image to the
right shows the pinout for the LM393 comparator.
When building your own robot on a solderless breadboard, one of the
components of the robot will be its brains. Part of this component can be a
comparator chip, depending on the type of robot you’re building. The
discussion on the LM393 comparator chip, which is frequently used by robot
builders, is directed to those who are interested in building a light sensing
robot, but is still useful for all who wish to incorporate a voltage comparator
chip in their robot.
How to Test LED Lamps
Anybody experimenting with robotics will need to know how to test an LED
light. For this, one requires a multimeter and the particular LED to be tested.
Obtaining the voltage consumption of the LED will aid one in assessing the
required battery life needed to sustain the circuit.
Testing an LED with a Multimeter
In previous topic about LEDs, the distinct details of the LED is discussed .
Now, lets see their practical use.
Although you can easily test an LED by connecting it to a circuit and seeing
if it will light up, you can also use a multimeter with a diode test function to
test an LED and discover a few more things about it too.
How to Test a Diode with a Multimeter
Connect the black lead to the COM terminal on the
Connect the red lead to the Ω terminal, unless your
particular model differs.
Turn the dial to the diode symbol on the multimeter. This
allows for electric current to travel in one direction (the arrow)
and not the other.
Turn the multimeter on. The display window should
indicate either 0L or OPEN.
Choose a regular red LED.
Connect the black probe to the cathode end of the LED,
which usually is the shorter end and/or cut flat at its bottom.
Connect the red probe to the anode end of the LED.
Interpreting the LED Test Results
If it occurs that the multimeter display doesn’t change from 0L or OPEN,
then it may be that you connected the probes in the wrong order, or that the
connections are not secure. Make sure the steps above are followed
accurately. Otherwise, it may indicate that the particular LED is damaged. If
the voltage in the display is below 400 mV, then it is possible that the
cathode and anode are touching, or the probes are touching. This is termed a
short circuit—when current passes directly from the cathode to the anode,
instead of passing through the LED.
If the steps are followed properly and the LED is undamaged, however, the
display should indicate a value of approximately 1600 mV.
When you are testing your LED, take notice of its brightness. If you are
already in a lit room, then shade the LED with your hands. A lower
efficiency LED will grow dimly, or may just gleam faintly, whereas a higher
efficiency LED will glow clearly.
LED Forward Voltage Drop
The value displayed on your multimeter is called the forward voltage drop.
This indicates the quantity of voltage used up by the LED, or dropped, when
current is traveling in the appropriate direction, forward.
This kind of data is extremely useful when it comes to building your own
robot or designing your circuit board. You will definitely need to keep track
of the total voltage used by your robot, whether it is from a LED or some
other component, in order to choose a battery strong enough to power it.
Therefore, it is equally important for you to purchase the LEDs that your
battery can sustain. Usually, you should not purchase an LED with a forward
voltage exceeding 4V, because most robotic circuits can not function at such
Basic LED Attributes
LEDs are used extensively in robots, or any electronic device for that matter.
The main reason for this is that LEDs come in a large variety of shapes, sizes,
and colors. This allows for many different functions, such as simple traffic
lights, to more complicated devices, such as digital clocks.
Light Emitting Diodes (LEDs) are very common components in any
electronic device. Their function is to transform electrical energy into visible
light. Moreover, they are inexpensive, durable, and are available in a number
of sizes and colors.
LED Sizes
One of the most common LED size is the T 1 ¾. The “T" indicates the bullet
shape and the 1 ¾ indicates the diameter measured in 1/8ths of an inch. The T
1 ¾ is considered a standard, as it is the most inexpensive and comes in the
largest range of colors. Indeed, the smaller T 1 LEDs are more modern, as
they use up less space, and the surface mount LEDs are even smaller, but are
not used often for experimentation.
LED Shapes
Single LEDs exist in a considerable array of shapes and mounts. Although
the bullet shape is the most common, the side view and square types are also
available. The shape of the LED can behave as either a light straightening
lens or a light distributing lens. Multiple LEDs exist in a package. These are
very common in digital clocks. Specifically, the different packages receive
electric current at specific times to display the numerals.
LED Lens Clarities
Currently, there exists three common lens clarities: water-clear, white
diffused, and color diffused.
Water-clear LED lenses are composed of a transparent plastic. They are a
little brighter because the transparency of the lens does not allow for
absorption or dispersion of the light. This type of lens is a light straightening
lens, and is used in devices such as flashlights or traffic lights.
White diffused LED lenses are opaque, in that they are cloudy. These types
of lenses act to disperse the light, thus making it possible to view from all
sides. As opposed to the water-clear LED, the opaque lens absorbs the light
and spreads it over a greater viewing angle. Common uses for white diffused
lenses are for power and ready status.
Color diffused LED lenses are essentially the same as white diffused lenses,
except they are tinted in a specific color. Therefore, colored lenses also
spread the light consistently on all sides, but in a colored light.
LED Viewing Angles
The viewing angle of a specific LED indicates the extent to which the light
disperses out. However, viewing angles are only applicable with water-clear
lenses, since they focus the light head on.
LED Colors
LEDs are available in a variety of colors for commercial production. The
colors red, orange, yellow, and yellow-green are the most readily available,
whereas true green, blue, and white are not as much, due to their higher costs.
Fortunately, cheaper means of production will allow for the latter LEDs to
grow in use for experimenters in robotics.
Articulated Robots – SCARA and PUMA
Articulated Robots are no doubt the best robots for assembly and packaging
applications. SCARA and PUMA are the most widely used articulated robots
in industries for assembly and packaging and in academia for research and
analysis. Read more about these variants of articulated robots SCARA and
SCARA – Selective Compliant Assembly Robot Arm
SCRA is also called as Selective Compliant Articulated Robot Arm. This
robot was developed by a team at Yamanashi University in Japan headed by
Professor Hiroshi Makino. It is a simple articulated robot which can perform
assembly tasks precisely and fast. SCARA is most adept in pick and place
operations in any assembly line in industries with speed as well as precision.
SCARA is more or less like a human arm the motion is restricted horizontal
sweeping and vertical movement, it cannot rotate along an axis other than
Structure of SCARA
The base structure of SCARA is a chain of rigid members connected through
parallel revolute joints. The axes of these revolute joints are all vertical. Some
SCARAs have linear motion along the vertical axis at the base and can also
have vertical motion of the wrist attached to the end member. The parallel
axis structure of SCARA makes it flexible or compliant in the XY direction
and rigid in the vertical or Z direction. SCARA’s name is derived this way
only by being selectively compliant. Such structure makes SCARA adept in
pick-and-insert operations used mostly in assembly of electronics circuit and
PUMA - Programmable Universal Machine for Assembly
PUMA is the most commonly used industrial robot in assembly, welding
operations and university laboratories. PUMA was designed by Vic
Schienman at MIT in mid seventies and was first manufactured by
Unimation. PUMA resembles more closely to the human arm than SCARA.
PUMA has greater flexibility than SCARA but with the increased compliance
comes the reduced precision. Thus, PUMA is preferably used in assembly
applications which do not require high precision, such as, welding and
stocking operations.
Structure of PUMA
PUMA is an articulated robot with a chain of members connected with each
other through revolute or rotary joints as that in SCARA but the difference is
the orientation of the axes of the joints. In PUMA not all the joints are
parallel; the second joint from the base is orthogonal to the other joints. This
makes PUMA compliant in XY as well as in Z direction. In all PUMA has
six degree of freedom. Each rotary joint is actuated by DC servomotors and
accompanying gear trains. The flexibility of the PUMA makes it capable of
being taught to perform various tasks.
Base Bodies of Robots: Articulated Robot Base
Articulated Robots have all the joints of single axis revolute or rotary type.
This chain of revolute joints provides greater freedom and dexterity in
movement of the articulated robotic arm. SCARA and PUMA are the most
popularly used articulated robots in assembly lines and packaging processes.
Types of robot bases discussed so far in the last two article series started with
the most simple and basic single axis and single degree of freedom robot
base, capable of movement only in one direction, linear robot base. Linear
robot base has only prismatic joint. Going to higher types of robot bases the
number of joints increase then the types of joints start changing. Starting
from one prismatic joint to three prismatic joints then with each changing
type one prismatic joint was replaced by a revolute or rotary joint.
The robot bases with prismatic joints require many components for the
actuation of the prismatic pairs. A Cartesian, Cylindrical or Spherical and
Articulated robots all work in three dimensional space and can reach any
points in there workspace. But the number of components required to obtain
the desired motion is more, such as hydraulic or pneumatic cylinders, rack
and pinion arrangements, solenoids and many switches. The same motion in
robots with revolute joints can be obtained by increased ease and reduced
number of components. The reduced number of components reduces the
probability of failure of the robot. Only the programming of the robot and the
transformation from global coordinates to the actuators input becomes more
Articulated Robot structure
Cylindrical Robot base has one revolute joint and two prismatic joints.
Spherical Robot base has two revolute joints and one prismatic joint. After
these two types, further the robot base is generalized as Articulated Robot
base with all the joints being revolute joints. Any robot with revolute joints
between all its base members falls in the category of articulated robot. The
number of members in an articulated robot can be anything from two to ten.
The axes of the revolute joints can be parallel or orthogonal to each other
with some pairs of joints parallel and others orthogonal to each other.
Articulated robots have a base called as waist which is vertical to the ground
and the upper body of the robot base is connected to the waist through a
revolute joint which rotates along the axis of the waist. Another link is also
connected to the waist through a revolute joint perpendicular to the waist
joint. This joint between the waist and the link is called as Shoulder of the
articulated robot and the link may be called as the Arm. One more link is
connected to the arm through a revolute joint parallel to the shoulder joint.
This joint with the arm forms the elbow of the articulated robot. Finally a
wrist and a gripper is attached to the last link. The structure of the articulated
robot with three revolute joints is very much similar to the human arm.
Base Bodies of Robots: Spherical Base Robot Control and Application
Spherical Robots are more involved in construction and more dexterous in
working so is there control. The control of spherical robots requires three
variables as Cartesian and Cylindrical robots do but the coordinate frame and
there transformation is bit complex than other types.
Spherical Robots can perform tasks requiring movement in three dimensional
spaces easily. It can reach at points in the space with ease, speed and
accuracy. But to make such three dimensional robot work properly according
to the specified instruction of reaching particular points and doing job there it
requires a substantial amount of background work involving calculations of
coordinate frames and control variables.
Work Frame of Spherical Robots
It is helpful to define coordinate frames at suitable points on the structure of a
robot to analyse and effect the movements of different parts and the robot as
a whole. The primary frame, common to any type of robot, is the coordinate
frame fixed to the base of the robot. This frame is called as the world
coordinate frame or can be called as global coordinate frame. The points in
the workspace are provided in this frame. In spherical robots the second
frame is attached to the joint between the vertical member and the arm. Third
frame is attached to the wrist of the robot.
Control Coordinates of Spherical Robots
The target points for the end effectors are specified as per the task in world
coordinate frame. But to make the end effectors move to the specific points
the actuators attached to each joints have to be provided with the values of
their respective movements producing the final effect as desired. This means
that the control variables are the values provided to the actuators, hence, the
coordinates of the target points have to be converted to the control
The global coordinates and the control coordinates are represented in the
matrix form. Control Coordinates are obtained from Global Coordinates
through various transformations of the matrices. For a particular
transformation of a matrix it is multiplied with a transformation matrix to
obtain the required transformation. All these calculations are incorporated in
a computer program and implemented through micro controllers and
processors such that it takes the global coordinates and supply the actuators
with the required values of the control coordinates.
Applications of Spherical Base Robots
The type of robot base to choose for a particular application is primarily
decided by the reach and workspace requirement of the task. Then we search
for a robot base with similar reach and workspace. After this selection
criterion other details such as the accuracy and repeatability of the robot are
considered. The common applications of spherical base robots are in material
handling operations in the production line, such as, transferring or pick-andplace materials and stacking objects.
Manipulation Robotic System: Tele-control or
Remotely Operated Robot
Tele-control robots, as the name suggests, are robotic systems that can be
controlled from a distance. The following article describes the different types
of remotely operated robots, their construction and design, as well as
Type of Remotely Operated Robots
Remotely operated robots are a type of manipulation robotic system that can
be controlled from a distant place. Remotely operated robots, also known as
tele-control robots, can be classified into five main subtypes on the basis of
their construction and characteristics.
They main types of remotely operated type robots are as follows:
Command-controlled manipulator
Master slave manipulator
Semi Automatic manipulator
Supervisory controlled robots
Interactive robots
All the above mentioned types have one or more controllable arms with a
series of joints, each having their own control system.
Command-controlled manipulator
In a command controlled manipulator, each of the joints is controlled by a
remotely located human operator who controls the manipulator from a
control panel. For example, in a type of research vessel used for the ocean
bed, an operator sitting inside operates the manipulators using a control panel
and by watching through a viewport.
Master Slave Manipulator
A master slave manipulator is also operated by a human from a safe distance,
but uses a master and slave mechanism, both having the same kind of
functionalities. The master and slave parts are attached using a joint that
transmits the motion from the master part to the slave part. This type of
system is generally used in areas where humans are exposed to radiation or
harmful chemicals or gases.
Semi Automatic Manipulator
Semi Automatic manipulators are controlled using joystick, which is located
at a remote place or attached to a control panel. Semi Automatic manipulators
are more sophisticated than the above two manipulators as they allow a
higher degree of freedom and can perform any motion in the required
direction. The control system generates a signal on every movement of the
joystick. The signal is then converted into a control signal that applies to the
respective actuator of the manipulator.
Supervisory Controlled Robots
Supervisory controlled robots and interactive robots are fully functional
robots. The supervisory controlled robot has a fully programmed task written
in its control system. Though a type of remotely operated robot, supervisory
controlled robots do not require any significant human involvement. A
human operator just watches the robot’s operation from a distance and
intervenes when a goal has to be assigned. Thus, the human controller only
has to assign a task to the robot, while the robot performs the task on its own.
Interactive robots
Interactive robots are a type that is one step superior to the supervisory
controlled robot. The main difference between a supervisory controlled
robots and interactive robots is that the later one can determine its own action
through its sensing and recognizing abilities and perform the required action
on its own.
Though all these types of robots are distinguished on the basis of their
characteristics, two or more types can also be combined to form a new type
of robot for a particular application. This type of robot is known as a hybrid
Spherical Base of the robots has just one replacement of the joint in the
Cylindrical Base of the robots. The slider joint between the robot arm and the
vertical member is replaced by a revolute joint. This change of a joint makes
the spherical based robot more dexterous than cylindrical robot.
Spherical Base Robots
Spherical bases of the robots make them capable of working in a spherical
space. Though the workspace cannot be more than a three dimensional one
but with the increasing number of the revolute joints the arm movements of
the robot can become more sophisticated. Spherical Bases Robots, as the
name says, work in a space defined by the intersection of spherical volumes.
With wide range of possibilities of complex movements robots with spherical
bases find application in many industrial processes.
Construction of the Base Structure
Spherical type of manipulator has the base member which can rotate about
the vertical axis. A member is connected to the base member through a
revolute joint and this member can extend and contract like a telescope. This
arrangement of the base body makes the manipulator arm to work in a space
defined as the intersection of spherical spaces.
The spherical base has the same, three, numbers of joints as the other three
dimensional robot bases has. Two joints are revolute joints and the remaining
is a prismatic joint such that the arm of the robot can extend and retract. The
end effectors of the robot are mounted on this telescopic arm. The two
revolute joint movements can be actuated by direct coupling with the servo
motors and the telescopic arm movement can be actuated by a rack and
pinion arrangement. Spherical base has three degrees of freedom and three
variables to be controlled to operate it.
Reach and Workspace of Spherical Base Robot
Reach of a robot is the limits to which its end effectors can approach the
work points. For the spherical robots the reach of its end effectors is
determined by the limits of the motion of the three joints of the base. For
such type of base of the robots the reach of the end effectors of the robot is a
sphere. The radius of this sphere is dependent on the maximum extension of
the telescopic arm
The workspace of the spherical base robots is the volume intersection of the
two concentric spheres. The dimensions of the external sphere are equal to
the maximum limits of the joint movements and the radius of the inner sphere
is determined by the minimum limits of the joint movements which are in
turn governed by design constraints. The range of rotation of the revolute
joint at base and between the base member and the arm determines the sector
of the sphere that can be covered; and the range of movement of the telescope
arm determines the range of the radius of the spherical volume of
Base Bodies of Robots: Cylindrical Base Robot
Robots mounted on base bodies with revolute, cylindrical or spherical joints
along with prismatic joints have better functionality and move with ease
between the points in space. In continuation of the last series on Robots Base
bodies here more involved robotic base bodies are discussed.
Cylindrical Base Robot
The body of this type is such that the robotic arm can move up and down
along a vertical member. The arm can rotate about that vertical axis and the
arm can also extend or contract. This construction makes the manipulator
able to work in a cylindrical space. The dimensions of the cylindrical space
are defined as, radius by the extent of the arm and height by the movement
along the vertical member. The cylindrical manipulator base body has one
revolute joint at the fixed frame, one cylindrical joint about the axis of
rotation and one prismatic joint in the arm of the manipulator
The position of the end is defined by the extension of the arm, height of the
arm and rotation of the main body axis. These are the three variables to be
controlled to position the end effectors of a cylindrical base robot. In other
words this type of structure forms a cylindrical coordinate system and be
controlled the same way.
Workspace of Cylindrical Base Robot
The reach of the end of the Cylindrical Robot is a cylinder whose dimensions
are determined by the motion limits of the different parts of the robot. But the
motion limits of any joint in on the both sides, maximum as well as the
Thus, the workspace, volume comprised of the points where the end point of
the robotic arm can be positioned, is not a complete cylinder but it is an
intersection of two concentric cylinders. Dimensions of the inner cylinder are
determined by the minimum limits of the motion of robot parts
Replacing a Cartesian Robot with a Cylindrical Robot
Both the Cartesian and Cylindrical base robots, being able to reach points in
the three dimensional space, can be interchanged having common minimum
workspace for the application. Each robot base has its own suitable
applications. For some applications Cartesian may be more preferred and for
other applications Cylindrical Base Robots may be suitable. Even then, the
two types can be interchanged with some advantages or disadvantages.
To count as an advantage, Cylindrical Base Robots can move between the
required points faster than the Cartesian Robot, especially in the case when
the two points are at the same radius. Out of the three motions two are along
the same axis. And for disadvantage one can consider the efforts required to
make transformation of instructions from the Cartesian coordinate system to
the cylindrical coordinate system.
Introduction to Robotics Technology
Robotics technology consists of the devices, components, designs, and
programming that have gone into development of robots as we know them
today. A large sector is industrial robotics, with many of the industrial robots
being essentially a robotic arm. Read on for images and details about robots.
What is Robotics Technology?
Robotics technology has developed considerably since the author, Isaac
Asimov, coined the term robotics in the early 1940's in one of his science
fiction stories. Robotics is defined as: The science or study of the technology
associated with the design, fabrication, theory, and application of robots, in
the 2009 update of the Fourth Edition of The American Heritage Dictionary
of the English Language. This definition brings up the question, 'What is a
robot?' There are indeed a number of definitions in use for 'robot.' A usable
one that is attributed to the Robotics Institute of America (RIA) is: A robot is
a reprogrammable multi-functional manipulator designed to move materials,
parts, tools, or specialized devices through variable programmed motions for
the performance of a variety of tasks.
What do Robots Do?
In order to learn about robotics technology, it is helpful to learn a bit about
robots and their capabilities. When the idea of robots was first developing,
they were envisioned as humanlike in appearance and in behavior.
The greatest number of robots in use, however, are industrial robots, which
do not look at all like humans. The images in this section show a couple of
industrial robots, one doing material handling and the other doing welding.
Many industrial robots, like the two shown here, look somewhat like an arm,
and also go by the name 'robotic arm.'
A large percentage of the robots in the world are industrial robots used in a
wide variety of industries. Robots can do jobs that would be boring for
humans and jobs that are dangerous or dirty. Robotics technology has
developed to the point that robots can lift heavy objects, do precise assembly
line work, pick something up and place it precisely where it needs to be,
guide a machining operation, defuse bombs, or inspect sewers, just as a few
The first industrial robot, Unimate, was developed by George Devol, and was
used for die casting handling and spot welding by General Motors. This was
perhaps a predictor of things to come, because the automobile industry today
is the largest user of industrial robots and robotic arms.
In addition to industrial robotics, another large sector is robot toys and
robotics in games. Robots in this sector are more likely to have an appearance
that is more like humans, and to have motion capabilities and the capability
to do human types of activities.
The Components of Robots
One way of generalizing the nature of robotics technology is to categorize the
typical components of robots. The components of a robot would typically
include a power source, a means of sensing, actuators, a power source, a
means of manipulation, an overall structure, and perhaps a means of
locomotion. Robotics sensors are available to measure a wide range of
parameters, such as light, temperature, sound, or acceleration. Actuators
make robots or parts of robots move. The most commonly used actuator for
robots is the electric motor. Batteries are a commonly used power source. A
couple of ways that manipulation can be accomplished are with vacuum
grippers or with mechanical grippers. Mechanical grippers are the most
common means of manipulation. The first robots used as industrial robots
were stationary and so didn't need any means of locomotion. Now robotics
technology has advanced so that some robots require a means of locomotion
to do the tasks for which they are designed. The simplest means of
locomotion is four wheels, although some robots move by a number of
different methods, including walking, snaking, or hopping.
Robotics technology goes back at most 70 years, to the time when Isaac
Asimov first used the term robotics in his writing. The use of industrial
robots, such as robotic arms, has grown tremendously, so that now industrial
robots carry out a wide variety of tasks that are too boring, too dirty, or too
dangerous for humans to do.
Advantages of Robotics in Engineering
Some advantages of robotics, like improved quality and quantity of
production, are due to the mechanical nature and computerized control in
industrial robotics technology. Other advantages of robotics are due to
freedom from human characteristics like boredom and the ability to do
dangerous tasks.
The advantages of robotics have become more apparent as industrial robotics
technology has grown and developed in the 50+ years since the first
industrial robot, Unimate, was put into use in the 1950s. About 90% of the
robots in use today are in the industrial robotics sector in factories. As of
2004, about 140,000 industrial robots were in use in the U.S., as reported by
the Robotics Industry Association (RIA). Robots are now also used in
warehouses, laboratories, research and exploration sites, energy plants,
hospitals, and outer space.
The advantages of robotics can be classified into four major categories: 1)
quality/accuracy/precision; 2) Efficiency/speed/production rate; 3) Ability to
work in environments that are unsafe or inhospitable for humans; 4) Freedom
from human limitations such as boredom and the need to eat and sleep.
Advantages of Robotics #1: Quality/Accuracy/Precision
Many industrial robots are in the form of a robotic arm. The image at the left
shows Unimate, the first industrial robot, which has the appearance of a
robotic arm. The image in the next section shows a contemporary industrial
robotics arm. Due to its mechanical nature and computerized control, a
robotic arm can carry out a repetitive task with great precision and accuracy,
thus providing improved, consistent product quality. This would apply to
quite a variety of production line tasks, like welding, assembling a product,
spray painting, or cutting and finishing.
Advantages of Robotics #2: Efficiency/Speed/Production Rate
The same features of industrial robotics technology mentioned above, the
mechanical nature of the equipment and the computerized control, make
industrial robotics technology more efficient and speedy, leading to higher
production rates than with human labor. Another aspect of efficiency is that
robots can be mounted from the ceiling and have no problem with working
upside down. This can lead to a savings in floor space.
Advantages of Robotics #3: Ability to Work in Environments that are
Inhospitable to Humans
This is an interesting set of advantages of robotics. There are a number of
tasks that are too dangerous, too exposed to toxins, or just plain too dirty for
humans to conveniently do them. These are ideal robotics tasks. This includes
tasks as simple as spray painting, because there is no need to worry about the
robot inhaling the paint fumes! It also includes such daunting tasks as
defusing bombs and such dirty tasks as cleaning sewers.
Advantages of Robotics #4: Freedom from Human Limitations like
This set of advantages of robotics is due to the fact that human characteristics
like boredom from doing a repetitive task don't interfere with the functioning
of a robot. There is some overlap with the first two categories of advantages
of robotics, because the lack of interference from boredom leads to greater
accuracy, quality, and rate of production. There is more to this set of
advantages of robotics, however. Since a robot doesn't need to rest or eat, and
never gets sick, a robotic arm can work 24/7, with only limited occasional
downtime for scheduled maintenance.
Limitations of Robotics
An article about the advantages of robotics wouldn't be complete without
some discussion of the limitations of robotics. In spite of the very useful set
of advantages of robotics discussed above, there are some tasks for which
human beings are better suited than robots. For example:
Robots are not suited for creativity or innovation
Robots are not capable of independent thinking
Robots are not good at learning from their mistakes
Robots are not as suitable for making complicated decisions
Robots can't as readily adapt quickly to changes in the
Human beings are needed for these types of tasks, so there is hope that we
will not become superfluous in a world dominated by robots at some point in
the future, as projected by some science fiction authors!
The advantages of robotics in an industrial setting, where most of them are
used, are notable, including increased product quality and quantity, ability to
work in inhospitable environments, and freedom from natural human needs
like food and rest. There are, however, some limitations of robotics, in areas
such as creativity, innovation, independent thinking, and making complicated
decisions, that lead to a projection that humans will remain in charge of
robots rather than vice versa.
Medical Robotics
Medical robotics is an interesting discipline that is related to human health of
all individuals. Their use is becoming popular due to their numerous
advantages in the medical field.
Medical robotics is a stimulating and modern field in medical science that
involves numerous operations and extensive use of telepresence. The
discipline of telepresence signifies the technologies that permit an individual
to sense as if they were at another location without being actually there.
Robots are utilized in the discipline of medicine to execute operations that are
normally performed manually by human beings.
These operations may be extremely professional and facilitated to diagnose
and treat the patients. Though medical robotics may still be in its infancy, the
use of medical robots for numerous operations may increase the quality of
medical treatment. Utilization of telepresence in the medical operations has
eliminated the barriers of distance, due to which professional expertise is
readily available. Use of
robotics in the medical field and telepresence minimize individual oversight
and brings specialized knowledge to inaccessible regions without the need of
physical travel.
Image Credit:
History Of Medical Robotics
Medical robotics was introduced in the science of medicine during the early
1980s, first in the field of urology. Robotic arms were introduced and used
for medical operations. Robotics initially had inferior quality imaging
capabilities. During this period, the National Aeronautics and Space
Administration also started exploring utilization of robotics for telemedicine.
Telemedicine comprises the use of robotics by physicians for the observation
and treatment of patients without being actually in the physical presence of
the patient. As telemedicine improved, it started to be used on battlefields.
During the close of the last century, medical robotics was developed for use
in surgery and numerous other disciplines. Continued advancement in
medical robotics is still in progress, and improved techniques are being
Image Credit:
Features Of Medical Robotics
Medical robotics is managed by physicians through computerized consoles.
The consoles may be near the patients, or at an external site. Consoles include
single or multiple arms being in the control of the physicians who perform
operations on patients. The shape and dimensions of these arms depend upon
the type of surgery being performed. The medical data and requirement is fed
in the robotics before start of surgery, including the X-rays, and other
diagnostic examinations. This information facilitates the medical robotics to
traverse the human body correctly.
The purpose of utilizing medical robotics is the provision of enhanced
diagnostic capabilities, increased patient comfort, and less hazardous and
more meticulous interventions. Robots are being used for multiple operations,
including replacement of joints, kidneys, and open heart surgery. The patient
images are visible to the physician, and he can accordingly control the robot
by a computer. He may not be required to be present in the patient room. The
robots have enabled the physicians to perform operations on patients who are
located at long distances. Therefore, the environment produced is friendly
where the physicians experience less fatigue. (Some surgeries may be
performed for long durations causing extensive fatigue to the physicians.)
The use of robotics in the medical field makes many medical procedures
much more smooth and comfortable.
Dealing with Decommissioned Industrial Robots
After a robot has outlived its normal utility, its disposal becomes a challenge
for the enterprise using it. Resale, sending to a scrap yard, using it for landfill, and recycling are some of the options available for decommissioned
What are Robots?
By definition, robots are aids created to make work easier, faster, more
accurate, and safer to do. They are mechanically driven and have some
artificial intelligence that can be programmed to perform different
commands. Robots have been developed for many reasons, but have largely
found their major use in the manufacturing sector. Some of the work that can
be performed by industrial robots is the lifting of heavy weights, painting,
drilling, welding, and handling chemicals and hazardous materials. These
robots are mainly fixed and have limited movement.
Maintenance departments and facilities that handle hazardous material also
use robots to do work. Exploration missions to the moon and more recently to
Mars used robotic equipment to survey and collect data for research centers
on earth. Exploration robots are built to withstand extreme conditions and are
mobile; they need to be mobile to conduct geological surveys and collect data
and samples. Anti-terrorism agencies and the military use robots to neutralize
dangerous things like bombs or mines. Personal robots are rare since they
need to be programmed to do many different tasks.
Decommissioning of Robots
When industrial robots stop working or are replaced with newer versions, it is
called "decommissioning." The problem of disposal, of course, starts after the
robot has been decommissioned. Resale, sending to a scrap yard, using it for
land-fill, and recycling are some of the options available for decommissioned
robots. The fate that a decommissioned robot meets depends on the nature of
work for which it was developed, the materials used for making it, and the
law of the land.
If no potential customer for the used equipment comes forward, retired
industrial robots should ideally be sent to recycling plants for the proper
disposal of the different materials used to build them. Most robots are built
using plastic and metals, which should not pose any dangers, but within these
robots are many electronic sensors, motion detectors, batteries, motors, and
other part that may contain harmful materials. This does not apply to all
robots, but particularly does for robots that are constructed as a single
operational unit.
Robotic attachments like used pick and place robots, painting robots, and
precision welding, positioning, and manufacturing robots, as well as all
robots that receive commands from a central command, do not pose a high
pollution risk as they are composed mostly of mechanical parts. Nevertheless,
all used robots, if possible, should be sent to robot recycling units who
specialize in dismantling them and extracting all the reusable parts and
Robots that have been used in certain hazardous operations such as inside
nuclear power plants may never get proper disposal due to the nature of the
work they have to do. When they are retired or break down, replacement is
done and the old robot is moved to a storage area within the secured
Exploration robots are also never built for cycling since there fate is not
predictable. Robots on the moon and mars are some example of these kinds
of irretrievable robots.
Back on earth the problem is getting bigger with the risk of contamination of
water reservoirs and underground water by harmful elements that are
contained within the artificial intelligence and sensors that controls the robots
mobility and precision. People who are environmentally conscious have
created innovative ways by which they can contribute to reducing pollution.
Retired Robots and Art
Artists have begun using them in designs to decorate offices, businesses, and
homes and parks. Some of these innovative artists create sculpture depicting
different scenarios that modern day people face on a daily bases. Some
interior decorators use retired robots which have been extracted of all harmful
elements to decorate robot enthusiasts homes and rooms with them. Robotic
arms used for welding can be used as lamp holders or as a coat rest.
The Problem of E-Waste
With the world population increasing on a daily basis and demand for
produces and resources increasing, there is urgency now more than ever to
act responsibly towards e-waste. With few recycling plants distributed around
the world and more e-waste being produced on a daily basis humanity has to
think twice before we find ourselves buried in the waste itself.
With proper management and financial support, e-waste like used robots can
be recycled and extracted parts can be reused on other models of robots. This
requires a lot of time and man power since they need to be dismantled piece
by piece in order to perform the job correctly.
PID Loop Tuning Methods for Robotics
PID loop tuning is a programming method that allows a user to vary any
combination of three variables to produce the desired effects within a closed
system. Here we will discuss common forms of PID tuning as well as
situations in which no PID is needed.
The PID, as the name itself implies has three main coefficients which affect
the system response, varying these coefficients will give different results. A
PID algorithm compares the system output against a calibrated or reference
value. A reference value is a standardized result and based on that, system
output is changed to achieve desired results. The best thing about a PID
controller is that it is tunable and scalable. You do not need to vary all the
three coefficients, you can change just one coefficient, or change two
different coefficient by making combination or change all of them, depending
upon your requirements and this is what we call loop tuning of a PID
PID and Robotics
Robotics means automated control of machines. PID controllers go hand in
hand with robotics as they bring accuracy into the system. However not every
robotic device will require you to put a PID controller and vary your
parameters. There are certain conditions that decide if you need PID loop
tuning or not.
You surely need a PID controller when your system is linear. For non-linear
devices, characteristics properties and parameter values will change with
change in the curve of the graph, which means at every point of the curve,
you will need to change your parameter gains. If the graph is linear, you can
change parameter gains as a whole.
You do not need a PID controller under the following conditions:
If your reference output and system output match, you get
what you want, there is no need for loop tuning of PID.
If the system response of your system does not show any
error and there is no need to improve upon its characteristics,
you do not need PID.
If all the input parameters are working fine and the system
is not showing any dangerous output characteristics.
Different Methods for Loop Tuning in Robotics
PID loop tuning given the natural frequency of the parameter gains can be
manipulated using different methods. Here are some of the most popular loop
tuning methods that are tested by times and trusted by people all over the
Ziegler Nicholas Method is arguable the most popular and reliable method
for tuning a PID loop. This method includes setting the D and I gains to zero
value. The parameters which are monitored and manipulated in this method
are Proportional Gain (Kp ), Ultimate Period (Pu) and Oscillation Period
(Tu). The P, I and D gains are now set against oscillation period and ultimate
gain so that desired output is achieved.This method can be used for both the
open and closed loop systems.
The basic formula used in the Ziegler Nicholas method for tuning is : Kc =
0.45Ku and Tu = (Pu/1.2)
Cohen-Coon Method is suitable only for open loop systems and it can only
be used for time delay models that belong to t he first order class. It corrects
the steady-state response given by the Ziegler Nicholas method. Cohen Coon
method is an offline method, whereas Ziegler Nicholas method is an online
method. For every tuning cycle, a steady state must be achieved because in
offline methods steady state only leads towards step change in the input.The
corresponding image shows parameters used in the Cohen Coon method.
Automatic Tuning based on relay feedback is another method that is an
alternative to the conventional continuous cycling technique. This method is
also known as Auto Tune Variation (AV) Method. It is performed for closedloop systems and it is efficient for long time constant processes as compared
to the conventional hit and trial or step methods.
Advancement in technology has made it possible to perform loop tuning and
visualize the changes taking place on screen. LabView is one such tool that
helps in monitoring and optimizing control systems using graphical
flowcharts. Another tool is Robust Control Toolbox from Matlab. This tool
minimizes overshoot and keeps a check on the steady state errors. It also
offers approximation algorithms for model order reduction.
Honda Asimo - How Long to Robots in the Home?
You must have seen them in movies. You must have read about them in
novels. They were fictitious, but currently live. Who are we speaking about?
Indeed the humanoid robots! Yes, they are ready to work for you as your
servant! Read on to learn more about the Honda Asimo and other robots….
What is ASIMO?
Being an assistant to people was the idea in mind when ASIMO (Advanced
Step in Innovative MObility) was being created. ASIMO, which is 4’ 3" or
rather 130 centimeters tall, is a perfect helper in and around a house and can
also help a person who is restricted to bed or a wheelchair. The size of this
robot makes it easier to directly communicate with a person who is either
sitting on his/her bed or a chair.
Actually ASIMO is an extremely stylish piece of equipment, technically
speaking. As a marketing tool, ASIMO is creating a sensation, assuring a
volley of news reporting with each promotion stunt. Honda had in mind
selling units as domestic servants when they actually brought out the robot in
A robot having the capability to walk up and down stairs, clasp objects, and
work together with humans looks like an ideal fit for elderly care. Six years
later the cost of Asimo still remains at more than $100,000 to rent. The
human roboid has not yet made anyone's bed and constitutes just the most
recent in a chain of letdowns for future household robots. So with what
Asimo can and cannot do, the question is when will this robot get a job?
Isaac Asimov's "Three Laws of Robotics" states that:
A robot may not injure a human being or, through inaction,
allow a human being to come to harm.
A robot must obey orders given it by human beings except
where such orders would conflict with the First Law.
A robot must protect its own existence as long as such
protection does not conflict with the First or Second Law.
A key factor of Asimov’s Three Laws is that they are changeless. He actually
anticipated a robot brain of huge complexity that could only be created by
humans at the mathematical level. Consequently, the Three Laws are not in
the textual form demonstrated above, but were programmed in mathematical
terms straight into the center of the robot brain. This programming could not
alter in any important way during the course of the robot’s life. Asimov had
actually assumed that a robot would be programmed with all things it
required to operate before its activation.
Thus the name ASIMO can be easily associated with Asimov, the iconic
science-fiction writer who visualized intelligent humanoid robots in his tales
and was the first to establish the three laws of robotics, controlling humanmachine interactions.
Asimo serving drinks
RIBA, the robot nurse
"RIBA" stands for Robot for Interactive Body Assistance and is perhaps the
first robot that can pick up or lay down a real human weighing up to
61kg/134lbs from or to a bed or wheelchair. Oddly, this is a robot that
requires a human assistant. RIBA uses its very firm human-like arms and by
novel perceptible direction methods applying high-accuracy tactile sensors, is
able to do most of the jobs that a nurse does. RIBA could establish its worth
when you acquire one, but before you buy RIBA just consider the number of
times patients in your hospitals and care institutions are lifted and moved
every day. This would also relieve the many care-givers who ultimately fight
back bad backs, injuries, and exhaustion. Apart from this the patients will no
longer suffer from poorly-executed moves.
Are we safe from robots thinking for themselves?
Robots which can think for themselves in the future would be available for
minding our children and the aged and patrolling our streets, say experts.
Scientists state that a new generation of robots working without human
counsel is in the making. Apart from this in about five years robots can be
seen working in care homes, monitoring prisons and helping police in tracing
Alan Winfield, professor of electronic engineering at the University of the
West of England in Bristol, said “it would not be long before technological
advances made it possible for robots to be introduced in the home, as well as
prisons and the police service."
Further, while speaking at a debate on robot ethics at the London Science
Media Centre, he said, "It is highly likely that in a number of years robots
will be employed both for child-minding and care for the elderly. But the
danger is that we will sleepwalk into a situation where we accept a large
number of autonomous robots in our lives without being sure of the
consequences. The outcome could be that when given a choice the robot
could make the wrong decision and someone gets hurt. They can go wrong
just like a motor car can. We should be aware of the future that we are letting
ourselves in for. We need to look at their safety and reliability." The
predictions of the professor could be seen in the hit Hollywood sci-fi film IRobot, in which a slave robot having a mind of its own causes pandemonium.
The major boosts in robotics in current years have been as arms of war. The
U.S. military is building up battlefield robots that will have the capacity to
make a decision as to when lethal force has to be used. At the Georgia
Institute of Technology in Atlanta, a battlefield robot has been trained to use
radar data and intelligence feeds and to make decisions based on a set of
moral rules.
Even though at some point of time in the future robots may fit into the picture
drawn by us, nothing can be perfectly said as of now. Regardless of the fact
that robots are not alive, numerous delicate actions have been attributed to
Asimo's poses, which were added to conquer the next barrier - the emotional
one. Robots are made to look safe in order that we don't imagine a cold
calculating heartless being moving around in our homes chopping vegetables,
holding boiling water, or sitting in rest/recharge mode next to us on the sofa.
So if the robot does all of our household work, should we as family members
only sit and watch TV or sleep? Robots like Asimo try to generate a fantasy
that is not essentially human, but something else that is roughly a cartoon-like
overstated description of human mannerisms.
Even though at some point of time in the future robots may fit into the picture
drawn by us, nothing can be perfectly said as of now. Regardless of the fact
that robots are not alive, numerous delicate actions have been contributed in
Asimo's poses, which were added to conquer the next barrier - the emotional
one. Robots are made to look safe in order that we don't imagine a cold
calculating heartless being moving around in our homes chopping vegetables,
holding boiling water, or sitting in rest mode next to us on the sofa.
If robots help us and in industries do the job more effectively and efficiently,
then what about us? Do we become useless? If the robot replaces the human
job, there will be no long queue for job applications from the human later
resulting in the increase of unemployment rate. This is indeed debatable!
Now the time has come to decide whether Asimo and future generations of
robots will merge comfortably well into homes when they are more easily
available to the general populace. Or will there be a revolt against machines
working separately without the straight physical direction of human hands?
One thing is for sure: precisely as computers were applied in styles that most
exposed humanity's factual personality, robots will tell us to a greater extent
about ourselves in an unimaginable way. Asimo is equipped to bond your
family. What can he do? It is left to the purchaser to decide, but the rule of
Caveat Emptor has to be followed in the process.
So when can you buy a robot for the home? Right now! You can get an
Asimo for only $1 million.
The Brains and Body of a Robot
Robots are an essential part of technology today. However, most people
overlook the similarities robots have with humans, in terms of a control
center and a structure. Two key components of most robots are the brains, in
the form of microcontroller chips, and the body.
From an anatomical point of view, most robots generally have a brain, a
body, a power source, sensors, and action and feedback mechanisms.
Specifically, I would like to discuss the brains and body of a robot.
Robot brains come in a wide variety of forms. In fact, some robots are built
without brains and are controlled by people through remote control. Robots
can also be built with a brain that is spread out in different parts of the robot.
For instance, basic chips can be used to operate individual parts of the robot,
such as an arm or leg, with these individual parts working independently of
the other parts. Furthermore, robots can be built with brains that are located
far away from its body, such as in a computer.
All things considered, the number one choice for robot brains is the
microcontroller chip. Like the microprocessor chips found in computers,
microcontrollers are similar, except that microcontroller chips are somewhat
like a tiny computer themselves. A small amount of memory and storage
space is built directly into the microcontroller chip. When comparing the
microprocessor chips found in computers and microcontroller chips, the chips
found in computers dedicate their channels to high speed memory connectors,
whereas microcontroller chips have a much larger variety of input and output
ports. These ports can connect to buttons, sensors, and other devices.
Although it may not seem evident, we are surrounded by microcontrollers.
These useful chips are found in vehicles, household appliances such as
dishwashers, VCRs, TVs, radios, and other home and work appliances.
Fortunately, the high demand for these microcontroller chips has made these
chips inexpensive and abundant.
Although the body of a robot may seem unimportant in comparison to the
other parts of a robot, many who attempt to build a robot fail to incorporate a
framework into their design. Many who build homemade robots end up with
robots that are too susceptible due to circuit boards that are exposed and
wires sticking out. This usually leads to a robot that either collapses or moves
unevenly. A proper frame for a robot not only ensures that the robot stays in
one piece, but also protects the robot from injury. An excellent example of
the use of a reliable framework is in a production line robot. These robots
have special designs that enable them to efficiently operate in environments
that most humans would find potentially dangerous. Production line robot
design involves a certain number of axes that determines the versatility of the
robot. However, it is the kinematics of the assembly line robot that
determines the arrangement of the robot. Some parts of the robot are bolted
together while others are welded together, allowing for both rigid and
dynamic parts in the same robot. It is the kinematics of the framework of a
production line robot that defines its purpose, whether for welding car parts
together or lifting heavy loads.
Another underestimated aspect of a robot is the visual appeal. Those who
desire to take up robot building as a hobby should learn that showmanship is
critical in how others will view your robot. Despite the fact that a robot may
be technically impressive, the finishing touches to the appearance of the robot
is what draws attention. The M&M robot is an example of an attractive and
innovative robot body design.
The Future of Robotics
It is anticipated by engineers and scientists that in the near future robots will
be seen generally at numerous establishments, including production units,
farming, hospitals, maintenance, construction, and in homes. Robots will be
able to substitute for individuals in most factories where tasks of extra
precision are necessary and production rate is important, which is difficult to
be performed correctly by human labor.
General Usage Of Robots In the Future
International experts on robotics are of the view that by year 2020, robots
will be capable of observing and performing tasks, talking, and will possess
aptitude and intellect. The association of human beings with robots will be
ordinary and usual. In the near future, robots will not be a complex machine,
but equipment or machinery to be utilized in every day life, including
washing, assisting in moving of disabled or injured people, working in
factories, etc.
Robotic Surgery
Doctors visualize that in the near future advanced robots will be utilized to
assist in carrying out long distance medical treatment including surgery,
diagnosis, and other medical treatment. This will enable the treatment to be
carried out in a shorter time, and it may not be necessary for the patients to
travel long distances, which presently may even involve travel from one
continent to another. Robots may also assist in carrying out minor medical
treatment, instead of advising a pill for certain ailment, a small robot may be
introduced in the blood, which will sense the reason of ailment, and
subsequently arrange appropriate medicines in the affected part of the body.
Improvement In Human Brain
Robots will be introduced into parts of human beings, such as intellectual
insertion in the brain, which will enhance memory and improve ideas in the
mind. Nano robots will even be injected into the blood to wash and scrub
blood vessels. The human mind with the assistance of robotic brains will be
able to perform 100 trillion commands per second.
Robots In Biomimetics
The next concentration for modern robots will be biomimetics, an area which
will concentrate on the manufacture of equipment that obtain guidance from
the environment as motivation for their looks and attitude. Presently, broad
research is being carried out in this field.
Manipulation Robotic Systems: Automatic Type
Manipulation Robotic Systems, an integral part of many industrial
manipulators, are mainly divided on the basis of the type of control system
they have. Automatic robots, a type of manipulation robotic system, are
considered to be one of the earliest robotic systems.
Automatic Type Robots are an integral part of several industrial robotics
systems, and are supposed to be the earliest type of robotic system present in
the market today. Automatic robots are divided into four main categories,
mainly based on their characteristics and application.
Manipulation robotic system can be can be classified into three main types:
Autonomous controlled
Remotely controlled
Manually controlled
An autonomous robotic system is mainly used as industrial robots whereas
the remotely controlled robots are used in areas or environments which are
inaccessible or harmful to humans. The manually controlled system is used
for handling goods or for transportation purposes.
Classification of Autonomous Robotic system
Out of the three types of manipulation robotic systems, the autonomous
system can be further classified into
Non Programmable
Programmable and Non Programmable Automatic Robots
Out of these, non-programmable robots are of the most basic type. In fact a
non-programmable robot is not even considered a robot, but a manipulator
devoid of any reprogrammable controlling device. One example of such
robots is the mechanical arm used in industries. Non-programmable robots
are generally attached to programmable equipment used in manufacturing
industries for mass production.
A programmable robot, as the name suggests, is a first generation robot with
an actuator with the facility of each of its joints being reprogrammable
according to the kind of application. The function and application of the
robots can be changed just by reprogramming the robot, however once
programmed, they perform a specific function in a fixed sequence and fixed
pattern. All the industrial robots are of programmable type which would
perform a monotonous motion both in the presence or absence of any part in
its grip. The main drawback of this type of robot is that, once programmed, it
can be used to hold an object of a specific type and shape and that too placed
in a particular position. As this type of robot cannot change its position when
required, it is always a bit difficult to use in a changing application system.
Adaptive Robots
Adaptive robots are also industrial robots, but of a kind more sophisticated
than programmable robots. Unlike programmable robots, adaptive robots can
adapt to a certain extent and, after evaluating a particular situation, perform
the action required. In order to enable them to perform these tasks, adaptive
robots are equipped with sensors and control system. The sensors sense the
change in environmental conditions, and the control system, by assessing the
signals from sensors, provides the required motion. Adaptive robots are
generally used in situations wherein it is difficult to program a robot to
perform actions in a particular pattern due to obstacles or other moving parts.
Adaptive robots are used in functions such as welding, spray painting, etc.
Intelligent Robots
Intelligent robots, as the name suggests, are the most intelligent of all types,
with several sensors and microprocessors for storing, analyzing, and
processing the data. Intelligent robots can perform any kind of work because
of their ability to analyze any situation and provide the necessary movement
according to that. For this, the system is provided with several manipulators,
having their own controllers.
Recommended Additional Features for Multimeters
in Robot Building
In order to make robot building even more efficient, you don't only purchase
any multimeter, but you can purchase one with extra features that are not
typically included in basic multimeters. Although the price will be higher, it
is well worth the purchase.
Previously, I wrote about the required features of multimeters for robot
building. In this article, I will cover other nice-to-have recommended features
that are worth paying the extra for. However, if you’re budget is limited, you
can stick with a more basic multimeter. The recommended features make the
task of robot building easier and more efficient.
Capacitance is an indication of how many electrons can be stored, and is
measured in farads. For robotic purposes, it is recommended to have a
capacitance range of 0.000000000020 f to 0.01 F. Although most multimeters
do have the capacitance feature, most do not have as wide a range.
The diode mode is an indication as to how much electrical pressure is needed
to turn a semiconductor on, and is measured in volts. For robotic purposes,
the diode mode is critical since it can aid us in identifying different types of
diodes, and identifying and testing transistors.
Continuity is an indication as to whether or not there is an electrical
connection between two different points, and is measured in ohms. The
continuity feature comes in two forms--audible and inaudible. Audible
continuity means that a beep is sounded when an electrical connection exists
between two points. Inaudible continuity means that you will have to use the
resistance setting, in which you must look at the display instead of listening
for a beep.
Frequency is an indication as to how many times something is happening
every second, and is measured in hertz. For robotic purposes, it is
recommended to have a frequency range of 0.1 Hz to 50,000,000 Hz.
Although some multimeters do have a frequency feature, most do not have as
wide a range.
Duty Cycle
Duty cycle is an indication as to how frequently a measurement is high as
compared to how frequently a measurement is low, and is measured in
percentages. For robotics, the duty cycle measurement is crucial for pulsewidth modulation. This feature is usually accessed in the frequency mode.
Most multimeters do not have the duty cycle feature.
The transistor mode gives an indication as to the amount of amplification of a
transistor by measuring the hFE. By inserting a transistor into the socket
holes, you can determine its bipolar nature, whether npn or pnp. If your
multimeter does not have a transistor mode, you can use the diode feature to
determine the bipolar nature of a transistor.
Identifying and Purchasing Resistors
Robots use many resistors on their circuit boards. These resistors are so
crucial for electronics that they would not operate without them. Therefore, it
is important to know how to identify resistors if one wants to build or analyze
an electronic part.
The water supply that is connected to your home comes through a rather large
pipe. But the pipe leading to the shower is much smaller. The reason for this
is to take up less space and deliver less water to the location. Similarly,
resistors limit the flow of electricity in order to reduce waste and efficiently
deliver the required amount of electricity to each part.
Obtaining a Resistor Variety Pack
Resistors are extremely valuable, yet inexpensive, so you’ll want to acquire a
variety of values. A place to start is with a ½-watt, 5% tolerance, carbon-film
variety pack, as is shown below.
The resistor packs in the above table are sufficient for starting. The Jameco
#107879 has a cabinet as well, which is always nice.
Understanding Size and Tolerance
It is recommended to begin with the ½-watt through-hole resistors since their
size makes it easier to decipher their color-coded bands. It is also fine to use
the smaller ¼-watt through-hole resistors. Surface-mount resistors, however,
are too small to experiment with, unless you’re experienced, so it’s best not
to use them if you’re a beginner.
A 5% tolerance indicates that a 100 Ω resistor could be low as 95 Ω or high
as 105 Ω, which is accurate enough for homemade robots. One can purchase
the 1% tolerance, which is more expensive, but the robot will not notice the
Cutting it Out
Resistors often appear connected together with tape. This is done because
they are manufactured in long reels to be fed into robotic part-placement
machines. A distributor can purchase a reel and cut different lengths for
custom orders.
Peeling off the tape is an option, but residue does remain on the ends of the
resistors. This residue can prevent an effective metal-to-metal connection
when it comes to prototyping, and can stick to holes and sockets. A better
option is to use a wire cutter tool to snip the ends off the resistors from the
reel tape.
Such a wire cutter is depicted below. It is advisable that you do not use a
scissor instead, as the scissor blades will become dull and may deform.
Resistance and Ohms
Ohms is the unit applied to resistance and is abbreviated with the symbol Ω.
Therefore, 100 ohms is exactly the same as 100 Ω. If you can remember that
resistance is like the small pipe leading to the shower head, a large Ω
indicates larger resistance, or the small pipe.
Self-Learning Control System Concepts Simplified
Control system design and operation have improved with the advance of
technology, but the basic premises of their functioning and optimization are
necessary information for today's engineers. One can think of them as
complicated feedback systems, with better brains than they had before.
What is Control System?
In general, a control system is a part of a larger system that manages the
behavior of the larger system itself. The control system of a computer is the
set of programs in the operating system that interacts with the CPU and
peripherals in order to run the computer. In a CNC machine, the control
system likely consists of a controller board (logic board) and a number of
hydraulic actuators operated by control valve switches.
With the advancement of technology, control systems have become more
sophisticated and intelligent. In the old days, mechanical switches were used
for controlling a system, and then came relays, then programmable logic
controllers (PLCs), microcontrollers, and now, microprocessors.
All the control systems can be broadly classified under two headers:
sequential control systems and feedback control systems.
What is a Self-learning Control System?
The self learning or adaptive control system is a kind of advanced intelligent
feedback based control system.
Actuators: This part of a system actually performs the
output function of the system. For example, the pneumatic
cylinder of the automatic door closing system is the output
system. Hydraulic and pneumatic cylinders, electric and
hydraulic motors are used as actuators in most systems.
System Performance Parameter Sensors: Performance of
the actuators is sensed using these sensors to get the feedback
signals about how much deviation exists in actuator
performance. Mechanical sensors, laser-based sensors, and
proximity sensors are a few names of the huge variety of the
sensors used in industry.
Environment Parameter Sensors:
These sensors are used for monitoring the change in the
operating environments. The signals from these sensors help in
refining the control parameters otherwise designed for the ideal
operating environment.
Data Acquisition System: The signals sent by the System
Performance Parameter Sensors as well as the Environment
Parameter Sensors are collected and converted to useful data
or knowledge by the data acquisition system.
Knowledge Base: Useful data or knowledge is stored
systematically here. As the system matures, the size of the
knowledge base increases and so does the efficiency of the selflearning control system.
Decision Making System: This is the brain. It sends
optimized signals to the actuators based on the knowledge,
experience, and present situation.
Applications of Adaptive Self-learning Control Systems
Active suspension systems: These intelligent automobile
suspension systems use separate actuators to support the
suspensions for the individual wheels. When a wheel rolls over
a bump in the road, the control system senses it and makes a
decision to release some pressure from the actuator connected
to that wheel, which in turns allows the suspension of the wheel
to rise, without disturbing the rest of car. When one wheel of
the car finds a depression or pot hole in the road, the system
increases the hydraulic pressure of that actuator in such a way
that the actuator pushes the suspension of that wheel
downward, and thus the rest of the car don’t get destabilized.
Auto-pilot or cruise control systems: The autopilot is an
intelligent control system used mainly for aircraft to fly without
the need for human interventions. The system continuously
monitors the system parameters (like engine speed, vibrations,
engine temperature, and airspeed) as well as the environment
parameters (like altitude, humidity, and wind speed) and make
optimum flying decision continuously. Similar systems are
used for spacecraft and ships as well.
Adaptive mobile robots: The adaptive control system of
intelligent mobile robots helps in acquiring and applying
knowledge from the surrounding environment. It learns about
things like new obstacles, and the motion of the robot keeps
The self-learning adaptive control system is a kind of advanced intelligent
feedback-based control system. It has complex feedback and environment
sensors, a decision making system, a knowledge base, and work-producing
actuators. The system makes intelligent operating decisions based on the
current operating conditions and past experiences. This kind of control
system is most suitable for applications where complete prior information of
the time-varying control parameters is not possible. For example, the weight
of an airplane continuously decreases as the fuel is depleted, thus increasing
the range the airplane can fly on the remaining fuel. While designing this
kind of system, it must be kept in mind that these applications cannot afford a
dysfunctional control system, so system reliability is paramount.
Applying Artificial Intelligence and Machine
Learning in Robotics
Artificial intelligence (AI) is set to disrupt practically every industry imaginable, and industrial robotics
is no different. The powerful combination of robotics and AI or machine learning is opening the door to
entirely new automation possibilities.
Currently, artificial intelligence and machine learning are being applied in limited ways and enhancing
the capabilities of industrial robotic systems. We have yet to reach the full potential of robotics and
machine learning, but current applications are promising.
4 Tenets of Artificial intelligence and Machine Learning in
There are four areas of robotic processes that AI and machine learning are impacting to make current
applications more efficient and profitable. The scope of AI in robotics includes:
Vision – AI is helping robots detect items they’ve never seen before
and recognize objects with far greater detail.
Grasping – robots are also grasping items they’ve never seen before
with AI and machine learning helping them determine the best position
and orientation to grasp an object.
Motion Control – machine learning helps robots with dynamic
interaction and obstacle avoidance to maintain productivity.
Data – AI and machine learning both help robots understand physical
and logistical data patterns to be proactive and act accordingly.
AI and machine learning are still in their infancy in regards to robotic applications, but they’re already
having an important impact.
Two Types of Industrial Robot Applications Using Artificial Intelligence and
Machine Learning
Supply chain and logistics applications are seeing some of the first implementations of AI and machine
learning in robotics.
In one example, a robotic arm is responsible for handling frozen cases of food that are covered in frost.
The frost causes the shape of the objects to change – the robot is not just presented different parts
occasionally, it’s being continuously presented with differently shaped parts. AI helps the robot detect
and grasp these objects despite the variations in shape.
Another prime example of machine learning involves picking and placing over 90,000 different part
types in a warehouse. This volume of part types wouldn’t be profitable to automate without machine
learning, but now engineers can regularly feed robots images of new parts and the robot can then
successfully grasp these part types.
AI and machine learning will have a transformative impact on industrial robots. While these
technologies are still in their infancy.
A safe, wearable soft sensor
This biocompatible sensor is made from a non-toxic, highly conductive liquid
solution that could be used in diagnostics, therapeutics, human-computer
interfaces, and virtual reality.
By Leah Burrow
Children born prematurely often develop neuromotor and cognitive
developmental disabilities. The best way to reduce the impacts of those
disabilities is to catch them early through a series of cognitive and motor
tests. But accurately measuring and recording the motor functions of small
children is tricky. As any parent will tell you, toddlers tend to dislike wearing
bulky devices on their hands and have a predilection for ingesting things they
Harvard University researchers have developed a soft, non-toxic wearable
sensor that unobtrusively attaches to the hand and measures the force of a
grasp and the motion of the hand and fingers.
The research was published in Advanced Functional Materials and is a
collaboration between the Wyss Institute for Biologically Inspired
Engineering, The Harvard John A. Paulson School of Engineering and
Applied Sciences (SEAS), Beth Israel Deaconess Medical Center, and
Boston Children’s Hospital.
One novel element of the sensor is a non-toxic, highly conductive liquid
“We have developed a new type of conductive liquid that is no more
dangerous than a small drop of salt water,” said Siyi Xu, a graduate student
at SEAS and first author of the paper. “It is four times more conductive than
previous biocompatible solutions, leading to cleaner, less noisy data.”
The sensing solution is made from potassium iodide, which is a common
dietary supplement, and glycerol, which is a common food additive. After a
short mixing period, the glycerol breaks the crystal structure of potassium
iodide and forms potassium cations (K+) and iodide ions (I-), making the
liquid conductive. Because glycerol has a lower evaporation rate than water,
and the potassium iodide is highly soluble, the liquid is both stable across a
range of temperatures and humidity levels, and highly conductive.
“Previous biocompatible soft sensors have been made using sodium
chloride-glycerol solutions but these solutions have low conductivities,
which makes the sensor data very noisy, and it also takes about 10 hours to
prepare,” said Xu. “We’ve shortened that down to about 20 minutes and get
very clean data.”
Safe, soft sensors on the top and tip of the index finger detect the movements,
strain and force of the finger while performing different activities, such as
flexing and extending the finger and picking up weights and boxes.
The design of the sensors also takes the need of children into account.
Rather than a bulky glove, the silicon-rubber sensor sits on top of the finger
and on the finger pad.
“We often see that children who are born early or who have been diagnosed
with early developmental disorders have highly sensitive skin,” said Eugene
Goldfield, Ph.D., coauthor of the study, and Associate Faculty Member of
the Wyss Institute at Harvard University and an Associate Professor in the
Program in Behavioral Sciences at Boston Children’s Hospital and Harvard
Medical School. “By sticking to the top of the finger, this device gives
accurate information while getting around the sensitively of the child’s
Goldfield is the Principal investigator of the Flexible Electronics for
Toddlers project at the Wyss Institute, which designs modular robotic
systems for toddlers born prematurely and at risk for cerebral palsy.
Goldfield and his colleagues currently study motor function using the
Motion Capture Lab at SEAS and Wyss. While motion capture can tell a lot
about movement, it cannot measure force, which it critical to diagnosing
neuromotor and cognitive developmental disabilities.
“Early diagnosis is the name of the game when it comes to treating these
developmental disabilities and this wearable sensor can give us a lot of
advantages not currently available,” said Goldfield.
This paper only tested the device on adult hands. Next, the researchers plan
to scale down the device and test it on the hands of children.
“The ability to quantify complex human motions gives us an unprecedented
diagnostic tool,” says senior author Robert Wood, Ph.D., Founding Core
Faculty Member of the Wyss Institute and the Charles River Professor of
Engineering and Applied Sciences at SEAS. “The focus on the development
of motor skills in toddlers presents unique challenges for how to integrate
many sensors into a small, lightweight, and unobtrusive wearable device.
These new sensors solve these challenges – and if we can create wearable
sensors for such a demanding task, we believe that this will also open up
applications in diagnostics, therapeutics, human-computer interfaces, and
virtual reality.”
How robots are helping doctors save lives in
the Canadian North
It is the middle of the winter and a six-month-old child is brought with acute
respiratory distress to a nursing station in a remote community in the
Canadian North.
The nurse realizes that the child is seriously ill and contacts a pediatric
intensivist located in a tertiary care centre 900 kilometres away. The
intensivist uses her tablet to activate a remote presence robot installed in the
nursing station and asks the robot to go to the assessment room.
The robot autonomously navigates the nursing station corridors and arrives
at the assessment room two minutes later. With the help of the robot’s
powerful cameras, the doctor “sees” the child and talks to the nurse and the
parents to obtain the medical history. She uses the robot’s stethoscope to
listen to the child’s chest, measures the child’s oxygen blood saturation with
a pulse oximeter and performs an electrocardiogram.
With the robot’s telestrator (an electronic device which enables the user to
write and draw freehand over a video image) she helps the nurse to start an
intravenous line and commences therapy to treat the child’s life-threatening
This is not science fiction. This remote presence technology is currently in
use in Saskatchewan, Canada — to provide care to acutely ill children living
in remote Northern communities.
Treating acutely ill children
Advances in telecommunication, robotics, medical sensor technology and
artificial intelligence (AI) have opened the door for solutions to the
challenge of delivering remote, real-time health care to underserviced rural
and remote populations.
A team uses a remote presence robot to see a patient in the emergency room.
(University of Saskatchewan),
In Saskatchewan, we have established a remote medicine program that
focuses on the care of the most vulnerable populations — such as acutely ill
children, pregnant women and the elderly.
We have demonstrated that with this technology about 70 per cent of acutely
ill children can be successfully treated in their own communities. In similar
communities without this technology, all acutely ill children need to be
transported to a tertiary care centre.
We have also shown that this technology prevents delays in diagnosis and
treatment and results in substantial savings to the health-care system.
Prenatal ultrasounds for Indigenous women
Remote communities often lack access to diagnostic ultrasonography
services. This gap disproportionally affects Indigenous pregnant women in
the Canadian North and results in increases in maternal and newborn
morbidity and mortality.
We are pioneering the use of an innovative tele-robotic ultrasound system
that allows an expert sonographer to perform a diagnostic ultrasound study,
in real time, in a distant location.
Research shows that robotic ultrasonography is comparable to standard
sonographyand is accepted by most patients.
Emergency room trauma assessment
Portable remote presence devices that use available cellular networks could
also be used in emergency situations, such as trauma assessment at the scene
of an accident or transport of a victim to hospital.
For example, emergency physicians or trauma surgeons could perform realtime ultrasonography of the abdomen, thorax and heart in critically injured
patients, identify life-threatening injuries and start life-saving treatment.
Wearable remote presence devices such a Google Glass technology are the
next step in remote presence health care for underserviced populations.
For example, a local nurse and a specialist in a tertiary care centre thousand
of kilometres away could assess together an acutely ill patient in an
emergency room in a remote community through the nurse’s eyes.
A nurse examines a patient with Google Glass.
Although remote presence technology may be applied initially to emergency
situations in remote locations, its major impact may be in the delivery of
primary health care. We can imagine the use of mobile remote presence
devices by health professionals in a wide range of scenarios — from homecare visits to follow-up mental health sessions — in which access to medical
expertise in real time would be just a computer click away.
A paradigm shift in health-care delivery
The current model of centralized health care, where the patient has to go to a
hospital or a clinic to receive urgent or elective medical care, is inefficient
and costly. Patients have to wait many hours in emergency rooms. Hospitals
run at overcapacity. Delays in diagnosis and treatment cause poor outcomes
or even death.
Underserviced rural and remote communities and the most vulnerable
populations such as children and the elderly are the most affected by this
centralized model.
Remote presence technologies have the potential to shift this — so that we
can deliver medical care to a patient anywhere. In this decentralized model,
patients requiring urgent or elective medical care will be seen, diagnosed
and treated in their own communities or homes and patients requiring
hospitalization will be triaged without delay.
This technology could have important applications in low-resource settings.
Cellular network signals around the globe and rapidly increasing bandwidth
will provide the telecommunication platform for a wide range of mobile
Low-cost, dedicated remote-presence devices will increase access to
medical expertise for anybody living in a geographical area with a cellphone
signal. This access will be especially beneficial to people in developing
countries where medical expertise is insufficient or not available.
The future of medical care is not in building more or bigger hospitals but in
harnessing the power of technology to monitor and reach patients wherever
they are — to preserve life, ensure wellness and speed up diagnosis and
Robocar year in review for 2018
In spite of what most are writing, it was a year of much progress.
A number of other summaries of 2018 in robocars have called it a bad year,
the year it all went south, even the year the public realized that robocars will
never come.
In fact, 2018 was the year the field reached a new level of maturity, as its
warts began to show, and we saw the first missteps (minor and major) and
the long anticipated popping of some of the hype.
As predicted by Gartner’s famous “hype cycle” any highly-hyped
technology goes through a “trough of disillusionment” after the initial
surge.I see several reasons why the trough is happening now:
The public is starting to understand some realities which have not
been very well conveyed to them, though they were known by the major
This is a very hard task
It is geographic in nature, due to the need of mapping and local driving
rules, and so it begins in limited areas and grows from there.
The amount of QA needed to get to unmanned operation is immense,
and if you have money, there is no reason to remove safety drivers until
you’re quite sure.
The so called “level 5” isn’t on any serious roadmap, and may never
Cars showed up at the peak of Gartner’s very own chart a couple of
years ago, so it’s just about time in their rulebook
It’s very typical in software for dates to slip.People predict when they
hope they can make a target, which is really the beginning of the time
window in their estimate.
Some people, such as Elon Musk, have made irresponsibly optimistic
predictions, leading the public to imagine their drive-everywhere robocar
is coming next year.
If you follow Gartner’s literal curve, they had robocars at the top in
2015.So the trough doesn’t really even need a reason.But I think there will
be multiple peaks and troughs.
In reality, the plan at Waymo and many other companies has always been to
build a car that serves a limited set of streets — a small set of easy streets —
at the start, and then starts growing the network of streets, and eventually
towns with streets, as time goes by.
There is going to be a big surge once the technology reaches a level where
the remaining problems are no longer technological as logistic.That is to
say, when the barrier to expanding to new streets and cities is the detailed
work of mapping those streets, learning the local rules and working with
local governments.That’s when the “land rush” happens.The limiting factor
there is time and talent more than it’s money.
But none of that happens until the cars are ready for deployment, and until
they are, they will be tested as prototypes with safety drivers in them.Even
the first prototype services, like Waymo’s and Zoox’s and others, will have
safety drivers in them.
The Uber fatality — the top story of the year
No question the big story this year was the death of Elaine Herzberg as the
result of a compound series of errors and bad practices at Uber.The story is
notable for many reasons, including of course how it happened, but also in
the public’s reaction. For a long time, I’ve been assured by many skeptics
that the first death would mean the end of the robocar dream.The public
actually thinks the first deaths were in Teslas (they weren’t) and Tesla stock
went up after they took places. The Uber fatality was real, and did teach us
that teams are capable of more negligence than I had thought. While it did
scale up public distrust, and Uber did shut down their program for at least a
year, the overall effect still seems modest.(The larger effect will be much
greater intolerance for the next fatality, the one that would have been the
Here’s some of my many posts on Uber this year:
It certainly looks bad for Uber
How does a robocar see a pedestrian and how might Uber have gone
Comparing the Uber and Tesla fatalities with a table
Uber reported to have made an error tuning perception system
NTSB Report implies serious fault for Uber in fatality
Did Uber really botch the switch to one driver and a timeline of the
Almost every thing that went wrong in the Uber fatality is both
terrible and expected
Don’t watch TV while safety driving
Story #2 — Waymo’s non-launch
Waymo remains the clear leader in the field, so the next top story has to be
about them, but sadly it’s the story of their first miss — promising to launch
in 2018 and feeling forced to do a “launch” that was really just a
formalization of existing activity. I believe that Uber is partly to blame here,
in that it did use up a lot of the public’s tolerance for errors, especially in the
Phoenix area.Waymo soft launches in Phoenix, but
The better story for Waymo, however, was their first totally unmanned
operations earlier in the year.This also disappointed people because these
unmanned operations were on a much more limited scale than people
originally imagined, but it’s still a major milestone.It means Waymo’s team
convinced the lawyers and board that the systems were good enough to take
this risk, even if only in a limited area.
Waymo goes totally unmanned, arbitration and other news
Uber and Waymo settle lawsuit in a giant victory for Uber
The Waymo-Uber battle, triggered by Anthony Levandowski, was
concluded this year.
Anthony Levandowski, Jiajun Zhu and Dave Furguson, all formerly
of Google Car, make big announcements Anthony even came back, and
other alumni of Waymo/Google Car had their milestones.Nuro’s launch of
a truly unmanned road robot is also significant.
Aurora’s manifesto is worth a readAurora, lead by former Waymo
leader Chris Urmson, laid out their excellent philosophy well.
Recent Waymo announcements are slightly underwhelming
Waymo’s left turns frustrate other drivers
Flying Cars
This was also the year that “flying cars” also known as e-VTOL aircraft,
“took off.”It’s now clear the engineering problems are close to solved,
though many social and logistic problems remain.These vehicles are at the
stage robocars were 10 years ago, and the excitement is building.Sebastian
Thrun, the modern “father of self-driving cars” and the man who first got
me excited about them, has switched his efforts to flying.I’ll be writing
more on this in the coming year.
Tons of new ideas in aviation.Will regulation stop them?
Robocars, Flying Cars and Hyperloops, oh my!The not so fictional future of
the city
The Flying car — and Flying Ambulance — is closer than we thought
Kitty Hawk “Cora” comes out of stealth
Flying cars, robocars and more will rewrite the rural landscape, for good
and ill
Other notable news
In chronological order, not order of importance
Lidars and other sensors
Tons of LIDARs at CES 2018Sensors were a big story this year
New “Shared Mobility Principles” have too much 2018 thinking.
FMCW LIDAR is coming, what does it mean?
Nice summary of LIDAR technologies — is it a “crutch?”
Robocars enter phase two as different strategies aboundWhat
approaches are the teams taking?
The GM/Cruise robocar interior is refreshingly spartan What robocar
interiors will look like.
All about sensors: Advanced radar and more for the future of
Local Motors hopes to win with 3D printed robocars A different,
small volume approach
Cruise getting a ticket is a very positive story Cruise got too close to a
pedestrian, or did it?
Tesla model X fatality in Silicon Valley had Autopilot turned on We
learn more about what Tesla autopilot isn’t.
Tesla makes a custom neural network chip, is that wise?A first taste of
robocar processor battles.
Google gets a bunch of news — and that is news.Also, contract
Tim Kentley-Klay suddenly ousted from Zoox See also my analysis
of Zoox, written just before this.
New NHTSA regulations, Waymo miles and big deals
My essays on the issues
The main focus of this site are my essays on the issues and future of
robocars.Here are the ones from this year I think you will find most
Designing a metric to measure robocar safety — what does insurance
teach? I examine the hard problem of measuring the safety level of a
Making tunnels for robocars would be vastly cheaper than subways
for trains like SF’s new Central SubwayOnce we have robocars, we
should rethink even what we put in private right-of-way like subway
The paradox on robocar accidentsA fundamental change of thinking
for understanding trends in accidents
NHTSA/SAE’s “levels” of robocars may be contributing to highway
Driving without a map is another example of being cheap rather than
being safeA mistake I think a few of the major teams are making.This is
not the time to be cheap, this is the time to be safe as quickly as you can.
Safety Drivers for Robocars — the issues and rationaleIn light of
Uber’s mistakes, how should we think of the role of the safety driver?
No, ads won’t pay for your robotaxi ride — but your employer might,
and that has big consequencesDebunking one of the sillier ideas out thre,
but realizing the basic concept may mean employers pay for commutes,
which affects a lot of the economics of travel.
The road trip robocar and tourist robocarWhat a robocar meant for
tourists and road trips might be like.
Is BRT the best answer for bewildered city planners?City planners
should future-proof their urban plans by using BRT instead of LRT or
Is the Zoox plan for a custom car the path to robotaxi domination?I
talk about Zoox’s radical plan and wonder if it’s smart.
Sharing the ride:Less sharing is better for transit, more sharing better
for carsBreaking up the biggest myth of transit planning, that bigger is
The death of parking services has already begunRobocars change
parking greatly.Uber has already started that change.
Calculating all the externalities of drivingWhat we need to do to really
plan transportation well.
The Spot Market in ParkingA plan for how parking will get sold in the
Cars will go to the chargers, you don’t need to bring the chargers to
the carsSolving the charging infrastructure problem for electric cars.
What does airline competition tell us about robotaxi competition?
Sleeper carsThe first of two essays on cars designed for long-haul
overnight trips.
Sleeper cars and the unexpected efficiency of solo transport
The dance between pedestrians and robocarsHow should cars and
pedestrians interact?
The future timeline of robocars — 2020s land rush, 2030s
maturityThe answer to that ever-popular question of “When will the
robocars arrive?”
Will people with robocars hire them out as taxis when they are not
using them?Breaking apart the economics of sharing your private robocar.
What processors will be important in robocars?Is the battle for the
chip market important?
What happens to human driven cars in the robocar world?No, we
don’t kick the humans off the road for a long time.
Waymo is first, but is Cruise second, and how can you tell?Why it’s
hard to rank the teams.
Study claims robocars increase pollution; they could not be more
The utilitarian math overwhelming says we should be aggressive in
robocar development.How do we do that?A look into the moral calculus
of taking risks in order to save lives.
Robots with sticky feet can climb up, down,
and all around
Jet engines can have up to 25,000 individual parts, making regular
maintenance a tedious task that can take over a month per engine. Many
components are located deep inside the engine and cannot be inspected
without taking the machine apart, adding time and costs to maintenance.
This problem is not only confined to jet engines, either; many complicated,
expensive machines like construction equipment, generators, and scientific
instruments require large investments of time and money to inspect and
HAMR-E uses electroadhesive pads on its feet and a special gait pattern to
climb on vertical, inverted, and curved surfaces, like the inside of this jet
Researchers at Harvard University’s Wyss Institute for Biologically Inspired
Engineering and John A. Paulson School of Engineering and Applied
Sciences (SEAS) have created a micro-robot whose electroadhesive foot
pads, origami ankle joints, and specially engineered walking gait allow it to
climb on vertical and upside-down conductive surfaces, like the inside walls
of a commercial jet engine. The work is reported in Science Robotics.
“Now that these robots can explore in three dimensions instead of just
moving back and forth on a flat surface, there’s a whole new world that they
can move around in and engage with,” said first author Sébastien de Rivaz,
a former Research Fellow at the Wyss Institute and SEAS who now works
at Apple. “They could one day enable non-invasive inspection of hard-toreach areas of large machines, saving companies time and money and
making those machines safer.”
The new robot, called HAMR-E (Harvard Ambulatory Micro-Robot with
Electroadhesion), was developed in response to a challenge issued to the
Harvard Microrobotics Lab by Rolls-Royce, which asked if it would be
possible to design and build an army of micro-robots capable of climbing
inside parts of its jet engines that are inaccessible to human workers.
Existing climbing robots can tackle vertical surfaces, but experience
problems when trying to climb upside-down, as they require a large amount
of adhesive force to prevent them from falling
The team based HAMR-E on one of its existing micro-robots, HAMR,
whose four legs enable it to walk on flat surfaces and swim through water.
While the basic design of HAMR-E is similar to HAMR, the scientists had
to solve a series of challenges to get HAMR-E to successfully stick to and
traverse the vertical, inverted, and curved surfaces that it would encounter in
a jet engine.
First, they needed to create adhesive foot pads that would keep the robot
attached to the surface even when upside-down, but also release to allow the
robot to “walk” by lifting and placing its feet. The pads consist of a
polyimide-insulated copper electrode, which enables the generation of
electrostatic forces between the pads and the underlying conductive surface.
The foot pads can be easily released and re-engaged by switching the
electric field on and off, which operates at a voltage similar to that required
to move the robot’s legs, thus requiring very little additional power. The
electroadhesive foot pads can generate shear forces of 5.56 grams and
normal forces of 6.20 grams – more than enough to keep the 1.48-gram
robot from sliding down or falling off its climbing surface. In addition to
providing high adhesive forces, the pads were designed to be able to flex,
thus allowing the robot to climb on curved or uneven surfaces.
HAMR-E is small but mighty, and could one day carry instruments and
cameras to inspect small spaces.
The scientists also created new ankle joints for HAMR-E that can rotate in
three dimensions to compensate for rotations of its legs as it walks, allowing
it to maintain its orientation on its climbing surface. The joints were
manufactured out of layered fiberglass and polyimide, and folded into an
origami-like structure that allows the ankles of all the legs to rotate freely,
and to passively align with the terrain as HAMR-E climbs.
Finally, the researchers created a special walking pattern for HAMR-E, as it
needs to have three foot pads touching a vertical or inverted surface at all
times to prevent it from falling or sliding off. One foot releases from the
surface, swings forward, and reattaches while the remaining three feet stay
attached to the surface. At the same time, a small amount of torque is
applied by the foot diagonally across from the lifted foot to keep the robot
from moving away from the climbing surface during the leg-swinging
phase. This process is repeated for the three other legs to create a full
walking cycle, and is synchronized with the pattern of electric field
switching on each foot.
When HAMR-E was tested on vertical and inverted surfaces, it was able to
achieve more than one hundred steps in a row without detaching. It walked
at speeds comparable to other small climbing robots on inverted surfaces
and slightly slower than other climbing robots on vertical surfaces, but was
significantly faster than other robots on horizontal surfaces, making it a
good candidate for exploring environments that have a variety of surfaces in
different arrangements in space. It is also able to perform 180-degree turns
on horizontal surfaces.
HAMR-E also successfully maneuvered around a curved, inverted section of
a jet engine while staying attached, and its passive ankle joints and adhesive
foot pads were able to accommodate the rough and uneven features of the
engine surface simply by increasing the electroadhesion voltage.
This iteration of HAMR-E is the first and most convincing step
towards showing that this approach to a centimeter-scale
climbing robot is possible, and that such robots could in the
future be used to explore any sort of infrastructure, including
buildings, pipes, engines, generators, and more
The team is continuing to refine HAMR-E, and plans to incorporate sensors
into its legs that can detect and compensate for detached foot pads, which
will help prevent it from falling off of vertical or inverted surfaces. HAMRE’s payload capacity is also greater than its own weight, opening the
possibility of carrying a power supply and other electronics and sensors to
inspect various environments. The team is also exploring options for using
HAMR-E on non-conductive surfaces.
“This iteration of HAMR-E is the first and most convincing step towards
showing that this approach to a centimeter-scale climbing robot is possible,
and that such robots could in the future be used to explore any sort of
infrastructure, including buildings, pipes, engines, generators, and more,”
said corresponding author Robert Wood, Ph.D., who is a Founding Core
Faculty member of the Wyss Institute as well as the Charles River Professor
of Engineering and Applied Sciences at SEAS.
The team based HAMR-E on one of its existing micro-robots, HAMR,
whose four legs enable it to walk on flat surfaces and swim through water.
While the basic design of HAMR-E is similar to HAMR, the scientists had
to solve a series of challenges to get HAMR-E to successfully stick to and
traverse the vertical, inverted, and curved surfaces that it would encounter in
a jet engine.
First, they needed to create adhesive foot pads that would keep the robot
attached to the surface even when upside-down, but also release to allow the
robot to “walk” by lifting and placing its feet. The pads consist of a
polyimide-insulated copper electrode, which enables the generation of
electrostatic forces between the pads and the underlying conductive surface.
The foot pads can be easily released and re-engaged by switching the
electric field on and off, which operates at a voltage similar to that required
to move the robot’s legs, thus requiring very little additional power. The
electroadhesive foot pads can generate shear forces of 5.56 grams and
normal forces of 6.20 grams – more than enough to keep the 1.48-gram
robot from sliding down or falling off its climbing surface. In addition to
providing high adhesive forces, the pads were designed to be able to flex,
thus allowing the robot to climb on curved or uneven surfaces.
HAMR-E is small but mighty, and could one day carry instruments and
cameras to inspect small spaces. Credit: Wyss Institute at Harvard University
The scientists also created new ankle joints for HAMR-E that can rotate in
three dimensions to compensate for rotations of its legs as it walks, allowing
it to maintain its orientation on its climbing surface. The joints were
manufactured out of layered fiberglass and polyimide, and folded into an
origami-like structure that allows the ankles of all the legs to rotate freely,
and to passively align with the terrain as HAMR-E climbs.
Finally, the researchers created a special walking pattern for HAMR-E, as it
needs to have three foot pads touching a vertical or inverted surface at all
times to prevent it from falling or sliding off. One foot releases from the
surface, swings forward, and reattaches while the remaining three feet stay
attached to the surface. At the same time, a small amount of torque is
applied by the foot diagonally across from the lifted foot to keep the robot
from moving away from the climbing surface during the leg-swinging
phase. This process is repeated for the three other legs to create a full
walking cycle, and is synchronized with the pattern of electric field
switching on each foot.
When HAMR-E was tested on vertical and inverted surfaces, it was able to
achieve more than one hundred steps in a row without detaching. It walked
at speeds comparable to other small climbing robots on inverted surfaces
and slightly slower than other climbing robots on vertical surfaces, but was
significantly faster than other robots on horizontal surfaces, making it a
good candidate for exploring environments that have a variety of surfaces in
different arrangements in space. It is also able to perform 180-degree turns
on horizontal surfaces.
HAMR-E also successfully maneuvered around a curved, inverted section of
a jet engine while staying attached, and its passive ankle joints and adhesive
foot pads were able to accommodate the rough and uneven features of the
engine surface simply by increasing the electroadhesion voltage.
This iteration of HAMR-E is the first and most convincing step
towards showing that this approach to a centimeter-scale
climbing robot is possible, and that such robots could in the
future be used to explore any sort of infrastructure, including
buildings, pipes, engines, generators, and more
The team is continuing to refine HAMR-E, and plans to incorporate sensors
into its legs that can detect and compensate for detached foot pads, which
will help prevent it from falling off of vertical or inverted surfaces. HAMRE’s payload capacity is also greater than its own weight, opening the
possibility of carrying a power supply and other electronics and sensors to
inspect various environments. The team is also exploring options for using
HAMR-E on non-conductive surfaces.
“This iteration of HAMR-E is the first and most convincing step towards
showing that this approach to a centimeter-scale climbing robot is possible,
and that such robots could in the future be used to explore any sort of
infrastructure, including buildings, pipes, engines, generators, and more,”
said corresponding author Robert Wood, Ph.D., who is a Founding Core
Faculty member of the Wyss Institute as well as the Charles River Professor
of Engineering and Applied Sciences at SEAS.
Growing bio-inspired shapes with a 300-robot
Artistic photo taken by Jerry H. Wright showing a hand-made shape
generated following an emergent Turing pattern (displayed using the LEDs).
The trajectory of one of the moving robots can be seen through long
exposure. Jerry also used a filter to see the infrared communication between
the robots (white light below the robots reflected on the table). Reprinted
with permission from AAAS.
Our work published today in Science Robotics describes how we grow fully
self-organised shapes using a swarm of 300 coin-sized robots. The work was
led by James Sharpe at EMBL and the Centre for Genomic Regulation
(CRG) in Barcelona – together with my team at the Bristol Robotics
Laboratory and University of Bristol.
Self-organised shapes
Nature is capable of producing impressive functional shapes throughout
embryonic development. Broadly, there are two ways to form these shapes.
1) Top-down control. Cells have access to information about their position
through some coordinate system, for example generated through their
molecular gradients. Cells use this information to decide their fate, which
ultimately creates the shapes. There are beautiful examples of this strategy
being used for robot swarms, check here for work by Rubenstein et al.
2) Local self-organisation. Cells generate reaction-diffusion systems, such
as those described by Alan Turing, resulting in simple periodic patterns.
Cells can use these patterns to decide their fate and the resulting shape.
We use the second strategy, here’s how it works.
We start from a swarm of 300 closely packed robots in a disc – each running
the same code. Each robot stores two morphogens u and v, which you can
think of as virtual chemical signals. Morphogen u activates itself and the
other morphogen v, whereas v inhibits itself and the other morphogen u –
this is a ‘reaction’ network. ‘Diffusion’ of u and v happens through
communication from robot to robot. Symmetry breaking caused by the
‘reaction-diffusion’ system results in spots emerging on the swarm (or
stripes if we change the parameters!). Areas with high-levels of morphogens
are shown in green – that’s what we call a “Turing spot”.
Image adapted from Slavkov, I., Zapata D. C. et al., Science Robotics (2018).
Tissue movement
In biology, cells may die or multiply depending on their patterning. As we
can’t do either of those things with robots, we simply move robots from
areas where they are no longer needed to areas of growth. The general idea
is that robots that are on the edge of the swarm, and are not in a Turing spot,
move along the edge of the swarm until they are near the spot. This causes
protrusions to grow at the location of the Turing spots.
Following these simple rules, we are able to grow shapes in a repeatable
manner, although all the shapes are slightly different. If you watch the
video, you’ll see that these shapes look quite organic. We did over 20
experiments with large robot swarms, each one taking about 3 hours.
Because the rules are so simple, and only rely on local information, we get
adaptability and robustness for free.
First, as the shape grows, the Turing spots move, showing that the
patterning adapts to the shape of the swarm, and that the shape further
adapts to the patterning. Second, we can easily change the starting
configuration of the swarm (smaller number of robots, or a ‘rectangular’
starting conditions) and the shape still forms.
Image adapted from Slavkov, I., Zapata D. C. et al., Science Robotics (2018).
Chopping off a protrusion, causes the robots to regrow it, or to reallocate
robots to other protrusions in the swarm. Splitting the swarm causes it to
Image adapted from Slavkov, I., Zapata D. C. et al., Science Robotics (2018).
Potential for real world applications
While inspiration was taken from nature to grow the swarm shapes, the goal
is ultimately to make large robot swarms for real-world applications.
Imagine hundreds or thousands of tiny biodegradable robots growing shapes
to explore a disaster environment after an earthquake or fire, or sculpting
themselves into a dynamic 3D structure such as a temporary bridge that
could automatically adjust its size and shape to fit any building or terrain.
There is still a long way to go however, before we see such swarms outside
the laboratory.
Drones and satellite imaging to make forest
protection pay
Better tracking of forest data will make the climate change reporting process
easier for countries who want compensation for protecting their carbon stock.
Image credit – lubasi, licensed under CC BY-SA 2.0
Every year 7 million hectares of forest are cut down, chipping away at the
485 gigatonnes of carbon dioxide (CO2) stored in trees around the world, but
low-cost drones and new satellite imaging could soon protect these carbon
stocks and help developing countries get paid for protecting their trees.
‘If you can measure the biomass you can measure the carbon and get a
number which has value for a country,’ said Pedro Freire da Silva, a satellite
and flight system expert at Deimos Engenharia, a Portuguese technology
International financial institutions, such as the World Bank and the
European Investment Bank, provide developing countries with economic
support to keep forests’ carbon stocks intact through the UN REDD+
The more carbon a developing country can show it keeps in its forests, the
more money the government could get, which would give them a greater
incentive to protect these lands. But, according to Silva, these countries
often lack the tools to determine the exact amount of carbon stored in their
forests and that means they could be missing out on funding.
‘If you have a 10% error in your carbon stock (estimation), that can have a
financial value,’ he said, adding that it also takes governments a lot of time
and energy to collect the relevant data about their forests.
To address these challenges, a project called COREGAL developed
automated low-cost drones that map biomass. They put a special sensor on
drones that fly over forests and analyse Global Positioning System (GPS)
and Galileo satellite signals as they bounce back through a tree canopy,
which then reveals the biomass density of an area and, in turn, the carbon
‘The more leaves you have, the more power (from GPS and Galileo) is lost,’
said Silva who coordinated the project. This means when the drone picks up
weaker satellite navigation readings there is more biomass below.
‘If you combine this data with satellite data we get a more accurate map of
biomass than either would (alone),’ he added.
The project trialled their drone prototype in Portugal, with Brazil in mind as
the target end user as it is on the frontline of global deforestation. According
to Brazilian government data, an area about five times to size of London
was destroyed between August 2017 and July this year.
COREGAL’s drones could end up enabling countries such as Brazil to
access more from climate funds, in turn creating a stronger incentive for
governments to protect their forests. Silva also believes the drones could act
as a deterrent against illegal logging.
‘If people causing deforestation know that there are (drone) flight
campaigns or people going to the field to monitor forests it can demotivate
them,’ he said. ‘It is like a sentinel system.’
In the meantime, governments in other developing countries still need the
tools to help them fight deforestation. According to Dr Thomas Häusler, a
forest and climate expert at GAF, a German earth observation company, the
many drivers of deforestation make it very difficult to sustainably manage
‘(Deforestation) differs between regions and even in regions you have
different drivers,’ said Dr Häusler. ‘In some countries they (governments)
give concessions for timber logging and companies are (then) going to huge
(untouched forest) areas to selectively log the highest value trees.’
Logging like this is occurring in Brazil, central Africa and Southeast Asia.
When it happens, Dr Häusler says this can cause huge collateral damage
because loggers leave behind roads that local populations use to access
previously untouched forests which they further convert for agriculture or
harvest wood for energy.
Demand for timber and agricultural produce from developed countries can
also drive deforestation in developing countries because their governments
see the forest as a source of economic development and then allow
With such social, political and economic dependency, it can be difficult, and
expensive, for governments to implement preventative measures. According
to Dr Häusler, to protect untouched forests these governments should be
compensated for fighting deforestation.
‘To be compensated you need strong (forest) management and observation
(tools),’ said Dr Häusler, who is also the coordinator of EOMonDis, a
project developing an Earth-observation-based forest monitoring system that
aims to support governments.
Domino effect
They combine high-resolution data from the European Sentinel satellites,
available every five days through Copernicus, the EU’s Earth observation
system, along with data from the North American Landsat-8 satellite.
Automated processing using special algorithms generates detailed maps on
the current and past land use and forest situation to identify the carbon-rich
forest areas. The project also has access to satellite data going as far back as
the 1970s which can be used to determine how much area has been affected
by deforestation.
Like COREGAL, using these maps, and the information they contain, a
value is put on the most carbon-rich forest areas, meaning countries can
access more money from international financial institutions. The project is
almost finished and they soon hope to have a commercially viable system
for use.
‘The main focus is the climate change reporting process for countries who
want compensation in fighting climate change,’ said Dr Häusler. ‘We can
support this process by showing the current land-use situation and show the
low and high carbon stocks.’
Another potential user of this system is the international food industry that
sells products containing commodities linked to deforestation such as palm
oil, cocoa, meat and dairy. In response to their contribution, and social
pressure, some of these big companies have committed to zero-deforestation
in their supply chain.
‘When someone (a company) is declaring land as zero deforestation, or that
palm plantations fit into zero deforestation, they have to prove it,’ said Dr
Häusler. ’And a significant result (from the project) is we can now prove
3Q: Aleksander Madry on
trustworthy artificial intelligence
Aleksander Madry is a leader in the emerging field of building guarantees
into artificial intelligence, which has nearly become a branch of machine
learning in its own right.
Photo courtesy of CSAIL
Machine learning algorithms now underlie much of the software we use,
helping to personalize our news feeds and finish our thoughts before we’re
done typing. But as artificial intelligence becomes further embedded in daily
life, expectations have risen. Before autonomous systems fully gain our
confidence, we need to know they are reliable in most situations and can
withstand outside interference; in engineering terms, that they are robust.
We also need to understand the reasoning behind their decisions; that they
are interpretable.
Aleksander Madry, an associate professor of computer science at MIT and a
lead faculty member of the Computer Science and Artificial Intelligence Lab
(CSAIL)’s Trustworthy AI initiative, compares AI to a sharp knife, a useful
but potentially-hazardous tool that society must learn to weild properly.
Madry recently spoke at MIT’s Symposium on Robust, Interpretable AI, an
event co-sponsored by the MIT Quest for Intelligence and CSAIL, and held
Nov. 20 in Singleton Auditorium. The symposium was designed to showcase
new MIT work in the area of building guarantees into AI, which has almost
become a branch of machine learning in its own right. Six faculty members
spoke about their research, 40 students presented posters, and Madry
opened the symposium with a talk the aptly titled, “Robustness and
Interpretability.” We spoke with Madry, a leader in this emerging field,
about some of the key ideas raised during the event.
Q: AI owes much of its recent progress to deep learning, a branch of
machine learning that has significantly improved the ability of algorithms to
pick out patterns in text, images and sounds, giving us automated assistants
like Siri and Alexa, among other things. But deep learning systems remain
vulnerable in surprising ways: stumbling when they encounter slightly
unfamiliar examples in the real world or when a malicious attacker feeds it
subtly-altered images. How are you and others trying to make AI more
A: Until recently, AI researchers focused simply on getting machinelearning algorithms to accomplish basic tasks. Achieving even average-case
performance was a major challenge. Now that performance has improved,
attention has shifted to the next hurdle: improving the worst-case
performance. Most of my research is focused on meeting this challenge.
Specifically, I work on developing next-generation machine-learning
systems that will be reliable and secure enough for mission-critical
applications like self-driving cars and software that filters malicious content.
We’re currently building tools to train object-recognition systems to identify
what’s happening in a scene or picture, even if the images fed to the model
have been manipulated. We are also studying the limits of systems that offer
security and reliability guarantees. How much reliability and security can
we build into machine-learning models, and what other features might we
need to sacrifice to get there?
My colleague Luca Daniel, who also spoke, is working on an important
aspect of this problem: developing a way to measure the resilience of a deep
learning system in key situations. Decisions made by deep learning systems
have major consequences, and thus it’s essential that end-users be able to
measure the reliability of each of the model’s outputs. Another way to make
a system more robust is during the training process. In her talk, “Robustness
in GANs and in Black-box Optimization,” Stefanie Jegelka showed how the
learner in a generative adversarial network, or GAN, can be made to
withstand manipulations to its input, leading to much better performance.
Q: The neural networks that power deep learning seem to learn almost
effortlessly: Feed them enough data and they can outperform humans at
many tasks. And yet, we’ve also seen how easily they can fail, with at least
three widely publicized cases of self-driving cars crashing and killing
someone. AI applications in health care are not yet under the same level of
scrutiny but the stakes are just as high. David Sontag focused his talk on the
often life-or-death consequences when an AI system lacks robustness. What
are some of the red flags when training an AI on patient medical records and
other observational data?
A: This goes back to the nature of guarantees and the underlying
assumptions that we build into our models. We often assume that our
training datasets are representative of the real-world data we test our models
on — an assumption that tends to be too optimistic. Sontag gave two
examples of flawed assumptions baked into the training process that could
lead an AI to give the wrong diagnosis or recommend a harmful treatment.
The first focused on a massive database of patient X-rays released last year
by the National Institutes of Health. The dataset was expected to bring big
improvements to the automated diagnosis of lung disease until a skeptical
radiologist took a closer look and found widespread errors in the scans’
diagnostic labels. An AI trained on chest scans with a lot of incorrect labels
is going to have a hard time generating accurate diagnoses.
A second problem Sontag cited is the failure to correct for gaps and
irregularities in the data due to system glitches or changes in how hospitals
and health care providers report patient data. For example, a major disaster
could limit the amount of data available for emergency room patients. If a
machine-learning model failed to take that shift into account its predictions
would not be very reliable.
Q: You’ve covered some of the techniques for making AI more reliable and
secure. What about interpretability? What makes neural networks so hard to
interpret, and how are engineers developing ways to peer beneath the hood?
A: Understanding neural-network predictions is notoriously difficult. Each
prediction arises from a web of decisions made by hundreds to thousands of
individual nodes. We are trying to develop new methods to make this
process more transparent. In the field of computer vision one of the pioneers
is Antonio Torralba, director of The Quest. In his talk, he demonstrated a
new tool developed in his lab that highlights the features that a neural
network is focusing on as it interprets a scene. The tool lets you identify the
nodes in the network responsible for recognizing, say, a door, from a set of
windows or a stand of trees. Visualizing the object-recognition process
allows software developers to get a more fine-grained understanding of how
the network learns.
Another way to achieve interpretability is to precisely define the properties
that make the model understandable, and then train the model to find that
type of solution. Tommi Jaakkola showed in his talk, “Interpretability and
Functional Transparency,” that models can be trained to be linear or have
other desired qualities locally while maintaining the network’s overall
flexibility. Explanations are needed at different levels of resolution much as
they are in interpreting physical phenomena. Of course, there’s a cost to
building guarantees into machine-learning systems — this is a theme that
carried through all the talks. But those guarantees are necessary and not
insurmountable. The beauty of human intelligence is that while we can’t
perform most tasks perfectly, as a machine might, we have the ability and
flexibility to learn in a remarkable range of environments.
What are some of the basic sensors used in
Sensors are everywhere, and it would be impossible to imagine modern life
without them. We commonly use several sensors in various electronic
devices and machines. But what exactly is a “Sensor” and what are its
applications? Let’s start with understanding a few things.
What is Sensor?
A sensor is a device that detects and responds to some type of input from the
physical environment. The specific input could be light, heat, motion,
moisture, pressure, or any one of a great number of other environmental
The output is generally a signal that is converted to human-readable display
at the sensor location or transmitted electronically over a network for reading
or further processing.
Why use Sensors?
Sensor technology can store the data in memory, from where it can be
retrieved later for processing, analysis, and presentation.
Alternatively, sensor technology can display graphs of data in "real time", the
graph is constructed as the data is being collected, and the graph is then
modified on the screen as the data is processed.
Sensors in Robotics
The use of sensors in Robots has taken them to the next level of creativity.
Most importantly, the sensors have increased the performance of robots to a
large extent. It also allows the robots to perform several functions like a
human being.
Some commonly used sensors along with their principle and
applications are explained as follows:
#1 Light Sensor
A Light sensor is used to detect light and create a voltage difference.
Photoresistors are widely used light sensors whose resistance varies with
change in light intensity; more light leads to less resistance and less light
leads to more resistance
Automatic Solar Tracker project is developed using the same sensor.
#2 Proximity Sensor
This sensor can detect the presence of a nearby object within a given
distance, without any physical contact and working principle of a proximity
sensor is very simple - Transmitter transmits an electromagnetic radiation or
creates an electrostatic field and a receiver receives and then analyzes the
return signal for interruptions.
Infrared (IR) Transceivers
An IR LED transmits a beam of IR light and if it finds an obstacle, the light is
simply reflected back which is captured by an IR receiver. Few IR
transceivers are also be used for the measurement of distance.
Ultrasonic Sensor
These sensors generate high-frequency sound waves; the received echo
suggests an object interruption. Ultrasonic Sensors can also be used for
distance measurement.
As discussed earlier, photoresistor is a light sensor but, it can still be used as
a proximity sensor. When an object comes in close proximity to the sensor,
the amount of light changes which in turn changes the resistance of the
photoresistor. This change can be detected and then processed.
Projects like Sensor Guided Robotics, Maze Solver Robot and 7 Robots
(Combo Course) are developed using IR Sensors.
#3 Accelerometer
An accelerometer is an electromechanical device used to measure
acceleration forces. Such forces may be static, like the continuous force of
gravity or, as is the case with many mobile devices, dynamic to sense
movement or vibrations. Smartphones and other mobile technology identify
their orientation through the use of an accelerometer.
Gesture based Robot project is developed using the Accelerometer sensor.
#4 Temperature Sensor
Temperature is the most common of all physical measurements. We have
temperature measurement-and-control units, called thermostats, on our home
heating systems, refrigerators, air conditioners, and ovens.
How to make your first Robot?
Your first robot is one which you never forget. Watching your creation do
something as simple as scoot around the floor is exhilarating, particularly if
you've built it from scratch. The best part of building a Robot is that it offers
something that is increasingly rare in the world of electronics: the opportunity
to create a moving, working machine with your bare hands.
Getting started with robotics can be hard, especially if one doesn’t know
where and how to start. The best way to start is to build a simple model with
less expensive parts available locally. Initially, you need to begin by building
a robot which moves forward and backward, left and right through
controlling it wirelessly. However after you get the basics right, you can
actually add and modify things. Move onto a little more complex robot where
you guide it by using a camera or make a manually controlled robot which is
controlled using a wireless remote.
Top 5 Tips to follow while building a Robot:
#1: Learn about Electronics
This is an essential part of building a robot. You don’t need to have an
engineering degree but you need to know some of the basics. Before you
build a robot you need to understand what does resistor, transistor,
thermistor, diode, Capacitor mean. Referring right book provides invaluable
help. You can also go through some magazines.
#2: Start off small
Stay small! Resist the urge to let your mind run wild with possibilities of
cooking robot that will dust and vacuum at the same time. You need to start
off small. Robots can get very expensive. One should learn to build your own
parts rather than buying the pre-made robot. You can make most of the parts
from the household things initially but as the feature increases the robot
becomes expensive.
#3: Plan Robot for an application
Once done with the initial robot, one has to start and plan the robot which can
actually do something. A common mistake among the students is that they
don’t plan their robot ahead of time. When you have a definite goal in your
mind then you are much more motivated to finish it. A great way to do this is
to participate in a contest. There are many clubs that will conduct competition
annually. Participation will also help in exploring new ideas and technology
in robotics.
#4: Work regularly on your Robot
Make yourself work on your robots regularly, especially if you want to
participate in a contest and coming back to a project after weeks of ignoring
is tough. Take that time to think about the project and plan. It will help, even
if it’s just for a few minutes before bed. Also, keep a regular journal of what
you’ve done. Documenting your work is important.
#5: Ask questions and share your experiences
You get a lot of information on the internet, subscribe to every email list,
forums, and newsgroup that you can find and just ask questions. You’ll learn
more that way than any book or website. Questions are never stupid. Don’t be
shy. If you have Imaged out something then write an article or email. Let
others know how to do things in a right way.
What is Mechatronics and Robotics?
Mechatronics is combination or junction of Electrical, Mechanical, and
Computer ScienceEngineering. Mechatronics is the closest to robotics with
the slight and main difference in mechatronics systems inputs are provided
whereas in robotics systems it acquires the inputs by their own.
A Mechanical Engineer is mostly responsible for the Mechanical body parts,
Electrical/Computer Engineer for the Electrical aspect and Computer
Engineer for Programming. And the Mechatronics Engineer must be pretty
much qualified for every partition we discussed above.
What is the functional unit of Robotics?
Body Structure- Most robots consist of a metal-based physical body
structure that provides protection to the internal mechanisms within the
robot. The body shape or structure is based on the robots intended use or
Muscle Systems- The muscle systems of robots can be made up of a number
of different mechanisms. The most popular muscle mechanisms are gears,
pneumatic actuators, artificial muscle, and thrusters.
Sensory Systems- A robot’s sensory system can be very simple or very
complex, depending on the function of the robot. Simple sensory systems
make use of devices such as simple motion detectors, while complex sensory
systems use optical cameras that enable the robot to not only see the
environment around it but interact with the environment based on its
Power Source- The power source used in most robots comes from an electric
power supply. The two most common forms of electric power supplies for
robots are grounded electrical power outlets for stationary robots or internal
battery units for mobile robots.
Brain System- The “brain” system of robots is closely related to and work
for hand in hand with the sensory system. Brain systems of robots can also
be either very simple or very complex, depending on the function of the
robot. A simple “brain” system would send a signal to the robot’s muscle
system telling it to stop if a sensory system detected was activated. A
complex “brain” system would allow a robot to identify objects within the
environment around it, based on the information gathered by the sensory
systems. The “brain system” would then send signals to the muscle systems
based on that information, enabling the robot to interact with the objects
surrounding it. If we go beyond the Artificial Intelligence come into play.
Some ExamplesRobotics is a very broad term, we must go through different application to
understand it better.
Medical Robots – which mimic the movement of the surgeon.
Military Robots- Drones that are Unmanned used for surveillance to the
various around the world. Robots used to defuse bombs, survey the package,
sentry guns which work with the help of sensors track targets the military is
developing huge in robotics
Automation and Manufacturing – Cars, Dishwashers, computers and many
which can assemble, drill, paint and build things with extreme precision. The
robots do the same movement over and over and even keep the precision
which is not possible for a human.
There are household robots that can automatically vacuum your floor,
Agricultural robots that use for harvesting,
Underwater Photography and Videography
I had somebody ask me questions this week about underwater photography
and videography with robots (well, now it is a few weeks ago…). I am not an
expert at underwater robotics, however as a SCUBA diver I have some
experience that can be applicable towards robotics.
Underwater Considerations
There are some challenges that exist with underwater photography and
videography, that are less challenging above the water. Some of them
Water reflects some of the light that hits the surface, and absorbs the
light that travels through it. This causes certain colors to not be visible at
certain depths. If you need to see those colors you often need to bring
strong lights to restore the visibility of those wavelengths that were
absorbed. Red’s tend to disappear first, blues are the primary color seen as
camera depth increases. A trick that people often try is to use filters on the
camera lens to make certain colors more visible.
If you are using lights then you can get the true color of the target.
Sometimes if you are taking images you will see one color with your eye,
and then when the strobe flashes a “different color” gets captured. In
general you want to get close to the target to minimize the light absorbed
by the water.
Visible colors at given depths underwater.
For shallow water work you can often adjust the white balance to sort
of compensate for the missing colors. White balance goes a long ways for
video and compressed images (such as .webp). Onboard white balance
adjustments are not as important for photographs stored as with a raw
image format, since you can deal with it in post processing. Having a
white or grey card in the camera field of view (possibly permanently
mounted on the robot) is useful for setting the white balance and can make
a big difference. The white balance should be readjusted every so often as
depth changes, particularly if you are using natural lighting (ie the sun).
Cold temperate water tends to look green (such as a freshwater quarry) (I
think from plankton, algae, etc..). Tropical waters (such as in the
Caribbean) tend to look blue near the shore and darker blue as you get
further away from land (I think based on how light reflects off from the
bottom of the water)… Using artificial light sources (such as strobes) can
minimize those colors in your imagery.
Auto focus generally works fine underwater. However if you are in the
dark you might need to keep a focus light turned on to help the autofocus
work, and then a separate strobe flash for taking the image. Some systems
turn the focus light off when the images are being taken. This is generally
not needed for video as the lights are continuously turned on.
Objects underwater appear closer and larger than they really are. A
rule of thumb is that the objects will appear 25% larger and/or closer.
Suspended particles in the water (algae, dirt, etc..) scatters light which
can make visibility poor. This can obscure details in the camera image or
make things look blurry (like the camera is out of focus). A rule of thumb
is your target should be less than 1/4 distance away from the camera as
your total visibility.
The measure of the visibility is called turbidity. You can get turbidity
sensors that might let you do something smart (I need to think about this
To minimize the backscatter from turbidity there is not a “one size fits all”
solution. The key to minimizing backscatter is to control how light strikes
the particles. For example if you are using two lights (angled at the left and
right of the target), the edge of each cone of light should meet at the target.
This way the water between the camera and the target is not illuminated.
For wide-angle lenses you often want the light to be behind the camera (out
of its plane) and to the sides at 45° angles to the target. With macro lenses
you usually want the lights close to the lens.
If you have a wide-angle lens you probably will use a domed port to
protect the camera from water and get the full field of view of the camera.
The dome however can cause distortion in the corners. Here is an
interesting article on flat vs dome ports.
Another tip is to increase the exposure time (such as 1/50th of a second) to
allow more natural light in, and use less strobe light to reduce the effect
from backscatter.
Being underwater usually means you need to seal the camera from
water, salts, (and maybe sharks). Make sure the enclosure and seals can
withstand the pressure from the depth the robot will be at. Also remember
to clean (and lubricate) the O rings in the housing.
Pro Tip:Here are some common reasons for O ring seals leaking:
1. Old or damaged O rings. Remember O rings don’t last forever and need
to be changed.
2. Using the wrong O ring
3. Hair, lint, or dirt getting on the O ring
4. Using no lubricant on the O ring
5. Using too much lubricant on the O rings. (Remember on most systems
the lubricant is for small imperfections in the O ring and to help slide the
O rings in and out of position.
On land it is often easy to hold a steady position. Underwater it is
harder to hold the camera stable with minimal motion. If the camera is
moving a faster shutter speed might be needed to avoid motion blur. This
also means that less light is entering the camera, which is the downside of
having the faster shutter speed.
When (not if) your camera floods
When your enclosure floods while underwater (or a water sensor alert is
1. Shut the camera power off as soon as you can.
Check if water is actually in the camera. Sometimes humidity can
trigger moisture sensors. If it is humidity, you can add desiccant packets in
the camera housing.
If there is water, try to take the camera apart as much as you
reasonably can and let it dry. After drying you can try to turn the camera
on and hope that it works. If it works then you are lucky, however
remember there can be residual corrosion that causes the camera to fail in
the future. Water damage can happen instantaneously or over time.
Verify that the enclosure/seals are good before sending the camera
back in to the water. It is often good to do a leak test in a sink or pool
before going into larger bodies of water.
The above items are a standard response to a flooded camera. You
should read the owner’s manual of your camera and follow those
Lithium, Lithium-ion, LiPo & LiFePO4Battery
Safety and Fire Handling
Lithium battery safety is an important issue as there are more and more
reports of fires and explosions. Fires have been reported in everything from
cell phones to airplanes to robots.
I am not a fire expert. This post is based on conversations with experts and
some basic research. Contact your local fire department for advice specific to
your situation. I had very little success contacting my local fire department
about this, hopefully you will have more luck.
Preventing Problems
1. Use a proper charger for your battery type and voltage. This will help
prevent overcharging. In many cases lithium-ion batteries catch fire when the
chargers keep dumping charge into the batteries after the maximum voltage
has been reached.
2. Use a battery management system (BMS) when building battery packs
with multiple cells. A BMS will monitor the voltage of each cell and halt
charging when any cell reaches the maximum voltage. Cheap BMS’s will
stop all charging when any cell reaches that maximum voltage. Fancier/better
BMS’s can individually charge each cell to help keep the battery pack
balanced. A balanced pack is good since each cell will be a similar voltage
for optimal battery pack performance. The fancy BMS’s can also often detect
if a single cell is reading wrong. There have been cases of a BMS’s working
properly but a single cell going bad which confuses the BMS; and yields a
3. Only charge batteries in designated areas. A designated area should be non
combustible. For example cement, sand, cinder block and metal boxes are not
uncommon to use for charging areas. For smaller cells you can purchase fire
containment bags designed to put the charging battery in.
In addition the area where you charge the batteries should have good
I have heard that on the Boeing Dreamliner, part of the solve for their
batteries catching fire on planes, was to make sure that the metal enclosure
that the batteries were in could withstand the heat of a battery fire. And also
to make sure that in the event of a fire the fumes would vent outside the
aircraft and not into the cabin.
Dreamliner battery pack before and after fire. [SOURCE]
4. Avoid short circuiting the batteries. This can cause a thermal runoff which
will also cause a fire/explosion. When I say avoid short circuiting the battery
you are probably thinking of just touching the positive and negative leads
together. While that is an example you need to think of other methods as
well. For example puncturing a cell (such as with a drill bit or a screw driver)
or compressing the cells, can cause a short-circuit with a resulting thermal
5. Avoid connecting battery packs in parallel (with no BMS). If the voltage
on each battery pack is different (ie. unbalanced) then one of the batteries can
push a lot of charge to the other batteries. This can also yield a fire.
6. Don’t leave batteries unattended when charging. This will let people be
available in case of a problem. However, as you saw in the video above, you
might want to keep a distance from the battery in case there is a catastrophic
event with flames shooting out from the battery pack.
I have seen several designs for self-contained charging stations for
extinguishing fires. Most of them involve suspending sandbags over the
charging station. If the plastic bags holding the sand melts, all of the sand
will fall on the batteries and smother the fire. See youtube for some examples.
7. Store batteries within the specs of the battery. Usually that means room
temperature and out of direct sunlight (to avoid overheating). Also charging
lithium batteries in extreme cold can cause internal battery damage that will
cause a fire during subsequent charges.
8. Training of personnel for handling batteries, charging batteries, and what
to do in the event of a fire. Having people trained in what to do can be
important so that they stay safe. For example, without training people might
not realize how bad the fumes are. Also make sure people know where the
fire pull stations are and where the extinguishers are.
9. Don’t attempt to charge lithium cells that have been over-discharged, as
over-discharging the cell can result in damage to the cell that can cause future
charge cycles to catch fire. Over-discharging can happen if the cell is
discharged without proper BMS electronics or if the battery is left to sit for
extended periods of time (years) and self-discharges.
10. Visually inspect the battery for defects before charging and using. If any
bulging, punctures, burn marks, etc.. are found, do not use the batteries.
Dispose of the batteries in a safe manner. If you are being very good, you can
caliper the batteries from time to time to make sure their is no bulging.
Handling Fires
1. There are 2 primary issues with a lithium fire. The fire itself and the gases
released. This means that even if you think you can safely extinguish the fire,
you need to keep in mind the fumes and possibly clear away from the fire.
2a. Lithium batteries which are usually in the form of small non-rechargeable
batteries (such as in a watch) in theory require a class D fire extinguisher.
However most people do not have one available. As such, for the most part
you need to just let it burn itself out (it is good that the batteries are usually
small). You can use a standard class ABC fire extinguisher to prevent the
spread of the fire. Avoid using water on the lithium battery itself since the
lithium and water can react violently.
2b. Lithium-ion batteries (including LiFePO4, etc…) that are used on many
robots, are often larger and rechargeable. For these batteries there is not a lot
of actual lithium metal in the battery, so you can use water, class ABC fire
extinguisher, or CO2 extinguisher. The CO2 extinguisher are often nice since
they do not leave a bad residue on your electronics. You do not use a class D
extinguisher with these batteries. You will most likely need a lot of water or
With both of these types of fires, there is a good chance that you will not be
able to extinguish it. There is also a good chance that by the time you get an
extinguisher the battery part of the fire will be out, and you will be dealing
with surrounding combustibles that are on fire. If you can safety be in the
area your primary goal is to allow the battery to burn in a controlled and safe
manner. If possible try to get the battery outside and on a surface that is not
combustible. As a reminder lithium-ion fires are very hot and flames can
shoot out from various places unexpectedly; you need to be careful and only
do what you can do safety. If you have a battery with multiple cells it is not
uncommon for each cell to catch fire separately. So you might see the flames
die down, then shortly after another cell catches fire, and then another; as the
cells cascade and catch fire.
A quick reminder about how to use a fire extinguisher. Remember first you
Pull the pin, then you Aim at the base of the fire, then you Squeeze the
handle, followed by Sweeping back and forth at the base of the fire.
3. In many cases the batteries are in an enclosure where if you spray the
robots with an extinguisher you will not even reach the batteries. In this case
your priority is your safety (from fire and fumes), followed by preventing the
fire from spreading. To prevent the fire from spreading you need to make
sure all combustible material is away from the robot. If possible get the
battery pack outside.
In firefighting school a common question is: Who is the most important
person? To which the response is, me!
4. If charging the battery, try to unplug the battery charger from wall. Again
only if you can do this safely. Electricity should be disconnected before
dousing the fire with water.
CAN and CCP/XCP for Error Detection and
Kvaser reached out to me about writing a sponsored post to put on this site. I
have used many Kvaser CAN interfaces in the past. Since they work well and
are reliable I agreed. I also dont know anything about CCP/XCP; so this
should be interesting.
This is my first time accepting a sponsored post (and is the only post on this
site that I did not write). If you like or do not like this let me know in the
comments below.
The Control Area Network (CAN) is an incredibly robust system. It is
because of this that the protocol is can be used for data collection and
calibration across a variety of industries. CAN contains five different error
checks throughout the communication protocol to ensure data are transmitted
correctly. If an error is detected, CAN will retransmit the data until they are
received without error. Partially because of the robustness of the system,
CAN has become the standard within the automotive industry and a
compelling choice for autonomous systems in robotics.
Error Detection With CAN
One of the greatest advantages of using CAN for device communication is
the protocol’s stellar acuity at error detection. During transmission, messages
are tested for errors by each CAN controller connected to the common bus
line. Each message in a CAN bus is given a priority, with error messages
ranking as the highest priority. If an error condition occurs, the CAN frame is
interrupted to force retransmission as soon as possible.
The CAN protocol has five methods of detecting errors, including:
Bit Monitoring: Each transmitter monitors signal levels, signaling a
Bit Error if the actual bit level reads differently than the one transmitted.
This ensures that all global errors are detected.
Bit Stuffing: A 6th bit of the opposite level is added to the outgoing
bit stream after 5 consecutive bits of the same level have been transmitted
(it is then removed by the receivers). If more than 5 bits of the same level
are transmitted, a Stuff Error will occur.
Frame Check: Parts of a message will have a fixed format. If the
controller identifies an invalid value in one of these standardized fields, an
Error Form will signal.
Acknowledgement Check: Each node on the bus will send a
dominant level to the acknowledge (ACK) slot when a message is
received. If this is undetected by a transmitter, an Acknowledgement Error
will occur.
Cyclic Redundancy Check: Each message has a 15-bit cyclic
redundancy check (CRC). If this is not detected by a node, a CRC Error
will be signaled. This is the primary way local errors found among
different receivers are detected. In other words, all CAN frames are
broadcast in the CAN protocol, and the receivers of the information are
selected by the software reading the received CAN frame from the CAN
controller. This also ensures that all devices have exactly the same
information available at exactly the same time so that processing is done
with all the same information, allowing for a consistent control system.
CCP/XCP for Calibration
CCP (CAN Calibration Protocol) is the protocol used primarily within the
automotive industry for the calibration of electronic control units (ECUs).
CCP/CXP is a basic specification that makes it possible to read and write to
the internal memories of an ECU. However, this protocol can be used in other
industries, like robotics, for microcontroller development and similar
functions. CCP is used to support the following functions:
Read and write to ECU memory
Cyclical data acquisition and concurrent calibration from an ECU
Handling of multiple nodes on the CAN bus
The most recent version of CCP is the XCP standard, which improves upon
several areas of calibration, including:
Ease of Use: The XCP protocol has a more clearly defined standard,
leaving less up to user interpretation and needing fewer proprietary
Improved Efficiency: More download and programming commands
are available, which improves data transfers between devices and the
ECU. XCP also features auto detection of slaves, a benefit exclusive to
this calibration protocol.
Basic CCP/XCP Commands and Error Handling
Before commands can be sent, a logical connection between master/slave
must be established. This connection will continue until a disconnect
command or new slave node appears. The master controls all communication
between the two. Because commands used in CCP/XCP are generic and not
node-specific, each node has a unique station address. Every reply from slave
to master will contain either data or an error code.
In order to establish a connection with an ECU it is always necessary to use
the commands CONNECT at start and DISCONNECT to stop the
communication link. For configuration of the CCP/XCP link there is a
command EXCHANGE_ID to setup the session.
Common commands for CCP/CXP.[SOURCE]
CCP/XCP has changed over time so in many cases it is necessary for the tool
to handle different versions of the CCP/XCP communication. To make this
possible there is a command GET_CCP_VERSION to get knowledge how to
use CCP/XCP with this particular ECU.
In some cases it is necessary to have some protection and in that case there is
keying where commands GET_SEED, UNLOCK are used.
After the configuration all exchange is a write and read of the memory. There
are two different means to do that, one for larger memory sections where
SET_MTA define the memory address (virtual or real) and the reading and
writing is done by UPLOAD and DNLOAD. This function is used when
programming the ECU or to read and write larger sections of the memory.
To write parameters there is a second solution using the commands
SET_DAQ_PTR and WRITE_DAQ. For the administration of this there are
two commands GET_DAQ_SIZE and START_STOP. By this function it is
possible to read or write a number of parameters in a data structure that fits
into a data-package (8 byte in CAN). This function is used to set and get
parameters without any knowledge about the actual location in a memory
map. This is used to read back some internal parameters and adjust
controllable parameters to calibrate the ECU to the best behavior.
CCP/XCP is not a complete standard for calibrating an ECU, but it is
essential for making it possible to exchange information with an ECU. Which
information to exchange and how that information is used in the ECU, is not
defined in the CCP/XCP specification.
The CAN Protocol in Action
In 2008, Nexi, an MDS (Mobile, Dexterous, Social) robot, was named by
Time magazine as one of the 50 best inventions for that year. This robot was
considered revolutionary because of its ability to use verbal and non-verbal
communication. CAN was chosen as the communications protocol for Nexi
partly because of the system’s quick and reliable error detection methods. A
dual channel CAN card was used for position feedback for motor control, and
CANLib software was integrated into the existing API to interface with the
CAN bus. In addition to humanoid robots of the future, CAN is also expected
to continue as the staple for the auto industry—including use in autonomous
PolySync (formerly Harbrick) has created a vehicle kit that will allow
developers to design an autonomous vehicle. The revolutionary operating
system simplifies the backend infrastructure, giving developers the freedom
to focus on the code necessary for their unique vehicle. In this system, CAN
continues as the chosen communications protocol because of the system’s
proven reliability. Co-Founder and CEO Josh Hartung, explains “CAN’s realtime behavior, high message integrity and simplicity, among its many
attributes, assures its place within the communication infrastructure of
tomorrow’s vehicles, particularly for device/motion control, timing and data
critical applications.”
CAN has long been the chosen protocol within the automotive industry, and,
as autonomous vehicles emerge, it looks as though this will continue to be
true. Because adoption of autonomous vehicles relies heavily on the
guaranteed safety of users, the reliability of CAN makes the protocol an
obvious choice.
LIDAR vs RADAR: A Detailed Comparison
Hi all
I was recently asked about the differences between RADAR and LIDAR. I
gave the generic answer about LIDAR having higher resolution and accuracy
than RADAR. And RADAR having a longer range and performing better in
dust and smokey conditions.
When prompted for why RADAR is less accurate and lower resolution I was
asked why. I sort of mumbled through a response about the wavelength;
however I did not have a good response, so this post will be my better
To start with here is a post about how LIDAR works that you might want to
check out (don’t forget to come back after you read that post).
LIDAR which is short for Light Detection and Ranging uses a laser that is
emitted and then received back in the sensor. In most of the LIDAR sensors
used for mapping (and self driving vehicles) the time between the emission
and reception is computed to determine the time of flight (ToF). Knowing the
speed of light and (1/2 of the) time for the wave to return (since the signal
traveled out and back) we can compute how far away the object was that
caused the light to bounce back. That value is the range information that is
reported by the sensor. LIDAR’s generally use light in the near-infrared,
visible (but not really visible), and UV spectrum’s.
There are some sensors that use triangulation to compute the position
(instead of ToF). These are usually high accuracy, high resolution sensors.
These sensors are great for verifying components on an assembly lines or
inspecting thermal tile damage on the space shuttle. However that is not the
focus of this post.
LIDAR data. The top shows the reflectivity data. The bottom shows the range
data with brighter points being farther away. [Source]
The laser beam can also be focused to have a small spot size that does not
expand much. This small spot size can help give a high resolution. If you
have a spinning mirror (which is often the case) then you can shoot the laser
every degree or so (based on the accuracy of the pointing mechanism) for
improved resolution. It is not uncommon to find LIDAR’s operating at 0.25
degrees of angular resolution.
RADAR which is short for Radio Detection and Ranging uses radio waves to
compute velocity, and/or range to an object. Radio waves have less
absorption (so less attenuation) than the light waves when contacting objects,
so they can work over a longer distance. As you can see in the image below
the RF waves have a larger wavelength than the LIDAR waves. The down
side is that if an object is much smaller than the RF wave being used, the
object might not reflect back enough energy to be detected. For that reason
many RADAR’s in use for obstacle detection will be “high frequency” so
that the wavelength is shorter (hence why we often use mm-wave in robotics)
and can detect smaller objects. However since LIDAR’s have the
significantly smaller wavelength, they will still usually have a finer
Electromagnetic spectrum showing radio waves all the way on the left for
RADAR and near-infrared/visible/ultra-violet waves towards the right for
LIDAR usage.
Source: Inductiveload, NASA [GFDL (
via Wikimedia Commons
Most of the RADAR’s that I have seen will have a narrow field of view (10’s
of degrees) and then just return a single value (or they might have up to a few
dozen channels, see multi-mode RADAR below) for the range of the detected
object. There are tricks that some systems can do using multiple channels to
also get the angle for the range measurement. The angle will not be as high
resolution as most LIDAR’s. There are also some RADAR’s on the market
that scan to get multiple measurements. The 2 approaches are a spinning
antenna (such as what you see at airports or on ships) or electronically
“spinning” which is a device using multiple internal antennas with no moving
parts. More advanced (newer) RADAR’s can do things like track multiple
objects. In many cases they will not actually return the points that outline the
objects (like a LIDAR), but will return a range, bearing, and velocity (range
rate) to an estimated centroid of the detected item. If multiple objects are near
each other, the sensor might confuse them as being one large object and
return one centroid range [Here is the source and a good reference to read].
Using the Doppler frequency shift the velocity of an object can also be easily
determined with relatively little computational effort. If the RADAR sensor
and the detected object are both moving than you get a relative velocity
between the two objects.
With RADAR there are commonly two operating modes:
1. Time of Flight – This operates similar to the LIDAR sensor above,
however it uses radio wave pulses for the Time of Flight calculations. Since
the sensors are pulsed it know’s when the pulse was sent so computing the
range can be easier than the continuous wave sensors (described below). The
resolution of the sensor can be adjusted by changing the pulse width and the
length of time you listen for a response (a ping back). These sensors often
have fixed antennas leading to a small operating field of views (compared to
There are some systems that will combine multiple ToF radio waves into one
package with different pulse widths. These will allow for various ranges to be
detected with higher accuracy. These are sometimes called multi-mode
2. Continuous Wave – This approach frequency modulates (FMCW) a wave
and then compares the frequency of the reflected signal to the transmitted
signal to determine a frequency shift. That frequency shift can be used to
determine the range to the object that reflected it. The larger the shift the
farther the object is from the sensor (within some bounds). Computing the
frequency shift and the corresponding range is computationally easier than
ToF, plus the electronics to do so are easier and cheaper. This makes
continuous frequency modulated systems popular. Also since separate
transmit and receive antennas are often used this approach can continuously
be transmitting and receiving at the same time; unlike the pulsed ToF
approach which needs to transmit then wait for a response. This feature and
the simple electronics can make FMCW RADAR very fast at detecting
There is another version of the Continuous Wave RADAR where the wave is
not modulated. These systems are cheap and good for quickly detecting speed
using the Doppler effect, however they can not determine range. They are
often used by police to detect vehicle speed where the range is not important
Unrelated, but while we look at the spectrum’s above I should note that
SONAR or Sound Navigation and Ranging, can work in both of the modes as
RADAR. The wavelength used is even larger than RADAR. It is farther to
the left in the spectrum image shown before and is off the chart.
I should point out that there are cool imaging SONAR sensors. The general
idea is that you can make the sensing wave be vertical so that the horizontal
resolution is very fine (<1 degree) and the vertical resolution is larger (10+
degrees). You can then put many of these beams near each other in a sensor
package. There are similiar packages that do this with small wave length
LIDAR Sensors tend to cost more than RADAR sensors for several reasons:
1. LIDAR using ToF needs high speed electronics that cost more
2. LIDAR sensors needs CCD receivers, optics, motors, and lasers to
generate and receive the waves used. RADAR only needs some stationary
3. LIDAR sensors have spinning parts for scanning. That requires motors and
encoders. RADAR only needs some stationary antennas. (I know this is sort
of similar to the line above).
Computationally Speaking
RADAR sensors tend to generate a lot less data as they just return a single
point, or a few dozen points. When the sensor is multi-channel it is often just
returning a range/velocity to a few centroid(ish) objects. The LIDAR sensors
are sending lots of data about each individual laser point of range data. It is
then up to the user to make that data useful. With the RADAR you have a
simple number, but that number might not be the best. With LIDAR it
depends on the roboticist to generate algorithms to detect the various objects
and discern what is being viewed by the sensor.
Motor Control Systems – Bode Plot &
What is a control system? A control system alters the future state of its
system to a more desirable outcome. We often work with feedback control
systems (also called closed-loop control), where the result of the command is
fed back into the control system. In particular we are looking for the error
between the command and the desired response. If the output state is not fed
back into the control system it is referred to as an open loop system.
I recently got a question on the Robots for Roboticists forum about tuning
motors and understanding bode plots. Many motor control software packages
come with tuning tools that can do things such as generating bode plots. This
post is mostly a copy of my response to that question.
The frequency of a system can be hard to visualize by just watching the
motors motion. The frequency of the system is when you convert the time
domain signal (ie. you look at the motors motion over time), and convert it
into the frequency domain using a Fourier transform. Once you convert the
signal into the frequency domain we can use Bode plots. Bode plots help us
visualize (the transfer function) of a control system response to verify its
Random Note:
Assuming you know the transfer function, in an open loop system you can just
use root finding (ie. finding the values that make the equation equal to 0) to
check stability (by making sure that all roots are negative real values). For
feedback based closed loop system we can modify the above and solve with a
computer (since math is hard), or use the Bode plot to help understand the
control system better. (I should also point out you can use Routh-Hurwitz to
avoid the complex math, this will need to be another post…)
In general the Bode plots are showing the phase and gain (magnitude) from
your input control signal until it reaches the output (command) in the
frequency domain.
Parts of the Bode Plot
Gain is the shift in value between the input signal and resultant command. If
you had a system with no gain and no loses, then you would have a straight
horizontal line with 0dB of gain. You will usually see the gain drop off
(decrease) on the right side of the magnitude plot.
The larger the frequency range until it starts dropping off, shows a system
that will be stable in more conditions. Random bumps and curves in the main
curve are often signs of instability. If the gain increases anywhere to infinity
(ie. large values) that is often a sign of instability, and you need to rethink
your controller settings! If you have spikes in gain see the filtering section
Quick reminder: Getting gain in dB from the original time domain signal
Bandwidth is the area from the top of the curve until the magnitude degrades
by -3dB. So in the image above you can see the curve dropping at around
100Hz. So the bandwidth of your system is around 100Hz. This tool actually
shows the exact bandwidth value of 118.9Hz in the box at the lower right of
the image. Controls past 118.9Hz will by sluggish or unresponsive.
Phase describes the time shift between the input signal and the output
command. A phase of 360 is for a single cycle. So if you have a 1KHz (ie
1000Hz) command signal each 360 degrees in the chart would represent
1/1000 of a second (converting frequency to time) or 1 millisecond. You can
see in the phase diagram that once you exceed the bandwidth it will take
longer for the desired input signal to be transferred to the output signal.
Filtering Specific Frequencies
Various filters (low-pass, notch, etc..) are often applied to remove a
resonance at a specific frequency. For example if you spin a motor and you
see at a specific frequency things start to shake violently, you can add a filter
so the gain will be reduced at that frequency. In general you should tune a
motor with no filters, and only add the filters if needed.
Verifying Control Parameters
You can verify that the selected gains are good by looking at the output
waveform when a step command is applied (in the time domain); this is
sometimes referred to as oscilloscope mode. If there is a lot of initial ringing
(constant changing) or overshoot in the beginning of motion, your gains are
probably to high. If the initial command is slowly reaching the desired output
you might need to increase your gains.
Plots showing common tuning problems followed by a good response curve.
The blue lines are the command, and the red lines are the actual motor
In the image above starting from the left we can see:
1. Overshooting of the output motion, with a little signal ringing as it settles
to the command. A little overshoot is often fine, but we do try to minimize
overshoot while still having a responsive system.
2. Slow response of the output. We might want a faster response so the
system will be less sluggish. As you make the system less sluggish you often
increase the overshooting and potential for instability.
3. Highly unstable. Starts with a bunch of oscillation, followed by a large
spike in command output. We want to avoid this!
4. Finally this right-most plot looks good. The motor output is directly on top
of the commanded motion, with a very slight overshoot
Perception in Smoke, Dust or Fog
I recently had the fortune to attend a talk titled Multi-Modal Data for Perception in Smoke-Filled
Underground Mines by Joe Bartels. It was an interesting talk about pushing sensor technology into
difficult environments that can have smoke, dust or fog . The following are notes that I took during the
talk, as always I add a little of my own content to the post. I want to thank Joe for giving the talk and
sharing the images that are used below.
Standard LIDAR often fails in smoke, however newer multi echo return LIDAR’s do better.
Standard LIDAR operation showing initial pulse and the returned pulse
LIDAR operation in smoke showing initial pulse and the multiple returned pulse
Point cloud showing LIDAR initial returns and final returns. Note that the initial returns are just a
cloud in the center around where the robot drove from the smoke. The final return represents the real
structure of the walls, the resolution and quality of the walls is less than if there was no smoke.
(Generated with the Hokuyo UTM-30LX-EW)
Sonar & Radar
Sonar and Radar works better penetrating the smoke, but lacks the resolution of LIDAR. This can be a
problem for creating detailed maps.
Sonar also suffers from a lot of multipath
This work was focused in mines where external lighting is required for visual cameras, as opposed to
LIDAR/Radar/Sonar which do not need illumination to operate.
Typical fog lights are angled downwards at the road to minimize light scattering and minimize having
the light reflecting back into the camera. Also the lights should be placed low so that they are far away
from the sensor camera.
Road as viewed with different car lighting methods.
The downward light helps illuminate a path on the ground, but is not high
enough for seeing the environment and building a map (such as for SLAM or
data purposes).
Scattered light is not on the epi-polar lines which interferes with the principles of epi-polar geometry
and stereo reconstruction.
You can add a line filter to the camera which allows only a single line of light at a time into the camera
sensor. This prevents the scattered light from entering the camera sensor. The downside to this is the
reduced data returned from the camera.
Thermal Cameras
Thermal cameras often work well and see through smoke. They are
based on emissivity (energy emitted from an object) as opposed to the
light reflecting from the object (such as with a typical camera).
Emissivity of 0 would be a mirror, while an emissivity of 1 would be a
true blackbody.
A problem is that the differential response is small in non man-made
2 Types of sensors: short wave & long wave. The short wave sensors
are more expensive, have better resolution, but less visibility through
Lacks the sharp features for many mapping applications
You need to be careful since lights and people can appear to be similar
Wet surfaces can be confusing to interpret
Same image as shown from a visual camera and a thermal camera
Calibrating Thermal Cameras
People often use a standard calibration target however this is far from ideal
The next step that people often try is to artificially heat/cool a target, however it is hard to make the
target a constant temperature and the temperature changes are short-lived. When you do this the black
will heat up quickly. When viewed on a thermal camera the checkerboard colors get inverted.
A better way to calibrate thermal cameras is to make a target of dissimilar materials (multi-modal) that
have different thermal properties.
Standard calibration target viewed from visual and thermal cameras
Standard calibration target that is heated viewed from visual and thermal cameras
Calibration target made from a white surface with black circles attached of a different material
“Smoke” Generation
Different types of smoke/fire produce different perception challenges.
Smoke Candles – White smoke that hangs around. It goes to the ceiling and then slowly drops down.
Wood Fire – Lighter color smoke that hangs near the top of the room. Carbon particles are suspended
in the air.
Diesel Fire – Dark smoke that sticks to the ceiling and is very persistent. Carbon particles are
suspended in the air.
Dust – Harder than smoke since the particles are bigger, however the particle suspension time in the air
is shorter. Radar tends to be a good choice in dusty environments.
Fog – Fog is based on small water droplets suspended in the air. Fog tends to stay lower in the space
and not hug the ceiling. Particularly cold fog stays near the ground, as it heats up it rises before
dissipating. This can be simulated by putting dry ice into hot water.
How to Mount an External Removable Hard
Drive on a Robot
We often want to add an external hard drive to our robots in order to have a dedicated drive for data
collection. Having the dedicated drive lets the primary drive remain uncluttered, have less wear-andtear, split logging between drives for performance, and potentially be a larger spinning disk (as opposed
to an expensive SSD). It is also useful when the main hard drive is read only.
(For mechanical mounting skip to the end of this post)
So how should you mount an external hard drive to your robot? There are many tutorials online and
resources, however this is how I do it and why (assuming Linux)?
In the /etc/fstab file I add the following line:
ext4 async,auto,user,exec,suid,rw,nobootwait,noatime
The /dev/sdb1 needs to be changed based on your hard disk configuration, however typically if you
have one primary drive and one external drive, the external will be sdb1. While you can name a drive
based on its unique ID, I usually just do it based how the drive appears in /dev. This lets us plug any
(one) drive into the computer and let it be used for data collection.
You need to create a location that the hard disk should be mounted to (for you to access it from). So
before the above change you should create that mount directory. To make the directory above you can
type sudo mkdir /media/data. I generally use Ubuntu, however in other distributions you might want to
use sudo mkdir /mnt/data if /media does not exist.
Next is the file system. Generally in a Linux only environment ext4 is used. If you are in a mixed mode
where you need to connect to Windows or Mac machines you might want to use vfat.
Now for the options. The options I often use are async,auto,user,exec,suid,rw,nobootwait,noatime
async – Lets data be written to a drive asynchronously. If many cases you might want this to be set to
synchronous sync
auto – Mounts drive on boot and/or with mount -a
user – Allows any user to mount this drive
exec – Lets you execute binaries from the drive (might not be needed if you are only writing data)
suid – Allows the user ID to be set when executing a binary (might not be needed if you are only
writing data)
rw – Read & Write access to the drive when mounted
nobootwait – Does not interrupt the boot sequence if drive not connected.
noatime – Disables writing file access times to the drive every time you read a file
Depending on the distro I also sometimes add nofail to work with nobootwait.
With the method of mounting the drive above the secondary drive can be auto mounted to the same
mount point at boot. If the drive is not present at boot, the boot sequence will not fail. After the
computer is up the drive will automatically mount or you might need to type sudo mount -a to mount
the drive.
I spent the top part of this post talking about mounting from the operating
system perspective, however some people might get to this page for physical
There are many ways to mount a hard drive, these range from velcro, to
external enclosures, to removable bays.
Here is one way to mount a hard disk for removable data drives that I like:
ICY DOCK ToughArmor MB991SK-B Full Metal 2.5″ SATA 6Gb/s
SSD/HDD Hot Swap Mobile Rack for 3.5″ Device Bay (Fits 7, 9.5, 12.5,
15mm height drive) From
Sled that slides and locks into the hard drive bay. The hard drive goes inside
of this sled. From
This provides a secure mount that will not let the drive fall out, while also
protecting the drive. It also allows for swapping drives as disks get full and
we want to log more data. We often fill up a drive and take it offsite to
transfer to a server while filling up another drive. This allows us to easily
rotate drives.
Tether’s: Should Your Robot Have One?
Some people swear that all tethers are bad. Some people recommend attaching a tether to robots in
order to provide power (to save the mass and volume of the batteries), for reliable fast communications,
transfer of pressure or fluid, to track a robots position, or as a safety harness (in case the robot needs to
be dragged out). However before designing a tether there are several things that you need to consider.
Here are some things to think about:
What should be in the tether. For example can you put power on the
robot and then only run communications to the robot?
Tethers can easily snag on obstacles as the robot drives. This can
cause your robot to get stuck and not be able to proceed forward or get
back out.
Tether needs to be managed so that you do not get snagged (as
discussed above) and so that you do not drive over it which can damage
the tether.
4. Tethers can get bulky. The longer the tether you need, the more mass
and volume you will need to carry and the more heat you will produce.
5. Tethers introduce drag, which the robot will need to overcome while
6. Abrasion of the tether with use
Cables, wire, and tubes in the tether can break which might
incapacitate the robot. If the robot is going into a critical environment you
might not be able to retrieve the robot should it fail.
The image at the top of this post shows how a tether can tighten around corners as the robot drives. As
the tether gets pulled into the corners the force on the tether increases, and increases the chance of the
robot getting stuck, breaking, and making mobility more difficult.
Tension on tether base (neglecting the coefficient of friction from contact points) can be computed as
shown in the image below.
Force on a tethered robot. This shows why it is much harder to pull a robot after it has gone around a
For the reasons above tethers are often deployed from the robot and not from base equipment. In
underwater applications you can usually feed the tether from the base without the problems seen on
land. When choosing where to deploy the tether from you need to consider:
Can your robot support the volume/mass of the tether
Where are the snag points
Volume of the tether which is: Volume = Area of cable x length of
the cable
Heat generated by the tether from I2R losses.
This paper from Dante is a must read for anyone developing a tethered robot. Dante is a robot that
flipped while trying to climb out from a volcano partially due to bad tether angles on difficult terrain.
While people often point to Dante as an example of why tethers are bad, there are many more examples
of tethers being used successfully. In the nuclear accident of Chernobyl many robotic (tele-operated)
vehicles (click for robot pictures)were used in the recovery and cleanup. The robots were used for many
things such as inspection, pushing radioactive material out of the way, turning over radioactive dirt and
moving containers. Most of those robots were tethered (about 55 of the 60 vehicles). Many of those
robots ultimately died due to tether malfunctions, but that was after operating for extended times and
doing good work. With new technology, better cable design, lower powered devices, better
proprioception of the tether we should be able to do a better job building tethers.
TReX is another paper that you need to check out before designing a tethered robot.
Roboticists EDC (Every Day Carry)
Recently I have been doing a lot of field work and have seen a lot of people looking for random things
or asking people if they had those items. In many of those cases I had the items they needed. This is not
because I am great or anything, this is from building up my bag over the years. I keep all of these items
in my laptop bag where it becomes my every day carry (EDC) for robotics. So here is the list of what I
Laptop Bag
Laptop (I like to get a real serial port, but they are getting harder and
harder to find. If not I get a laptop card with a native serial port.
Laptop charging cable (I use a dock at my desk so I can leave the
cable in my bag)
Serial cable with DB-9 connectors (w/ male & female gender
changers and null modem)
· Ethernet cable w/ coupler
Marker (Black Sharpie)
Zip ties
Tweaker (small screwdriver with Phillips on one side and flat head
on the other side)
· Multi tip screwdriver
Leatherman – I always carry this on my belt
Medical kit (band-aid, alcohol wipe, gauze, tourniquet). Should I
add a CPR mask?
· Multimeter (Minimum voltage and continuity)
Head light (hands free light is great)
Electrical tape or duct tape (you can wrap tape around a business
card to save space)
· USB memory drive
VGA to X display adapter (what does your computer use??)
Cell phone
Cell phone charger
$20 (or so) tucked away in a laptop bag pocket
a few granola bars (or similar) for when you get stuck somewhere
Sunscreen (travel packets are nice)
Hand warmers (air activated pads) climate dependent
Things I used to carry and still should:
Emergency mylar blanket (for covering robot in rain or medical)
Cloth tape measure
8.5 x 11 camera calibration and focus target. It was attached to thin
· Rope (paracord)
Rain gear
While I was making this list my wife said I should add the following items that I never really gave a
second though to:
Feminine hygiene products
Pain killer (Tylenol, Motrin, etc..)
Hard automation:
This kind of automation cannot handle product design variations, mass
production for example; conventional machinery, packaging, sewing and
manufacturing small parts. Adjustability is possible, but it can only handle
specific tasks with no possibility of changing its own task. These machines
can be seen in our homes (washing machines, dish washers, etc).
Programmable Automation:
This form of automation began with the arrival of the computer. People
began programming machines to do a variety of tasks. It is flexible because
of a computer control, can handle variations, batch product, and product
Autonomous (Independent):
Endowed with a decision-making capability through the use of sensors. A
robot belongs to this kind of automation and it is a combination of
microprocessor and conventional automation systems which can provide a
very powerful system. Its high-level machinery capabilities combined with
fault recognition and correction abilities provided by highly evolved
computer systems. This means it can carry out work traditionally carried out
by humans. Examples of existing autonomous systems are animals and
human beings.
Animals when they see food they move toward it using sense of smell or
they escape when they react against danger due to senses of fear (sensors).
Human beings are the highest level of autonomous systems because they
think, and they can change plan at any moment due to their high intelligence.
Robots cannot reach the same high level as humans because they are
programmed to do certain tasks according to certain factors which are
completely programmed by human beings, but they have no possibilities to
change plan like humans or plan new things unless the programmer programs
them to change the plan. Because of high development of machines, sensors,
actuator, digital electronics and microprocessor technology it became
possible to create a robot which is autonomous (Teijo Lahtinen, Lecture at
Lahti University of Applied Sciences 2009).
Robot applications in our lives
Considered as a dangerous task for a human because of toxic gases
Welding robot examples in car factory
The welding job is quite difficult for a person who is required to weld two
pipes from different sides and angles and to sit in a difficult position for a
long time. It can be hard on ones physic and can cause health problems for
the worker. The difficulty for a human is to see all the sides of welded
devices when he needs to weld around a pipe as he can only see one side of
the pipe.
Painting has similar problems to welding due to the use of toxic chemical
products. Below is an example picture 2.2 of a factory robot painting a car as
it moves slowly along a conveyer.
Painting robot examples in car factory
Assembly operation: When we assemble a chip we need to be very precise
because of very fine wires which require very precise and accurate tasks
which a human cannot handle but, on the other hand, is easy for a robot.
Consistent quality at high standards can be achieved by a robot. A robot can
easily be re- programmed many times to reach the highest possible quality
which a human cannot often achieve.
Safety is especially important when a robot handles chemicals, bio chemicals,
toxic and nuclear products. They can be handled very safely and smoothly,
saving humans from carrying out high risk, stress inducing work.
Robots can carefully handle fragile and tiny parts, such as glass, small
chips and wires.
Inspection and maintenance tasks in dangerous areas: for example
handling explosives, exploring the deep sea, space and other planets. One
example is the shipwrecked Titanic. A robot was used to discover the ships
content as it lay so deep under the ocean it was beyond human reach.
Space missions: to gather samples from other planets and to analyse them
from remote distances.
Types of robot
1. Industrial robots. painting and welding robots
Advantages of a painting robot:
Robot painting is equal, uniform with high quality and precision. It can reach
very difficult places due to their high degree of flexibility which can be
difficult for humans, but can be achieved easily by robots. A human needs to
carry heavy painting gun and wear a mask for protection against toxic
chemicals. A robot´s repetition rate is high as it does not suffer from fatigue.
Safety levels which can be achieved by using a robot are high by saving
humans from the smell chemical toxics.
2. Medical robot to make surgery
One example of a medical robot
Advantages of a medical robot:
Patient gets fast recovery. The operation is more precise with fewer mistakes.
Robot can open small incisions in the body and carry out major operations
with minimal damage to the patient. Therefore recovery time is decreased.
The equipment is more hygienic and safe.
3.Mobile robot with legs or wheel for chemical power plant, under see
or remote areas and bombs fields. The advantage in leg robot is that it can
avoid step over obstacles which can be dangerous like bomb or even to
protect objects from being destroyed due to robot moving over them.
Leg robot picture
Example of mobile robot
4. Robotics aircrafts and boats without pilot which are guided from a
station on the ground, which are used by army or rescue mission
example of a robot aircraft
5. Robotic toys for entertainment
6. Robot for cleaning at home and industry
Vacuum cleaner robot
Required studies in robotics
It is multidimensional area which uses almost all of the engineering studies.
These studies are mechanical engineering, electronic sensors, actuators,
computer sciences and artificial intelligence
Extrapolating from nature
As an example humans and animals have arms and fingers to manipulate
objects. Legs for locomotion, muscles as actuators, eyes provide vision, nose
for smelling, ears for hearing, tongue for tasting, skin for feeling and nerves
for communication between the brain and actuators.
Comparing robots to humans
Manipulation is equal to Arms and fingers driven by motors and other forms
of actuation. Vision is equal to camera. Hearing is equal to microphone.
Feeling is equal to tactile sensors. Communication is equal to wires, fiber
optics and radio. Brain is equal to computers and microprocessors. Smell and
taste are still under development (Matti Pitkälä, Lecture on Lahti University
of Applied sciences 2011).
Programming a robot by teaching method
The same technique we use to teach children to write the alphabet by holding
the child’s hand and going through the writing process step by step. When we
are teaching the robot to do a certain job we control the movement of the
robot hand or end effector at the same time we record the motion of each
individual joints. Then we play back the recording and the robot begins to
move independently as taught. The quality of recording results in the work
carried out. This work is carried out by a skilled worker. When the work
arrives on a conveyer to the robot, the robot replays the stored recording then
robot performs the required task. Other ways to teach a robot to undertake
certain tasks is by use of a program that creates a virtual world. Then we
stimulate the work to be carried out by the robot’s joint motion parameters
stored in the memory. The robot is then capable of replaying the recording.
Typical programming of an industrial robot
Industrial robot is programmed by moving objects from position 1 to position
5 by moving joints vertically or horizontally to pick up and place an object
through the following steps:
Define points from P1 to P5:
1. Safely move above work piece (defined as P1)
2. 10 cm above work piece (defined as P2)
3. At position to take work piece from conveyer (defined as P3)
4. 10 cm above conveyer with low speed (defined as P4)
5. At position to leave work piece (defined as P5)
Define program:
1. Move to P1
2. Move to P2
3. Move to P3
4. Close gripper
5. Move to P2
6. Move to P4
7. Move to P5
8. Open gripper
9. Move to P4
10. Move to P1 and finish
Accuracy and repeatability of addressable points
Repeatability is the playback of the recording of the position of joint space
when we try to program a robot through teaching method and it describes
how precise the robot to return to the stored position.
Accuracy is connected to repeatability. “The precision with which a
computed point can be attained is called the accuracy of the manipulator”
Example of good and bad accuracy
Technologies Of A Robot
In this chapter I will introduce robot sub systems and some parts that are used
in robot structure. This section will give a brief introduction to actuators,
sensors, motor drive, electronics, power supplies, algorithms and software,
mechanical parts and combining methods between these parts.
Sub systems
Actuators and transmission systems they are solenoid, motor drive,
pneumatic and hydraulic system which allows the robot to move. Mechanics
parts are motors usually rotate and a mechanism to transfer motion to all the
necessary parts of a robot to create the motion that is required. Usually robots
require a power supply, this kind of supply depends on what a robot is
required to do, and if it is a mobile robot then you need to decide the size of
battery beside the efficiency since power supply will be in the board of robot,
but if it is not mobile robot then electricity can be fed through a supply cable.
Power storage system is battery or some other electronic devices. Sensors are
two types Internal and external, there are many sensors in a robot which
considered as the senses in a robot. Micro- controller and processors are the
brain that controls the whole system. Algorithms and software are two
models higher level and low level, programmer need to create software and
algorithms to run the robot in a desired way.
Actuators are essentially the prime movers providing linear force and motion.
Conventional: Pneumatics, hydraulics.
Pneumatic valve system
Pneumatic and hydraulic design consideration:
With this kind of system there is input and output in the cylinder, through
these input and output we pump air for pneumatic system and clean filtered
oil for hydraulic system to make the piston move outside and inside to
provide us with linear force and motion. You need to know in robot system
how far the piston should go outside or go inside, in pneumatic system we
cannot control how far the piston can go outside or inside unless you put ring
in the piston rod, but in hydraulic system we can control the extension of
piston by controlling the oil flow through flow control valves. Pneumatic
system is used when we do not need a large force to push, but hydraulics is
used when a system demands a large force, especially with big machines. The
problem with hydraulic system is leakage on the other hand is not a big
problem in pneumatic system since it uses air
Permanent magnet motors and stepper motors are the joint space in a
robot that creates rotational motion
Servo motor
Design consideration for servo motor:
When we design a robot, we take into consideration the torque, speed and the
gearbox size which should not be so heavy to the motor drive capacity. We
should pay attention to the weight of motor drives and gearboxes because the
base motor drive needs to carry all the motor drives and gearboxes which
require quite big torque and stronger motor in the base. The selection should
be harmonic, and motor should match the load. When motor rotates in a
certain degree it should send feedback to the controller and to take feedback
from the controller when it needs to stop rotating, this happens through an
encoder which can read the degree of rotation. Nowadays these controllers
are mounted in the back of the motor drive. Controller manipulates voltage
and ampere to control the motor drive speed.
Linear motors actuators
Are used in positioning applications where high speed and accuracy are
required. Main job is to produce a linear force along its length whether up
and down or left and right. It has almost the same idea as hydraulics and
pneumatics cylinder but the only difference that these does not use oil or air
to generate force but it uses electricity .
Linear motor drive actuator
Power supplies (PWM amplifiers): is a device for increasing or decreasing
the electrical power voltage and ampere. To be able to increase the velocity
of the motor drive you need to increase the voltage and ampere through chart
meter power supply amplifiers. It is very important to notice that the motor
does not heat up because of high voltage or ampere.
Power supply circuit
Power supply circuit
Transmission system (Mechanics)
1. Gears: the lighter the gear the better motion, less torque and higher speed.
Some of this model is spur helical, bevel, worm, rack and pinion, and many
Gear picture
2. Chains:
3. Timing belts: have some kind of teeth and these teeth go around with
some kind of pulley that drives this belt around it to transfer motion. It is
used nowadays with robot walking machine
Timing belt with a pulley
Timing belt connected to a pulley
4. Metal belts, cables and pulleys
5. Linkages:
Robot example of linkages between a servo motor and pulleys
6. Ball screws: are very important to create linear motion backward and
forward with low speed. We can use some kind of nuts, by tightening the nut
we control the speed of motion
Simple switch sensors are used to turn on and off the whole cycle or some
part of the cycle.
Simple switch
Simple circle with simple switch
Force sensor is to measure and control the force power applied. These are
mostly in use in the robot end-effectors to measure how strong the grip
should be so it does not smash work pieces. They are different models with
different applications for example variable force control, load and
compression sensing, pumps, contact sensing, weighing and household
Force sensor
Gyroscopes: Is a device for measuring and maintaining orientation, based on
the principles of momentum. In essence, a mechanical gyroscope is a
spinning wheel or disc whose axle is free to take any orientation. Although
this orientation does not remain fixed, it changes in response to an external
torque much less and in a different direction than it would without the large
angular momentum associated with the disk's high rate of spin and moment
Potentiometer has the same task as encoder but uses different method for
measuring degree of rotation, it convert the analogue voltage value from 0 10 volt to digital signal bit, which give how many degree of rotation in the
motor drive. In picture 3.18 a potentiometer is mounted at the gear motor
which enables the DC motor controller to measure the position of the axle.
Servo motor with Potentiometer
Digital rotary Encoder is for measuring rotating degree of a shaft by using
lines which define the degrees of rotation and to give the position of a shaft.
On other way we can say the same work as potentiometer, but they are using
different method for measuring degree of rotation
Wheel encoder circle
Wheel encoder
Tachometer Essentially is a generator. Depending on the velocity of the
shaft, you get certain amount of voltage output and this amount is measured
by tachometer to give us visual feedback about the motor state. It is used for
controlling and adjusting. Sometimes tachometer information is obtained
from an encoder.
Cameras are used to locate object in the robot environment. They are equal
for vision system in human.
Vision system in robot
Proximity sensors: A sensor is able to detect or recognize the presence of
close objects without any physical contact with them; there are different types
of these sensors which are mechanical or infrared by using light. A proximity
sensor often emits an electromagnetic force or a beam of electromagnetic
radiation (for instance infrared), and looks for changes in the field by reading
the return signal. The object being sensed is often referred to as the proximity
sensor's target. Different proximity sensor targets demand different sensors.
For example, a capacitive or photoelectric sensor might be suitable for a
plastic target; an inductive proximity sensor requires a metal target.
Proximity sensor from Omron
A to D converter and D to A converter: these converters convert analogue
signal to digital signal by converting 0- 12V into single 8 byte or vice versa
(Robert 2006, 46).
Basic circle for converters
Microcontrollers are very small computer devices used for robot control, it
contains processor core, memory, and programmable input/output peripherals
Programmable logic controller or PLC has input and output that are used to
create communication between sensors and actuators. Timers are included
inside PLC which can be programmed. Outputs are the actuators and inputs
are the sensors.
Power Electronics are used for running motor drive and controlling the
motor speed by converting electrical power voltage and ampere to a suitable
amount to produce suitable speed in the motor drive.
Power electronics
Algorithms and software
Mean step by step procedure and logic programming language through
logical event sequence by planning the whole task at the beginning, then
controlling the motors and actuators through using feedback signal that are
obtained from sensors., programmer need to plan trajectory of each
individual actuator motions and to plan trajectories of end effectors. To get in
the end harmonic motion with suitable speed based on logic system and task
Servo Motor Design
Servo motor is the main prime mover of the robot. This section will cover the
most important of servo motor types which concerns mainly robot, servo
motor behaviour in respect to torque, speed, current and voltage, and how to
control the speed, type of application and how to choose the right servo
motor with a suitable gearbox.
Servo motor main types
Dc servo motors are compact and light. They are two main modules
permanent magnet motor (PM motors) and permanent rare earth magnets.
Servo motor
The principle is similar if we talk about DC or AC motor. A conventional
motor has stator magnets, rotor wound commutator and brushes. The
negative side of these models is the brushes that cause electrical sparks that
creates noise and electric disturbance for other surrounding electrical devices.
Then by the arrival of brushless servo motor which is faster, up to 50,000
rpm. In these modules magnets are in the rotor, coil in the stator or around it,
electronic circuits features the magnetic fields and the rotor motion is sensed
by hall effect sensor. These models became the most usable system because it
gives more reliable operation, but they are slightly more costly.
Performance characteristic of motor drive based on Image 4.2:
According to the Image 4.2 there is a stall torque point, no load speed point,
there is also specific voltage, which drives the motor to no load speed and
stall torque. We notice that if we heavily load the motor then the speed is zero
Behaviour of a servo motor with different speed and torque
We notice from the following Image 4.3:
There is no load current Kt is the motor constant value
Load torque and current
Power control of the motor: this is how the system behaves during
Load torques and power output diagram
Load torque and
How to select a motor in a given task:
We need to check if the motor can supply a particular torque and speed from
the manufacturer user manual catalog, if electronic amplifier is able to carry
the required current, if we have enough voltage to carry the load, we need to
be sure that a motor does not heat up during operation time. It is easy to
predict how a motor behaves beforehand because there are several formulas
and curves provided by motor manufacturers, helping us to choose a suitable
motor drive.
Application types in servo motor
A. Application – continues duty operation
When we drive a certain load in a particular speed or variable speed during a
period of time, we need to take into consideration the load torque, speed and
if electronic circuit is able to supply the required current and voltage.
B. Application -Intermittent operation (Intermittent motion):
that has variable speed and variable periods of time, this drawing describes
the motion.
Angular velocity with relative of time
We notice from the curve Image up that we have several different periods of
time. From 0 to A which lasts during t1 is acceleration. From A to B which
lasts during t2 is a uniform speed with 0 acceleration. From B to C which
lasts during t3 is deceleration. From C to D which lasts during t4 is dwell
where acceleration and velocity speed is 0.
How to define a suitable servo motor speed
We need first to calculate the speed of load, reduction ratio value by gearbox
and the horse power or KW of the motor drive capacity.
Servo motor gearbox
Every motor drive has a certain load and the motor speed is quite high for
example 3000 rpm or more. We need to make reduction for the speed through
choosing suitable size for the gear box since the gear box has contributed for
the carried load speed. If the speed is not continued at the same level, but it is
variable during variable time, we need to Image out how to solve this
Servo motor gearbox
Every motor drive has a certain load and the motor speed is quite high for
example 3000 rpm or more. We need to make reduction for the speed through
choosing suitable size for the gear box since the gear box has contributed for
the carried load speed.
If the speed is not continues in the same level, but it is variable during
variable time, we need to Image out how to solve this problem.
Choosing a suitable gearbox
Reduction: most of the cases we face are reductions but there are little cases
of increases. We need to know the maximum speed of load (rpm) of motor
drive from the guide manual which has been provided by a motor drive
For example maximum allowable speed for a motor is 3000 rpm and
transmission ratio is 0.1.
How to calculate maximum speed of load?
(Max speed of load)*2= (3000*0,1)
Maximum speed of load = 150
If we know the maximum speed of load, we can base our choosing the motor
drive and gear box size or vice versa on it.
Speed and load torque
Notice: The more speed, the more available torque drops, the more voltage
the more speed.
A Base servo motor example in a robot
In the below picture an arm operation mechanism for an industrial robot
includes a support, a first arm, a second arm, a link base, a parallel link and a
conversion mechanism. The first arm has a base end pivotally connected to
the support for rotation relative to the support. The second arm has a base end
pivotally connected to a tip end of the first arm for rotation relative to the first
arm. The link base is pivotally connected to the first arm for rotation relative
to the first arm. The parallel link keeps a constant posture of the link based
upon the rotation of the first arm. The conversion mechanism converts the
rotation of the link base relative to the first arm into the rotation of the second
arm relative to the link base
This example shows some servo motor linkages through gears and cables
Controlling inertia
We have to find two inertias
Angular velocity with respect of time
Load torque with respect of time
In Above Image the sum of torque from 0 to A = to sum of torque A to B +B
to C
Angular velocity with respect of several period of time
From 0 to A during time t1 according to above Image
Diagram for selecting suitable motor drive
The resolution of a stepper motor
Assume that we connect stepper motor on a screw with nut on the screw, then
we run the motor drive forward and backward then nut begin to move with
the movement of stepper motor and there is minimum distance that nut can’t
go below which is the limit, this some kind of example of motor drive
Servo motor with screw ball
Servo motor drive gets feedback from an encoder or a potential
Resolution depends on the number of lines inside encoder, the more
resolution you want the more expensive encoder and the more lines it has.
For example, encoder that has 360 lines means that it has one degree of
resolution, but it cannot go below one degree.
Optical incremental rotary encoder
Potential meter uses different method, which is analogue signal, which is
converted to digital through electronics. Example: let us assume potential
meter signal is 10 volt which equal 8 bit then: 2 8 = 256-digit 360o / 256= 1.4
Resolution per step.
Main types of an industrial robot
There are two main types of industrial robot the first one is called an
Industrial manipulated and the second one is automated guide vehicles robot.
Industrial robot
For example if you think of your hand when you use it to pick up a pencil,
there is rolling motion on the rest, but you don’t use this motion while
writing, so you eliminate this motion because the axis is symmetrical. These
six motor motions we called six axis which are driven independently.
Main robot motions
Robot types according to their motion
Rectangular coordinate motion (Cartesian):
there are three different motions which are X, Y, Z or in other word this robot
can move up and down, left and right, backward and forward, but it has no
rotation or degrees. In this kind of model it is easy to control motion just by
giving the coordinates, then a robot moves according to (x, y, z) values.
Cylindrical coordinate Robot: it has rotational movement on the base and
Cartesian motion in the upper part.
Spherical coordinate robot: is a robot with two rotary joints and one
prismatic joint.
Articulated arm robot: it looks like human arms base rotational like a
shoulder, an elbow and a rest which give us more motion with certain angels
which is not possible by Cartesian robot. This model is more complicated to
control because you need to calculate angles, velocity and acceleration to get
a desired motion and requires solving plenty of equation.
Gantry robot: is a linear motion robot and has another industrial name as a
linear robot.
Scara robot: is created by Japanese 1979 for assembly tasks because it
moves in two planes. It is simple to use in assembly operation, when you
need to tight a screw and to hold it vertically then to rotate the screw and
push down you don’t require very big sophisticated robot, so Scara robot is
the best choice for a similar operation or like pushing object down like gear
box and so on.
Scara robot
All these models are used by engineers and every model has positive and
negative sides. Depended on the job requirement we try to choose the right
model to suite our requirement
Scara robot vs articulated robot:
There is even more features to compare but these are the main features that
can make the difference between an articulated robot and a Scara robot.
End effectors
Is a robot hand that grabs an object and moves it from one place to another.
In the end effectors usually there are three rotational motions with three
different motors and it equal human rest for lifting objects. End effector are
different model with different task option.
Robot end effector
End effectors motions are three: Rotating motion, up and down motion with
angle, holding object motion.
Robot end effector
Notice: since the motor drive is heavy it would be better, if we put all the
motors on the base and try to move them through linkages, cables and pulleys
so we do not need to carry heavy load.
Industrial Manipulators And Its Kinematics
In this section I will try to give an idea about types of links and joints and the
serial chains combination, also to focus on explaining the term (degree of
freedom) in an open chain and a closed chain and how to calculate it. Beside
that I give several drawing examples about different types of links and chains
to make the idea easy and clear to understand. In the end of this section I will
define the work space area for a robot and what type of work space we have.
I explain 2R and 3R manipulator work space beside the direct and inverse
kinematics work space.
First we need to define the following:
Serial chain is a combination of links and joints in the space. Notice: we need
to understand the word degree of freedom and to know how to define how
many degrees of freedom a robot has.
Links and joints
Two different types of joints:
1. Revolute joints(R): this joint is powered by a servo motor.
Revolute joint
Example a robot has three revolute joints, so we call it (RRR) or (3R), which
mean three degree of freedom with so called planar manipulator.
Notice: we begin to calculate (R) beginning from base to end effector.
Example of robot with 3 revolute joints
2. Prismatic joints (P): is powered by a cylindrical piston like pneumatic
system or hydraulic
3 Example of prismatic joints
Example of one prismatic and two revolute joints: we call it (RPR) with three
degrees of freedom and this model can be called redundant.
Planar RPR
Example of a robot with five degrees of freedom
Example of a robot with 2RP2R
In this example we calculate from the base first revolute joint as R then
second revolute joint as R. After that comes one prismatic joint so we have so
far 2RP, then we end up with 2 revolute joint, then the total will be 2RP2R.
Degree of freedom
First I need to explain the term degree of freedom (DOF). When I fix a joint
and prevent any movement then I can say that this joint has zero degree of
freedom but when I mount a joint with a motor drive, then it loses two
degrees of freedom and it will have just one degree of freedom because it
moves in one plane.
Notice: in the space there is six degrees of freedom.
Spherical joints have three degrees of freedom and it moves in three planes.
Hooke joint has two degrees of freedom and it move in two planes.
Hooke joint
Types of robotic chains
Degree of freedom in opened chains
Example of four degrees of freedom in open chain
In open chains it is easy to calculate how many degrees of freedom. For a
robot just by calculating the rotations axes and prismatic axes. In the example
up we have four revolute joints that means we have four degrees of freedom
Degree of freedom in closed chains
How to calculate degree of freedom for closed chains?
We need to define how many links, revolute joints and prismatic joints.
Example 1
Closed chain
In the example up we calculate degree of freedom this way:
3(5-1)-2(5)-2(0)= 2 dof
Example 2
Closed chain by a prismatic joint
Example 3
Closed chain
Stewart platform
How to calculate Stewart platform degree of freedom?
Defining work space area
There are two types of work space area: parallel work space and
perpendicular work space. It is very important to determine work space area
and to know the planes of work space. In the picture 6.14 the robot of five
degrees of freedom as we can see there are several rotations with two work
spaces. First Base and wrest they rotate in parallel work space. Then waist,
shoulder and elbow they are rotating in parallel work space to each other.
Then base and wrest they rotate in perpendicular work space against waist,
shoulder and elbow.
Spatial manipulator: that has more planes to move through with more
perpendicular and parallel axes to each other like industrial robot as an
example in Image.
Example with spatial robot
Notice: This example is called 5RP manipulator; all these axes are moved
with series of cables and pulleys which are connected to the drive motor.
Manipulator task is to position an object and to define how many
orientations are possible for a specific position. This issue is required for
mechanical engineers to answer. By adding more degree of freedom you can
add more orientations and ranges of orientation, but control problem gets
bigger. Notice number of possible orientations (directions) depends on the
position of the object.
Example of positioning an object
In the following picture we have just one orientation
one orientation example
Work space:
we notice from the following picture 6.17 that if B rotates, then work space
will be as we see in the picture but if we assume that L1 = L2 then C1 will
touch the base A and we notice that we have a bigger workspace (Craig 2005,
Example to show a work space
Direct kinematics 2R
Inverse kinematics 2R
There are 3 axis or 3R manipulator robot in pictures. There is The Inverse
kinematics in picture and direct kinematics (Craig 2005, 103- 104.). Notice is
the orientation angle.
Direct kinematics 3R
Inverse kinematics
How to define the inverse kinematics in 2R manipulator
When the base position, end effector position and the linkage length are
given, then we have unique solution by drawing two circles. The centre of
these circles is: the position of the base A and the position of the end effector.
Then we take the 2 cross point which represents direct kinematics and inverse
kinematics solutions.
How to define the inverse kinematics in 3R manipulator
When end effector position and the linkage length are given, then we have
unique solution by drawing two circles and the centre of these circles is: The
position of the base A and the position of C. Notice that the position of C
stays the same. (Craig 2005, 102-105.)
Trajectory Definition
This example is how to move the box from position p1 to final position p4
during t1 to t4
Moving object from position 1 to position 4
Solution: First we need to calculate
at t1, t2, t3, t4. Then we need to
calculate the position of the links. This kind of problem can be called inverse
kinematics. We should be careful that during motion no accident happens.
Given s at each moment determines the position and orientation of all links.
Forward position problem
Fixed parameters of the mechanisms values of joint variables will determine
position and orientations of all links.
Inverse position problem
Fixed bars of the mechanisms position, and orientations of end effector will
determine the values of joint variables.
Simple example with planar 2R
2R Manipulator
Sketching the position
This is a numerical example for 2 planar:
The solution drawn in SolidWorks
3R planar manipulator
3R Manipulator
Sketching the position for 3R manipulator
Example 2:
For 3 planar manipulator
We can see the result of our calculation in the Image on the following page.
Sketching the position in SolidWorks
Prismatic joints calculation
3p manipulator
We assume according to the following drawing that we have three prismatic
joints which move in 3D space, so we just need to find values of S1, S2 and
Position, Orientation, Frames
In this section I will try to summarize how to define position coordinate on
the space with respect to the origin frame and to calculate the transformation
when this frame rotates with respect to the base frame.
There is frame A and frame B.
Frame B rotates with respect to frame A
1. Find rotation B in A?
2. Find the coordinate ? The coordinate of p (0 3 1) The coordinate of pB (0 1
Frame B rotate with respect to frame A
Now we need to find the translation.
We add extra row which represents rotation axis (0 0 0 1), then we make dot
product between rotation matrix and the coordinate of pB (0 1 1) and then we
get the coordinate of PA (Tapani Kuusi, lecture on Lahti University of
Applied Sciences 2010).
Example 2:
There is rotation from P to P2 around X axis
Rotation around X axis
In the following example frame B rotates with respect to frame A.
We have 3 different rotations.
Rotation axes
Important Notice: How we can make the calculation for B rotating around
We use matrices to transform vectors.
Example: In the following picture frame B rotates around frame A about z
axis by 30 Here Z axis is pointing out of the page B P (0 2 0)
Mapping involving general frames
We need to know how we can get the parameters of A P which parameters
are given in frame B and the parameters of A PBORG are given (Craig 2005,
27-28). We use the following formula
We notice
1. That we add just for rotation matrix one row of zeros (0 0 0). 2. For vector
´s coordinates we add number 1 below all of them. 3. This kind of matrix is
called homogeneous transform (4x4).
Frame B has rotated with relative to frame A bout Z axis by 30 degrees and
Translation operators
Operator is the same as rotation and translation, but the interpretation is
Example of operator:
Compound transformation
Trajectory Planning In Robotics
In this section I will try to cover how to make a path around trajectory, the
base of creating path, what is the required data for creating path and how we
can make the system to choose the speed, also time and acceleration when we
just define the basic required data for trajectory planning.
Required data for trajectory planning
When we think about trajectory we mainly focus in moving object from
position A to position B.
In trajectory planning we try to define first the following data
Initial point
Final point
Via point: intermediate point between initial and final points.
Point to point planning is a continuous path motion like in welding for
example. How we plan point to point: First we define task specification.
World coordinate
Joint space
In order to make smooth motion we need to put some constraints between via
points through via points because of intermediate point (obstacles) within
specified duration of time
Robot should Move from initial points to final points through via points
because of intermediate point (obstacles) within specified duration of time.
Subject to constraints
Cubic polynomials
Below Image shows the position, velocity and acceleration functions for this
motion sampled at 40 Hz. Note that the velocity profile for any cubic
function is a parabola and that the acceleration profile is linear.
User specify n+2
Final position
Position velocity User has to give Cartesian data and large data which is
kinematically consistent:
Another constraints
user interface must be simple
User should specify the following for creating trajectory:
Initial position
Final position
Via points
Notice: Position specifies velocity to be chosen by the system.
3 points specified i, j, k
this picture specifies time with respect of speed
Two cubic curves (segment)
at j:
Continuity of velocity and acceleration
Trajectory Planning By Using Robot Studio
In this section I will try to give brief introduction about how we can create
path using robot studio through using simulation and virtual flex pendant
since they are two different ways, so I will try to explain each way separately
beside give introduction about how we can choose from ABB Library
geometry and tools and how we can set their position in robot environment.
Creating new station and saving it
First we need to choose any robot type by clicking ABB library (watch
picture 1)
Picture 1 (robot studio screenshot)
How to open new station and to choose robot from ABB library
Select the Icon import library then select equipment then you go down and
select any tool by clicking any tool for example I will choose any end
effector tool from the library (watch picture 2).
Picture 2 (robot studio screenshot)
How to select from ABB library end effector tool and some other geometry
Then on the left tree you will see the tool name, but it is not connected to
robot’s end effector on the right window, so by dragging the tool name
(PKI_500_di_M2001) and drop it to your (IRB1600ID_4_5_150_03) robot
then new window will open to ask you (do you want to keep the current
position of the tool) then you should choose no then the tool will be
connected to the end effector of the robot (watch picture 3).
Picture3 (robot studio screenshot)
Example to explain how to connect end effector to the robot
Now you need to select geometry or table, you need to click on import library
then Equipment follow the arrow and choose any table by clicking the object
then it will appear on red on the robot environment (watch picture 4).
Picture 4 (robot studio screenshot)
How to select table or some other geometry from ABB library
We need to change the position of the table by clicking from home section
move order from freehand group button the will appear x and y cross line and
we can move by dragging the arrow head right or left and up and down, but
this way is not precise and I don’t recommend to use it.
To get precise position to your geometry look up on the program you will see
highlighted button name part tools and under it there is modify button, click
modify button so new tool bar will open then search the button set position
and after that you can choose any coordinate you need for your table position
after that you need to click apply to activate changes (watch Picture 5).
Picture 5 (robot studio screenshot)
How to change the coordinate of the table position through set position icon
Now you need to save the station by clicking up in the left side corner by
selecting save as then new window will open to rename your station and to
select where to save your station.
Picture 6 (robot studio screenshot)
How to save new station
Picture 7 (robot studio screenshot)
Giving a name the station and to choose location on the computer to save it
Moving robot joint space
Firstly we make right click on the robot tree on the left side on layout section
then we have several options and from these options we have jump home
which return robot to default position, but you need to focus also on using
mechanism joint log and mechanism linear jog beside the free hand option.
Picture 8 (robot studio screenshot)
Right click on IRB robot so we get the option we need
When you click on mechanism joint jog then it will open new window which
look like picture 9. We have 6 joints with six coordinate to manipulate so we
can choose the degree by moving the slide button left and right on the tree
section. First joint move robot left and right, second joint move robot up and
down, third joint up and down as well, the last three joint move end effector
up and down beside left and right.
When you choose mechanism linear jog then it will appear new window like
in picture10 the same way like previous step by moving the slide button left
and right we change the coordinate of each joint until we get the desired
position. First joint move forward and backward, second joint move right and
left with linear motion, third joint move up and down with linear motion, the
last three joint move the same like first three but by steps.
Picture 10 (robot studio screenshot)
This picture shows how to change the linear coordinate of each joint
Target teach method
There are two different ways, the first one by using Target teach Icon and the
second one is by using Virtual flex pendant, by choosing teach Target you
can create path easier than virtual flex pendant, but I will try to give small
introduction on both ways and the user has the choice to choose the suitable
way for creating the path. First we right click the robot from home
then we jump home like we mentioned in the previous tutorial, then we clicks
on mechanism joint jog and we move the robot joint space (watch picture11).
Picture 11 (robot studio screenshot)
Robot movement options
Move the robot joint the first desired motion the go up on the icon target in
home section then we choose create target icon then it will open new window
like in picture12.
Picture 11 (robot studio screenshot)
How to create path by choosing Target
Picture 12 (robot studio screenshot)
How to create path by choosing Target
We go back to first step to repeat the same process again by right click the
robot from home
layout then we click on mechanism joint jog or linear
joint jog like we mentioned in the previous tutorial.
Picture 13 (robot studio screenshot)
Moving linear joint
Repeat step3 by clicking create target then add new point after that go down
and choose create , then the previous move you have done is saved by the
system. We repeat the same again and again until the path point is completely
created. When we open the tree of IRB on the lift in paths & targets section
we will see that we have target 10, target 20, target 30, ……target n. Now we
create an empty path then we drag targets to the new path (watch picture 15).
Picture 14 (robot studio screenshot)
Creating empty path
Picture 15 (robot studio screenshot)
Dragging Targets to the path
Up we will see path tools and modify button under it. Select modify button
and new list up will open, search the icon move along path and the robot will
debug for few second and robot should move according to the trajectory
which is planned or created.
Picture 16 (robot studio screenshot)
Robot simulation
Create program using virtual flex pendant part
First click on offline button then click virtual flexes pendant then ABB on the
corner of the new window
We click on save program as and we save new program and we name as well
Give the file name or select certain file in your hard disk then press ok
Click on load program.
We click on File and choose New routine..
Notice: If New Routine is not possible to select and the colour is gray then
check if the motor is on or off and click also on enable button to activate and
should be in green.
Then we need to save the new routine to a new name.
Then it will look like this, select any routine and click Show Routine.
From add instruction icon we will get the entire command menu on the right
side but if we need more command we need to click next.
Create program using virtual flex pendant part
We first move the robot coordinate of one joint then we stop to save the
movement by clicking move joint J click. Then we paint just the star (*) and
double click the star the it open new window like in picture 3 then we give
name for the movement for example pist1
Now we need to change the curve radius motion by clicking z50 to choose
for example to z40 from the list of curve list.
Now we can change tool name by clicking new so new window open to
rename your tool name or select tool from tool list.
We repeat the same step many times by using the same previous procedure .
Now we need to give command pick up and pick off the object we click first
on command up then 1/0
We rename it here.
Notice: When you select number 1 then you choose to pick up the object but
when you select 0 the you choose to leave the object
Notice: We can also use the command set (1) and reset (0) for tool to pick up
object and to leave it. The command set and reset is more simple to use for
example set is to pick up and reset to leave object.
Edit command we can use to copy and paste and some other command
instruction in the following Icon.
Finally debug command for simulation and running the program.
Toto the Robot
There once was a robot named Toto (see Toto’s photo in Image 16.2) that
used just such a representation to learn the map of its office environment at
MIT, in order to hang out with students and help someone1 get her PhD in
robotics. Let’s see how Toto learned its environment and got around to do its
task. To be honest, Toto did not in fact water any plants, as water and mobile
robots rarely mix well.
Toto the robot.
Toto’s Navigation
Toto was a behaviour-based system; you can see its control diagram in Image
16.3. It was equipped with a simple ring of twelve Polaroid sonars (if you
can’t remember why twelve, go back to Chapter 14), and a low-resolution
compass (2 bits). Toto lived around 1990, in the "old days," well before laser
scanners became commonplace. As in any good BBC, Toto’s controller
consisted of a collection of behaviours. Its lowest levels of the system took
care of moving Toto around safely, without collisions. Next, Toto had a
behaviour that kept it near walls and other objects, based on the distance
Toto’s behaviour-based controller
Toto’s sonar-based navigation regions
with its sonar sensors. Toto used a set of sonar sensing regions for navigation
(shown in above Image); its low-level safe navigation was in fact a reactive
system. In fact, Toto’s navigation controller used some of the programs.
Following boundaries was a good idea for Toto. Remember why? sonars are
most likely to be accurate at short and intermediate distances from objects. It
pays to get accurate sensor data when building maps and going places, so
Toto did it by staying near objects whenever possible. It turns out that rats
and mice also like to stick near objects, perhaps for other reasons (safety
from people?), but nobody would have confused Toto with a rat, at least
based on its looks. We’ll see later that Toto’s brain, in particular its use of
distributed representation, was also rat-like, but more on that in a bit.
To summarize, Toto’s navigation layer manifested the following behaviours:
1. The lowest-level behaviour kept it moving safely around its environment
without colliding with static obstacles or moving people.
2. The next level behaviour kept it near walls and other objects in the
Toto’s Landmark Detection
The next thing Toto did was to pay attention to what it was sensing and how
it was moving. This is generally a good thing to do. It allowed Toto to notice
when it was moving straight in the same direction for a while, or when it was
meandering around a lot. Moving straight indicated that it might be next to a
wall or in a corridor, and so Toto was able to detect walls and corridors.
Meandering around indicated that it was in a cluttered area, and so Toto
would detect that as well. So while Toto moved about, one of its behaviours
was paying attention to what its sonars “saw,” and in that way detecting and
recognizing landmarks: If Toto kept moving along in a consistent compass
direction (in a near-straight line) and kept close to a wall on one side (say the
left), it would recognize and detect a left-wall (LW). If the wall was on the
other side, it detected a right-walls (RW), and if it saw walls on both sides, it
recognized a corridor (C). Finally, if it detected nothing straight for a while
(no walls on either side), causing it to meander about, it declared a messy
area (MA). In Toto’s mind, left walls, right walls, corridors, and messy areas
were special, because it could notice them easily from its sensors and its own
behaviour. Therefore, they formed nice landmarks for his map.
Toto’s landmark detection layer also noted the compass direction for each of
the landmarks it detected. Its 2-bit compass (that’s not meant as an insult, it is
an accurate description) indicated north as 0, east as 4, south as 8, west as 12,
and so on, as shown in Image. In addition to the compass direction of the
landmark, Toto also noted the landmark’s approximate length.
To summarize, Toto’s landmark detection layer manifested the following
1. It kept track of the consistency in the sonar and compass readings, and,
noticing those, recognized one of the landmark types (left-wall, right wall,
corridor, messy-area).
2. For each landmark type, it also noted the compass direction and length of
the landmark.
Toto’s Mapping Behaviour’s
In order to store those landmarks, Toto constructed a map, as shown in
Image. Here we come upon the really interesting fact about Toto: its
distributed map representation. Each of the landmarks that Toto discovered
was stored in its own behaviour. When Toto’s landmark detection layer
discovered a corridor (C) going north (0) for 6.5 feet, it created a behaviour
that looked something like this:
What you see above is pseudo-code, not really Toto’s code but something
close to it and easier to read. The code above simply says that the behaviour
represents a corridor (C) going north (0), so that whenever the input into that
behaviour matches that description (i.e., when the input is C and 0, and the
An example of an indoor environment Toto navigated in, and a map it
constructed of that environment.
approximate length and location are right), the landmark matches and the
robot is in fact in that particular corridor.
Toto’s landmarks were clever: they worked regardless of which way Toto
was going down a corridor or along a wall. A C0 shown above would also
match C8 (because that corridor goes north-south, so Toto might be heading
down the same corridor in the opposite direction), and C4 would also match
C12 (because that corridor goes east-west). The same rule applied to walls as
well: a left wall going north (LW0) matched a right wall going South (RW8),
and so on.
Whenever the landmark-detecting layer detected a landmark, its description
(type and compass direction) was sent to all map behaviours at the same time
(in parallel). If any behaviour in the map matched the input, as described
above, then that behaviour would become active, meaning Toto knew where
it was in its map; this is called localization and is a very important part of the
navigation problem.
Ok, so far we have Toto moving around safely, detecting landmarks, and
reporting those to the behaviour map. Whenever one matches, Toto
recognizes that it is in a place where it has been before.
What happens if no behaviour in the map matches the landmark Toto is
That means Toto has discovered a new place/landmark, which needs to be
added to the map. Suppose Toto is seeing a corridor (C) going east (4) that is
approximately 5 feet long. Here is how it adds that new landmarks/behaviour
to its map: it takes a brand new, empty behaviour “shell” and assigns it to the
newly found landmark information, so it becomes:
It then connects the previous behaviour (suppose it is the C0 we just saw
earlier) to the new one by putting a communication link between them. This
means that when Toto is going north on C0, the next landmark it will see is
To take advantage of knowing where it is (being localized), Toto’s map did
another clever thing: the behaviour that was active sent messages to its
neighbour in the direction in which Toto was traveling (for example, in the
map shown in Image 16.5, C0 sent messages to C4 if Toto was going north,
but to C12 if Toto was going south), to warn it that it should be next to be
active. If the neighbour was next to be recognized, then Toto was even more
confident about the accuracy of its map and its localization. On the other
hand, if the expecting neighbour was not recognized next, that usually meant
that Toto had branched off on a new path it had not tried before, and would
soon discover new landmarks to be added to the map.
Besides sending messages to its neighbours to tell them who is coming next,
Toto’s map behaviours sent inhibitory messages to one another. Specifically,
when a behaviour matches the incoming landmark, it sends messages to all of
its neighbours to inhibit them, so that only one map behaviour can be active
at one time, since Toto can really be only in one place at one time. That’s
another part of Toto’s localization. (If this seems like a lot of machinery to
assure Toto where it is, you’ll see in Chapter 19 how hard it is for any robot
to know where it is.)
To summarize, Toto’s mapping layer performed the following behaviours:
1. Matched the received landmark against all landmark behaviours in the map
2. Activated the map behaviour that matched the current landmark
3. Inhibited the previous landmark
4. Reported if no landmark matched, and created a new landmark behaviour
in response, storing the new landmark and connecting it to the previous
Path Planning in Toto’s Behaviour Map
As we have seen, while Toto roamed around its environment, it built up a
landmark map of its world. This is an illustration of how you can build a
distributed map with a behaviour-based system. Now let’s see how such a
map is used to find/plan paths.
Let’s suppose that Toto’s watering can was empty, and it needed to go to the
corridor with the water supply, so this landmark became Toto’s goal. If the
goal landmark and Toto’s current position were the same behaviour in the
map, then Toto was already at the goal and did not need to go anywhere.
That’s too lucky to have been the case most of the time. Instead, Toto had to
plan a path between its current location and the goal. Here is how it did that.
The behaviour that corresponded to the goal sent messages saying, “Come
this way!” to all of its neighbours. The neighbours, in turn, sent the messages
on to their own neighbours (but not back the way the message came; that
would be a waste and create some problems). Each map behaviour, when
passing a message along, also added to it its landmark length, so that as the
path went
Toto’s way of path planning
through the network, its length grew based on the number and lengths of map
behaviours it passed through.
Rather quickly, these messages all reached the currently active behaviour
which represented wherever Toto was at the time. When they arrived, the
messages contained the total length of the path taken to get there, in terms of
physical landmark length. The current landmark paid attention only to the
message with the minimum summed landmark length, since that indicated the
direction toward the shortest path to the goal.
Besides going to a particular landmark, such as a specific corridor, Toto
could also find the nearest landmark with a particular property. For example,
suppose that Toto needed to find the nearest right wall. To make this happen,
all right wall landmarks in the map would start sending messages. Toto
followed the shortest path, and reached the nearest right wall in the map.
Go, Team! Group Robotics
What makes a group of robots a team? If you can control one robot, what’s
different about getting a group of them to do something together? Why is it a
hard thing to do well?
Controlling a group of robots is an interesting problem that presents a whole
new set of challenges compared with controlling one robot. These include:
1. Inherently dynamic environment
2. Complex local and global interaction
3. Increased uncertainty
4. The need for coordination
5. The need for communication.
Having an environment full of robots creates a very fast-changing, dynamic
world. As we already know, the more and the faster the environment changes
around the robot, the harder control can be. Multiple robots inherently create
a complex, dynamic environment because each moves around and affects the
environment and other robots around it. All this naturally leads to increased
complexity of the environment, and also more uncertainty for everyone
involved. A single robot has to contend with uncertainty in its sensors,
effectors, and any knowledge it has. A robot that is part of a group or team
also has to deal with uncertainty about the other robot’s state (Who is that
guy? Where is that guy?), actions (What is he doing?), intentions (What is he
going to do?), communication (What did he say? Did he actually say that?
Who said that?), and plans (What does he plan to do? Does he have a plan?
Will that interfere with my plan?). In a group situation, a robot has a whole
new type of interaction to deal with, one that involves other robots. Just like
people, groups of robots must coordinate their behavior effectively in order to
get a job done as a team. There are different kinds of "jobs" that teams can
do, and different kinds of COORDINATION teams. Coordination has to do
with arranging things in some kind of order (ord and ordin mean “order” in
Latin). Notice that the definition does not COOPERATION specify how that
order is achieved. Cooperation, on the other hand, refers to joint action with a
mutual benefit. As you will see, some robot teams are coordinated without
really being cooperative, while others must cooperate in order to coordinate
team performance. Quite a large area of active robotics research is concerned
with the challenges of coordinating teams of robots. It is variously called
group robotics, social robotics, team robotics, swarm robotics, and multirobot systems. Let’s see what kinds of things it studies.
Benefits of Teamwork
To begin with, let’s consider why we would want to use more than one robot
at a time. Here are some potential benefits of using multiple robots:
It takes two (or more): Some tasks, by their very nature, simply
cannot be done by a single robot. Perhaps the most popular example is
pushing a box (as in Image), a prototypical task that has to do with
transporting a large, heavy, awkward, or fragile object that cannot be
effectively handled by a single robot. Cooperative transportation is
useful in construction and habitat building, clearing barriers after a
disaster, moving wounded people, and many other real-world
applications that require teamwork.
Better, faster, cheaper: Some tasks do not require multiple robots,
but can be performed better by a team than by an individual robot.
Foraging is the most popular example. Foraging is the process of
finding and collecting objects (or information) from some specified
area. Foraging has been studied a great deal, because it is a prototype
for a variety of real-world applications of group robotics, such as
locating and disabling land mines, collectively distributing seeds or
harvesting crops in agriculture, laying cables in construction, covering
an area with sensors in surveillance, and so on.
Foraging can be performed by a single robot, but if the area to be foraged
A robot team collectively pushing a box; one robot (behind the box) is the
watcher, which steers the team toward the goal, while the two others are the
pushers. In this case, it takes three to tango, or at least to push this particular
is large compared with the size of the robot, which is usually the case, the job
can be performed faster by a robot team. However, determining the right
number of robots for such a task is a tricky proposition, since too many will
get in each other’s way, and too few will not be as efficient as a larger team
might be. Determining the right team size is just one of the challenges of
group robotics. We’ll talk about others later in this chapter.
Being everywhere at once: Some tasks require that a large area be
monitored so that robots can respond to an emergency event if/wherever it
ocSENSOR-ACTUATOR curs. Sensor networks are a popular example.
Sensor-actuator networks are NETWORKS groups of mobile sensors in the
environment that can communicate with each other, usually through wireless
radio, and can move about. By having a large number of sensors in a
building, an intruder or an emergency can be detected in any area, and nearby
robots can be sent to fix the problem. Such networks are also used for habitat
monitoring – for example, for tracking animals and fish in the wild in order to
conserve their environment, for detecting and measuring oil spills in the
ocean, and for tracking the growth of algae or some contaminant in the water
supply. The more such robots there
Robot dogs playing soccer.
are, the larger the area that can be monitored.
Having nine lives: Having a team of robots can result in increased
robustness in performing a task. Robustness in robotics refers to the ability to
resist failure. In a team of robots, if one or a small number of robots fails, the
others can make up for it, so that the overall team is more robust than any
REDUNDANCY individual alone would be. This type of robustness results
from redundancy, the repetition of capabilities on the team. Of course, not all
teams are redundant: if every member on a team is different, and thereby
none can make up for the failures of any others, then the team is not
redundant, and is accordingly is not very robust, since the whole team
depends on each and every member, and the failure of any one team member
can break down the entire team. This type of team organization is usually
avoided everywhere, from sports to armies.
Challenges of Teamwork
The above-listed advantages of robot teams have their price. Here are some
disadvantages that create the challenges of multi-robot control:
Get out of my way! Interference among robots on a team is the
main challenge of group robotics. The more robots there are on a team,
the more chance there is that they will interfere with each other. Since
the laws of physics just won’t allow two or more robots to be in the
same place at the same time, there is always the potential for physical
interference on a team. Besides this basic type of interference which
stems from the robot’s physical embodiment, there is also another kind:
goal interference, which has to do with robots’ goals conflicting. One
robot can undo the work of another, intentionally or otherwise, if their
goals are conflicting. It turns out that understanding, predicting, and
managing interference is one of the great challenges of working with
more than one robot at a time.
· It’s my turn to talk! Many multi-robot tasks require the members of
the team to communicate in some way. The most popular means of
communication is through wireless radio. A whole field of engineering
deals with communications and all the challenges that come with it. As
in human communication, there are interference issues here as well. If
the robots share a communication channel, they may need to take turns
sending messages and receiving them, to avoid "talking over each
other", which is the same as collisions in communication-space (rather
than in physical space, as in physical interference). Simply put, the
more robots there are, the more communication may be useful but also
What’s going on? We have already seen that uncertainty is an
inescapable part of a robot’s life. The more robots are involved in a
task, the more uncertainty there can be. Similarly, the less each
individual robot team member knows, the harder it is to get the whole
team to agree, in case such agreement is needed (such as in moving to
the next part of the task, or recognizing when the task is over; not all
tasks require this, as you will see shortly). Some clever multi-robot
controllers use multiple members of a robot team to reduce uncertainty,
but this does not come for free: it requires clever algorithms and
communication among robots.
· Two for the price of one? Even with discounts for bulk, more robots
are always costlier than fewer, and more robots have more hardware
failures and maintenance requirements to worry about as well. Cost is a
practical issue that influences real-life decisions in robotics as it does
everywhere else.
The challenges of group robotics are what makes programming a team of
robots a new and different problem from programming one robot. Before we
look into how to program them, let’s see what kinds of robot teams there are.
Types of Groups and Teams
How would you program a bunch of robots to play soccer
A wheeled robot and a six-legged robot cooperatively pushing a box.
Would you program each robot to act is if it were alone – to chase the ball
and try to take it, run for the goal and shoot, and run back and protect its own
goal or goalie? What would happen if you did? (What would happen if that
were how people played soccer?) It would be a complete mess! All robots
would run around and into each other, trying to play both offense and
defense, and getting into each other’s way. Soccer, like most other group
DIVISION OF LABOR activities, requires teamwork and some type of
division of labor or role assignment, giving each member of the team a job so
each knows what to do to help the team as a whole without getting in the way
of the others.
Do all group tasks require division of labor? What about foraging?
Could you just have a group of identical robots all doing foraging and
staying out of each other’s way?
Definitely. This shows us that there are different types of tasks and different
types of collective multi-robot systems. First, teams can be most easily
divided into two types, based on the individuals that constitute them:
Homogeneous teams are those with identical, and therefore interchangeable,
members. Members may be identical in their form (such as all having four
wheels and a ring of sonars) and/or in their function (such as all being able to
find and pick up objects and send messages to other team members).
Homogeneous teams can be coordinated with simple mechanisms, and in
some cases require no active, intentional cooperation to achieve effective
group behaviour.
A highly effective foraging group of merely coexisting robots.
Heterogeneous teams are those with different, non-interchangeable members.
Members may differ in form (some have four wheels, while others have two
wheels and a caster) and/or in function (some play offense by chasing the ball
while some play defense by getting in the way of opponents). Heterogeneous
teams typically require active cooperation in order to produce coordinated
Images show examples of real-world robot teams pushing boxes. Both teams
are heterogeneous, but one is heterogeneous only in form (different bodies,
same function), while the other is heterogeneous in both form and function.
Can you tell which is which? The first, a three-member team, features
members with different roles: two pushers and a watcher, so it is
heterogeneous in both form and function. The second, a two-member team,
features two members with different from (wheels vs. legs) but identical
function (pushing the box).
The next way of classifying robot teams is based on the type of coordination
strategy they use:
Merely coexisting: In this approach, multiple robots work on the same task
in a shared environment, but do not communicate or, in some cases, even
recognize each other. They merely treat each other as obstacles. Such systems
require no algorithms for coordination or communication, but as the number
of robots grows and the environment shrinks, interference increases, quickly
removing any benefit of having a group. Foraging, construction, and other
tasks can be achieved with this approach as long as the team size is
The Nerd Herd, one of the first multi-robot teams, flocking around the lab.
carefully designed to suit the task and environment so that interference is
Let’s take a closer look, using the foraging example: We have a group of
foraging robots whose job is to look over a field for scattered objects, pick
them up, and bring them back to a particular deposit location. While they do
that task, they must avoid collisions with obstacles, including other robots.
You can see how the more robots are doing the task, the more potential
interference there is between them, as long as they are in a bounded, limited
amount of space (which is reasonable to expect, since foraging in the vastness
of outer space is not currently a major robotics application). In this approach,
the robots do not help each other or even recognize each other. Therefore, to
make this work, there is a carefully designed balance among the task
parameters (including the size of the space and the number of objects being
collected), the number of robots, their physical size relative to the
environment, their sensor range, and their uncertainty properties. As you can
see, this takes some work. Image shows a group of robots that very
effectively collected objects into a single pile through merely coexisting.
We’ll see later how they did it.
Loosely coupled: In this approach, the robots recognize each other as
members of a group and may even use simple coordination, such as moving
away from each other to make space and minimize interference. However,
they do not depend on each other for completing the task, so members of the
group can be removed without influencing the behaviour of the others. Such
teams are robust, but difficult to coordinate to do precise tasks. Foraging,
herding, distributed mapping, and related group tasks are well suited for this
Back to our foraging example. Now, instead of treating each other as
obstacles, the robots can actually react to each other in more interesting ways.
For example, a robot that has found no objects can follow another robot that
is carrying an object, in hopes that it will lead it toward more objects.
Alternatively, a robot can avoid other robots under the assumption that it
should go where others haven’t been yet, and so find as yet undiscovered
objects. The robots can also flow or form lanes as they are heading to deposit
the objects, in order to minimize interference.
Tightly Coupled: In this approach, the robots cooperate on a precise task,
usually by using communication, turn-taking, and other means of tight
coordination. They depend on each other, which gives the system improved
group performance, but also less robustness through redundancy. Removing
team members makes the team performance suffer. Playing soccer, moving in
formation, and transporting objects are done well through the use of tightly
coupled teams.
Returning to foraging yet again: A tightly coupled foraging team would likely
use a global plan in which each member of the team goes to a specific area of
the environment to explore. This is convenient when a map of the area is
available. If no map is given, then the robots may use collaborative SLAM to
build one as they coordinate their exploration and object collection.
Where To Next? The Future of Robotics
Self-Reconfigurable Robotics
In theory at least, a swarm of tiny robots can get together to create any shape.
In reality, robots are constructed with rigid parts and do not shape-shift
easily. But an area of robotics research called reconfigurable robotics has
been de- signing robots that have modules or components that can come
together in various ways, creating not only different shapes but differently
shaped robot bodies that can move around. Such robots have been
demonstrated to shapeshift from being like six-legged insects to being like
slithering snakes. We say “like” because six-legged insect robots and
snakelike robots have been built before, and were much more agile and
elegant than these reconfigurable robots. However, they could not shapeshift.
The mechanics of physical reconfiguration are complex, involving wires and
connectors and physics, among other issues to consider and overcome.
Individual modules require a certain amount of intelligence to know their
state and role at various times and in various configurations. In some cases,
the modules are all the same (homogeneous), while in others, they are not
A reconfigurable robot striking (just one) pose
(heterogeneous), which makes the coordination problem in some ways
related to multi-robot control we learned about in Chapter 20. Reconfigurable
robots that can autonomously decide when and how to change their shapes
are called self-reconfigurable. Such systems are under active research for
navigation in hard-to-reach places, and beyond.
Humanoid Robotics
Some bodies change shape, and others are so complicated that one shape is
plenty hard to manage. Humanoid robots fit into that category. As we learned
in Chapter 4, parts of the human body have numerous degrees of freedom
(DOF), and control of high-DOF systems is very difficult, especially in the
light of unavoidable uncertainty found in all robotics. Humanoid control
brings together nearly all challenges we have discussed so far: all aspects of
navigation and all aspects of manipulation, along with balance and, as you
will see shortly, the intricacies of human-robot interaction.
There is a reason why it takes people so long to learn to walk and talk and be
productive, in spite of our large brains; it is very, very hard. Human beings
take numerous days, months, and years to acquire skills and knowledge,
Sarcos humanoid robot
while robots typically do not have that luxury. Through the development of
sophisticated humanoid robots with complex biomimetic sensors and
actuators, the field of robotics is finally having the opportunity to study
humanoid control, and is gaining even more respect for the biological
counterpart in the process.
Social Robotics And Human-Robot Interaction
Robotics is moving away from the factory and laboratory, and ever closer to
human everyday environments and uses, demanding the development of
robots capable of naturally interacting socially with people. The rather new
field of human-robot interaction (HRI) is faced with a slew of challenges
which include perceiving and understanding human behaviour in real time
(Who is that talking to me? What is she saying? Is she happy or sad or giddy
or mad? Is she getting closer or moving away?), responding in real-time
(What should I say? What should I do?), and doing so in a socially
appropriate and natural way that engages the human participant.
Humans are naturally social creatures, and robots that interact with us will
need to be appropriately social as well if we are to accept them into our lives.
When you think about social interaction, you probably immediately think
about two types of signals: facial expressions and language. Based on what
you know about perception in robotics, you may be wondering how robots
will ever become social, given how hard it is for a moving robot to find,
much less read, a moving face in real time (recall Chapter 9), or how hard it
is for a moving target to hear and understand speech from a moving source in
an environment with ambient noise.
Fortunately, faces and language are not the only ways of interacting socially.
Perception for human-robot interaction must be broad enough to include
human information processing, which consists of a variety of complex
signals. Consider speech, for example: it contains important nuances in its
rate, volume level, pitch, and other indicators of personality and feeling. All
that is extremely important and useful even before the robot (or person) starts
to understand what words are being said, namely before language processing.
Another important social indicator is the social use of space, called
proxemics: how close one stands, along with body posture and movement
(amount, size, direction, etc.), are rich with information about the social
interaction. In some cases, the robot may have sensors that provide
physiological responses, such as heart rate, blood pressure, body temperature,
and galvanic skin response (the conductivity of the skin), which also give
very useful cues about the interaction.
But while measuring the changes in heart rate and body temperature is very
useful, the robot still needs to be aware of the person’s face in order to “look"
at it. Social gaze, the ability to make eye contact, is critical for normal social
interpersonal interaction, so even if the robot can’t understand the facial
expression, it needs at least to point its head or camera to the face. Therefore,
vision research is doing a great deal of work toward creating robots (and
other machines) capable of finding and understanding faces as efficiently and
correctly as possible. And then there is language. The field of natural
language processing (NLP)is one of the early components of artificial
intelligence (AI) , which split off early and has been making great progress.
Unfortunately for robotics, the vast majority of success in NLP has been in
written language, which is why search engines and data mining are very
powerful already, but robots and computers still can’t understand what you
are saying unless you say very few words they already know, very slowly and
without an accent. Speech processing is a challenging field independent from
NLP; the two sometimes work well together, and sometimes not, much the
same as has been the case for robotics and AI. Great strides have been made
in human speech processing, but largely for speech that can be recorded next
to the mouth of the speaker. This works well for telephone systems, which
can now detect when you are getting frustrated by endless menus ("If you’d
like to learn about our special useless discount, please press 9" and the alltime favourite "Please listen to all the options, as our menu has changed"), by
analysing the qualities of emotion in speech we mentioned above. However,
it would be better if robot users did not have to wear a microphone to be
understood by a robot.
The above just scrapes the surface of the many interesting problems in HRI.
This brand-new field that brings together experts with backgrounds not only
in robotics but also in psychology, cognitive science, communications, social
science, and neuroscience, among others, will be great to watch as it
Manipulation and Dexterity
Contemporary industrial needs drive the applications of robots to ever more
advanced tasks. Robots are required to perform highly skilled jobs with
minimum human assistance or intervention. To extend the applications and
abilities of robots, it becomes important to develop a sound understanding of
the tasks themselves.
In order to devise appropriate arm mechanisms and to develop effective
control algorithms, we need to precisely understand how a given task should
be accomplished and what sort of motions the robot should be able to
achieve. To perform an assembly operation, for example, we need to know
how to guide the assembly part to the desired location, mate it with another
part, and secure it in an appropriate way. In a grinding operation, the robot
must properly position the grinding wheel while accommodating the contact
force. We need to analyze the grinding process itself in order to generate
appropriate force and motion commands.
Remote-center compliance hand
A detailed understanding of the underlying principles and "know-how"
involved in the task must be developed in order to use industrial robots
effectively, while there is no such need for making control strategies explicit
when the assembly and grinding operations are performed by a human
worker. Human beings perform sophisticated manipulation tasks without
being aware of the control principles involved. We have trained ourselves to
be capable of skilled jobs, but in general we do not know what the acquired
skills are exactly about. A sound and explicit understanding of manipulation
operations, however, is essential for the long-term progress of robotics. This
scientific aspect of manipulation has never been studied systematically before
and represents an emerging and important part of robotics research.
Locomotion and Navigation
Robotics has found a number of important application areas in broad fields
beyond manufacturing automation. These range from space and under-water
exploration, hazardous waste disposal, and environment monitoring to
robotic surgery, rehabilitation, home robotics, and entertainment. Many of
these applications entail some locomotive functionality so that the robot can
freely move around in an unstructured environment. Most industrial robots sit
on a manufacturing floor and perform tasks in a structured environment. In
contrast, those robots for non-manufacturing applications must be able to
move around on their own
Locomotion and navigation are increasingly important, as robots find
challenging applications in the field. This opened up new research and
development areas in robotics. Novel mechanisms are needed to allow robots
to move through crowded areas, rough terrain, narrow channels, and even
staircases. Various types of legged robots have been studied, since, unlike
standard wheels, legs can negotiate with uneven floors and rough terrain.
Among others, biped robots have been studied most extensively, resulting in
the development of humanoids, as shown in Image 1-9. Combining leg
mechanisms with wheels has accomplished superior performance in both
flexibility and efficiency. The Mars Rover prototype shown below has a
rocker-buggy mechanism combined with advanced wheel drives in order to
adapt itself to diverse terrain conditions.
Navigation is another critical functionality needed for mobile robots, in
particular, for unstructured environment. Those robots are equipped with
range sensors and vision system and are capable of interpreting the data to
locate themselves. Often the robot has a map of the environment and uses it
for estimating the location. Furthermore, based on the real-time data obtained
in the field, the robot is capable of updating and augmenting the map, which
is incomplete and uncertain in unstructured environment. As depicted in
Image 1-10, location estimation and map building are simultaneously
executed in the advanced navigation system. Such Simultaneous Location
and MApping (SLAM) is exactly what we human do in our daily life, and is
an important functionality of intelligent robots.
The goal of robotics is thus two-fold: to extend our understanding about
manipulation, locomotion, and other robotic behaviors and to develop
engineering methodologies to actually perform desired tasks. The goal of this
book is to provide entry-level readers and experienced engineers with
fundamentals of understanding robotic tasks and intelligent behaviors as well
as with enabling technologies needed for building and controlling robotic
JPL’s planetary exploration robot: an early version of the Mars Rover
Actuators and Drive Systems
Actuators are one of the key components contained in a robotic system. A
robot has many degrees of freedom, each of which is a servoed joint
generating desired motion. We begin with basic actuator characteristics and
drive amplifiers to understand behavior of servoed joints.
Most of today’s robotic systems are powered by electric servomotors.
Therefore, we focus on electromechanical actuators.
DC Motors
Illustrates the construction of a DC servomotor, consisting of a stator, a rotor,
and a commutation mechanism. The stator consists of permanent magnets,
creating a magnetic field in the air gap between the rotor and the stator. The
rotor has several windings arranged symmetrically around the motor shaft.
An electric current applied to the motor is delivered to individual windings
through the brush-commutation mechanism, as shown in the Image. As the
rotor rotates the polarity of the current flowing to the individual windings is
altered. This allows the rotor to rotate continually.
Construction of DC motor
where the proportionality constant is called the torque constant, one of the
key parameters describing the characteristics of a DC motor. The torque
constant is determined by the strength of the magnetic field, the number of
turns of the windings, the effective area of the air gap, the radius of the rotor,
and other parameters associated with materials properties.
In an attempt to derive other characteristics of a DC motor, let us first
consider an idealized energy transducer having no power loss in converting
electric power into mechanical power. Let E be the voltage applied to the
idealized transducer. The electric power is then given by E ⋅i , which must be
equivalent to the mechanical power:
where ω m is the angular velocity of the motor rotor. Substituting eq.(1) into
eq.(2) and dividing both sides by i yield the second fundamental relationship
of a DC motor:
The above expression dictates that the voltage across the idealized power
transducer is proportional to the angular velocity and that the proportionality
constant is the same as the torque constant given by eq.(1). This voltage E is
called the back emf (electro-motive force) generated at the air gap, and the
proportionality constant is often called the back emf constant.
Note that, based on eq.(1), the unit of the torque constant is Nm/A in the
metric system, whereas the one of the back emf constant is V/rad/s based on
Show that the two units, Nm/A and V/rad/s, are identical.
The actual DC motor is not a loss-less transducer, having resistance at the
rotor windings and the commutation mechanism. Furthermore, windings may
exhibit some inductance, which stores energy. the schematic of the electric
circuit, including the windings resistance R and inductance L.
where u is the voltage applied to the armature of the motor
Electric circuit of armature
we can obtain the actual relationship among the applied voltage u, the rotor
angular velocity ω m , and the motor torque
τm .
This is called the torque-speed characteristic. Note that the motor torque
increases in proportion to the applied voltage, but the net torque reduces as
the angular velocity increases.
illustrates the torque-speed characteristics. The negative slope of the straight
lines, Kt 2 / R− , implies that the voltage-controlled DC motor has an
inherent damping in its mechanical behavior.
The power dissipated in the DC motor is given by
Taking the square root of both sides yields
where the parameter is called the motor constant. The motor constant
represents how effectively electric power is converted to torque. The larger
the motor constant becomes, the larger the output torque is generated with
less power dissipation. A DC motor with more powerful magnets, thicker
winding wires, and a larger rotor diameter has a larger motor constant. A
motor with a larger motor constant, however, has a larger damping, as the
negative slope of the torque speed characteristics becomes steeper, as
Torque-speed characteristics and output power
Taking into account the internal power dissipation, the net output power of
the DC motor is given by
This net output power is a parabolic function of the angular velocity, as
illustrated in Image 2.1.3. It should be noted that the net output power
becomes maximum in the middle point of the velocity axis, i.e. 50 % of the
maximum angular velocity for a given armature voltage u. This implies that
the motor is operated most effectively at 50 % of the maximum speed. As the
speed departs from this middle point, the net output power decreases, and it
vanishes at the zero speed as well as at the maximum speed. Therefore, it is
important to select the motor and gearing combination so that the maximum
of power transfer be achieved.
Dynamics of Single-Axis Drive Systems
DC motors and other types of actuators are used to drive individual axes of a
robotic system. a schematic diagram of a single-axis drive system consisting
of a DC motor, a gear head, and arm links1 . An electric motor, such as a DC
motor, produces a relatively small torque and rotates at a high speed, whereas
a robotic joint axis in general rotates slowly, and needs a high torque to bear
the load. In other words, the impedance of the actuator:
is much smaller than that of the load.
Joint axis drive system
Although a robotic system has multiple axes driven by multiple actuators
having dynamic interactions, we consider behavior of an independent single
axis in this section, assuming that all the other axes are fixed.
To fill the gap we need a gear reducer, as shown in Image 2.2.1. Let r > 1 be
a gear reduction ratio (If d1 and d2 are diameters of the two gears, the gear
reduction ratio is ). The torque and angular velocity are changed to:
where load τ and ωload are the torque and angular velocity at the joint axis,
as shown in the Image. Note that the gear reducer of gear ratio r increases the
impedance r 2 times larger than that of the motor axis Zm:
ω mis the time rate of change of angular velocity, i.e. the angular
acceleration. Let be the inertia of the arm link about the joint axis, and b the
damping coefficient of the bearings supporting the joint axis. Considering the
free body diagram of the arm link and joint axis yields
Note that the effective inertia of the motor rotor is r 2 times larger than the
original value when reflected to the joint axis. Likewise, the motor constant
becomes r 2 times larger when reflected to the joint axis. The gear ratio of a
robotic system is typically 20 ~ 100, which means that the effective inertia
and damping becomes 400 ~ 10,000 times larger than those of the motor
itself. mI
For fast dynamic response, the inertia of the motor rotor must be small. This
is a crucial requirement as the gear ratio gets larger, like robotics
applications. There are two ways of reducing the rotor inertia in motor
design. One is to reduce the diameter and make the rotor longer. The other is
to make the motor rotor very thin, like a pancake.
Long and slender
Most robots use the long and slender motors as Image (a), and some heavyduty robots use the pancake type motor. a pancake motor by Mavilor Motors,
Assuming that the angular velocity of a joint axis is approximately zero,
obtain the optimal gear ratio r in eq.(7) that maximizes the acceleration of the
joint axis.
Power Electronics
Performance of servomotors used for robotics applications highly depends on
electric power amplifiers and control electronics, broadly termed power
electronics. Power electronics has shown rapid progress in the last two
decades, as semiconductors became faster, more powerful, and more
efficient. In this section we will briefly summarize power electronics relevant
to robotic system development.
Pulse width modulation (PWM)
In many robotics applications, actuators must be controlled precisely so that
desired motions of arms and legs may be attained. This requires a power
amplifier to drive a desired level of voltage (or current indirectly) to the
motor armature, as discussed in the previous section. Use of a linear amplifier
(like an operational amplifier), however, is power-inefficient and impractical,
since it entails a large amount of power loss. Consider a simple circuit
consisting of a single transistor for controlling the armature voltage. Let V be
the supply voltage connected to one end of the motor armature. The other end
of the armature is connected to the collector of the transistor. As the base
voltage varies the emitter-collector voltage varies, and thereby the voltage
drop across the motor armature, denoted u in the Image, varies accordingly.
Let i be the collector current flowing through the transistor. Then the power
loss that is dissipated at the transistor is given by
where R is the armature resistance. plots the internal power loss at the
transistor against the armature voltage. The power loss becomes the largest in
the middle, where half the supply voltage V/2 acts on the armature. This large
heat loss is not only wasteful but also harmful, burning the transistor in the
worst case scenario. Therefore, this type of linear power amplifier is seldom
used except for driving very small motors.
Analogue power amplifier for driving the armature voltage
Power loss at the transistor vs The armature voltage.
An alternative is to control the voltage via ON-OFF switching. Pulse Width
Modulation, or PWM for short, is the most commonly used method for
varying the average voltage to the motor. it is clear that the heat loss is zero
when the armature voltage is either 0 or V. This means that the transistor is
completely shutting down the current (OFF) or completely admitting the
current (ON). For all armature voltages other than these complete ON-OFF
states, some fraction of power is dissipated in the transistor. Pulse Width
Modulation (PWM ) is a technique to control an effective armature voltage
by using the ON-OFF switching alone. It varies the ratio of time length of the
complete ON state to the complete OFF state. Image 2.3.3 illustrates PWM
signals. A single cycle of ON and OFF states is called the PWM period,
whereas the percentage of the ON state in a single period is called duty rate.
The first PWM signal is of 60% duty, and the second one is 25 %. If the
supply voltage is V=10 volts, the average voltage is 6 volts and 2.5 volts,
The PWM period is set to be much shorter than the time constant associated
with the mechanical motion. The PWM frequency, that is the reciprocal to the
PWM period, is usually 2 ~ 20 kHz, whereas the bandwidth of a motion
control system is at most 100 Hz. Therefore, the discrete switching does not
influence the mechanical motion in most cases.
Pulse width modulation
As modeled in eq.(2.1.4), the actual rotor windings have some inductance L.
If the electric time constant the is much larger than the PWM period, the
actual current flowing to the motor armature is a smooth curve, as illustrated.
In other words, the inductance works as a low-pass filter, filtering out the
sharp ON-OFF profile of the input voltage. In contrast, if the electric time
constant is too small, compared to the PWM period, the current profile
becomes zigzag, following the rectangular voltage profile, as shown in Image
2.3.4-(b). As a result, unwanted high frequency vibrations are generated at
the motor rotor. This happens for some types of pancake motors with low
inductance and low rotor inertia.
Current to the motor is smoothed due to inductance
PWM switching characteristics
As the PWM frequency increases, the current driven to the motor becomes
smoother, and the nonlinearity due to discrete switching disappears.
Furthermore, high PWM frequencies cause no audible noise of switching.
The noise disappears as the switching frequency becomes higher than the
human audible range, say 15 kHz. Therefore, a higher PWM frequency is in
general desirable. However, it causes a few adverse effects. As the PWM
frequency increases:
The heat loss increases and the transistor may over-heat,
Harmful large voltage spikes and noise are generated, and
Radio frequency interference and electromagnetic interference
become prominent.
The first adverse effect is the most critical one, which limits the capacity of a
PWM amplifier. Although no power loss occurs at the switching transistor
when it is completely ON or OFF, a significant amount of loss is caused
during transition. As the transistor state is switched from OFF to ON or vice
versa, the transistor goes through intermediate states, which entail heat loss.
Since it takes some finite time for a semiconductor to make a transition, every
time it is switched, a certain amount of power is dissipated. As the PWM
frequency increases, more power loss and, more importantly, more heat
generation occur. Image 2.3.5 illustrates the turn-on and turn-off transitions
of a switching transistor. When turned on, the collector current Ic increases
and the voltage Vce decreases. The product of these two values provides the
switching power loss as shown by broken lines in the Image. Note that turnoff takes a longer time, hence it causes more heat loss.
Transient responses of transistor current and voltage and associated
power loss during turn-on and turn-off state transitions
it is clear that a switching transistor having fast turn-on and turn-off
characteristics is desirable, since it causes less power loss and heat
generation. Power MOSFETs (Metal-Oxide-Semiconductor Field-Effect
Transistors) have very fast switching characteristics, enabling 15 ~ 100 kHz
of switching frequencies. For relatively small motors, MOSFETs are widely
used in industry due to their fast switching characteristics. For larger motors,
IGBTs (Insulated Gate Bipolar Transistor) are the rational choice because of
their larger capacity and relatively fast response.
As the switching speed increases, the heat loss becomes smaller. However,
fast switching causes other problems. Consider eq.(2.1.4) again, the dynamic
equation of the armature:
High speed switching means that the time derivative of current i is large. This
generates a large inductance-induced kickback voltage dt di L that often
damages switching semiconductors. As illustrated. a large spike is induced
when turning on the semiconductor. To get rid of this problem a freewheeling-diode (FWD) is inserted across the motor armature, as shown in
Image 2.3.6-(b). As the voltage across the armature exceeds a threshold level,
FWD kicks in to bypass the current so that the voltage may be clamped.
Voltage spike induced by inductance (a), free-wheeling diode (b), and the
clamped spike with FWD (c)
High speed PWM switching also generates Electromagnetic Interference
(EMI), particularly when the wires between the PWM amplifier and the
motor get longer. Furthermore, high speed PWM switching may incur RadioFrequency Interference (RFI). Since the PWM waveforms are square,
significant RFI can be generated. Whenever PWM switching edges are faster
than 10 µs, RFI is induced to some extent. An effective method for reducing
EMI and RFI is to put the PWM amplifier inside the motor body. This motor
architecture, called Integrated Motor or Smart Motor, allows confining EMI
and RFI within the motor body by minimizing the wire length between the
motor armature and the power transistors.
The H-bridge and bipolar PWM amplifiers
In most robotics applications, bi-directional control of motor speed is
necessary. This requires a PWM amplifier to be bipolar, allowing for both
forward and backward rotations. The architecture described in the previous
section needs to be extended to meet this bipolar requirement. The H-Bridge
architecture is commonly used for bipolar PWM amplifiers. As shown in
Image 2.3.7, the H-Bridge architecture resembles the letter H in the
arrangement of switching transistors around the motor armature. Switching
transistors, A and B are pulled up to the supply voltage V, whereas transistors
C and D are connected to ground. Combinations of these four switching
transistors provide a variety of operations. In Image (i), gates A and D are
ON, and B and C are OFF. This gate combination delivers a current to the
armature in the forward direction. When the gate states are reversed, as
shown in Image (ii), the direction of current is reversed. Furthermore, the
motor coasts off when all the gates are turned OFF, since the armature is
totally isolated or disconnected as shown in Image (iii). On the other hand,
the armature windings are shortened, when both gates C and D are turned ON
and A and B are turned OFF. See Image (iv). This shortened circuit provides
a “braking” effect, when the motor rotor is rotating.
Forward motion
Reverse motion
The motor armature coasts off
The motor windings are shortened causing a braking effect.
It should be noted that there is a fundamental danger in the H-bridge circuit.
A direct short circuit can occur if the top and bottom switches connected to
the same armature terminal are turned on at the same time. A catastrophic
failure results when one of the switching transistors on the same vertical line
in Image 2.3.7 fails to turn off before the other turns on. Most of H-bridge
power stages commercially available have several protection mechanisms to
prevent the direct short circuit.
Robot Controls and PWM Amplifiers of the 2.12 Laboratory
DC motors and PWM amplifiers, the two most important components
involved in a robot power train, have been described. Now we are ready to
introduce the specific drive system and controls to be used for building robots
for the design project.
This term we will use controllers and drives produced by Innovation First,
Inc. The system consists of bipolar PWM amplifiers, a PIC-based on-board
robot controller with a wireless modem, a stationary controller hooked up to a
laptop computer. Potentiometers are used for measuring the angular
displacement of joint axes. They are connected to A/D converter ports of the
on-board controller for position feedback control. Additional sensors can be
hooked up to the on-board controllers. A C-language based development
environment is available for the system.
Bipolar PWM amplifier with a built-in cooling fun, IFI, Inc.
On-board and stationary controllers, IFI.Inc
Control system operation diagram, IFI, Inc.
Optical Shaft Encoders
The servomechanism described in the previous section is based on analogue
feedback technology, using a potentiometer and a tachometer generator.
These analogue feedbacks, although simple, are no longer used in industrial
robots and other industrial applications, due to limited reliability and
performance. A potentiometer, for example, is poor in reliability, resolution,
accuracy, and signal to noise ratio. The output tap of the variable resistance
slides on a track of resistive material, making a mechanical contact all the
time. This slide contact causes not only electric noise but also wear of the
contacting surfaces. The resolution and S/N ratio of the sensor are also
limited by the mechanical contact. Furthermore, linearity depends on the
uniformity of the resistive material coated on the substrate, and that is a
limiting factor of a potentiometer’s accuracy. Today’s industrial standard is
optical shaft encoders, having no sliding contact. This will be discussed next.
Basic principle
An optical encoder consists of a rotating disk with grids, light sources,
photodetectors, and electronic circuits. As shown in Image 2.5.1, a pattern of
alternating opaque and translucent grids is printed on the rotating disk. A pair
of light source and photodetector is placed on both sides of the rotating disk.
As an opaque grid comes in, the light beam is blocked, while it is transmitted
through the disk, when the translucent part comes in. The light beam is then
detected by the photodetector. The disk is coupled to a motor shaft or a robot
joint to measure. As it rotates, an alternating ON-OFF signal is obtained with
the photodetector. The number of grids passing through the optical elements
represents the distance traveled.
Basic construction of optical shaft encoder
This optical shaft encoder has no mechanical component making a slide
contact, and has no component wear. An optical circuit is not disturbed by
electric noise, and the photodetector output is a digital signal, which is more
stable than an analogue signal. These make an optical shaft encoder reliable
and robust; it is a suitable choice as a feedback sensor for servomotors.
Position measurement
One problem with the above optical encoder design is that the direction of
rotation cannot be distinguished from the single photodetector output. The
photodetector output is the same for both clockwise and counter-clockwise
rotations. There is no indication as to which way the disk is rotating.
Counting the pulse number merely gives the total distance the shaft has
rotated back and forth. To measure the angular “position”, the direction of
rotation must be distinguished. One way of obtaining the directional
information is to add another pair of light source/photodetector and a second
track of opaque/translucent grids with 90 degrees of phase difference from
the first track. Image 2.5.2 illustrates a double track pattern and resultant
output signals for clockwise and counter-clockwise rotations. Note that track
A leads track B by 90 degrees for clockwise rotation and that track B leads
track A for counter-clockwise rotation. By detecting the phase angle the
direction of rotation can be distinguished, and this can be done easily with an
up-down counter.
By simply feeding both A phase and B phase encoder signals to an up-down
counter, the direction of rotation is first detected, and the number of rising
edges and falling edges of both signals is counted in such a way that the
counter adds the incoming edge number for clockwise rotation and subtract
the edge numbers for counter-clockwise rotation. The up-down counter
indicates the cumulative number of edges, that is, the angular “position” of
the motor. The output of the up-down counter is binary n-bit signals ready to
be sent to a digital controller without A/D conversion.
Double track encode for detection of the direction of rotation
It should be noted that this type of encoder requires initialization of the
counter prior to actual measurement. Usually a robot is brought to a home
position and the up-down counters are set to the initial state corresponding to
the home position. This type of encoder is referred to as an incremental
encoder, since A-phase and B-phase signals provide relative displacements
from an initial point. Whenever the power supply is shut down, the
initialization must be performed for incremental encoders.
Up-down counter for an incremental encoder
An absolute encoder provides an n-bit absolute position as well as the
direction of rotation without use of an up-down counter and initialization. As
shown in Image 2.5.4, the rotating disk has n-tracks of opaque-translucent
grid patterns and n pairs of light sources and photodetectors. The n-tracks of
grid patterns differ in the number of grids; the innermost track has only 1=20
pair of opaque and translucent slits, the second track has 2=21 pairs, and the
i-th track has 2i-1 pairs. The n outputs from the photodetectors directly
indicate the n-bit absolute position of the rotating disk. In general, absolute
encoders are more complex and expensive than incremental encoders. In case
of power failure, incremental encoders need a laborious initialization
procedure for recovery. For quick recovery as well as for safety, absolute
encoders are often needed in industrial applications.
Absolute encoder
Velocity estimate
Velocity feedback is needed for improving accuracy of speed control as well
as for compensating for system dynamics. A salient feature of optical
encoders is that velocity information can be obtained along with position
measurement. Without use of a dedicated tachometer generator, velocity
measurement can be attained by simply processing pulse sequences generated
by an optical encoder.
a pulse sequence coming from an optical encoder.2 Each pulse indicates a
rising edge or a falling edge of phase A & B signals. Therefore, the density of
this pulse train, i.e. the pulse frequency, is approximately proportional to the
angular velocity of the rotating shaft. The pulse density can be measured by
counting the number of incoming pulses in every fixed period, say T=10 ms,
as shown in the Image. This can be done with another up-down counter that
counts A phase and B phase pulses. Counting continues only for the fixed
sampling period T, and the result is sent to a controller at the end of every
sampling period. Then the counter is cleared to re-start counting for the next
As the sampling period gets shorter, the velocity measurement is updated
more frequently, and the delay of velocity feedback gets shorter. However, if
the sampling period is too short, discretization error becomes prominent. The
problem is more critical when the angular velocity is very small. Not many
pulses are generated, and just a few pulses can be counted for a very short
period. As the sampling period gets longer, the discretization error becomes
smaller, but the time delay may cause instability of the control system.
Velocity estimate based on pulse frequency measurement
An effective method for resolving these conflicting requirements is to use a
dual mode velocity measurement. Instead of counting the number of pulses,
the interval of adjacent pulses is measured at low speed. The reciprocal to the
pulse interval gives the angular velocity. As shown in Image 2.5.6, the time
interval can be measured by counting clock pulses. The resolution of this
pulse interval measurement is much higher than that of encoder pulse
counting in a lower speed range. In contrast, the resolution gets worse at high
speed, since the adjacent pulse interval becomes small. Therefore, these two
methods supplement to each other. The dual mode velocity measurement uses
both counters and switches them depending on the speed.
Dual mode velocity measurement
Brushless Dc Motors
The DC motor described in the previous section is the simplest, yet efficient
motor among various actuators applied to robotic systems. Traditional DC
motors, however, are limited in reliability and robustness due to wear of the
brush and commutation mechanism. In industrial applications where a high
level of reliability and robustness is required, DC motors have been replaced
by brushless motors and other types of motors having no mechanical
commutator. Since brushless motors, or AC synchronous motors, are
increasingly used in robotic systems and other automation systems, this
section briefly describes its principle and drive methods.
Construction of brushless DC motor and conventional DC motor
In the brushless motor, the commutation of currents is performed with an
electronic switching system. Image 2.6.1 shows the construction of a
brushless motor, compared with a traditional DC motor. In the brushless
motor, the rotor and the stator are swapped. Unlike the traditional DC motor,
the stator of the brushless motor consists of windings, whereas the rotor
comprises permanent magnets. The commutation is accomplished by
measuring the rotor position using a position sensor. Depending on the rotor
position, currents are delivered to the corresponding windings though
electronic switching circuits. The principle of torque generation remains the
same, and the torque-speed characteristics and other properties are mostly
preserved. Therefore, the brushless motor is highly efficient with added
A drawback of this brushless motor design is that the torque may change
discontinuously when switches are turned on and off as the rotor position
changes. In the traditional DC motor this torque ripple is reduced by simply
increasing the commutator segments and dividing the windings to many
segments. For the brushless motor, however, it is expensive to increase the
number of electronic switching circuits. Instead, in the brushless motor the
currents flowing into individual windings are varied continuously so that the
torque ripple be minimum. A common construction of the windings is that of
a three-phase windings.
Let IA, IB and IC be individual currents flowing into the three windings
shown in the Image. These three currents are varies such that:
where IO is the scalar magnitude of desired current, and θ is the rotor
position. The torque generated is the summation of the three torques
generated at the three windings. Taking into account the angle between the
magnetic field and the force generated at each air gap, we obtain
The above expression indicates a linear relationship between the output
torque and the scalar magnitude of the three currents. The torque-current
characteristics of a brushless motor are apparently the same as the traditional
DC motor.
Brushless DC motor and drive amplifier
Robot Mechanisms
A robot is a machine capable of physical motion for interacting with the
environment. Physical interactions include manipulation, locomotion, and
any other tasks changing the state of the environment or the state of the robot
relative to the environment. A robot has some form of mechanisms for
performing a class of tasks. A rich variety of robot mechanisms has been
developed in the last few decades. In this chapter, we will first overview
various types of mechanisms used for generating robotic motion and
introduce some taxonomy of mechanical structures before going into a more
detailed analysis in the subsequent chapters.
Joint Primitives and Serial Linkages
A robot mechanism is a multi-body system with the multiple bodies
connected together. We begin by treating each body as rigid, ignoring
elasticity and any deformations caused by large load conditions. Each rigid
body involved in a robot mechanism is called a link, and a combination of
links is referred to as a linkage. In describing a linkage it is fundamental to
represent how a pair of links is connected to each other. There are two types
of primitive connections between a pair of links. The first is a prismatic joint
where the pair of links makes a translational displacement along a fixed axis.
In other words, one link slides on the other along a straight line. Therefore, it
is also called a sliding joint. The second type of primitive joint is a revolute
joint where a pair of links rotates about a fixed axis. This type of joint is often
referred to as a hinge, articulated, or rotational joint.
Primitive joint types: (a) a prismatic joint and (b) a revolute joint
Combining these two types of primitive joints, we can create many useful
mechanisms for robot manipulation and locomotion. These two types of
primitive joints are simple to build and are well grounded in engineering
design. Most of the robots that have been built are combinations of only these
two types. Let us look at some examples.
Robot mechanisms analogous to coordinate systems
One of the fundamental functional requirements for a robotic system is to
locate its end effecter, e.g. a hand, a leg, or any other part of the body
performing a task, in three-dimensional space. If the kinematic structure of
such a robot mechanism is analogous to a coordinate system, it may suffice
this positioning requirement. three types of robot arm structures
corresponding to the Cartesian coordinate system, the cylindrical coordinate
system, and the spherical coordinate system respectively. The Cartesian
coordinate robot has three prismatic joints, corresponding to three axes
denoted x, y , and z. The cylindrical robot consists of one revolute joint and
two prismatic joints, with r, and z representing the coordinates of the endeffecter. Likewise, the spherical robot has two revolute joints denoted and
one prismatic joint denoted r.
Cartesian coordinate robot
Photo removed for copyright reasons. Robot by Cincinnati Milacron.
Cylindrical coordinate robot
Photo removed for copyright reasons. GMF Robotics model M-100.
Spherical coordinate robot.
Photo removed for copyright reasons.
There are many other ways of locating an end-effecter in three-dimensional
space. three other kinematic structures that allow the robot to locate its endeffecter in three-dimensional space. Although these mechanisms have no
analogy with common coordinate systems, they are capable of locating the
end-effecter in space, and have salient features desirable for specific tasks.
The first one is a so-called SCALAR robot consisting of two revolute joints
and one prismatic joint. This robot structure is particularly desirable for
assembly automation in manufacturing systems, having a wide workspace in
the horizontal direction and an independent vertical axis appropriate for
insertion of parts.
SCALAR type robot.
Photo removed for copyright reasons. Robot by Adept.
The second type, called an articulated robot or an elbow robot, consists of all
three revolute joints, like a human arm. This type of robot has a great degree
of flexibility and versatility, being the most standard structure of robot
manipulators. The third kinematic structure, also consisting of three revolute
joints, has a unique mass balancing structure. The counter balance at the
elbow eliminates gravity load for all three joints, thus reducing toque
requirements for the actuators. This structure has been used for the directdrive robots having no gear reducer.
Articulated robot
Photo removed for copyright reasons. SCORBOT model ER 1X.
Note that all the above robot structures are made of serial connections of
primitive joints. This class of kinematic structures, termed a serial linkage,
constitutes the fundamental makeup of robot mechanisms. They have no
kinematic constraint in each joint motion, i.e. each joint displacement is a
generalized coordinate. This facilitates the analysis and control of the robot
mechanism. There are, however, different classes of mechanisms used for
robot structures. Although more complex, they do provide some useful
properties. We will look at these other mechanisms in the subsequent
Parallel Linkages
Primitive joints can be arranged in parallel as well as in series. Image 3.2.1
illustrates such a parallel link mechanism. It is a five-bar-linkage consisting
of five links, including the base link, connected by five joints. This can be
viewed as two serial linkage arms connected at a particular point, point A in
the Image. It is important to note that there is a closed kinematic chain
formed by the five links and, thereby, the two serial link arms must conform
to a certain geometric constraint. It is clear from the Image that the endeffecter position is determined if two of the five joint angles are given. For
example, if angles 1? and 3? of joints 1 and 3 are determined, then all the link
positions are determined, as is the end-effecter’s. Driving joints 1 and 3 with
two actuators, we can move the end-effecter within the vertical plane. It
should be noted that, if more than two joints were actively driven by
independent actuators, a conflict among three actuators would occur due to
the closed-loop kinematic chain. Three of the five joints should be passive
joints, which are free to rotate. Only two joints should be active joints, driven
by independent actuators.
Five-bar-link parallel link robot
This type of parallel linkage, having a closed-loop kinematic chain, has
significant features. First, placing both actuators at the base link makes the
robot arm lighter, compared to the serial link arm with the second motor
fixed to the tip of link 1. Second, a larger end-effecter load can be born with
the two serial linkage arms sharing the load. Image 3.2.2 shows a heavyduty
robot having a parallel link mechanism.
Stewart mechanism, which consists of a moving platform, a fixed base, and
six powered cylinders connecting the moving platform to the base frame. The
position and orientation of the moving platform are determined by the six
independent actuators. The load acting on the moving platform is born by the
six "arms". Therefore, the load capacity is generally large, and dynamic
response is fast for this type of robot mechanisms. Note, however, that this
mechanism has spherical joints, a different type of joints than the primitive
joints we considered initially.
Stewart mechanism parallel-link robot
Planar Kinematics
Kinematics is Geometry of Motion. It is one of the most fundamental
disciplines in robotics, providing tools for describing the structure and
behavior of robot mechanisms. In this chapter, we will discuss how the
motion of a robot mechanism is described, how it responds to actuator
movements, and how the individual actuators should be coordinated to obtain
desired motion at the robot end-effecter. These are questions central to the
design and control of robot mechanisms.
To begin with, we will restrict ourselves to a class of robot mechanisms that
work within a plane, i.e. Planar Kinematics. Planar kinematics is much more
tractable mathematically, compared to general three-dimensional kinematics.
Nonetheless, most of the robot mechanisms of practical importance can be
treated as planar mechanisms, or can be reduced to planar problems. General
three-dimensional kinematics, on the other hand, needs special mathematical
tools, which will be discussed in later chapters.
Planar Kinematics of Serial Link Mechanisms
Consider the three degree-of-freedom planar robot arm shown in Image. The
arm consists of one fixed link and three movable links that move within the
plane. All the links are connected by revolute joints whose joint axes are all
perpendicular to the plane of the links. There is no closed-loop kinematic
chain; hence, it is a serial link mechanism.
Three dof planar robot with three revolute joints
To describe this robot arm, a few geometric parameters are needed. First, the
length of each link is defined to be the distance between adjacent joint axes.
Let points O, A, and B be the locations of the three joint axes, respectively,
and point E be a point fixed to the end-effecter. Then the link lengths are A1
= OA, A 2 = AB, A 3 = BE . Let us assume that Actuator 1 driving link 1 is
fixed to the base link (link 0), generating angle θ1 , while Actuator 2 driving
link 2 is fixed to the tip of Link 1, creating angle θ 2 between the two links,
and Actuator 3 driving Link 3 is fixed to the tip of Link 2, creating angle θ3 ,
as shown in the Image. Since this robot arm performs tasks by moving its
end-effecter at point E, we are concerned with the location of the endeffecter. To describe its location, we use a coordinate system, O-xy, fixed to
the base link with the origin at the first joint, and describe the end-effecter
position with coordinates e and e . We can relate the end-effecter coordinates
to the joint angles determined by the three actuators by using the link lengths
and joint angles defined above:
This three dof robot arm can locate its end-effecter at a desired orientation as
well as at a desired position. The orientation of the end-effecter can be
described as the angle the centerline of the end-effecter measured from the
positive x coordinate axis. This end-effecter orientation φe is related to the
actuator displacements as
The above three equations describe the position and orientation of the robot
end-effecter viewed from the fixed coordinate system in relation to the
actuator displacements. In general, a set of algebraic equations relating the
position and orientation of a robot end-effecter, or any significant part of the
robot, to actuator or active joint displacements, is called Kinematic
Equations, or more specifically, Forward Kinematic Equations in the robotics
a planar robot arm with two revolute joints and one prismatic joint. Using the
geometric parameters and joint displacements, obtain the kinematic equations
relating the end-effecter position and orientation to the joint displacements.
Three dof robot with two revolute joints and one prismatic joint
Now that the above Example and Exercise problems have illustrated
kinematic equations, let us obtain a formal expression for kinematic
equations. As mentioned in the previous chapter, two types of joints,
prismatic and revolute joints, constitute robot mechanisms in most cases. The
displacement of the i-th joint is described by distance di if it is a prismatic
joint, and by angle θi for a revolute joint. For formal expression, let us use a
generic notation: qi. Namely, joint displacement qi represents either distance
di or angle θi depending on the type of joint.
We collectively represent all the joint displacements involved in a robot
mechanism with a column vector: , where n is the number of joints.
Kinematic equations relate these joint displacements to the position and
orientation of the end-effecter. Let us collectively denote the end-effecter
position and orientation by vector p. For planar mechanisms, the end-effecter
location is described by three variables:
Using these notations, we represent kinematic equations as a vector function
relating p to q:
For a serial link mechanism, all the joints are usually active joints driven by
individual actuators. Except for some special cases, these actuators uniquely
determine the end-effecter position and orientation as well as the
configuration of the entire robot mechanism. If there is a link whose location
is not fully determined by the actuator displacements, such a robot
mechanism is said to be under-actuated. Unless a robot mechanism is underactuated, the collection of the joint displacements, i.e. the vector q, uniquely
determines the entire robot configuration. For a serial link mechanism, these
joints are independent, having no geometric constraint other than their stroke
limits. Therefore, these joint displacements are generalized coordinates that
locate the robot mechanism uniquely and completely. Formally, the number
of generalized coordinates is called degrees of freedom. Vector q is called
joint coordinates, when they form a complete and independent set of
generalized coordinates.
Inverse Kinematics of Planar Mechanisms
The vector kinematic equation derived in the previous section provides the
functional relationship between the joint displacements and the resultant endeffecter position and orientation. By substituting values of joint
displacements into the right-hand side of the kinematic equation, one can
immediately find the corresponding end-effecter position and orientation. The
problem of finding the end-effecter position and orientation for a given set of
joint displacements is referred to as the direct kinematics problem. This is
simply to evaluate the right-hand side of the kinematic equation for known
joint displacements. In this section, we discuss the problem of moving the
end-effecter of a manipulator arm to a specified position and orientation. We
need to find the joint displacements that lead the end-effecter to the specified
position and orientation. This is the inverse of the previous problem and is
thus referred to as the inverse kinematics problem. The kinematic equation
must be solved for joint displacements, given the end-effecter position and
orientation. Once the kinematic equation is solved, the desired end-effecter
motion can be achieved by moving each joint to the determined value.
set of joint displacements. On the other hand, the inverse kinematics is more
complex in the sense that multiple solutions may exist for the same endeffecter location. Also, solutions may not always exist for a particular range
of end-effecter locations and arm structures. Furthermore, since the kinematic
equation is comprised of nonlinear simultaneous equations with many
trigonometric functions, it is not always possible to derive a closed-form
solution, which is the explicit inverse function of the kinematic equation.
When the kinematic equation cannot be solved analytically, numerical
methods are used in order to derive the desired joint displacements.
Consider the three dof planar arm shown in Image 4.1.1 again. To solve its
inverse kinematics problem, the kinematic structure is redrawn in Image
4.2.1. The problem is to find three joint angles 1 2 3 θ ,θ ,θ that lead the end
effecter to a desired position and orientation, e e e x , y ,φ . We take a twostep approach. First, we find the position of the wrist, point B, from e e e x , y
,φ . Then we find 1 2 θ ,θ from the wrist position. Angle θ3 can be
determined immediately from the wrist position.
Skeleton structure of the robot arm
Let w and w be the coordinates of the wrist. As shown in Image 4.2.1, point
B is at distance 3 from the given end-effecter position E. Moving in the
opposite direction to the end effecter orientation x y A φe , the wrist
coordinates are given by
Note that the right hand sides of the above equations are functions of Xe, Ye
,φe alone. From these wrist coordinates, we can determine the angle α.
a set of joint angles that locates the end-effecter at the desired position and
orientation. It is interesting to note that there is another way of reaching the
same end-effecter position and orientation, i.e. another solution to the inverse
kinematics problem. two configurations of the arm leading to the same endeffecter location: the elbow down configuration and the elbow up
configuration. The former corresponds to the solution obtained above. The
latter, having the elbow position at point A’, is symmetric to the former
configuration with respect to line OB, as shown in the Image. Therefore, the
two solutions are related as
Inverse kinematics problems often possess multiple solutions, like the above
example, since they are nonlinear. Specifying end-effecter position and
orientation does not uniquely determine the whole configuration of the
system. This implies that vector p, the collective position and orientation of
the end-effecter, cannot be used as generalized coordinates.
The existence of multiple solutions, however, provides the robot with an
extra degree of flexibility. Consider a robot working in a crowded
environment. If multiple configurations exist for the same end-effecter
location, the robot can take a configuration having no interference with the
environment. Due to physical limitations, however, the solutions to the
inverse kinematics problem do not necessarily provide feasible
configurations. We must check whether each solution satisfies the constraint
of movable range, i.e. stroke limit of each joint.
Multiple solutions to the inverse kinematics problem
Kinematics of Parallel Link Mechanisms
Consider the five-bar-link planar robot arm
Note that Joint 2 is a passive joint. Hence, angle θ2 is a dependent variable.
Using θ2 , however, we can obtain the coordinates of point A:
Equating these two sets of equations yields two constraint equations:
Note that there are four variables and two constraint equations. Therefore,
two of the variables, such as θ1 ,θ2 , are independent. It should also be noted
that multiple solutions exist for these constraint equations.
Five-bar-link mechanism
Although the forward kinematic equations are difficult to write out explicitly,
the inverse kinematic equations can be obtained for this parallel link
mechanism. The problem is to find 1 3 θ ,θ that lead the endpoint to a desired
position: . We will take the following procedure:
Step 1 Given , find e e x , y 1 2 θ ,θ by solving the two-link inverse
kinematics problem.
Step 2 Given 1 2 θ ,θ , obtain . This is a forward kinematics problem. A A x ,
Step 3 Given , find A A x , y 3 4 θ ,θ by solving another two-link inverse
kinematics problem.
Obtain the joint angles of the dog’s legs, given the body position and
A doggy robot with two legs on the ground
Redundant mechanisms
A manipulator arm must have at least six degrees of freedom in order to
locate its end effecter at an arbitrary point with an arbitrary orientation in
space. Manipulator arms with less than 6 degrees of freedom are not able to
perform such arbitrary positioning. On the other hand, if a manipulator arm
has more than 6 degrees of freedom, there exist an infinite number of
solutions to the kinematic equation. Consider for example the human arm,
which has seven degrees of freedom, excluding the joints at the fingers. Even
if the hand is fixed on a table, one can change the elbow position
continuously without changing the hand location. This implies that there exist
an infinite set of joint displacements that lead the hand to the same location.
Manipulator arms with more than six degrees of freedom are referred to as
redundant manipulators. We will discuss redundant manipulators in detail in
the following chapter.
Differential Motion
In the previous chapter, the position and orientation of the manipulator endeffecter were evaluated in relation to joint displacements. The joint
displacements corresponding to a given end-effecter location were obtained
by solving the kinematic equation for the manipulator. This preliminary
analysis permitted the robotic system to place the end-effecter at a specified
location in space. In this chapter, we are concerned not only with the final
location of the end-effecter, but also with the velocity at which the endeffecter moves. In order to move the end-effecter in a specified direction at a
specified speed, it is necessary to coordinate the motion of the individual
joints. The focus of this chapter is the development of fundamental methods
for achieving such coordinated motion in multiple-joint robotic systems. As
discussed in the previous chapter, the end-effecter position and orientation
are directly related to the joint displacements. Hence, in order to coordinate
joint motions, we derive the differential relationship between the joint
displacements and the end-effecter location, and then solve for the individual
joint motions.
Differential Relationship
We begin by considering a two degree-of-freedom planar robot arm. The
kinematic equations relating the end-effecter coordinates and to the joint
displacements e x ye θ1 and θ 2 are given by
Two dof planar robot with two revolute joints
We are concerned with “small movements” of the individual joints at the
current position, and we want to know the resultant motion of the endeffecter. This can be obtained by the total derivatives of the above kinematic
where are variables of both e e x , y θ1 and θ2 , hence two partial derivatives
are involved in the total derivatives. In vector form the above equations
reduce to
The matrix J comprises the partial derivatives of the functions 1 2 (θ ,θ ) e
and 1 2 x (θ ,θ ) e with respect to joint displacements 1 2 y θ and θ . The
matrix J, called the Jacobian Matrix, represents the differential relationship
between the joint displacements and the resulting end-effecter motion. Note
that most robot mechanisms have a multitude of active joints, hence a matrix
is needed for describing the mapping of the vectorial joint motion to the
vectorial end-effecter motion.
For the two-dof robot arm of, the components of the Jacobian matrix are
computed as
By definition, the Jacobian collectively represents the sensitivities of
individual end-effecter coordinates to individual joint displacements. This
sensitivity information is needed in order to coordinate the multi dof joint
displacements for generating a desired motion at the end-effecter.
Thus the Jacobian determines the velocity relationship between the joints and
the end-effecter.
Properties of the Jacobian
The Jacobian plays an important role in the analysis, design, and control of
robotic systems. It will be used repeatedly in the following chapters. It is
worth examining basic properties of the Jacobian, which will be used
throughout this book.
We begin by dividing the 2-by-2 Jacobian of into two column vectors:
Then can be written as
The first term on the right-hand side accounts for the end-effecter velocity
induced by the first joint only, while the second term represents the velocity
resulting from the second joint motion only. The resultant end-effecter
velocity is given by the vectorial sum of the two. Each column vector of the
Jacobian matrix represents the end-effecter velocity generated by the
corresponding joint moving at a unit velocity when all other joints are
Illustrates the column vectors 1 2 of the 2 dof robot arm in the two
dimensional space. Vector 2 J , given by the second column of eq.(5.1. 8),
points in the direction perpendicular to link 2. Note, however, that vector 1 is
not perpendicular to link 1 but is perpendicular to line OE, the line from joint
1 to the endpoint E. This is because 1 represents the endpoint velocity
induced by joint 1 when joint 2 is immobilized. In other words, links 1 and 2
are rigidly connected, becoming a single rigid body of link length OE, and is
the tip velocity of the link OE.
Geometric interpretation of the column vectors of the Jacobian
In general, each column vector of the Jacobian represents the end-effecter
velocity and angular velocity generated by the individual joint velocity while
all other joints are immobilized. Letpbe the end-effecter velocity and angular
velocity, or the end-effecter velocity for short, and Ji be the i-th column of the
Jacobian. The end-effecter velocity is given by a linear combination of the
Jacobian column vectors weighted by the individual joint velocities.
where n is the number of active joints. The geometric interpretation of the
column vectors is that is the end-effecter velocity and angular velocity when
all the joints other than joint i are immobilized and only the i-th joint is
moving at a unit velocity.
Consider the two-dof articulated robot again. This time we use “absolute”
joint angles measured from the positive x-axis, as shown in Image 5.2.2. Note
that angle θ 2 is measured from the fixed frame, i.e. the x-axis, rather than a
relative frame, e.g. link 1. Obtain the 2-by-2 Jacobian and illustrate the two
column vectors on the xy plane. Discuss the result in comparison with the
previous case.
Absolute joint angles measured from the x-axis.
Note that the elements of the Jacobian are functions of joint displacements,
and thereby vary with the arm configuration. As expressed in eq.(5.1.8), the
partial derivatives, e i e i ∂x / ∂θ , ∂y / ∂θ , are functions of 1 2 θ and θ .
Therefore, the column vectors 1 2 vary depending on the arm posture.
Remember that the end-effecter velocity is given by the linear combination of
the Jacobian column vectors 1 2 . Therefore, the resultant end-effecter
velocity varies depending on the direction and magnitude of the Jacobian
column vectors 1 2 spanning the two-dimensional space. If the two vectors
point in different directions, the whole two-dimensional space is covered with
the linear combination of the two vectors. That is, the end effecter can be
moved in an arbitrary direction with an arbitrary velocity. If, on the other
hand, the two Jacobian column vectors are aligned, the end-effecter cannot be
moved in an arbitrary direction. this may happen for particular arm postures
where the two links are fully contracted or extended. These arm
configurations are referred to as singular configurations. Accordingly, the
Jacobian matrix becomes singular at these positions. Using the determinant of
a matrix, this condition is expressed as
det J = 0
Note that both column vectors point in the same direction and thereby the
determinant becomes zero.
Singular configurations of the two-dof articulated robot
Inverse Kinematics of Differential Motion
Now that we know the basic properties of the Jacobian, we are ready to
formulate the inverse kinematics problem for obtaining the joint velocities
that allow the end-effecter to move at a given desired velocity. For the two
dof articulated robot, the problem is to find the joint velocities , for the given
end-effecter velocity . If the arm configuration is not singular, this can be
obtained by taking the inverse of the Jacobian matrix
Note that the solution is unique. Unlike the inverse kinematics problem
discussed in the previous chapter, the differential kinematics problem has a
unique solution as long as the Jacobian is nonsingular.
The above solution determines how the end-effecter velocity ve must be
decomposed, or resolved, to individual joint velocities. If the controls of the
individual joints regulate the joint velocities so that they can track the
resolved joint velocities q , the resultant end-effecter velocity will be the
desired ve. This control scheme is called Resolved Motion Rate Control,
attributed to Daniel Whitney (1969). Since the elements of the Jacobian
matrix are functions of joint displacements, the inverse Jacobian varies
depending on the arm configuration. This means that although the desired
end-effecter velocity is constant, the joint velocities are not. Coordination is
thus needed among the joint velocity control systems in order to generate a
desired motion at the end-effecter.
Consider the two dof articulated robot arm again. We want to move the
endpoint of the robot at a constant speed along a path staring at point A on
the x-axis, (+2, 0), go around the origin through points B (+ε, 0) and C (0,
+ε), and reach the final point D (0, +2) on the y-axis. For simplicity, each arm
link is of unit length. Obtain the profiles of the individual joint velocities as
the end-effecter tracks the path at the constant speed.
trajectory tracking near the singular points
The resolved joint velocities 1 2 computed along the specified trajectory.
Note that the joint velocities are extremely large near the initial and final
points, and are unbounded at points A and D. These are at the arm’s singular
configurations, 2 θ ,θ θ = 0 . As the end-effecter gets close to the origin, the
velocity of the first joint becomes very large in order to quickly turn the arm
around from point B to C. At these configurations, the second joint is almost
–180 degrees, meaning that the arm is near a singularity. This result agrees
with the singularity condition using the determinant of the Jacobian:
The numerators are divided by 2 sinθ , the determinant of the Jacobian.
Therefore, the joint velocities blow up as the arm configuration gets close to
the singular configuration.
Joint velocity profiles for tracking the trajectory
Furthermore, the arm’s behavior near the singular points can be analyzed by
substituting θ 2 = 0, π into the Jacobian, as obtained. For 1 A1 = A 2 = and 0
θ 2 = , the Jacobian column vectors reduce to the ones in the same direction:
As illustrated (singular configuration A), both joints 1 2 generate the
endpoint velocity along the same direction. Note that no endpoint velocity
can be generated in the direction perpendicular to the aligned arm links. For θ
,θ θ2 = π ,
The first joint cannot generate any endpoint velocity, since the arm is fully
contracted. See singular configuration B.
At a singular configuration, there is at least one direction in which the robot
cannot generate a non-zero velocity at the end-effecter. This agrees with the
previous discussion; the Jacobian is degenerate at a singular configuration,
and the linear combination of the Jacobian column vectors cannot span the
whole space.
A three-dof spatial robot arm is shown in the Image below. The robot has
three revolute joints that allow the endpoint to move in the three-dimensional
space. However, this robot mechanism has singular points inside the
workspace. Analyze the singularity, following the procedure below
Step 1 Obtain each column vector of the Jacobian matrix by considering the
endpoint velocity created by each of the joints while immobilizing the other
Step 2 Construct the Jacobian by concatenating the column vectors and set
the determinant of the Jacobian to zero for singularity: detJ = 0 .
Step 3 Find the joint angles that make detJ = 0 .
Step 4 Show the arm posture that is singular. Show where in the workspace it
becomes singular. For each singular configuration, also show in which
direction the endpoint cannot have a nonzero velocity.
Schematic of a three dof articulated robot
Singularity and Redundancy
We have seen in this chapter that singular configurations exist for many robot
mechanisms. Sometimes, such singular configurations exist in the middle of
the workspace, seriously degrading mobility and dexterity of the robot. At a
singular point, the robot cannot move in certain directions with a non-zero
velocity. To overcome this difficulty, several methods can be considered.
One is to plan a trajectory of the robot motion such that it will not go into
singular configurations. Another method is to include additional degrees of
freedom, so that even when some degrees of freedom are lost at a certain
configuration, the robot can still maintain the necessary degrees of freedom.
Such a robot is referred to as a redundant robot. In this section we will
discuss singularity and redundancy and obtain general properties of
differential motion for general n degree of freedom robots.
As studied in Section 5.3, a unique solution exists to the differential
kinematic equation, (5.3.1), if the arm configuration is non-singular.
However, when a planar (spatial) robot arm has more than three (six) degrees
of freedom, we can find an infinite number of solutions that provide the same
motion at the end-effecter. Consider for instance the human arm, which has
seven degrees of freedom excluding the joints at the fingers. When the hand
is placed on a desk and fixed in its position and orientation, the elbow
position can still vary continuously without moving the hand. This implies
that a certain ratio of joint velocities exists that does not cause any velocity at
the hand. This specific ratio of joint velocities does not contribute to the
resultant endpoint velocity. Even if these joint velocities are superimposed
onto other joint velocities, the resultant end-effecter velocity is the same.
Consequently, we can find different solutions of the instantaneous kinematic
equation for the same end-effecter velocity. In the following, we investigate
the fundamental properties of the differential kinematics when additional
degrees of freedom are involved.
To formulate a differential kinematic equation for a general n degree-offreedom robot mechanism, we begin by modifying the definition of the
vector dxe representing the end-effecter motion. In eq. (5.1.6), dxe was
defined as a two-dimensional vector that represents the infinitesimal
translation of an end-effecter. This must be extended to a general mdimensional vector. For planar motion, m may be 3, and for spatial motion, m
may be six. However, the number of variables that we need to specify for
performing a task is not necessarily three or six. In arc welding, for example,
only five independent variables of torch motion need be controlled. Since the
welding torch is usually symmetric about its centerline, we can locate the
torch with an arbitrary orientation about the centerline. Thus, five degrees of
freedom are sufficient to perform arc welding. In general, we describe the
differential end-effecter motion by m independent variables dp that must be
specified to perform a given task.
Then the differential kinematic equation for a general n degree-of-freedom
robot is given by
where the dimension of the Jacobian J is m by n; . When n is larger than m
and J is of full rank, there are (n-m) arbitrary variables in the general solution
of eq.(2). The robot is then said to have (n-m) redundant degrees of freedom
for the given task. m×n J ∈ℜ
Associated with the above differential equation, the velocity relationship can
be written
where pand qare velocities of the end effecter and the joints, respectively.
Equation (3) can be regarded as a linear mapping from n-dimensional vector
space Vn to m-dimensional space Vm. To characterize the solution to eq.(3),
let us interpret the equation using the linear mapping diagram shown in
Image 5.4.1. The subspace R(J) in the Image is the range space of the linear
mapping. The range space represents all the possible end-effecter velocities
that can be generated by the n joints at the present arm configuration. If the
rank of J is of full row rank, the range space covers the entire vector space
Vm. Otherwise, there exists at least one direction in which the end-effecter
cannot be moved with non-zero velocity. The subspace N(J) of Image 5.4.1 is
the null space of the linear mapping. Any element in this subspace is mapped
into the zero vector in Vm. Therefore, any joint velocity vector q that belongs
to the null space does not produce any velocity at the end-effecter. Recall the
human arm discussed before. The elbow can move without moving the hand.
Joint velocities for this motion are involved in the null space, since no endeffecter motion is induced. If the Jacobian is of full rank, the dimension of
the null space, dim N(J), is the same as the number of redundant degrees of
freedom (n-m). When the Jacobian matrix is degenerate, i.e. not of full rank,
the dimension of the range space, dim R(J), decreases, and at the same time
the dimension of the null space increases by the same amount. The sum of the
two is always equal to n:
dim R(J) + dim N(R) = n
Let q * be a particular solution of eq.(3) and be a vector involved in the null
space, then the vector of the form q0 q q* q0 = +k is also a solution of eq.
(3), where k is an arbitrary scalar quantity. Namely,
Since the second term can be chosen arbitrarily within the null space, an
infinite number of solutions exist for the linear equation, unless the
dimension of the null space is 0. The null space accounts for the arbitrariness
of the solutions. The general solution to the linear equation involves the same
number of arbitrary parameters as the dimension of the null space.
Linear mapping diagram
Robots physically interact with the environment through mechanical contacts.
Mating work pieces in a robotic assembly line, manipulating an object with a
multi-fingered hand, and negotiating a rough terrain through leg locomotion
are just a few examples of mechanical interactions. All of these tasks entail
control of the contacts and interference between the robot and the
environment. Force and moment acting between the robot end-effecter and
the environment must be accommodated for in order to control the
interactions. In this chapter we will analyze the force and moment that act on
the robot when it is at rest.
A robot generates a force and a moment at its end-effecter by controlling
individual actuators. To generate a desired force and moment, the torques of
the multiple actuators must be coordinated. As seen in the previous chapter,
the sensitivities of the individual actuators upon the end-effecter motion, i.e.
the Jacobian matrix, are essential in relating the actuator (joint) torques to the
force and moment at the end-effecter. We will obtain a fundamental theorem
for force and moment acting on a multi degree-of-freedom robot, which we
will find is analogous to the differential kinematics discussed previously.
Free Body Diagram
We begin by considering the free body diagram of an individual link
involved in an open kinematic chain. Image 6.1.1 shows the forces and
moments acting on link i, which is connected to link i-1 and link i+1 by joints
i and i+1, respectively. Let Oi be a point fixed to link i located on the joint
axis i+1 and Oi-1 be a point fixed to link i-1 on the joint axis i. Through the
connections with the adjacent links, link i receives forces and moments from
both sides of the link. Let fi-1,i be a three-dimensional vector representing the
linear force acting from link i-1 to link i. Likewise let fi,i+1 be the force from
link i to link i+1. The force applied to link i from link i+1 is then given by –
fi,i+1. The gravity force acting at the mass centroid Ci is denoted mig, where
mi is the mass of link i and g is the 3x1 vector representing the acceleration
of gravity. The balance of linear forces is then given by
Note that all the vectors are defined with respect to the base coordinate
system O-xyz.
Next we derive the balance of moments. The moment applied to link i by link
i-1 is denoted Ni-1,i, and therefore the moment applied to link i by link i+1 is
–Ni,i+1. Furthermore, the linear forces fi-1,i and –fi,i+1 also cause moments
about the centroid Ci. The balance of moments with respect to the centroid Ci
is thus given by
where ri-1,i is the 3x1 position vector from point Oi-1 to point Oi with
reference to the base coordinate frame, and ri,Ci represents the position
vector from point Oi to the centroid Ci.
Free body diagram of the i-th link
The force i−1, i f and moment i−1,i are called the coupling force and moment
between the adjacent links i and i-1. For i=1, the coupling force and moment
are 0,1 and 0,1 . These are interpreted as the reaction force and moment
applied to the base link to which the arm mechanism is fixed. See Image
6.1.2-(a). When i = n, on the other hand, the above coupling force and
moment become n, n+1 and n, n+1 . As the end-effecter, i.e. link n, contacts
the environment, the reaction force acts on the end-effecter. See Image 6.1.2(b). For convenience, we regard the environment as an additional link,
numbered n+1, and represent the reaction force and moment by - and - ,
Force and moment that the base link exerts on link 1 (a), and the ones
that the environment exerts on the end-effecter, the final link (b)
The above equations can be derived for all the link members except for the
base link, i.e. i=1,2, …, n. This allows us to form 2n simultaneous equations
of 3x1 vectors. The number of coupling forces and moments involved is
2(n+1). Therefore two of the coupling forces and moments must be specified;
otherwise the equations cannot be solved. The final coupling force and
moment, n, n+1 f and n, n+1 , are the force and moment that the end-effecter
applies to the environment. It is this pair of force and moment that the robot
needs to accommodate in order to perform a given task. Thus, we specify this
pair of coupling force and moment, and solve the simultaneous equations. For
convenience we combine the force and the moment , to define the following
six-dimensional vector:
We call the vector F the endpoint force and moment vector, or the endpoint
force for short.
Energy Method and Equivalent Joint Torques
In this section we will obtain the functional relationship between the joint
torques and the endpoint force, which will be needed for accommodating
interactions between the end-effecter and the environment. Such a functional
relationship may be obtained by solving the simultaneous equations derived
from the free body diagram. However, we will use a different methodology,
which will give an explicit formula relating the joint torques to the endpoint
force without solving the simultaneous equations. The methodology we will
use is the energy method, sometimes referred to as the indirect method. Since
the simultaneous equations based on the balance of forces and moments are
complex and difficult to solve, we will find that the energy method is the
ideal choice when dealing with complex robotic systems.
In the energy method, we describe a system with respect to energy and work.
Therefore, terms associated with forces and moments that do not produce,
store, or dissipate energy are eliminated in its basic formula. In the free body
diagram shown in Image 6.1.1, many components of the forces and moments
are so called “constraint forces and moments” merely joining adjacent links
together. Therefore, constraint forces and moments do not participate in
energy formulation. This significantly reduces the number of terms and, more
importantly, will provide an explicit formula relating the joint torques to the
endpoint force.
To apply the energy method, two preliminary formulations must be
performed. One is to separate the net force or moment generating energy
from the constraint forces and moments irrelevant to energy. Second, we
need to find independent displacement variables that are geometrically
admissible satisfying kinematic relations among the links.
The actuator torques and the coupling forces and moments acting at adjacent
joints. The coupling force i−1, i f and moment Ni−1,i are the resultant force
and moment acting on the individual joint, comprising the constraint force
and moment as well as the torque generated by the actuator. Let bi-1 be the
3x1 unit vector pointing in the direction of joint axis i, as shown in the Image.
If the i-th joint is a revolute joint, the actuator generates joint torque i τ about
the joint axis. Therefore, the joint torque generated by the actuator is one
component of the coupling moment along the direction of the joint axis:
For a prismatic joint, such as the (i+1)-st joint illustrated in Image 6.2.1, the
actuator generates a linear force in the direction of the joint axis. Therefore, it
is the component of the linear coupling force projected onto the joint axis.
Note that, although we use the same notation as that of a revolute joint, the
scalar quantity i τ has the unit of a linear force for a prismatic joint. To unify
the notation we use i τ for both types of joints, and call it a joint torque
regardless the type of joint.
Joint torques as components of coupling force and moment
We combine all the joint torques from joint 1 through joint n to define the
nx1 joint torque vector:
The joint torque vector collectively represents all the actuators’ torque inputs
to the linkage system. Note that all the other components of the coupling
force and moment are borne by the mechanical structure of the joint.
Therefore, the constraint forces and moments irrelevant to energy formula
have been separated from the net energy inputs to the linkage system.
In the free body diagram, the individual links are disjointed, leaving
constraint forces and moments at both sides of the link. The freed links are
allowed to move in any direction. In the energy formulation, we describe the
link motion using independent variables alone. Remember that in a serial link
open kinematic chain joint coordinates ( q " q) T q = 1 n are a complete and
independent set of generalized coordinates that uniquely locate the linkage
system with independent variables. Therefore, these variables conform to the
geometric and kinematic constraints. We use these joint coordinates in the
energy-based formulation.
The explicit relationship between the n joint torques and the endpoint force F
is given by the following theorem:
Consider an n degree-of-freedom, serial link robot having no friction at the
joints. The joint torques that are required for bearing an arbitrary endpoint
force are given by
where J is the 6 x n Jacobian matrix relating infinitesimal joint displacements
dq to infinitesimal end-effecter displacements dp:
Note that the joint torques in the above expression do not account for gravity
and friction. They are the net torques that balances the endpoint force and
moment. We call of eq.(3) the equivalent joint torques associated with the
endpoint force F.
We prove the theorem by using the Principle of Virtual Work. Consider
virtual displacements at individual joints, 1 n , and at the end-effecter, T e T e
, as shown in Image 6.2.2. Virtual displacements are arbitrary infinitesimal
displacements of a mechanical system that conform to the geometric
constraints of the system. Virtual displacements are different from actual
displacements, in that they must only satisfy geometric constraints and do not
have to meet other laws of motion. To distinguish the virtual displacements
from the actual displacements, we use the Greek letter δ rather than the
roman d.
Virtual displacements of the end effecter and individual joints
We assume that joint torques 1 2 n and endpoint force and moment, -F, act on
the serial linkage system, while the joints and the end-effecter are moved in
the directions geometrically admissible. Then, the virtual work done by the
forces and moments is given by
According to the principle of virtual work, the linkage system is in
equilibrium if, and only if, the virtual work δWork vanishes for arbitrary
virtual displacements that conform to geometric constraints. Note that the
virtual displacements δq and δp are not independent, but are related by the
Jacobian matrix given in eq.(5). The kinematic structure of the robot
mechanism dictates that the virtual displacements δp is completely dependent
upon the virtual displacement of the joints, δq. Substituting eq.(5) into eq.(6)
Note that the vector of the virtual displacements δq consists of all
independent variables, since the joint coordinates of an open kinematic chain
are generalized coordinates that are complete and independent. Therefore, for
the above virtual work to vanish for arbitrary virtual displacements we must
the theorem has been proven.
The above theorem has broad applications in robot mechanics, design, and
control. We will use it repeatedly in the following chapters.
A two-dof articulated robot having the same link dimensions as the previous
examples. The robot is interacting with the environment surface in a
horizontal plane. Obtain the equivalent joint torques T 1 needed for pushing
the surface with an endpoint force of T . Assume no friction.
The Jacobian matrix relating the end-effecter coordinates e and to the joint
displacements x e y θ1 and θ 2 has been obtained in the previous chapter:
the equivalent joint torques are obtained by simply taking the transpose of the
Jacobian matrix.
Two-dof articulated robot pushing the environment surface
Duality of Differential Kinematics and Statics
We have found that the equivalent joint torques are related to the endpoint
force by the Jacobian matrix, which is the same matrix that relates the
infinitesimal joint displacements to the end-effecter displacement. Thus, the
static force relationship is closely related to the differential kinematics. In this
section we discuss the physical meaning of this observation.
To interpret the similarity between differential kinematics and statics, we can
use the linear mapping diagram of Image 5.4.1. Recall that the differential
kinematic equation can be regarded as a linear mapping when the Jacobian
matrix is fixed at a given robot configuration. reproduces and completes it
with a similar diagram associated with the static analysis. As before, the
range space R(J) represents the set of all the possible end-effecter velocities
generated by joint motions. When the Jacobian matrix is degenerate, or the
robot configuration is singular, the range space does not span the whole
vector space. Namely, there exists a direction in which the end-effecter
cannot move with a non-zero velocity. See the subspace S2 in the Image. The
null space N(J), on the other hand, represents the set of joint velocities that do
not produce any velocity at the end-effecter. If the null space contains a
nonzero element, the differential kinematic equation has an infinite number
of solutions that cause the same end-effecter velocity.
The lower half of is the linear mapping associated with the static force
relationship given by eq.(6.2.4). Unlike differential kinematics, the mapping
of static forces is given by the transpose of the Jacobian, generating a
mapping from the m-dimensional vector space Vm, associated with the
Cartesian coordinates of the end-effecter, to the n-dimensional vector space
Vn , associated with the joint coordinates. Therefore, the joint torques τ are
always determined uniquely for any arbitrary endpoint force F. However, for
given joint torques, a balancing endpoint force does not always exist. As in
the case of the differential kinematics, let us define the null space N(JT ) and
the range space R(JT ) of the static force mapping. The null space N(JT )
represents the set of all endpoint forces that do not require any torques at the
joints to bear the corresponding load. In this case the endpoint force is borne
entirely by the structure of the linkage mechanism, i.e. constraint forces. The
range space R(JT ), on the other hand, represents the set of all the possible
joint torques that can balance the endpoint forces.
Duality of differential kinematics and statics
The ranges and null spaces of J and JT are closely related. According to the
rules of linear algebra, the null space N(J) is the orthogonal complement of
the range space R(JT ). Namely, if a non-zero n-vector x is in N(J) , it cannot
also belong to R(JT ), and vice-versa. If we denote by S1 the orthogonal
complement of N(J), then the range space R(JT ) is identical to S1, as shown
in the Image. Also, space S3, i.e., the orthogonal complement of R(JT ) is
identical to N(J). What this implies is that, in the direction in which joint
velocities do not cause any end-effecter velocity, the joint torques cannot be
balanced with any endpoint force. In order to maintain a stationary
configuration, the joint torques in this space must be zero.
There is a similar correspondence in the end-effecter coordinate space Vm.
The range space R(J) is the orthogonal complement to the null space N(JT ).
Hence, the subspace S2 in the Image is identical to N(JT ), and the subspace
S4 is identical to R(J). Therefore, no joint torques are required to balance the
end point force when the external force acts in the direction in which the endeffecter cannot be moved by joint movements. Also, when the external
endpoint force is applied in the direction along which the end-effecter can
move, the external force must be borne entirely by the joint torques. When
the Jacobian matrix is degenerate, or the arm is in a singular configuration,
the null space N(JT ) has a non-zero dimension, and the external force can be
borne in part by the mechanical structure. Thus, differential kinematics and
statics are closely related. This relationship is referred to as the duality of
differential kinematics and statics.
Closed-Loop Kinematic Chains
The relationship between joint torques and the endpoint force obtained can be
extended to a class of parallel-link mechanisms with closed kinematic-chains.
It can also be extended to multi-fingered hands, leg locomotion, and other
robot mechanisms having closed kinematic chains. In this section we discuss
classes of closed kinematic chains based on the principle of virtual work.
Five-bar-link robot exerting endpoint force
We begin by revisiting the five-bar-link planar robot shown in Image 6.4.1.
This robot has two degrees of freedom, comprising two active joints, Joints 1
and 3, and three passive joints, Joints 2, 4, and 5. Therefore the virtual work
associated with the endpoint force and joint toques is given by
We assume no friction at the joints. Therefore, the three passive joints cannot
bear any torque load about their joint axis. Substituting τ 2 = τ 4 = τ 5 = 0
into the above yields
For any given configuration of the robot, the virtual displacements of the endeffecter are uniquely determined by the virtual displacements of Joints 1 and
3. In fact, the former is related to the latter via the Jacobian matrix:
Using this Jacobian,
Note that the joint coordinates associated with the active joints are not
necessarily generalized coordinates that uniquely locate the system. For
example, the arm configuration of the five-bar-link robot is not uniquely
determined with joint anglesθ1 and θ3 alone. There are two configurations
for given θ1 and θ3 . The corollary requires the differential relation to be
defined uniquely in the vicinity of the given configuration.
Over-Actuated Systems
If an n degree-of-freedom robot system has more than n active joints, or less
than n active joints, the above corollary does not apply. These are called
over-actuated and under-actuated systems, respectively. Over-actuated
systems are of importance in many manipulation and locomotion
applications. In the following, we will consider the static relationship among
joint torques and endpoint forces for a class of over-actuated systems.
a two-fingered hand manipulating an object within a plane. Note that both
fingers are connected at the fingertips holding the object. While holding the
object, the system has three degrees of freedom. Since each finger has two
active joints, the total number of active joints is four. Therefore, the system is
Using the notation shown in the Image, the virtual work is given by
Note that only three virtual displacements of the four joint angles are
independent. There exists a differential relationship between one of the joints,
say θ 4 , and the other three due to the kinematic constraint. Let us write it as
This gives a particular combination of joint torques that do not influence the
force balance with the external endpoint load F. The joint torques having this
proportion generate the internal force applied to the object, as illustrated in
the Image. This internal force is a grasp force that is needed for performing a
Two-fingered hand manipulating a grasped object
Define geometric parameters needed and obtain the two Jacobian matrices
associated with the two-fingered hand holding an object. Furthermore, obtain
the grasp force using the Jacobian matrices and the joint torques.
In this chapter, we analyze the dynamic behavior of robot mechanisms. The
dynamic behavior is described in terms of the time rate of change of the robot
configuration in relation to the joint torques exerted by the actuators. This
relationship can be expressed by a set of differential equations, called
equations of motion, that govern the dynamic response of the robot linkage to
input joint torques. In the next chapter, we will design a control system on the
basis of these equations of motion.
Two methods can be used in order to obtain the equations of motion: the
Newton-Euler formulation, and the Lagrangian formulation. The NewtonEuler formulation is derived by the direct interpretation of Newton's Second
Law of Motion, which describes dynamic systems in terms of force and
momentum. The equations incorporate all the forces and moments acting on
the individual robot links, including the coupling forces and moments
between the links. The equations obtained from the Newton-Euler method
include the constraint forces acting between adjacent links. Thus, additional
arithmetic operations are required to eliminate these terms and obtain explicit
relations between the joint torques and the resultant motion in terms of joint
displacements. In the Lagrangian formulation, on the other hand, the system's
dynamic behavior is described in terms of work and energy using generalized
coordinates. This approach is the extension of the indirect method discussed
in the previous chapter to dynamics. Therefore, all the workless forces and
constraint forces are automatically eliminated in this method. The resultant
equations are generally compact and provide a closed-form expression in
terms of joint torques and joint displacements. Furthermore, the derivation is
simpler and more systematic than in the Newton-Euler method.
The robot’s equations of motion are basically a description of the relationship
between the input joint torques and the output motion, i.e. the motion of the
robot linkage. As in kinematics and in statics, we need to solve the inverse
problem of finding the necessary input torques to obtain a desired output
motion. This inverse dynamics problem is discussed in the last section of this
chapter. Efficient algorithms have been developed that allow the dynamic
computations to be carried out on-line in real time.
Newton-Euler Formulation of Equations of Motion
Basic Dynamic Equations
In this section we derive the equations of motion for an individual link based
on the direct method, i.e. Newton-Euler Formulation. The motion of a rigid
body can be decomposed into the translational motion with respect to an
arbitrary point fixed to the rigid body, and the rotational motion of the rigid
body about that point. The dynamic equations of a rigid body can also be
represented by two equations: one describes the translational motion of the
centroid (or center of mass), while the other describes the rotational motion
about the centroid. The former is Newton's equation of motion for a mass
particle, and the latter is called Euler's equation of motion.
We begin by considering the free body diagram of an individual link. all the
forces and moments acting on link i. The Image is the same as, which
describes the static balance of forces, except for the inertial force and
moment that arise from the dynamic motion of the link. Let be the linear
velocity of the centroid of link i with reference to the base coordinate frame
O-xyz, which is an inertial reference frame. The inertial force is then given
by , where mi is the mass of the link and is the time derivative of . Based on
D’Alembert’s principle, the equation of motion is then obtained by adding
the inertial force to the static balance of forces in eq.(6.1.1) so that
where, as in Chapter 6, are the coupling forces applied to link i by links i-1
and i+1, respectively, and g is the acceleration of gravity.
Free body diagram of link i in motion
Rotational motions are described by Euler's equations. In the same way as for
translational motions, adding “inertial torques” to the static balance of
moments yields the dynamic equations. We begin by describing the mass
properties of a single rigid body with respect to rotations about the centroid.
The mass properties are represented by an inertia tensor, or an inertia matrix,
which is a 3 x 3 symmetric matrix defined by
where ρ is the mass density, are the coordinates of the centroid of the rigid
body, and each integral is taken over the entire volume V of the rigid body.
Note that the inertia matrix varies with the orientation of the rigid body.
Although the inherent mass property of the rigid body does not change when
viewed from a frame fixed to the body, its matrix representation when viewed
from a fixed frame, i.e. inertial reference frame, changes as the body rotates.
The inertial torque acting on link i is given by the time rate of change of the
angular momentum of the link at that instant. Let be the angular velocity
vector and be the centroidal inertia tensor of link i, then the angular
momentum is given by . Since the inertia tensor varies as the orientation of
the link changes, the time derivative of the angular momentum includes not
only the angular acceleration term , but also a term resulting from changes in
the inertia tensor viewed from a fixed frame. This latter term is known as the
gyroscopic torque and is given by . Adding these terms to the original
balance of moments (4-2) yields
using the notations of Image 7.1.1. Equations (2) and (3) govern the dynamic
behavior of an individual link. The complete set of equations for the whole
robot is obtained by evaluating both equations for all the links, i = 1, · ,n.
Closed-Form Dynamic Equations
The Newton-Euler equations we have derived are not in an appropriate form
for use in dynamic analysis and control design. They do not explicitly
describe the input-output relationship, unlike the relationships we obtained in
the kinematic and static analyses. In this section, we modify the NewtonEuler equations so that explicit input-output relations can be obtained. The
Newton-Euler equations involve coupling forces and moments . As shown in
eqs.(6.2.1) and (6.2.2), the joint torque τi, which is the input to the robot
linkage, is included in the coupling force or moment. However, τi is not
explicitly involved in the Newton-Euler equations. Furthermore, the coupling
force and moment also include workless constraint forces, which act
internally so that individual link motions conform to the geometric
constraints imposed by the mechanical structure. To derive explicit inputoutput dynamic relations, we need to separate the input joint torques from the
constraint forces and moments. The Newton-Euler equations are described in
terms of centroid velocities and accelerations of individual arm links.
Individual link motions, however, are not independent, but are coupled
through the linkage. They must satisfy certain kinematic relationships to
conform to the geometric constraints. Thus, individual centroid position
variables are not appropriate for output variables since they are not
The appropriate form of the dynamic equations therefore consists of
equations described in terms of all independent position variables and input
forces, i.e., joint torques, that are explicitly involved in the dynamic
equations. Dynamic equations in such an explicit input- output form are
referred to as closed-form dynamic equations. As discussed in the previous
chapter, joint displacements q are a complete and independent set of
generalized coordinates that locate the whole robot mechanism, and joint
torques τ are a set of independent inputs that are separated from constraint
forces and moments. Hence, dynamic equations in terms of joint
displacements q and joint torques τ are closed-form dynamic equations.
The two dof planar manipulator that we discussed in the previous chapter. Let
us obtain the Newton-Euler equations of motion for the two individual links,
and then derive closed-form dynamic equations in terms of joint
displacements 1 2 θ andθ , and joint torques τ1 and τ2. Since the link
mechanism is planar, we represent the velocity of the centroid of each link by
a 2-dimensional vector vi and the angular velocity by a scalar velocity ωi .
We assume that the centroid of link i is located on the center line passing
through adjacent joints at a distance from joint i, as shown in the Image. The
axis of rotation does not vary for the planar linkage. The inertia tensor in this
case is reduced to a scalar moment of inertia denoted by Ii.
From eqs. (1) and (3), the Newton-Euler equations for link 1 are given by
Note that all vectors are 2 x 1, so that moment N i-1,i and the other vector
products are scalar quantities. Similarly, for link 2
Mass properties of two dof planar robot
To obtain closed-form dynamic equations, we first eliminate the constraint
forces and separate them from the joint torques, so as to explicitly involve the
joint torques in the dynamic equations. For the planar manipulator, the joint
torques τ1 and τ2 are equal to the coupling moments:
Substituting eq.(6) into eq.(5) and eliminating f1,2 we obtain
Similarly, eliminating f0,1 yields,
Next, we rewrite , 1 ci , i , and i i+ v ω r using joint displacements 1 2 θ and θ
, which are independent variables. Note that ω2 is the angular velocity
relative to the base coordinate frame, while θ2 is measured relative to link 1.
Then, we have
The linear velocities can be written as
Substituting eqs. (9) and (10) along with their time derivatives into eqs. (7)
and (8), we obtain the closed-form dynamic equations in terms of 1 2 θ andθ :
The scalar g represents the acceleration of gravity along the negative y-axis.
More generally, the closed-form dynamic equations of an n-degree-offreedom robot can be given in the form
where coefficients Hij , hijk, and Gi are functions of joint displacements .
When external forces act on the robot system, the left-hand side must be
modified accordingly.
Physical Interpretation
In this section, we interpret the physical meaning of each term involved in the
closed form dynamic equations for the two-dof planar robot.
The last term in each of eqs. (11-a, b), Gi , accounts for the effect of gravity.
Indeed, the terms G1 and G2, given by (12-e, f), represent the moments
created by the masses m1 and m2 about their individual joint axes. The
moments are dependent upon the arm configuration. When the arm is fully
extended along the x-axis, the gravity moments become maximums.
Next, we investigate the first terms in the dynamic equations. When the
second joint is immobilized, i.e. , the first dynamic equation reduces to ,
where the gravity term is neglected. From this expression it follows that the
coefficient H11 accounts for the moment of inertia seen by the first joint
when the second joint is immobilized. The coefficient H11 given by eq. (12a) is interpreted as the total moment of inertia of both links reflected to the
first joint axis. The first two terms, , in eq. (12-a), represent the moment of
inertia of link 1 with respect to joint 1, while the other terms are the
contribution from link 2. The inertia of the second link depends upon the
distance L between the centroid of link 2 and the first joint axis, as illustrated
in Image 7.1.3. The distance L is a function of the joint angle θ 2 = 0 and θ 2
= 0 1 11θ1 τ H = 1 2 1 1 m I A c + θ2 and is given by
Using the parallel axes theorem of moment of inertia (Goldstein, 1981), the
inertia of link 2 with respect to joint 1 is m2L2 +I2 , which is consistent with
the last two terms in eq. (12-a). Note that the inertia varies with the arm
configuration. The inertia is maximum when the arm is fully extended ( 0 θ 2
= ), and minimum when the arm is completely contracted (θ 2 = π ).
Varying inertia depending on the arm configuration
Let us now examine the second terms on the right hand side of eq. (11).
Consider the instant when 1 2 1 , then the first equation reduces to 1 12 2 ,
where the gravity term is again neglected. From this expression it follows that
the second term accounts for the effect of the second link motion upon the
first joint. When the second link is accelerated, the reaction force and torque
induced by the second link act upon the first link. This is clear in the original
Newton-Euler equations (4), where the coupling force -fl,2 and moment N1,2 from link 2 are involved in the dynamic equation for link 1. The
coupling force and moment cause a torque θ = θ = 0 and θ = 0
= int τ about the first joint axis given by
where N1,2 and fl,2 are evaluated using eq. (5) for 1 2 1 . This agrees with
the second term in eq. (11-a). Thus, the second term accounts for the
interaction between the two joints.
The third terms in eq. (11) are proportional to the square of the joint
velocities. We consider the instant when 2 1 2. In this case, a centrifugal
force acts upon the second link. Let fcent be the centrifugal force. Its
magnitude is given by
where L is the distance between the centroid C2 and the first joint O. The
centrifugal force acts in the direction of position vector O,C2 r . This
centrifugal force causes a moment τcent about the second joint. Using eq.
(16), the moment τcent is computed as
This agrees with the third term h 1 in eq. (11-b). Thus we conclude that the
third term is caused by the centrifugal effect on the second joint due to the
motion of the first joint. Similarly, rotating the second joint at a constant
velocity causes a torque of due to the centrifugal effect upon the first joint.
Centrifugal (a) and Coriolis (b) effects
Finally, we discuss the fourth term of eq. (11-a), which is proportional to the
product of the joint velocities. Consider the instant when the two joints rotate
at velocities at the same time. Let Ob-xbyb be the coordinate frame attached
to the tip of link 1. Note that the frame Ob-xbyb is parallel to the base
coordinate frame at the instant shown. However, the frame rotates at the
angular velocity together with link 1. The mass centroid of link 2 moves at a
velocity of relative to link 1, i.e. the moving coordinate frame Ob-xbyb.
When a mass particle m moves at a velocity of vb relative to a moving
coordinate frame rotating at an angular velocity ω, the mass particle has the
so-called Coriolis force given by . Let fCor be the force acting on link 2 due
to the Coriolis effect. The Coriolis force is given by
This Coriolis force causes a moment τ C or about the first joint, which is
given by
The right-hand side of the above equation agrees with the fourth term in eq.
(11-a). Since the Coriolis force given by eq. (18) acts in parallel with link 2,
the force does not create a moment about the second joint in this particular
Thus, the dynamic equations of a robot arm are characterized by a
configuration dependent inertia, gravity torques, and interaction torques
caused by the accelerations of the other joints and the existence of centrifugal
and Coriolis effects.
Lagrangian Formulation of Robot Dynamics
Lagrangian Dynamics
In the Newton-Euler formulation, the equations of motion are derived from
Newton's Second Law, which relates force and momentum, as well as torque
and angular momentum. The resulting equations involve constraint forces,
which must be eliminated to obtain closed form dynamic equations. In the
Newton-Euler formulation, the equations are not expressed in terms of
independent variables, and do not include input joint torques explicitly.
Arithmetic operations are needed to derive the closed-form dynamic
equations. This represents a complex procedure that requires physical
intuition, as discussed in the previous section.
An alternative to the Newton-Euler formulation of manipulator dynamics is
the Lagrangian formulation, which describes the behavior of a dynamic
system in terms of work and energy stored in the system rather than of forces
and moments of the individual members involved. The constraint forces
involved in the system are automatically eliminated in the formulation of
Lagrangian dynamic equations. The closed-form dynamic equations can be
derived systematically in any coordinate system.
Let be generalized coordinates that completely locate a dynamic system. Let
T and U be the total kinetic energy and potential energy stored in the
dynamic system. We define the Lagrangian L by
Note that the potential energy is a function of generalized coordinates qi and
that the kinetic energy is that of generalized velocities as well as generalized
coordinates qi. Using the Lagrangian, equations of motion of the dynamic
system are given by
where Qi is the generalized force corresponding to the generalized coordinate
qi. Considering the virtual work done by non-conservative forces can identify
the generalized forces acting on the system.
Planar Robot Dynamics
Before discussing general robot dynamics in three-dimensional space, we
consider the 2 dof planar robot, for which we have derived the equations of
motion based on Newton-Euler Formulation. Image 7.2.1 shows the same
robot mechanism with a few new variables needed for the Lagrangian
Two dof robot
The total kinetic energy stored in the two links moving at linear velocity and
angular velocity vci ωi at the centroids, as shown in the figur
e, is given by
where vci represents the magnitude of the velocity vector. Note that the linear
velocities and the angular velocities are not independent variables but are
functions of joint angles and joint angular velocities, i.e. the generalized
coordinates and the generalized velocities that locate the dynamic state of the
system uniquely. We need to rewrite the above kinetic energy so that it is
with respect to . The angular velocities are given by
The linear velocity of the first link is simply
However, the centroidal linear velocity of the second link vc2 needs more
computation. Treating the centroid C2 as an endpoint and applying the
formula for computing the endpoint velocity yield the centroidal velocity. Let
be the 2x2 Jacobian matrix relating the centroidal velocity vector to joint
velocities. Then,
where ( . Substituting eqs.(4~6) to eq.(3) yields
Substituting the above two equations into eq.(2) yields the same result as eq.
(7.1.11-a). The equation of motion for the second joint can be obtained in the
same manner, which is identical to eq.(7.1.11-b). Thus, the same equations of
motion have been obtained based on Lagrangian Formulation. Note that the
Lagrangian Formulation is simpler and more systematic than the NewtonEuler Formulation. To formulate kinetic energy, velocities must be obtained,
but accelerations are not needed. Remember that the acceleration
computation was complex in the Newton-Euler Formulation, as discussed in
the previous section. This acceleration computation is automatically dealt
with in the computation of Lagrange’s equations of motion. The difference
between the two methods is more significant when the degrees of freedom
increase, since many workless constraint forces and moments are present and
the acceleration computation becomes more complex in Newton-Euler
Inertia Matrix
In this section we will extend Lagrange’s equations of motion obtained for
the two d.o.f. planar robot to the ones for a general n d.o.f. robot. Central to
Lagrangian formulation is the derivation of the total kinetic energy stored in
all of the rigid bodies involved in a robotic system. Examining kinetic energy
will provide useful physical insights of robot dynamic. Such physical insights
based on Lagrangian formulation will supplement the ones we have obtained
based on Newton-Euler formulation.
As seen in eq.(3) for the planar robot, the kinetic energy stored in an
individual arm link consists of two terms; one is kinetic energy attributed to
the translational motion of mass mi and the other is due to rotation about the
centroid. For a general three-dimensional rigid body, this can be written as
where and Ii are, respectively, the 3x1 angular velocity vector and the 3x3
inertia matrix of the i-th link viewed from the base coordinate frame, i.e.
inertial reference. The total kinetic energy stored in the whole robot linkage is
then given by
since energy is additive.
The expression for kinetic energy is written in terms of the velocity and
angular velocity of each link member, which are not independent variables,
as mentioned in the previous section. Let us now rewrite the above equations
in terms of an independent and complete set of generalized coordinates,
namely joint coordinates q = [q1, .. ,qn] T . For the planar robot example, we
used the Jacobian matrix relating the centroid velocity to joint velocities for
rewriting the expression. We can use the same method for rewriting the
centroidal velocity and angular velocity for three-dimensional multi-body
where JL i and JA i are, respectively, the 3 x n Jacobian matrices relating the
centroid linear velocity and the angular velocity of the i-th link to joint
velocities. Note that the linear and angular velocities of the i-th link are
dependent only on the first i joint velocities, and hence the last n-i columns of
these Jacobian matrices are zero vectors. Substituting eq.(13) into eqs.(11)
and (12) yields
The matrix H incorporates all the mass properties of the whole robot
mechanism, as reflected to the joint axes, and is referred to as the Multi-Body
Inertia Matrix. Note the difference between the multi-body inertia matrix and
the 3 x 3 inertia matrices of the individual links. The former is an aggregate
inertia matrix including the latter as components. The multi-body inertia
matrix, however, has properties similar to those of individual inertia matrices.
As shown in eq. (15), the multi-body inertia matrix is a symmetric matrix, as
is the individual inertia matrix defined by eq. (7.1.2). The quadratic form
associated with the multi-body inertia matrix represents kinetic energy, so
does the individual inertia matrix. Kinetic energy is always strictly positive
unless the system is at rest. The multi-body inertia matrix of eq. (15) is
positive definite, as are the individual inertia matrices. Note, however, that
the multi-body inertia matrix involves Jacobian matrices, which vary with
linkage configuration. Therefore, the multi-body inertia matrix is
configuration-dependent and represents the instantaneous composite mass
properties of the whole linkage at the current linkage configuration. To
manifest the configuration-dependent nature of the multi-body inertia matrix,
we write it as H(q), a function of joint coordinates q.
Using the components of the multi-body inertia matrix H={Hij}, we can
write the total kinetic energy in scalar quadratic form:
Most of the terms involved in Lagrange’s equations of motion can be
obtained directly by differentiating the above kinetic energy. From the first
term in eq.(2),
It is clear that the interactive inertial torque caused by the j-th joint
acceleration upon the ith joint has the same coefficient as that of caused by
joint i upon joint j. This property is called Maxwell’s Reciprocity Relation.
Hijqj H jiqi
The second term of eq.(17) is non-zero in general, since the multi-body
inertia matrix is configuration-dependent, being a function of joint
coordinates. Applying the chain rule,
The second term in eq.(2), Lagrange’s equation of motion, also yields the
partial derivatives of Hij.
Substituting eq.(19) into the second term of eq.(17) and combining the
resultant term with eq.(20), let us write these nonlinear terms as
where coefficients Cijk is given by
This coefficient Cijk is called Christoffel’s Three-Index Symbol. Note that
eq.(21) is nonlinear, having products of joint velocities. Eq.(21) can be
divided into the terms proportional to square joint velocities, i.e. j=k, and the
ones for j ≠ k : the former represents centrifugal torques and the latter
Coriolis torques.
These centrifugal and Coriolis terms are present only when the multi-body
inertia matrix is configuration dependent. In other words, the centrifugal and
Coriolis torques are interpreted as nonlinear effects due to the configurationdependent nature of the multi-body inertia matrix in Lagrangian formulation.
Generalized Forces
Forces acting on a system of rigid bodies can be represented as conservative
forces and non-conservative forces. The former is given by partial derivatives
of potential energy U in Lagrange’s equations of motion. If gravity is the
only conservative force, the total potential energy stored in n links is given by
where is the position vector of the centroid Ci that is dependent on joint
coordinates. Substituting this potential energy into Lagrange’s equations of
motion yields the following gravity torque seen by the i-th joint:
where is the i-th column vector of the 3 x 1 Jacobian matrix relating the linear
centroid velocity of the j-th link to joint velocities. L J j,i
Non-conservative forces acting on the robot mechanism are represented by
generalized forces Qi in Lagrangian formulation. Let δWork be virtual work
done by all the non-conservative forces acting on the system. Generalized
forces Qi associated with generalized coordinates qi, e.g. joint coordinates,
are defined by
If the virtual work is given by the inner product of joint torques and virtual
joint displacements, q nδqn τ δ +"+τ 1 1 , the joint torque itself is the
generalized force corresponding to the joint coordinate. However, generalized
forces are often different from joint torques. Care must be taken for finding
correct generalized forces. Let us work out the following example.
Consider the same 2 d.o.f. planar robot as Example 7.1. Instead of using joint
angles θ1 and θ2 as generalized coordinates, let us use the absolute angles, φ1
and φ2 , measured from the positive x-axis. See the Image below. Changing
generalized coordinates entails changes to generalized forces. Let us find the
generalized forces for the new coordinates.
Absolute joint angles φ1 and φ2 and disjointed links
As shown in the Image, joint torque 2 τ acts on the second link, whose virtual
displacement is δφ2 , while joint torque 1 τ and the reaction torque 2 −τ act
on the first link for virtual displacementδφ1 . Therefore, the virtual work is
Comparing this equation with eq.(26) where generalized coordinates are 1 1 2
2 φ = q , φ = q , we can conclude that the generalized forces are:
Note that, since generalized coordinates q can uniquely locate the system, the
position vector r must be written as a function of q alone.
Force and Compliance Controls
A class of simple tasks may need only trajectory control where the robot endeffecter is moved merely along a prescribed time trajectory. However, a
number of complex tasks, including assembly of parts, manipulation of tools,
and walking on a terrain, entail the control of physical interactions and
mechanical contacts with the environment. Achieving a task goal often
requires the robot to comply with the environment, react to the force acting
on the end-effecter, or adapt its motion to uncertainties of the environment.
Strategies are needed for performing those tasks.
Force and compliance controls are fundamental task strategies for performing
a class of tasks entailing the accommodation of mechanical interactions in the
face of environmental uncertainties. In this chapter we will first present
hybrid position/force control: a basic principle of strategic task planning for
dealing with geometric constraints imposed by the task environment. An
alternative approach to accommodating interactions will also be presented
based on compliance or stiffness control. Characteristics of task compliances
and force feedback laws will be analyzed and applied to various tasks.
Hybrid Position/Force Control
To begin with let us consider a daily task. Image 9.1.1 illustrates a robot
drawing a line with a pencil on a sheet of paper. Although we humans can
perform this type of task without considering any detail of hand control, the
robot needs specific control commands and an effective control strategy. To
draw a letter, “A”, for example, we first conceive a trajectory of the pencil
tip, and command the hand to follow the conceived trajectory. At the same
time we accommodate the pressure with which the pencil is contacting the
sheet of paper. Let o-xyz be a coordinate system with the z-axis
perpendicular to the sheet of paper. Along the x and y axes, we provide
positional commands to the hand control system. Along the z-axis, on the
other hand, we specify a force to apply. In other words, controlled variables
are different between the horizontal and vertical directions. The controlled
variable of the former is x and y coordinates, i.e. a position, while the latter
controlled variable is a force in the z direction. Namely, two types of control
loops are combined in the hand control system, as illustrated.
Robot drawing a line with a pencil on a sheet of paper
Position and force control loops
The above example is one of the simplest tasks illustrating the need for
integrating different control loops in such a way that the control mode is
consistent with the geometric constraint imposed to the robot system. As the
geometric constraint becomes more complex and the task objective is more
involved, an intuitive method may not suffice. In the following we will obtain
a general principle that will help us find proper control modes consistent with
both geometric constraints and task objectives. Let us consider the following
six-dimensional task to derive a basic principle behind our heuristics and
Shown below is a task to pull up a peg from a hole. We assume that the peg
can move in the vertical direction without friction when sliding in the hole.
We also assume that the task process is quasi-static in that any inertial force
is negligibly small. A coordinate system O-xyz, referred to as C-frame, is
attached to the task space, as shown in the Image. The problem is to find a
proper control mode for each of the axes: three translational and three
rotational axes.
Pulling up a peg from a hole
The key question is how to assign a control mode, position control or force
control, to each of the axes in the C-frame in such a way that the control
action may not conflict with the geometric constraints and physics. M. Mason
addressed this issue in his seminal work on hybrid position/force control. He
called conditions dictated by physics Natural Constraints, and conditions
determined by task goals and objectives Artificial Constraints. Table 9.1.1
summarizes these conditions.
it is clear that the peg cannot be moved in the x and y directions due to the
geometric constraint. Therefore, the velocities in these directions must be
zero: . Likewise, the peg cannot be rotated about the x and y axes. Therefore,
the angular velocities are zero: . These conditions constitute the natural
constraints in the kinematic domain. The remaining directions are linear and
angular z axes. Velocities along these two directions can be assigned
arbitrarily and may be controlled with position control mode. The reference
inputs to these position control loops must be determined such that the task
objectives may be satisfied. Since the task is to pull up the peg, an upward
linear velocity must be given: . The orientation of the peg about the z-axis, on
the other hand, doesn’t have to be changed. Therefore, the angular velocity
remains zero: vx = 0, vy = 0 ωx = 0, ωy = 0 vz = V > 0 ωz = 0 . These
reference inputs constitute the artificial constraints in the kinematic domain.
Natural and artificial constraints of the peg-in-the-hole problem
In the statics domain, forces and torques are specified in such a way that the
quasi-static condition is satisfied. This means that the peg motion must not be
accelerated with any unbalanced force, i.e. non-zero inertial force. Since we
have assumed that the process is frictionless, no resistive force acts on the
peg in the direction that is not constrained by geometry. Therefore, the linear
force in the z direction must be zero: fz = 0 . The rotation about the z axis,
too, is not constrained. Therefore, the torque about the z axis must be zero: τ
z = 0 . These conditions are dictated by physics, and are called the natural
constraints in the statics domain. The remaining directions are geometrically
constrained. In these directions, forces and torques can be assigned
arbitrarily, and may be controlled with force control mode. The reference
inputs to these control loops must be determined so as to meet the task
objectives. In this task, it is not required to push the peg against the wall of
the hole, nor twist it. Therefore, the reference inputs are set to zero f x = 0, f y
= 0, τ x = 0, τ y = 0: . These constitute the artificial constraints in the statics
Each C-frame axis must have only one control mode, either position
or force,
• The process is quasi-static and friction less, and
• The robot motion must conform to geometric constraints.
In general, the axes of a C-frame are not necessarily the same as the direction
of a separate control mode. Nevertheless, the orthogonality properties hold in
general. We prove this next.
Let V6 be a six-dimensional vector space, and be an admissible motion
space, that is, the entire collection of admissible motions conforming to the
geometric constraints involved in a given task. Let Vc be a constraint space
that is the orthogonal complement to the admissible motion space:
Let F ∈V be a six-dimensional endpoint force acting on the end-effecter,
and be an infinitesimal displacement of the end-effecter. The work done on
the end-effecter is given by
Decomposing each vector to the one in the admissible motion space and the
one in the constraint space,
and substituting them to eq.(2) yield
This implies that any force and moment in the admissible motion space must
be zero, i.e. the natural static constraints:
The reader will appreciate Mason’s Principle when considering the following
exercise problem, in which the partition between admissible motion space
and constraint space cannot be described by a simple division of C-frame
axes. Rather the admissible motion space lies along an axis where a
translational axis and a rotational axis are coupled.
Architecture of Hybrid Position/Force Control
Based on Mason’s Principle, a hybrid position/force control system can be
constructed in such a way that the robot control system may not have a
conflict with the natural constraints of the task process, while performing the
task towards the task goal. Image 9.1.5 shows the block diagram of a hybrid
position/force control system. The upper half of the diagram is position
control loops, where artificial kinematic constraints are provided as reference
inputs to the system and are compared with the actual position of the endeffecter. The lower half of the diagram is force control loops, where artificial
static constraints are provided as reference inputs to the feedback loops and
are compared with the actual force and moment at the end-effecter. Note that
feedback signals are described in an appropriate C-frame attached to the endeffecter.
If the feedback signals are noise-less and the C-frame is perfectly aligned
with the actual task process, the position signal of the feedback loop must lie
in the admissible motion space, and the force being fed back must lie in the
constraint space. However, the feedback signals are in general corrupted with
sensor noise and the C-frame may be misaligned. Therefore, the position
signal may contain some component in the constraint space, and some
fraction of the force signal may be in the admissible motion space. These
components are contradicting with the natural constraints, and therefore
should not be fed back to the individual position and force controls. To filter
out the contradicting components, the feedback errors are projected to their
own subspaces, i.e. the positional error ep mapped to the admissible motion
space Va and the force feedback error ef mapped to the constraint space Vc.
In the block diagram these filters are shown by projection matrices, Pa and Pc
When the C-frame axes are aligned with the directions of the individual
position and force control loops, the projection matrices are diagonal,
consisting of only 1 and 0 in the diagonal components. In the case of the pegin-the-hole problem, they are:
In case of Example 9.2 where the C-frame axes are not the directions of the
individual position and force control loops, the projection matrices are not
Block diagram of hybrid position/force control system
These feedback errors, p f e e and , are in the C-frame, hence they must be
converted to the joint space in order to generate control commands to the
actuators. Assuming that the positional error vector is small and that the robot
is not at a singular configuration, the position feedback error in joint
coordinates is given by
where J is the Jacobian relating the end-effecter velocities in the C-frame to
joint velocites. The force feedback error in the joint coordinates, on the other
hand, is obtained based on the duality principle:
These two error signals in the joint coordinates are combined after going
through dynamic compensation in the individual joint controls.
Compliance Control
Task strategy
Use of both position and force information is a unique feature in the control
of robots physically interacting with the environment. In hybrid
position/force control, separation was made explicitly between position and
force control loops through projections of feedback signals onto admissible
motion space and constraint space. An alternative to this space separation
architecture is to control a relationship between position and force in the task
space. Compliance Control is a basic control law relating the displacement of
the end-effecter to the force and moment acting on it. Rather than totally
separating the task space into subspaces of either position or force control,
compliance control reacts to the endpoint force such that a given functional
relationship, typically a linear map, is held between the force and the
displacement. Namely, a functional relationship to generate is given by
where C is an m x m Compliance Matrix, and ∆pand F are endpoint
displacement and force represented in an m-dimensional, task coordinate
system. Note that the inverse to the compliance matrix is a stiffness matrix:
if the inverse exists.
The components of the compliance matrix, or the stiffness matrix, are design
parameters to be determined so as to meet task objectives and constraints.
Opening a door, for example, can be performed with the compiance
illustrated in Image 9.2.1. The trajectory of the doorknob is geometrically
constrained to the circle of radius R centered at the door hinge. The robot
hand motion must comply to the constrained doorknob trajectory, although
the trajectory is not exactly known. The robot must not break the doorknob,
although the conceived trajectory is different from the actual trajectory. This
task requirement can be met by assigining a small stiffness, i.e. a high
compliance, to the radial direction perpendicular to the trajectory. As
illustrated in the Image,
such a small spring constant generates only a small restoring force in
response to the discrepancy between the actual doorknob trajectory and the
reference trajectory of the robot hand. Along the direction tangent to the
doorknob trajectory, on the other hand, a large stiffness, or a small
compliance, is assigned. This is to force the doorknob to move along the
trajectory despite friction and other resistive forces. The stiffness matrix is
therefore given by
with reference to the task coordinate system O-xy. Using this stiffness with
which the doorknow is held, the robot can open the door smoothly and
dexterously, although the exact trajectory of the doorknob is not known.
Door opening with compliance control
Compliance control synthesis
Now that a desired compliance is given, let us consider the method of
generating the desired compliance. There are multiple ways of synthesizing a
compliance control system. The simplest method is to accommodate the
proportional gains of joint feedback controls so that desired restoring forces
are generated in proportion to discrepancies between the actual and reference
joint angles. As shown in Image 9.2.2, a feedback control error is generated
when a disturbance force or torque acts on the joint. At steady state a ststic
balance is made, as an actuator torque i e i τ proportional to the control error
cancels out the disturbance torque. The proportionality constant is determined
by the position feedback gain ki, when friction is neglected. Therefore, a
desired stiffness or compliance can be obtained by tuning the position
feedback gain.
Compliance synthesis is trivial for single joint control systems. For general n
degree-of freedom robots, however, multiple feedback loops must be
coordinated. We now consider how to generate a desired m x m compliance
or stiffness matrix specified at the endpoint by tuning joint feedback gains.
Single joint position feedback control system
Therefore, the obtained joint feedback gain provides the desired endpoint
stiffness given by eq.(8), or the equivalent compliance.
Two link robots
Braitenberg Vehicles
In 1984 Valentino Braitenberg published a book titled Vehicles—
Experiments in Synthetic Psychology. In his book Valentino describes a
number of wondrous vehicles that exhibit interesting behaviors based on the
use of a few electronic neurons
Similar in concept to Walter’s seminal neural work with his robot tortoises,
Valentino’s vehicle behavior is more straightforward, making it somewhat
easier to follow both theoretically and logically. This also makes it easier to
implement his ideas into real designs for robots.
In this chapter we will build a few Braitenberg type vehicles. At the heart of
Braitenberg vehicles is his description of a basic vehicle, which is a sensor
connected to a motor. Braitenberg continues to explain the relationship
between the sensor and motor. The relationship is essentially the connection
between the sensor and motor, and this connection ought to be considered as
a neuron. With the connection conImaged as a neuron, the structure is Instead
of a vehicle we will describe the structure diagram as a small neural network.
At the front end of the network we find a sensor, followed by the neuron and
finally the output motor. The sensor detects the intensity of light and outputs
a proportional signal to the motor. High intensity light produces high rpm’s
(revolutions per minute) from the motor. Low intensity light produces slow
Consider the sensor portion as modular and interchangeable. Other sensors
can be plugged in and incorporated to detect any number of environmental
variables, for example, heat, pressure, sound, vibration, magnetic fields
(compass), electrical fields, radioactivity, and gases (toxic or otherwise). In
addition, the motor, like the sensor, represents a singular example of an
output module. Other output modules could include a second neuron (or
neural layer), electric circuit, on/off switch, light source, etc.
Basic neuron setup, sensor input, neuron, and motor output.
The neuron’s input is the output of the sensor, and the neuron’s output
activates a motor in relationship to its input. The input/output “relationship”
of the neuron can be made to be one of many different mathematical
functions. The relationship may also be called connection strength or
connection function when you are reading the neural network literature. The
relationship is one of the most important variables we can modify when
programming our robot.
Neural I/O Relationships
When the neuron is stimulated, it generates an output. As stated, there are a
number of mathematical functions that can exist inside the neuron. These
functions act upon the neuron’s input (sensor output) and pass through the
results to the neuron’s output. Let’s examine a few of them
Positive proportional. As input from the sensor increases, activation
(rpm’s) of the motor increases in proportion
Negative proportional. As input from the sensor increases,
activation (rpm’s) of the motor decreases in proportion
Digital. As input from the sensor output exceeds a predetermined
(programmed) threshold (that may be positive or negative), the motor is
· Gaussian. As input from the sensor increases, output passes through
a gaussian function for motor activation
Essentially the neuron may incorporate any mathematical function. It would
perform this function on the sensory input to generate an appropriate output. I
have provided an example of only a few of the more common functions
Using the basic neural setup, we can construct a few simple vehicles that
exhibit interesting behaviors. Image 9.6 illustrates two vehicles labeled A and
B. Both vehicles use the positive proportional neural setup with a light
intensity sensor.
Graph of positive proportional transfer function. As sensor output
increases, motor output increases.
Graph of negative proportional transfer function. As sensor output
increases, motor output decreases.
Graph of digital transfer function. As sensor output increases, output
remains unchanged until threshold is reached, then output switches full
Vehicle A, if both sensors are evenly illuminated by a light source, will speed
up and, if possible, run into the light source. However, if the light source is
off to one side, the sensor on the side of the light source will speed a little
faster than the sensor/motor on other side. This will cause the vehicle to veer
away from the light source
Vehicle B, if both sensors are evenly illuminated by a light source, will speed
up and, if possible, run into the light source (same as vehicle A). If the light
source is off to one side, vehicle B will turn toward the light source
Graph of gaussian function. As sensor output increases, output follows a
gaussian curve.
Wiring of two Braitenberg vehicles labeled A and B.
Building Vehicles
It’s time to put the theory to the test and see if it works. Let’s assemble the
materials needed to build a vehicle. The photovore’s basic operating
procedure is like Walter’s robot. It tracks and follows a light source. The base
of the vehicle is a sheet of aluminum 8 in long by 4 in wide by 1 �8 in thick.
We will use two gearbox motors for propulsion and steering and one
multidirectional front wheel.
We will try a new construction method with this robot. Instead of securing
the gearbox motors with machine screws and nuts, we will use 3M’s
industrial brand double sided tape. This double sided tape, once cured, is as
strong as pop rivets. I tried to separate a sample provided by 3M. It consisted
of two flat pieces of metal secured with the tape. Even when I used pliers, it
was impossible. 3M states that the tape requires 24 h to reach full strength.
You may not achieve the fullstrength capability of the tape unless you follow
the 3M procedure.
Function of A and B Braitenberg vehicles
The gearbox motor is a 918D type (see Fig. 9.8). The gearbox motor at the
top of the picture has an orange cowl that is covering the gears. Notice the
flat mounting bracket that is perfect for securing to the vehicle base. The
doublesided tape is cut lengthwise to fit the base of bracket to the gearbox
motor. The exposed side of the tape is immediately secured to the gearbox
motor bracket. Then the motor is positioned on the bottom of the vehicle
base, the protective covering of the tape is removed, and the gearbox motor is
firmly placed onto the bottom of the vehicle base The second gearbox motor
is secured to the other side in a similar manner.
Back wheels
The shaft diameter of the gearbox motor is a little too small to make a good
friction fit to the rubber wheel. To beef up the diameter, cut a small 1 to 1.5in length of the 3mm tubing; see Parts List. Place the tubing over the gearbox
motor shaft, and collapse the tubing onto the shaft, using pliers. There is a
small cutaway on the gearbox motor shaft (see Fig. 9.10). If you can collapse
the tubing into this cutaway, you will create a strong fit between the shaft and
the tubing that will not pull off easily .
The tubing adds to the diameter of the shaft and will make a good friction fit
with the rubber wheels. Simply push the center holes of the wheels onto the
tubing/shaft, and you are finished.
A 918D 100:1 Gearbox motor.
3M double sided tape is used to secure gearbox motor to base of vehicle.
Gearbox motor showing cutaway on output shaft
Hexapod Walker
Legged walkers are a class of robots that imitate the locomotion of animals
and insects, using legs. Legged robots have the potential to transverse rough
terrains that are impassable by standard wheeled vehicles. It is with this in
mind that robotics are developing walker robots.
Imitation of Life
Legged walkers may imitate the locomotion style of insects, crabs, and
sometimes humans. Biped walkers are still a little rare, requiring balance and
a good deal more engineering science than multilegged robots. A bipedal
robot walker is discussed in detail in Chap. 13. In this chapter we will build a
six legged walker robot.
Six Legs—Tripod Gait
Using a six legged model, we can demonstrate the famous tripod gait used by
the majority of legged creatures. In the following drawings a dark circle
means the foot is firmly planted on the ground and is supporting the weight
of the creature (or robot). A light circle means the foot is not supporting any
weight and is movable.
our walker at rest. All six feet are on the ground. From the resting position
our walker decides to move forward. To step forward, it leaves lifts three of
its legs (white circles), leaving its entire weight distributed on the remaining
three legs (dark circles). Notice that the feet supporting the weight (dark
circles) are in the shape of a tripod. A tripod is a very stable weightsupporting position. Our walker is unlikely to fall over. The three feet that are
not supporting any weight may be lifted (white circles) and moved without
disturbing the stability of the walker. These feet move forward.
Sample biological tripod gait.
illustrates where the three lifted legs move. At this point, the walker’s weight
shifts from the stationary feet to the moved feet (see Fig. 10.1D). Notice that
the creature’s weight is still supported by a tripod position of feet. Now the
other set of legs moves forward and the cycle repeats. This is called a tripod
gait, because a tripod positioning of legs always supports the weight of the
Three Servo motor Walker Robot
The robot we will build is shown in Fig. 10.2. This walker robot is a
compromise in design but allows us to build a six legged walker using just
three servomotors. The three servomotor hexapod walker demonstrates a true
tripod gait. It is not identical to the biological gait we just looked at, but close
This legged hexapod uses three inexpensive HS322 (42oz torque)
servomotors for motion and one PIC 16F84 microcontroller for brains. The
microcontroller stores the program for walking, controls the three
servomotors, and reads the two sensor switches in front. The walking
program contains subroutines for walking forward and backward, turning
right, and turning left. The two switch sensors positioned in the front of the
walker inform the microcontroller of any obstacles in the walker’s path.
Based on the feedback from these switch sensors, the walker will turn or
reverse to avoid obstacles placed in its path.
The tripod gait I programmed into this robot isn’t the only workable gait.
There are other perfectly usable gaits you can develop on your own. Consider
this walking program a working start point. To modify the program, it’s
important to understand both the program and robot leg functions. First let’s
look at the robot.
Hexapod robot.
At the rear of the walker are two servomotors. One is identified as L for the
left side, the other as R for the right side. Each servomotor controls both the
front and back legs on its side. The back leg is attached directly to the horn of
the servomotor. It is capable of swinging the leg forward and backward. The
back leg connects to the front leg through a linkage. The linkage makes the
front leg follow the action of the back leg as it swings forward and back. The
third servomotor controls the two center legs of the walker. This servomotor
rotates the center legs 20° to 30° clockwise (CW) or counterclockwise
(CCW), tilting the robot to one side or the other (left or right). With this
information we can examine how this legged robot will walk.
Moving Forward
We start in the rest position as before, each circle represents a foot, and the
dark circles show the weightbearing feet. Notice in the rest position, the
center legs do not support any weight. These center legs are made to be 1 /8
in shorter than the front and back legs.
In position A the center legs are rotated CW by about 25° from center
position. This causes the robot to tilt to the right. The weight distribution is
now on the front and back right legs and the center left leg. This is the
standard tripod position as described earlier. Since there is no weight on the
front and back left legs, they are free to move forward as shown in the B
Forward gait for hexapod robot
In the C position the center legs are rotated CCW by about 25° from center
position. This causes the robot to tilt to the left. The weight distribution is
now on the front and back left legs and the center right leg. Since there is no
weight on the front and back right legs, they are free to move forward, as
shown in the D position.
In position E the center legs are rotated back to their center position. The
robot is not in a tilted position so its weight is distributed on the front and
back legs. In the F position, the front and back legs are moved backward
simultaneously, causing the robot to move forward. The walking cycle can
then repeat.
Moving Backward
We start in the rest position (see Fig. 10.4), as before. In position A the center
legs are rotated CW by about 25° from center position. The robot tilts to the
right. The weight distribution is now on the front and back right legs and the
center left leg. Since there is no weight on the front and back left legs, they
are free to move backward, as shown in the B position
Backward gait for hexapod robot.
In the C position the center legs are rotated CCW by about 25° from center
position. The robot tilts to the left. Since there is no weight on the front and
back right legs, they are free to move backward, as shown in the D position.
In position E the center legs are rotated back to their center position. The
robot is not in a tilted position, so its weight is distributed on the front and
back legs. In the F position, the front and back legs are moved forward
simultaneously, causing the robot to move backward. The walking cycle can
then repeat.
Turning Left
The leg motion sequence to turn left is shown in Fig. 10.5. In position A the
center legs are rotated CW by about 25° from center position. The robot tilts
to the right. The weight distribution is now on the front and back right legs
and the center left leg. Since there is no weight on the front and back left legs,
they are free to move forward.
In the B position, the center legs are rotated CCW by about 25° from center
position. The robot tilts to the left. Since there is no weight on the front and
back right legs, they are free to move backward, as shown in the C position.
Turning left gait for hexapod robot.
In position D, the center legs are rotated back to their center position. The
robot is not in a tilted position, so its weight is distributed on the front and
back legs. In position, the left legs moved backward while the right legs
moved forward, simultaneously causing the robot to turn left. It typically
takes three turning cycles to turn the robot 90°.
Turning Right
Turning right follows the same sequence as turning left, with the leg positions
Speech Recognition
In the near future, speech will be the method for controlling appliances, toys,
tools, computers, and robotics. There is a huge commercial market waiting
for this technology to mature.
Our speech recognition circuit is a standalone trainable speech recognition
circuit that may be interfaced to control just about anything electrical. The
interface circuit we will build in the second part of this chapter will allow this
speech recognition circuit to control a variety of electrical devices such as
appliances, test instruments, VCRs, TVs, and of course robots. The circuit is
trained (programmed) to recognize words you want it to recognize. The unit
can be trained in any language and even nonlanguages such as grunts,
birdcalls, and whistles.
To be able to control and operate an appliance (computer, VCR, TV security
system, etc.) or robot by speaking to it makes it easier to work with that
device, while increasing the efficiency and effectiveness. At the most basic
level, speech commands allow the user to perform parallel tasks (i.e., hands
and eyes are busy elsewhere) while continuing to work with the computer,
appliance, instrument, or robot.
The heart of the circuit is the HM2007 speech recognition integrated circuit.
The chip provides the options of recognizing either 40 words each with a
length of 0.96 s or 20 words each with a length of 1.92 s. This speech
recognition circuit has a jumper setting (jumper WD on main board) that
allows the user to choose either the 0.96s word length (40-word vocabulary)
or the 1.92sword length (20-word vocabulary).
For memory the circuit uses an 8K � 8 static RAM. There is a backup
memory battery for the SRAM on the main board. This battery keeps the
trained words safely stored in the SRAM when the main power is turned off.
The button battery lasts approximately 2 years. Without the battery backup
you would have to retrain the circuit every time the circuit was switched off.
Speech recognition circuit assembled.
HM2007 integrated circuit.
The chip has two operational modes: manual mode and CPU mode. The CPU
mode is implemented when it is necessary for the chip to work as a speech
recognition coprocessor under a host computer.This is an attractive approach
to speech recognition for computers because the job of listening to sound and
recognition of command words doesn’t occupy any of the main computer’s
CPU time. In one type of programming scenario, when the HM2007
recognizes a command, it can signal an interrupt to the host CPU and then
relay the command it recognized. The HM2007 chip can be cascaded to
provide a larger word recognition library.
The SR06 circuit we are building operates in the standalone manual mode. As
a standalone circuit, the speech recognition circuit doesn’t require a host
computer and may be integrated into other devices to add speech control.
Applications of command and control of appliances and equipment include
Telephone assistance systems
Data entry
Speech controlled toys
Speech and voice recognition security systems
Software Approach
Currently most speech recognition systems available today are software
programs that run on personal computers. The software requires a compatible
sound card be installed in the computer. Once activated, this software runs
continuously in the background of the computer’s operating system
(Windows, OS/2, etc.) and any other application program.
While this speech software is impressive, it is not economically viable for
manufacturers to add personal computer systems to control a washing
machine or VCR. The speech recognition software steals processing power
from the operating system and adds to the computer’s processing tasks.
Typically there is a noticeable slowdown in the operation and function of the
computer when voice recognition is enabled.
Learning to Listen
We take our ability to listen for granted. For instance, we are capable of
listening to one person speak among several at a party. We subconsciously
filter out the extraneous conversations and sound. This filtering ability is
beyond the capabilities of today’s speech recognition systems.
Speech recognition is not speech understanding. Understanding the meaning
of words is a higher intellectual function. The fact that a computer can
respond to a vocal command does not mean it understands the command
spoken. Voice recognition systems will one day have the ability to
distinguish linguistic nuances and the meaning of words, to “Do what I mean,
not what I say!”
Speaker Dependent and Speaker Independent Recognition
Speech recognition is classified into two categories,
speaker dependent and speaker independent. Speakerdependent systems are
trained by the individual who will be using the system. These systems are
capable of achieving a high command count and better than 95 percent
accuracy for word recognition. The drawback to this approach is that the
system only responds accurately to the individual who trained the system.
This is the most common approach employed in software for personal
Speakerindependent systems are trained to respond to a word regardless of
who speaks. Therefore, the system must respond to a large variety of speech
patterns, inflections, and enunciation of the target word. The command word
count is usually lower than that of the speakerdependent system; however,
high accuracy can still be maintained within processing limits. Industrial
requirements more often require speakerindependent voice systems, such as
the AT&T system used in the telephone systems.
Recognition Style
Speech recognition systems have another constraint concerning the style of
speech they can recognize. They are three styles of speech: isolated,
connected, and continuous.
Isolated speech recognition systems can just handle words that are spoken
separately. This is the most common speech recognition system available
today. The user must pause between each word or command spoken. The
speech recognition circuit is set up to identify isolated words of 0.96s length.
peech recognition circuit is set up to identify isolated words of 0.96s length.
Connected speech recognition system is a halfway point between isolated
word and continuous speech recognition. It allows users to speak multiple
words. The HM2007 can be set up to identify words or phrases 1.92 s in
length. This reduces the word recognition vocabulary number to 20.
Continuous speech is the natural conversational speech we are used to in
everyday life. It is extremely difficult for a recognizer to sift through the text
as the words tend to merge together. For instance, “Hi, how are you doing?”
sounds like “Hi, howyadoin.” Continuous speech recognition systems are on
the market and are under continual development.
Speech Recognition Circuit
The speech recognition circuit is available as a kit from Images SI Inc. You
can purchase the main components, HM2007, SRAM, and printed circuit
boards separately if you like and build from scratch. The kit takes a modular
approach and uses three separate printed circuit (PC) boards. The three PC
boards are the main circuit board containing the speech recognition circuit,
digital display board, and keypad. The keypad and digital display are
removable from the main circuit board. They are needed to communicate
with and program the main speech recognition circuit. After the programming
is accomplished, the digital display and keyboard can be removed, and the
main circuit embedded into another circuit to add speech control.
Circuit construction
The schematic You can hardwire this circuit to a breadboard if you like. I
would recommend purchasing the three PCB boards that are available for this
project; see Parts List. When you use the PC board, the components are
mounted on the top silkscreen side of the board. Begin construction by
soldering the IC sockets onto the PC boards. Next mount and solder all the
resistors. Now mount and solder the 3.57MHz crystal and red LED. The long
lead of the LED is positive. Next solder the capacitors and 7805 voltage
regulators. Solder the seven position headers on the keypad to the main
circuit board. Next solder the 10 position headers on the display board and
main circuit board.
Three modular circuit boards.
The keypad is made up of 12 normally open (N.O.) pushbutton switches
To train
To train the circuit, first attach the keypad and digital display to the main
circuit board . Next select your word length. Place a jumper on the two pin
WD header on the main circuit board to select a 20words vocabulary, each
with a 2s word length. Leave the jumper off to select a 40words vocabulary,
each with a 1s word length. Plug in the headset microphone. When power is
applied, the HM2007 checks the static RAM, outputs “00” on the digital
display, and lights the red LED (READY). The circuit is in the ready mode.
In the ready mode the circuit is listening for a verbal command or waiting to
be trained.
Schematic of speech recognition circuit
Keypad wiring
Modular components put together for training.
To train the circuit, begin by pressing the word number you want to train on
the keypad. In this exercise I am assuming you choose the 20words
vocabulary. In this mode the circuit can be trained to recognize up to 20
words. Use any numbers between 1 and 20. For example, press the number 1
to train word number 1. When you press the number(s) on the keypad, the red
LED will turn off. The number pressed on the keypad is shown on the digital
display. Next press the # key for train. When the # key is pressed, it signals
the chip to listen for a training word, and the red LED turns back on. Now
speak the word you want the circuit to recognize into the headphone
microphone clearly. The LED should blink off momentarily; this is a signal
that the word has been accepted.
Continue training new words in the circuit, using the procedure outlined
above. Press the 2 key, then the # key to train the second word, and so on.
The circuit will accept up to either 20 or 40 words, depending on the lengths
of the words. You do not have to enter 20 words into memory to use the
circuit. If you want, you can use as few word spaces as you require. The
procedure for training 40 words is identical, except that you can choose word
numbers between 1 and 40.
Testing Recognition
The circuit is continually listening. Repeat a trained word into the
microphone. The number of the word should be displayed on the digital
display. For instance, if the word directory was trained as word number 5,
then saying the word directory into the microphone will cause the number 5
to be displayed.
Error codes
The chip provides the following error codes.
Clearing the trained word memory
To erase all the words in the SRAM memory (training), press 99 on the
keypad and then press the * key. The display will scroll through the numbers
1 through 20 (or 1 through 40 if in 1s word length mode) quickly, clearing
out the memory.
To erase a single word space, press the number of the word you want to clear
and then press the * key
Independent Recognition System
In addition to speech commands, this circuit allows you to experiment with
other facets of speech recognition technology. For instance, you can
experiment with speaker independent systems. This system is inherently
speaker dependent, meaning that the voice that trained the circuit also uses it.
To experiment with speaker independent recognition (multiuser), try the
following technique. Set the WD jumper on the main circuit board to the 40words vocabulary with a 0.96s word length. Now we will use four word
spaces for each command word. We will arrange the words so that the
command words will be recognized by just decoding the least significant
digit (number) on the digital display.
This is accomplished by allocating the word spaces 01, 11, 21, and 31 to the
first target or command word. When the circuit is in recognition mode, we
only decode the least significant digit number, in this case X1 (where X is
any number from 0 to 3) to recognize the target word.
We do this for the remaining word spaces. For instance, the second target
word will use word spaces 02, 12, 22, and 32. We continue in this manner
until all the words are programmed.
If possible, use a different person to speak the word. This will enable the
system to recognize different voices, inflections, and enunciations of the
target word. The more system resources that are allocated for independent
recognition, the more robust the circuit will become.
There are certain caveats to be aware of. First you are trading off word
vocabulary number for speaker independence. The effective vocabulary drops
from 40 words to 10 words.
The speech interface control circuit shown later may be used in this speaker
independent experimental capacity.
Voice Security System
This HM2007 wasn’t designed for use in a voice security system. But this
doesn’t prevent you from experimenting with it for that purpose. You may
want to use three or four keywords that must be spoken and recognized in
sequence in order to activate a circuit that opens a lock or allows entry.
How the circuit works
Before we can get into the nuts and bolts of how the interface circuit
functions, we must look at the binary information output by the speech
recognition circuit. The output of the speech recognition circuit consists of
two 4bit binarycoded decimal (BCD) numbers. This binary (BCD)
information is shown on the speech circuit’s two-digit digital display.
Whenever a word is detected, the circuit uses the digital display to output the
word number it has recognized, or else it outputs its unrecognized/error code.
If the word detected is not recognized, the circuit will display one of the
following error codes:
Our interface design incorporates a PIC microcontroller. A preprogrammed
microcontroller’s (16F84) first job is to determine if a word has been spoken.
To do this, we use an LM339 comparator. A reference voltage for the
comparator is generated using a voltage divider made up of
Speech recognition interface (active high outputs) SRI03.
resistors R4 and R5. The reference voltage is placed on pin 5 of the
comparator. Pin 4 of the comparator is connected to the LED lead on the
speech recognition circuit. Whenever a word is detected, the LED blinks off
momentarily. The output of the comparator (pin 2) is connected to pin 10
(RB4) of the 16F84 microcontroller. The output of the comparator (pin 2) is
usually high (�5 V). When a word is detected, the output (pin 2) drops to
ground momentarily. The microcontroller monitors this line to determine
when a word has been detected.
Once a word has been detected, it is necessary for the interface to read the
BCD output from the speech recognition circuit. By using the high and low
digit BCD nibbles, it’s possible to distinguish trained target words. To do so,
the interface must distinguish the error codes 55, 66, and 77 from trained
words numbered 5, 6, and 7. To accomplish this, the interface circuit uses
four NAND gates off the 4011 integrated circuit. The NAND gates are
connected to the high digit nibble. If the high digit BCD nibble has the
equivalent word numbers of 5, 6, or 7, the output from the four NAND gates
is low. The output from the four NAND gates is connected to pin 11 (RB5) of
the 16F84. The 16F84 reads this pin to determine if the highdigit nibble is a
5, 6, or 7 (0 V or ground). If these numbers are not displayed, the output of
the NAND gates is high (�5 V).
So far our circuit can tell when a word has been detected and if the resulting
word is an error code. If the output of the speech recognition circuit is an
error code, nothing else happens; the microcontroller loops back to the
beginning of the program, waiting for another word detection. On the other
hand, if a word is detected and it is not an error code, the microcontroller
passes the lowdigit number through to the 74HC154 (4 to 16line decoder) IC.
The 74HCT154 decoder reads the binary number passed to it and brings the
corresponding pin equivalent to that number low.
PIC 16F84 microcontroller program
The PIC 16F84 used in both interface circuits contains the following Pic
Basic program:
Active high output
The outputs from the 74HCT154 each pass through a 4049 inverting buffer to
supply a 15Vdc active high output signal.
SPDT relay output
The front end of the circuit is identical. The changes are seen in the back end
of the circuit. The active low output signals from the 74HCT154 each
connect to one of the 10 PNP transistors, each of which controls a
corresponding relay. Each relay has a normally open (N.O.) switch and
normally closed (N.C.) switch. The relay switches are rated at 124 V ac at 0.5
A or 24 V dc at 1 A. The relay itself consumes approximately 30 mA of
current when it is turned on.
Robotic Arm
Servomotor Building Blocks for Robotics
The servomotor brackets discussed in this chapter will allow you to create
various servomotor robots and projects.
Servomotors are ideal for powering robots. They are readily available in
many sizes, are inexpensive, provide powerful torque for their size and
weight, and are positional. The output shafts on most hobby servomotors are
guaranteed positional between 0° and 90°. Most servomotors’ output shaft
range extends past 90°, coming close to 180°.
The servomotor bracket components are shown in Fig. 12.1. Each of the
aluminum U brackets that make up the assembly has multiple holes for
connecting a standard Hi Tec servomotor horn as well as bottom and top
holes for connecting U brackets and assemblies to one another.
The servomotor horns used on these servomotor brackets are included with
all the compatible Hi Tec servomotors, such as HS322, HS425, HS475, and
HS35645. These brackets may also be used with similarsize Futaba
servomotors, but you may have to purchase the horns separately.
Each servomotor bracket assembly consists of the following components: two
aluminum U brackets, labeled A and B, one binding head post screw, four 632 plastic machine screws with nuts, and four sheet metal screws for
mounting a servomotor horn. When assembled with a compatible servomotor
(see Fig. 12.2), the bracket becomes a modular component that may be
attached to other brackets and components. The bracket allows the top and
bottom components to swivel along the axis of the servomotor’s shaft.
By connecting multiple servomotors using the brackets, you can create a
variety of robotic designs. In this chapter we will use the brackets to create a
five-servo motor robotic arm. In Chap. 13 we use these same brackets to
create a bipedal walker robot.
The bottom and top have multiple holes for attaching other brackets or
servomotor horns
Servomotor bracket kit.
Front and side views of servomotor bracket
Basic Servomotor Bracket Assembly
To assemble a servomotor bracket, begin by placing the binding post through
the back hole on part a .Next place servomotor into the A bracket, as Attach
the servomotor using 632 � 3 /8inlong machine screws and nuts. Notice the
servomotor’s horn has been removed from the servomotor. To secure the
screws at the bottom two positions of the servomotor, place the screw
through the hole from the inside of the bracket. It helps if you have a small
screwdriver to hold the screw in place. Then the plastic nuts are chased down
on the screws from the outside of the bracket.
The servomotor horn. is attached to the side holes on the B bracket
Servomotor bracket travel
HI Tec servomotor horn.
bracket with servomotor horn attached.
To place the servomotor secure in bracket A into its mating part bracket B,
slip the end of the bindingheld post through the hole in the mating part. Next
slip the servomotor’s spindle into the horn. Finished assembly.
Side view of placing servomotor in A bracket.
A bracket with servomotor attached with plastic screws and nuts.
Hi Tec servomotor horn.
B bracket with servomotor horn attached.
Application of Sampling-Based Motion
Planning Algorithms in Autonomous
Vehicle Navigation.
As information technology and artificial intelligence develop rapidly, it is
becoming possible to use computers to assist daily driving, even to make the
driving process entirely autonomous. Due to the recent research advances in
robotics and intelligent transportation systems, autonomous vehicles have
attracted dramatic attentions in the past decades.
An important milestone has been reached in the field of autonomous driving
on the urban road, which can be seen in DARPA Urban Challenge (DUC). As
an important achievement in the progress of autonomous vehicle, the
suggested vehicle navigation systems in DUC have been well accepted as the
instruction for the design process of autonomous vehicle systems. The
majority of the available architectures for autonomous vehicle focused on
autonomous driving in structured roads and unstructured parking
environments, and thus the performance of these proposals for more
complicated driving scenarios is not clear, and despite interesting solutions
for this problem in the literature, it is still a basic challenge to design an
efficient motion planner for navigation in dynamic and cluttered
environments where high number of obstacles, extensive effects of failure
and safety considerations make it even more challenging.
One of the challenging research areas in autonomous vehicle is the
development of an intelligent motion planner that is able to guide the vehicle
in dynamic changing environments. Motion planning is an essential and
fundamental part of autonomous vehicle, which can find solutions for the
problem of finding a set of control values or feasible motion states for the
vehicle to manoeuvre among obstacles from a given initial configuration
towards a final one, taking into account the vehicle’s kinematic and dynamic
systems. Furthermore, the traffic regulations and the available information on
the geometric structures of roads are also included in the motion planning for
autonomous driving.
Motion planning can be considered as one of the basic challenges within
robotics sciences which have been studied by many researchers over the past
few decades resulting in different algorithms with various specifications.
Motion planning for an autonomous vehicle is a procedure to find a path from
an initial position to a final state, while avoiding any collision with obstacles.
In the simplest form of motion planning problem, which is called the piano
mover’s problem, the running time of each algorithm is exponentially the
degrees of freedom, which indicates that the path-planning problem is NPComplete. It is also shown that the motion planner needs memory
exponential in the degrees of freedom, which proves that the problem is
When the environment is not known for the robot, the path planning is called
online, local or sensor-based. During the past few decades, online path
planning has been a challenging but attractive field for many robotic
researchers. In unknown environments, there are two main aspects. First, the
motion decisions are based on local information, and second, sensing is
contemporaneous to the decision-making process. In this class of path
planning, the robot acquires the information via its sensors that could be
touch or vision sensors.
The field of sensor-based path planning has been studied by many researchers
resulting in various algorithms with different characteristics. One of the
earliest and simplest online path-planning algorithms is the Bug algorithm
that acquires information from touch sensors and guides the robot to the goal
through the boundaries of obstacles. An extension of the classic Bug
algorithm is Tangent Bug, which incorporates vision sensor information with
the algorithm. A performance comparison between different Bug-like
algorithms can be found in. Despite interesting performances of the
conventional motion planning methods in robotics, their efficiency in
navigation of autonomous vehicle is considerably low due to the complex and
unstable dynamics of such systems.
Another well-known class of path-planning algorithms is sampling-based
path planning. In this class of algorithms, the only source of information is a
collision detector, and hence, there is no need to characterize all possible
collision situations. Sampling-based methods operate several strategies for
creating samples in free space and for connecting them with collision-free
paths in order to provide a solution for path-planning problem. Three of the
more popular sampling-based approaches include probabilistic roadmap
(PRM), randomized potential fields (RPFs) and rapidly exploring random
trees (RRTs). PRM approach finds collision-free samples in the environment
and adds them to a roadmap graph. Afterwards, by using a cost function, best
samples are chosen in the graph and a simple local path planner is used to
connect them together. RPFs approach builds a graph by connecting the local
minimums of the potential function defined in the environment. Then, the
planner searches this graph for paths. RRTs are specially proposed to deal
with non-holonomic constraints and high degrees of freedom. This approach
builds a tree by randomly choosing a node in the free space and finding the
nearest node in the tree. Next, the planner expands this nearest node in the
direction of the random node. Several extension of RRT for solving sensorbased path-planning problems has been proposed. In, a new data structure
called sensor-based random tree (SRT) is proposed, which represents a
roadmap of the visited area. Similar to the RRT, the SRT is a tree of already
visited nodes with a local safe region. The tree is increasingly expanded
towards a random direction. An improvement of RRT is proposed in. This
method directs the robot in an RRT-derived direction while avoiding
collision. In, two heuristics are added to the RRT to handling unknown
environments. The first heuristic checks if the goal is reachable from the
current position of the robot. The second heuristic tries to avoid the robot
from getting close to the obstacles. Despite interesting solutions for this
problem in the literature, it is still a basic challenge to design an efficient
motion planner for navigation in dynamic and cluttered environments where
high number of obstacles, extensive effects of failure and safety
considerations make it even more challenging. Due to the interesting
advantages and properties of sampling-based motion planning algorithms,
they seem to be efficient and powerful tools for autonomous vehicle
navigation. In this chapter, a novel motion planning architecture is proposed
for autonomous vehicle navigation, which employs recent advances in
sampling-based motion planning. The resulted approach is capable of
planning safe and efficient motions in different situations such as following
the course of the road, overtaking the front vehicle and following the front
vehicles while overtaking is not possible. The proposed architecture employs
the optimal strategy proposed in RRT* planner to avoid meandering paths.
The proposed planner also utilizes a unique low-dispersion strategy to reduce
the running time of the planner which is essential in autonomous vehicle
navigation. The rest of the chapter is organized as follows. In Section 2, the
category of sampling-based motion planning algorithms is summarized. The
existing applications of sampling-based planners in autonomous vehicle
navigation are reviewed in Section 3. Then, the proposed architecture is
introduced in Section 3, supported by the simulation studies in Section 4.
Finally, discussion and conclusion is provided in Section 5.
Sampling-based motion planning
Naturally, offline path-planning algorithms need a complete map of the
configuration space which usually increases the cost and runtime of the
search in most problems. Sampling-based motion planning was proposed to
solve navigation queries without trying to construct the map of the entire
configuration space. Instead, they only depend on a procedure that decides on
whether a given configuration of the robot is in collision with obstacles or
not. The available sampling-based path-planning algorithms can be
categorized into two main classes, namely, roadmap-based or multi-query
algorithms and tree-based or single-query algorithms. Roadmap-based
algorithms are normally applicable in multi-query scenarios as they form a
graph that later will be used to solve different navigation problems. The
graph is the main structure used for saving the environmental information,
where the nodes represent different configurations in the robot’s
configuration space. An edge exist between any two configurations if the
corresponding geometrical properties satisfy a set of conditions such as
vicinity, and the autonomous agent can navigate from one point to another
without any collision. A typical algorithm consists of two main stages:
learning or observation stage and search stage. In the first stage, the graph
structure is constructed. Collision-free positions or samples are chosen
randomly and considered as the vertices of the graph. In the search stage,
each vertex is tested to be connected to the closest neighbour configurations,
and the resulted successful connection will be an edge in the roadmap. To
answer a given planning task, the initial and final configurations are added to
the existing graph and a normal search technique is considered for finding the
shortest path. The most important factor in the efficiency of the algorithm is
how effectively the roadmap can learn the free-space connectivity of the
configuration space. In addition, the main problem in the performance of
such algorithm is the construction of the graph because the search algorithms
usually perform satisfactory in terms of speed and runtime. The original form
of PRM planner consists of the following steps. First, a random configuration
is selected from the configuration space and is tested if it lies in the free
configuration space. If the sample passes this, it will be included in the
roadmap structure as a vertex or a node. Second, a search technique takes
place to find the closest neighbours in the graph to the new node. Finally, a
local planner attempts to connect the closest neighbour and the new
configurations based on criteria posed by the planning query. This connection
will be added to the graph as a new edge if it is collision free. In several
situations, quickly finding a solution for a particular problem is the main
objective. In these situations, single-query algorithms can be implemented. In
these algorithms, the base of the data structure is normally a tree. The basic
idea is to find an initial configuration (the starting configuration) that is the
root of the tree and all incrementally generated configurations will be
connected to other configurations already included in the tree. The initial
tree-based algorithm is the rapidly exploring random tree (RRT) planner.
Started to grow from the start configuration, a tree continuously grows in the
free configuration space until it gets close enough to the final configuration.
An essential feature of this planner is that configurations with larger Voronoi
regions (i.e. the part of the free configuration space that is closer to that node
than to other members of the tree) have higher chances to be selected in the
process of tree expansion. Therefore, the tree normally grows towards yet
unknown parts of the environment, circumfusing rapidly in the free
configuration space. The initial version of the RRT consists of the following
steps. First, a random sample is generated in the free search environment.
Then, the planner searches the tree for a particular configuration, which is the
nearest node to this newly generated sample. Next, a new node is created by
moving a predefined distance from in the direction of the selected node using
a local planner or an interpolation technique that relies on the robotic system.
And, finally, if the new node is a valid point that falls in free configuration
space, and if the local path between it and the nearest node is collision free,
then, the new node is added to the tree as a new node and an edge is created
between the tree and the new node. This process is repeated until the goal
configuration can be connected to the tree or a maximum number of iterations
are reached.
One of the key issues in sampling-based planners is that they usually result in
undesirable lengthy resulted paths that stray within the free configuration
space. Recently, the RRT planner has been proven not to be able to find the
optimum answer. Thus, the optimal improved forms of original samplingbased algorithms, i.e. PRM* and RRT*, have been proposed and proven to
possess the asymptotical optimality in which the chance of generating the
optimum path approaches unity as the cardinality of the generated structure
approaches infinity. The RRT* planner contains a unique ability which is the
sufficiency to find the optimal path from the start position to any
configuration within the free space. Image 1 shows the performance of
PRM* and RRT* algorithms in a 2D indoor environment.
Image 1.
Performances of (a) PRM* and (b) RRT* algorithms in a simple 2D
environment. Start and goal configurations are shown by yellow and green
squares, respectively.
Related work
Over the past two decades, sampling-based motion planning algorithms have
attracted the attention of researchers in the field of autonomous vehicle
resulting in various approaches with different advantages and drawbacks. In
this section, some of the well-known past applications of sampling-based
methods in autonomous vehicle navigation is summarized.
In one of the first reports of such applications, a probabilistic planning
process has been proposed to deal with dynamic systems in dealing with
static and dynamic obstacles. This planner evaluates the dynamic limitations
of the vehicle’s movement and provides a steady and solid decoupling
between low-level control and motion planning at the same time. This
planning method maintains the convergence characteristics of its kinematic
peers. The safety of the system is also considered in the form of finite
running times by checking the behaviour of the planner when the existed
embedded computational resources are moderate, and the motion generation
process must take place in real time. This method is capable of dealing with
vehicles if their dynamics are defined by ordinary differential equations or
even by other hybrid complex representations.
A detailed analysis of the motion planning subsystem for the MIT DARPA
Urban Challenge vehicle based on the rapidly exploring random tree (RRT)
algorithm has been provided. The purpose was to present the numerous
extensions made to the standard RRT algorithm that enables the online use of
RRT on robotic vehicles with complex, unstable dynamics and significant
drift, while preserving safety in the face of uncertainty and limited sensing.
A real-time motion planning algorithm has been introduced based on the
rapidly exploring random tree (RRT) approach for autonomous vehicle
operating in an urban environment. For several motivations, such as the need
to generate dynamically feasible plans in real time, safety requirements and
the constraints dictated by the uncertain operating (urban) environment,
several extensions to the standard RRT planner have been considered.
A rapidly exploring random tree (RRT) based on path planner has been
implemented for autonomous vehicle parking problem, which treats all the
situations in a unified manner. As the RRT method sometimes generates
some complicated paths, a smoothing sub-process has also been implemented
for smoothing generated paths.
The use of rapidly exploring random trees (RRT) for the planning of multiple
vehicles in traffic scenarios has been proposed. According to this method, the
controller for each car uses RRT to produce a navigation plan. Spline curves
are used for smoothing the route resulted from the RRT, which includes nonholonomic constraints. Priority is taken into consideration as a coordination
method where a vehicle with higher priority attempts to avoid all lower
priority vehicles. This algorithm attempts to find the maximum possible
velocity at which the vehicle can travel and the corresponding path.
Time-efficient manoeuvres for an off-road vehicle taking tight turns with
high speed on a loose surface have been studied using the RRT* planner. The
experimental results have shown that the aggressive skidding manoeuvre,
normally known as the trail-braking manoeuvre, naturally rises from the
RRT* planner as the minimum-time path. Along the way, the RRT* planner
has been extended to deal with complicated dynamical systems, such as
systems that are explained by nonlinear differential equations and include
high-dimensional state spaces, which may be of independent interest. The
RRT* has also been exploited as an anytime computation framework for
nonlinear optimization problems.
An efficient motion planning method for on-road driving of the autonomous
vehicle has been reported based on the rapidly exploring random tree (RRT)
algorithm]. To address the issue and taking into account the realistic context
of on-road autonomous driving, they have proposed a fast RRT planner that
utilizes a rule-template set according to the traffic scenes and an aggressive
extension strategy for searching the tree. Both justification result in a faster
and more accurate RRT planner towards the final state compared with the
original RRT algorithm. Meanwhile, a model-based post-process estimation
approach has been taken into account, where the resulted paths can be more
smoothed and a feasible control sequence for the vehicle would be prepared.
Furthermore, in the cases with moving obstacles, a combined method of the
time-efficient RRT algorithm and the configuration-time space has been used
to improve the quality of the resulted path and the re-planning.
A human-RRT (rapidly exploring random tree) collaborative algorithm has
been presented for path planning in urban environments. The well-known
RRT algorithm has been modified for efficient planning in cluttered yet
structured urban environments. To engage the expert human knowledge in
dynamic re-planning of autonomous vehicle, a graphical user interface has
been developed that enables interaction with the automated RRT planner in
real time. The interface can be used to invoke standard planning attributes
such as way areas, space constrains and waypoints. In addition, the human
can draw desired trajectories using the touch interface for the RRT planner to
follow. Based on new information and evidence collected by human, state-
dependent risk or penalty to grow paths based on an objective function can
also be specified using the interface.
An online motion planner has been proposed based on the drivers’ visual
behaviour-guided rapidly exploring random tree (RRT) approach that is valid
for on-road driving of autonomous vehicle. The main contribution of this
work is the implementation of a guidance system for drivers’ visual search
behaviour in the form of the RRT navigation algorithm. RRT usually
performs poorly in various planning situations such as on-road driving of
autonomous vehicles because of the uncanny trajectory, wasteful sampling
and low-speed exploration strategy. In order to overcome these drawbacks,
they have proposed an extension of the RRT planner that utilizes a powerful
supervised sampling strategy according to the drivers’ on-road behaviour in
visual search and a continuous-curvature smoothing technique based on Bspline.
A sampling-based planning technique for planning manoeuvring paths for
semi-autonomous vehicle has been reported where the autonomous driving
system may be taking over the driver operation. They have used rapidly
exploring random tree star (RRT*) and have proposed a two-stage sampling
strategy and a particular cost function to adjust RRT* to semi-autonomous
driving, where, besides the standard goals for autonomous driving such as
collision avoidance and lane maintenance, the deviations from the estimated
path planned by the driver are accounted for. They have also proposed an
algorithm to remove the redundant waypoints of the path returned by RRT*,
and, by applying a smoothing technique, our algorithm returns a G-squared
continuous path that is suitable for semi-autonomous vehicles.
Despite the great effort that has been put to employ sampling-based methods
for autonomous vehicle navigation, there are still some problems with the
performance of the current methods. For instance, there is no proper method
for takeover which is one of the most common behaviours in driving.
Takeover is a complicated and critical task that sometimes is not avoidable
and the motion planner should be able to plan takeovers while considering
the safety issues. Furthermore, the running time of the planner is usually too
high which makes the method less practical. Finally, the quality of the
generated solutions, i.e. paths, is a critical issue. The quality of the resulted
paths from sampling-based methods is normally low and finding the optimal
path is usually a challenging task in randomized algorithms.
Proposed approach
In this work, a new sampling-based motion planner is introduced for
autonomous vehicle navigation. The proposed method is based on the
optimality concept of the RRT* algorithm and the low-dispersion concept of
the LD-RRT algorithm. Furthermore, this planner utilizes a novel procedure
that divides the sampling domain based on the updates received from the
vehicle’s sensory system.
RRT* Planner
The first component of the proposed planner is the RRT* algorithm that can
be described in Algorithm 1.
Image 2.
The implementation of the boundary sampling in a simple 2D environment
with three obstacles. The new sample (orange circle) will be generates on the
boundary of the union of forbidden region after the occurrence of the first
In the RRT* algorithm, the important recoveries can be seen in Algorithm 1,
where an edge is added to the tree only if it can be connected to the latest
generated point through a set of path segments with minimal cost. Then, if
other nodes exist in the vicinity of the current node with better costs, these
nodes will take the position of the parent for the current node. These
improvements facilitate the RRT* algorithm with the unique capability of
finding the optimal solution. Image 2 shows the optimality behaviour of the
RRT* algorithm in an empty environment.
The second component of the proposed method is the low-dispersion
properties of the LD-RRT planner. This component utilizes the poison disk
sampling strategy to reduce the number of samples required to capture the
connectivity of the sampling domain. The proposed method performance is
similar to the PRM*/RRT* algorithms with a basic different in the sampling
technique. Unlike the original planners that would let any collision-free
samples to be included in the tree, the proposed method contains an extra
checking procedure that makes sure that the samples possess the Poisson-disk
distribution property.
There are various efficient techniques for creating fast Poisson-disk
structures. In this research, the boundary sampling technique is selected for
generating the Poisson-disk samples for its simplicity and implementation
facility. In this method, the existing neighbourhood of all samples reduces to
a set of spheres located at the sample’s position with the radius of rs. The first
result of such arrangement is that the existing neighbourhood can be
represented by a set of spherical ranges at which a point can be placed on the
boundary. Image 3 shows the sampling phase as proposed in where the
Poisson disks and the forbidden sampling areas are illustrated by grey and
green circles, respectively. After the first rejection, the boundary of the union
of the forbidden areas will be selected and a random sample is generated
accordingly as shown by the orange circle. The sampling radius is defined as
Image 3.
The optimal behaviour of RRT* algorithm in a planar empty environment.
The proposed asingle–uery algorithm
where τ is a scaling coefficient ranging within (0, 1]. The main idea behind
this radius is that the volume of the space should be approximately equal to
n(rs)2 in order to fill an obstacle-free square space with n disks with radius rs.
Compelling the samples to follow the Poisson-disk distribution usually
decreases the cardinality of the resulted graph. In other words, it is almost
impossible to find n samples with √τQfree/n distance from one another with a
randomized sample generator. Upon the generation of the Poisson-disk
samples, the algorithm will follow normal steps in the original PRM*/RRT*.
The pseudo code of the proposed algorithms can be seen in Algorithm 2.
As can be seen in Algorithm 2, the Poisson-disk sampling takes place at line
4 by forcing the generated samples to satisfy the sampling radius rule. The
rest of both algorithms are same as the originals. The relevance between the
neighbourhood and sampling radii is an important index about the
performance of the proposed algorithm. It is essential for the sampling radius
to be smaller than the connection radius. Otherwise, it will not be possible to
connect any two samples and the resulted structure will be a set of separate
configurations. Image 4 shows the relation between these two radii along
with the ratio of rs(n) over r*(n).
Image 4.
Different values for neighbourhood and sampling radii and the corresponding
ratio for μ(Qfree) = 1 and τ = 1. For n ≥ 4, the neighbourhood radius is always
greater than the sampling radius.
According to the definitions of neighbourhood and sampling radii, the
cardinality of the graph/tree should follow the following rule:
This requirement ensures that there will be at least one eligible sample within
the neighbourhood region of the current sample. Considering the acceptable
range of τ, i.e. (0, 1], the sampling radius in a 2D configuration space is
smaller than the neighbourhood radius if and only if the number of samples
exceeds four.
Another important property of the proposed planner takes place in the RRT*
algorithm where the steering factor in the original RRT*, which is 'step', will
be automatically replaced by the sampling radius. As stated before, the
samples will be created randomly from the perimeter of the current Poisson
disks. As a result, the highest distance between any two samples exactly
equals the sampling radius rs(n). As stated before, the cost of the final
optimum solution can be calculated as the total Euclidean distance between
all members (nodes) of the optimum path which can be calculated as follows:
where n* is the number of nodes in the optimal path resulted from the
algorithm. Considering the fact that ∥ω∗i+1−ω∗i∥<rs(n), now it is possible
to find an upper bound for the path of the optimal solution:
This upper bound merely depends on the size of the final graph/tree structure.
On the other hand, reducing the total number of samples (n), will reduce the
number of samples in any solution. Therefore, it can be concluded that using
a Poisson-disk distribution as the sampling domain will improve the cost of
the final solution and maintains the asymptotic optimality property of the
proposed algorithm. Image 5 illustrates the graph construction phase for the
PRM* planner.
Image 5.
The connection strategy in the proposed algorithm.
The next component of the proposed method is a novel procedure that divides
the sampling domain into different sampling segments based on the
information received online from the sensory system of the vehicle. The
proposed approach divides the sampling domain into two regions namely
tabu region and valid region. The sampling procedure takes place only in the
valid region and the tabu region is forbidden to be included in the sampling.
Image 6 shows different possibilities of tabu and valid segments in a
sampling domain.
Image 6.
The performance of the segmentation procedure. The sampling domain is
divided into different valid or tabu segments.
Three different scenarios have been considered in the simulation studies. In
the first one, there is no vehicle in front of the autonomous car and the
sampling domain is only the current lane. In the second situation, there is a
vehicle in front but takeover is possible and the valid sampling region is
expanded to include proper space for the takeover. Finally, when takeover is
not possible, the valid sampling domain is restricted to the available space
between the two vehicles.
Simulation studies
According to the properties of the proposed algorithm, three different
situations have been designed for simulation studies. Image 7 depicts an
instance of the solutions in these scenarios. The proposed method is able to
plan difficult motions for the vehicle such as following or takeover. As can
be seen in Image 7, when there are no other vehicles, the planner restricts the
sampling domain to the current lane and other parts of the road are not
included in the sampling procedure. When there is another car in front but
takeover is not an option, the generated rapidly exploring random tree just
follows the front vehicle with a proper distance. Finally, when takeover is
possible, the sampling domain will be expanded to include suitable space.
Image 7.
Simulation results in different scenarios. The initial and final positions of the
vehicle are shown by yellow and green, respectively.
The average results of the performance of the proposed planner as well as the
performances of RRT and RRT* planners are shown in Table 1.
As can be seen, the proposed planner provides optimal solutions with
surprisingly smaller set of samples. The runtime of the planner is also less
than other planners. Image 8 shows the variations of performance variables
for 1000 iterations of each planner.
Image 8.
Variation of the results over 1000 iterations for the proposed algorithm
(green), RRT (red) and RRT* (blue) in terms of the number of nodes,
optimality (%) and runtime (s).
In this chapter, a novel sampling-based navigation architecture has been
introduced that is capable of driving autonomous vehicles in crowded
environments. The proposed planner utilizes the optimal behaviour of the
RRT* algorithm combined with the low runtime requirements of lowdispersion sampling-based motion planning. Furthermore, a novel
segmentation procedure is introduced which differentiates between valid and
tabu segments of the sampling domain in different situations.
Simulation results show the robust performance of this planner in different
scenarios such as following the front car and takeover. This method also
outperforms the classical RRT and RRT* planners in terms of runtime and
the size of the generated tree while maintaining the same optimality rate as
Robust Accelerating Control for Consistent
Node Dynamics in a Platoon of CAVs.
The platoon driving of automated connected vehicles (CAVs) has
considerable potential to benefit road traffic, including increasing highway
capacity, less fuel/energy consumption and fewer accidents. The R&D of
CAVs has been accelerated with increasing usage of wireless communication
in road transportation, such as dedicated short range communications
(DSRC). Pioneering studies on how to control a platoon of CAVs can date
back to 1990s, and as pointed out by Hedrick et al. , the control topics of a
platoon can be divided into two tasks: (1) to implement control of platoon
formation, stabilization and dissolution; and (2) to carry out controls for
throttle/brake actuators of each vehicle. These naturally lead to a hierarchical
control structure, including an upper level controller and a lower level
controller. The upper one is to retain safe and string stable operation, whereas
the lower one is to track the desired acceleration by determining
throttle/brake commands.
The upper level control of a platoon of CAVs has been investigated
extensively. An earlier work done by Shladover introduced many known
control topics, among which the most famous is the concept of string
stability. The string stability ensures that range errors decrease as propagating
along downstream. Stankovic et al. proposed a decentralized overlapping
control law by using the inclusion principle, which decomposes the original
system into multiple ones by an appropriate input/state expansion. Up to now,
many other upper level control topics have already been explored, including
the influence of spacing policies, information flow topologies, time delay and
data loss of wireless communications, etc.
The lower level controller determines the commands for throttle and/or brake
actuators. The lower level controller, together with vehicle itself, actually
plays the role of node dynamics for upper level control. Many research
efforts have been attempted on acceleration control in the past decades, but
still few gives emphasis on the request of platoon level automation. Most
platoon control relies on one critical assumption that the node dynamics are
homogeneous and approximately linear. Then, the node dynamics can be
described by simple models, e.g. double-integrator and three-order model.
This requires that the behaviour of acceleration control is rather accurate and
consistent, which is difficult to be achieved. One is because the salient nonlinearities in powertrain dynamics, both traditional and hybridized, and any
linearization, will lead to errors; the other is that such uncertainties as
parametric variations and external disturbances significantly affect the
consistence of control behaviour.
One of the major issues of acceleration control is how to deal with nonlinearities and uncertainties. The majority to handle non-linearities are to
linearize powertrain dynamics, including exact linearization, Taylor
linearization and inverse model compensation. Fritz and Schiehlen use the
exact linearization technique to normalize node dynamics for synthesis of
cruising control. After linearization, a pole placement controller was
employed to control the exactly linearized states. The Taylor expansion
approach has been used by Hunt et al. to approximate the powertrain
dynamics at equilibrium points. The gain-scheduling technique was then used
to conquer the discrepancy caused by linearization. The inverse model
compensation is widely used in engineering practice. This method is
implemented by neglecting the powertrain dynamics. For the uncertainties,
the majority rely on robust control techniques, including sliding model
control (SMC), H∞ control, adaptive control, fuzzy control, etc. Considering
parametric variations, an adaptive SMC was designed by Swaroop et al. by
adding an on-line estimator for vehicle parameters, such as mass,
aerodynamic drag coefficient and rolling resistance. Higashimata and Adachi
and Yamamura and Seto designed a Model Matching Controller (MMC)
based controller for headway control. This design used an H∞ controller as
feedback and a forward compensator for a faster response. Xu and Ioannou
approximated vehicle dynamics to be a first-order transfer function at
equilibrium points, and then the Lyapunov approach was used to design an
adaptive thriller controller for tracking control of vehicle speed. Keneth et al
(2008) designed an adaptive proportional-integral (PI) controller for robust
tracking control in resistance to parametric variations. The adaptive law is
designed by using the gradient algorithm. The aforementioned robust
controllers are useful to resist small errors and disturbances in vehicle
longitudinal dynamics, but might not be always effective for large
uncertainties. Moreover, the use of adaptive mechanism is only able to resist
slowly varying uncertainties, but difficult to respond fast varying
disturbances, e.g. instantaneous wind.
Node dynamic model for control
This chapter proposes a robust acceleration control method for consistent
node dynamics in a platoon of CAVs. This design is able to offer more
consistent and approximately linear node dynamics for upper level control of
platoons even under large uncertainties, including vehicle parametric
variation, varying road slop and strong environmental wind. The controlled
node in the platoon is a passenger car with a 1.6 L gasoline engine, a 4-speed
automatic transmission, two driving and two driven wheels, as well as a
hydraulic braking system. Image 1 presents the powertrain dynamics. Its
inputs are the throttle angle αthr and the braking pressure Pbrh. Its outputs are
the longitudinal acceleration a, vehicle velocity v, as well as other measurable
variables in the powertrain. When driving, the engine torque is amplified by
the automatic transmission, final gear, and then acts on two frontal driving
wheels. When braking, the braking torque acts on four wheels to dissipate the
kinetic energy of vehicle body.
Image 1.
Vehicle longitudinal dynamics.
For the sake of controller design, it is further assumed that (1) the dynamics
of intake manifold and chamber combustion are neglected, and overall engine
dynamics are lumped into a first-order inertial transfer function; (2) the
vehicle runs on dry alphabet roads with high road-tyre friction, and so the slip
of tire is neglected; (3) the vehicle body is considered to be rigid and
symmetric, without vertical motion, yaw motion and pitching motion; (4) the
hydraulic braking system is simplified to a first-order inertial transfer
function without time delay. Then, the mathematical model of vehicle
longitudinal dynamics is
where ωe is the engine speed, Tes is the static engine torque, τe is the time
constant of engine dynamics, Te is the actual engine torque, MAP(.,.) is a nonlinear tabular function representing engine torque characteristics, Tp is the
pump torque of torque converter (TC), Je is the inertia of fly wheel, Tt is the
turbine torque of TC, CTc is the TC capacity coefficient, KTC is the torque
ratio of TC, ig is the gear ratio of transmission, io is the ratio of final gear, ηT
is the mechanical efficiency of driveline, rw is the rolling radius of wheels, M
is the vehicle mass, Td is the driving force on wheels, Tb is the braking force
on wheels, v is the vehicle speed, Fi is the longitudinal component of vehicle
gravity, Fa is the aerodynamic drag, Ff is the rolling resistance, Kb is the total
braking gain of four wheels, τb is the time constant of braking system, CA is
the coefficient of aerodynamic drag, g is the gravity coefficient, f is the
coefficient of rolling resistance, ϕ is the road slope and vwind is the speed of
environmental wind. The nominal values of vehicle parameters are shown in
Table 1.
One major challenge of acceleration control is the salient non-linearities,
including engine static non-linearity, torque converter coupling,
discontinuous gear ratio, quadratic aerodynamic drag and the throttle/brake
switching. These non-linearities can be compensated by an inverse vehicle
model. The inverse models of engine and brake are described by Eqs. (2) and
(3), respectively [22, 31]. The design of the inverse model assumes that (i)
engine dynamics, torque converter coupling, etc. is neglected; (ii) vehicle
runs on dry and flat road with no mass transfer; (iii) the inverse model uses
nominal parameters in Table 1.
where ades is the input for the inverse model, which is the command of
acceleration control, Tedes, αthrdes, Fbdes and Pbrkdes are corresponding
intermittent variables or actuator commands. Note that throttle and braking
controls cannot be applied simultaneously. A switching logic with a
hysteresis layer is required to determine which one is used. The switching
line for separation is not simply to be zero, i.e. ades = 0, because the engine
braking and the aerodynamic drag are firstly used, and followed by hydraulic
braking if necessary. Therefore, the switching line is actually equal to the
deceleration when coasting, shown in Image 2. The use of a hysteresis layer
is to avoid frequent switching between throttle and brake controls.
Image 2.
Switching between throttle and brake controls.
MMS-based acceleration control
The Multi Model Switching (MMS) control is an efficient way to control
plants with large model uncertainties and linearization errors, especially
sudden changes in plant dynamics [27–30]. The overall range of plant
dynamics is covered by a set of models instead of a single one, and then a
scheduling logic switches the most appropriate controller into the control
loop. The speed of adaptation and transient performance can be significantly
improved by the instantaneous switching among candidate controllers [29,
30]. Another benefit of MMS control is its potential to enclose the inputoutput behaviours to a required small range. Image 3 shows the MMS control
structure for vehicle acceleration tracking, where ades and a are the desired
and actual longitudinal acceleration respectively, αthrdes and Pbrkdes are throttle
angle and braking pressure respectively, which are the control inputs of a
vehicle. It consists of the vehicle itself (V), the inverse model (I), a
supervisor (S) and a controller set (C). The inverse model I is used to
compensate for the non-linearities of powertrain; I and V together constructs
the plant for MMS control. The combination of I + V tends to have large
uncertainties, but is divided into small ones under the MMS structure. Such a
configuration is able to maintain a more accurate and consistent input–output
behaviour even under a large model mismatch.
Image 3.
MMS control of vehicle acceleration.
Image 4.
Frequency responses of four linear models. (a) Model P1(s), (b) Model P2(s),
(c) Model P3(s) and (d) Model P4(s).
The model set P={Pi(s),i=1,⋯,N}is defined to have identical structure with a
multiplicative uncertainty:
where Gi(s) is the nominal models listed in Table 2, W(s) is the weight
function for uncertainty, Δi is the model uncertainty, satisfying:
where ∥⋅∥δ∞∥ is the induced norm of Lδ2 norm of signals expressed as
where δ>0δ>0 is a forgetting factor, and x(t) is a vector of signals.
Nominal models of node dynamics.
The main idea of this chapter is to use multiple uncertain models to cover
overall plant dynamics, and so the large uncertainty is divided into smaller
ones. Because the range of dynamics covered by each model is reduced using
multiple models, this MMS control can greatly improve both robust stability
and tracking performance of vehicle acceleration control. This MMS
controller includes a scheduling logic S, multiple estimators E and multiple
controllers C. The module E is a set of estimators, which is designed from
model set P and to estimate signals a and z. Note that z is the disturbance
signal arising from model uncertainty and it cannot be measured directly. The
module S represents the scheduling logic. Its task is to calculate and compare
the switching index of each model Ji(i=1,⋯,N), which actually gives a
measure of each model uncertainty compared with current vehicle dynamics.
S chooses the most proper model (with smallest measure) and denoted as σ.
The module C contains multiple robust controllers, also designed from P.
The controller whose index equals σ will be switched into loop to control
acceleration. The signal aref is the desired acceleration.
The scheduling logic is critical to the MMS controller, because it evaluates
errors between current vehicle dynamics and each model in P, and determines
which controller should be chosen. The controller index σ is determined by:
Intuitively, Ji(t) is designed to measure the model uncertainty σt, and so the
estimator set E={Ei,i=1,⋯,N} is designed to indirectly measure σi as follows:
where Λ(s) is the common characteristic polynomial of E, aˆia^i and zˆiz^i
are the estimates of a and z using model Pi. It is easy to know that the
stability of estimators can be ensured by properly selecting Λ(S). Subtracting
Eq. (8) with Eq. (4) yields the estimation error of a:
Then, the switching index Ji(t) is designed to be
Since the system gain from zˆσ(t) to eσ(t) can be bounded by S, zˆσ(t) and
eσ(t) can be treated as the input and output of an equivalent uncertainty.
Considering Eq. (8), E is rewritten into
where AE,BE1,BE2,CE11,CE12,CE13,CE14,CE21,CE22,CE23,CE24 are
matrices with proper dimensions. By selecting weighting function as Wp(s)=
(0.1s+1.15)/s, the required tracking performance becomes:
where aref is the reference acceleration, q=Wp(s)ea and ea=aref−a, which is
expected to converge to zero. Substituting a=aˆσ−eσ and Eq. (12) to Eq. (11),
we have,
where β < 1 is a positive constant, Aδi=Ai+0.5δI, symbol “*” represents the
symmetrical part. Then the controller set C is
The matrices in Eq. (15) are calculated as:
Simulation results and analyses
To validate the improvements MMS controller for tracking of acceleration,
two other controllers are designed, i.e. a sliding mode controller (SMC), and
a single H∞ controller.
It is known that SMC has high robustness to uncertainties. It is designed
based on the nominal model GM(s)=0.33/(s+0.33). The sliding surface is
selected to be
where λ>0. The reaching law is designed to be ṡ =−ks+ηsgn(s), where k < 0
and η>0. Then the sliding mode controller is
H∞ control is another widely used and effective approach to deal with model
uncertainties. Here, a model matching control structure is applied to balance
between robustness and fastness. The uncertain model of vehicle dynamics
used for design of H∞ controller is
The referenced acceleration response dynamics is GM(s)=1/(s+1). Then, the
feed-forward controller designed by the model matching technique is
The feedback controller designed by the H∞ control method is
This H∞ controller is numerically solved by the Matlab command mixsyn(),
with the weighting function Wp(s)=(0.1s+1.15)s−1.
A naturalistic acceleration from real traffic flow is used as the reference
acceleration. This naturalistic acceleration profile is from driver experiment
data, which lasts around 50 min totally and is shown in Image 5. The
maximum and minimum desired acceleration is about 1.1 m/s and −1.8
m/s , respectively and the vehicle speed varies in the range of 0–33 m/s. This
condition can cover a wide range of vehicle dynamics.
Image 5.
Reference acceleration and speed. (a) Acceleration and (b) Vehicle speed.
Two groups of simulations are conducted: (a) nominal condition; and (b)
uncertain condition. Under the nominal condition, all vehicle parameters are
shown in Table 1 and there is no road slope and wind. Under the uncertain
condition, the disturbed parameters are vehicle mass, road slope and wind.
The maximum value of vehicle mass is used, i.e. M = 1600 kg. The
disturbance of road slope is a sinusoidal signal:
where φmax = 5 deg, and Tslope = 50 sec. The disturbance of wind is a periodic
triangular signal:
where vwmax = 10 m/s, and Twind = 40 sec.
The simulations results are shown in Images 6 and 7, and to show clearly,
only the responses from 0 to 500 sec are plotted as a demonstration. From
Image 6(a) and (b), under the nominal condition, all three controllers can
track the reference acceleration accurately. With the uncertainties, it is found
that from Image 7(a) and (b) the tracking capability of SMC and H∞
controller decreases obviously while MMS can still ensure acceptable
tracking error. Though switching of controller occurs at both nominal and
uncertain conditions (Image 6(e) and Image 7(e)), the control input of MMS
behaves continuously and there is no obvious sudden change (Image 6(c) and
Image 7(c)). Another concern that must be explained is the spike of
acceleration shown in Image 6(b) and Image 7(b). This is mainly caused by
the impact of powertrain when gear switches. A more appropriately designed
transmission model could improve the gear-shifting quality.
Image 6.
Results under normal condition. (a) Acceleration tracking error, (b)
acceleration, (c) throttle control, (d) gear position and (e) switching signal.
Image 7.
Results under disturbed condition. (a) Acceleration tracking error, (b)
acceleration, (c) throttle control, (d) gear position and (e) switching signal.
A more deep simulation is conducted to analyse the influences of uncertain
level on the tracking ability of acceleration and gear shifting behaviours. At
this condition, the level of uncertainty is increased step by step and the
relationship between the uncertain level and model uncertainties is described
where ε represents the level of uncertainty, with maximum mass 1600 kg,
maximum road slope 10 deg, and maximum wind speed 20 m/s (when ε =
10). ε = 0 implies that there is no model uncertainty. The root mean square
error (RMSE) of acceleration is used to measure the capability of tracking.
Image 8presents the RMSE of acceleration error and the number of gear
shifting per minute (denoted as Ngear/min). In nominal condition, the RMSE
of acceleration error of the three robust controllers is almost the same. As the
uncertainty level increases, the tracking capability of the SMC and H∞H∞
quickly drops, whereas the MMS still holds acceptable accuracy. Image 8(b)
is used to release the concern that the MMS might largely increase the
number of gear shifting because of its switching structure.
Image 8.
Performances under different uncertain levels.
This chapter proposes a robust acceleration control method for consistent
node dynamics in a platoon of automated connected vehicles (CAVs). The
design, which is based on multiple model switching (MMS) control structure,
is able to offer more consistent and approximately linear node dynamics for
upper level control design even under large uncertainties, including vehicle
parametric variation, varying road slop and strong environmental wind. The
following remarks are concluded:
(1) Homogeneous and linear node dynamics is important for
platoon control. This requires the acceleration tracking performance
to be accurate and consistent, and accordingly results in critical
challenges because of the linearization error of powertrain dynamics
and large model uncertainties in and around vehicles. The proposed
MMS control structure can divide the large uncertainties of vehicle
longitudinal dynamics into small ones. Accordingly, multiple robust
controllers are designed from the multiple model set, and a
scheduling logic is also presented to automatically select the most
appropriate candidate controller into loop according to the errors
between current vehicle dynamics and models.
(2) The designed switching index can measure the model error
of vehicle longitudinal dynamics properly and the right acceleration
controller is selected into the closed loop. The robust stability and
performance of this acceleration tracking control system can be
ensured. Both the simulation and experiment results demonstrate
that this switching control system has better performances than that
designed by either H∞H∞ control or sliding mode control approach
in large uncertain conditions.
The Reliability of Autonomous Vehicles
Under Collisions.
Over the decades, safety standards of the vehicles have been raised from the
demands of the automobile users and organizations like Federal Motor
Vehicles Safety Standards and Regulations (FMVSS) [1], National Highway
Traffic Safety Administration (NHTSA) [2], European New Car Assessment
Program (Euro-NCAP) [3], Society of Automotive Engineers (SAE) [4], etc.
Superior technology evolved vehicles, which need more resources, offer
diverse facilities for the occupants. Respecting the autonomous systems,
more interventions of the drivers are starting to narrow. Although the yield of
luxury and reliability, sometimes it operates against the occupants. During
computer governing trips, individuals want to attain locations faster. In
unexpected inaccuracy situations, automatic systems could cause fatal results.
However, the most common and important topic of vehicles is the crashworthiness. Ensuring the reliability of the vehicles and safety of the
occupants, the vehicle structure should be constructed in a way to absorb the
impact effects and shock gradually, not to create a sudden deceleration which
causes also injuries and fatalities. To decrease the failure risks, entire vehicle
should be investigated, primarily starting from the basic structure of the
vehicle under the perspectives of statics and strength of the materials. Then,
the natural frequencies and the dynamic loading of the system should be
incorporated into step by step. Generally for the dynamic loading, precaptured dynamic road data also helps developing the vehicle structure.
During the development period, beforehand defined systems like the concept
design of the vehicle, and the shape should be protected, but the adaptation of
the alterations should affect the design in minor.
Before determining the impact response and the behavior of the vehicle
during a collision, the reasons of the accidents should be investigated. Serious
amount of the accidents occur by the carelessness, negligence, and
recklessness of the driver. The first one decreasing the risk of the collision is
preventive driving techniques. This technique is a part of the education for
the expert driving, although it refers time, patience, and talent. Yet, without
any attention and enough reflexes, even this preventive method, results in
frustration. In addition, if the all scenarios are considered the environmental
and road conditions, and the faults of the other vehicles, including the drivers,
effect the vehicles as other factors. Thence, the UAV technology becomes the
redeemer of the system to solve the problems completely or decrease the
errors to a sufficient level for a more reliable drive.
The most proper way to determine the causes is an experimental study,
despite it is not a cost effective and time-consuming way. With the all other
test methods such as positioning, loading, and calibrating, crash tests are the
most significant ones. After the real-time collision tests, widely known
experimental approach on the crash-worthiness researches is the sled test [2,
3, 5, 6]. The sled tests are more under-control when it is compared with the
other methods. But again, the financial hassle is beyond the limits of the most
companies and facilities.
Decreasing the expenses of the crash tests, many companies untangle their
crash-worthiness difficulties after mandatory collision tests, with the
computer-aided simulations. Consequently, computerized methods are
immensely reliable, if almost, the last three decades are considered. To
overcome the real-time simulations of the engineering problems, many
developed computer-aided analysis softwares can be obtained from the
market. Even though some of the softwares for an exact engineering solution
such as structural analysis, impact analysis and thermal analysis remain part
of the market is dealing with the multi discipline engineering solution
packages serving for the finite element method (FEM). But for the general
FEM and its solution methodology [7–9] is not focused on significant issues.
Hence, the more applications in a software sometimes decreasing the
expertise approach. According to our perspective, impact simulation codes
indicate the prominent side of the vehicle collisions. Thereupon, for the
impact procedures, explicit dynamics approach based on the FEM gets
through the formidable problems, satisfactorily [10]. In Image 1, FEM model
(a) and a crash simulation (b) of a wheelchair and a seating system via sled
scenario are given using the human mass adaptation to understand the crash
worthiness [11].
Image 1.
(a) Finite element model of a wheelchair crash simulation via sled test, (b)
Finite element simulation result of the model for a defined specific time.
One of the most popular and extensively used software for the impacts is
LSDYNA, the product of the Livermore Software Technology Corporation
(LSTC) [12]. This code is used by some of the software companies as a
fundamental explicit dynamics solver. With the help of the validated FEM
results, reliable procedures will be determined to Image out the real vehicle
crash scenarios in an inexpensive way, even for the UAV technology. During
improvements invariably, reverse engineering applications are in the process
from beginning till the end to mend the faults scores of times.
Autonomous vehicles: the perspective of collisions
Recently, the importance of the unmanned autonomous vehicles for every
day, industrial and military applications are rapidly increasing, regarding the
demand of the market. It is complex enough not to start the mass productions
for today, especially manufacturing ability in excessive numbers of the
automobile industry is considered. But, when the issue is saving a human
being, we should reconsider everything referring the military developments
against terrorism or wars. The defense industry focuses on the aerial vehicles
to check the required zones and decrease the threats by the enemies or the
terrorists. An unmanned aerial vehicle (UAV) shown in Image 2 in Ref. [13],
widely used as a drone, or an unmanned aircraft system (UAS), and also
referred by several other names, defines an aircraft without a human pilot.
Therefore, an aircraft without a pilot means, alive human, but in the right
hands yet, this sophisticated technology will be so perilous against innocents.
And also, the more professionally UAS requires the more trained and talented
personnel in particular formidable and arduous duties. This can possibly
cause unexpected mistakes during the tasks that provoke impacts and
Image 2.
Medium Altitude Long Endurance (MALE) UAV of Turkish Aerospace
Industries, Inc.
Image 3.
Google self-driving car.
The technological improvements in numerous dissimilar segments are
effecting the UAV technology too, like media and entertainment. With the
help of the lately used drones are easily operated, simple and cheap widely
used by the professionals likewise amateurs in various applications. This
option introduces some hazardous results with the ease of the system.
Although the price of the simple applications like drones less when it is
compared with the complex vehicles, consequences could be analogous.
If we focus on the automobile industry some leading companies like Google
have been paying attention for autonomous cars for a while. See Image 3
[14]. After spending many years to research and development, the shown up
products of UAV technology on the roads are a quite impressive story.
With regret, even for the finest tech. companies, some of the undesired
incidents bring about the damaging results of the UAV. The self-driving car
of the Google collided with a public transportation bus in California, USA
(Image 4 in [15]) on February 14, 2016. In spite of the highly developed
vehicle technology, it is indispensable to face with collisions for some cases.
Image 4.
Collided self-driving car of Google.
Whatever is done or planned for evolving the UAVs, sometimes these
vehicles encounter with inevitable problems, and thus, it will be concluded
with accidents as it was not planned. Under these circumstances, vehicle
safety and crash worthiness should be taken care of in a comprehensive
Causes and prevention methods of collisions
Involuntary emerged incidents by the humans, vehicles, and environmental
effects may cause accidents randomly. Sometimes, the reasons are known
and the sufficient prevention methods can be created for the safety of the
vehicles or the occupants or the both of the occupants and the vehicles.
Although the vehicle is UAV, the opponents or the other vehicles could be
driven by the humans. Thus, the human existence should be considered
evermore, while the robustness of the vehicles is acceptable. With reference
to known conversant reasons of the collisions, inaccurate parts of the
mechanical, electronical, or software-based problems could be adjusted.
However, the human originated mistakes which can differ from one being to
another are much harder to fix with straightforward solution approaches. The
psychological, physiological, behavioral potential, capability, and carefulness
of the humans will alter the results of the happenings. Sometimes, the reasons
are known, but it is not able be Imaged out by anything else the events like
the several natural disasters. Otherwise, if the reasons are not specified or
estimated for the collisions, the new methodologies must be evaluated to
diminish the odds of failures for both humans and the vehicles.
Considering the vehicle, which is not a UAV, can be also investigated for the
safety of the pedestrians, occupants, regular vehicles, and the autonomous
vehicles. The idea of preventive driving technique or expert skills will come
into the minds for the human driver. Initially, validity of this opinion could be
reasonable with the existence of the natural aptitude alongside the education
of the preventive driving. Although the careful driving is very important, the
reflex of a human body is a prominent factor of the innate talent effecting
throughout the trip. Sometimes, this gained time in milliseconds can save
lives when the human body reacts against an unexpected incident. Reflexes
can be improved with the help of the practice, while we can assume this, as a
learned or educated reflex.
Otherwise, if the reflex response is not satisfying the sudden handling
situations, preventive driving education avails to avert the collisions during or
before the accidents. This education covers primarily the calm driving in
contrast with the aggressive and fast driving, refraining from the
instantaneous movements of the steering wheel conducts the vehicle, sudden
acceleration and decelerations in particular in tough weather and
environmental conditions. To ensure a safe trip, an admissible space between
the vehicles is a necessary approach to acquiring an enough time along the
duration of the collision. Subsequently, scanning all around the vehicle with
eyes and computerized systems for every single threat is the key factor for a
reliable trip, like a radar system to perceive the risky ventures which could be
possibly induced by anything else.
Afterward, the driver will face with the most critical phase: Decision! And
the worst scenario is Uncertainty as an opposite situation signifying that “the
worst decision is better than a hesitant behaviour.” If we consider the options
for the decision:
Pull over,
Suddenly stop,
U turn,
Changing lanes,
Manage to do both of the selected ones or more, simultaneously
or consecutively.
If there is no chance avoiding from the accident, try to be in the safe zone or
select the least hazardous way via changing the speed and maneuvering the
vehicle to save the lives and minimize the collision effects. Doing nothing
and being petrified is not an option, it is just an ambivalent condition
eventuating with an undesirable result.
Considering the hassle of the situation during collisions, these types of
behaviors and applications are so difficult for a human to apply and need
some expertise. It is not for everyone! Thus, if the computerized UAV system
is capable to handle all of these situations at the same time, except some
uncommon incidents, it will be much more robust and reliable for everyone,
although we consider that sometimes human mind and body can create
metaphysical and exceptional solutions.
Vehicle safety standards
When we talk about the Unmanned Autonomous Vehicles, it comprises the
ground, aerospace, and even the naval vehicles. If we try to clarify the safety
standards for all conditions, it will be in the detail redundantly. Ordinarily
when the crash-worthiness and accidents are on the carpet, extensively
known portrayal is covering the automobiles followed up by the aircrafts and
the other vehicles.
For determining the vehicle safety standards of the automobiles, some major
organizations take place in the decisive position in the industry and the
market. However, the most important role in framing the ideology of the
crash testing is in the hands of the Federal Motor Vehicle Safety Standards
and Regulations (FMVSS) and the National Highway Traffic Safety
Administration (NHTSA) in the USA as one of the leading countries for the
vehicle safety. In the NHTSA internet site [16] of the US Department of
Transportation for the Federal Motor Vehicle Safety Standards and
Regulations, safety assurance defined in four major topics given below:
Crash avoidance: Standards between 101 and 135 (Part 571),
Crashworthiness: Standards between 201 and 224 (Part 571),
Post-crash standards: Standards as 301, 302, 303, 304 and 500
(Part 571),
Other regulations: Standards between 531 and 595.
It is very important to point out, especially the contents of the
crashworthiness for our point of view:
Occupant Protection in Interior Impact,
Head Restraints,
Impact Protection for the Driver from the Steering Control
Steering Control Rearward Displacement,
Glazing Materials,
Door Locks and Door Retention Components,
Seating Systems,
Occupant Crash Protection,
Seat Belt Assemblies,
Seat Belt Assembly Anchorages,
Windshield Mounting,
Child Restraint Systems,
Side Impact Protection,
Roof Crush Resistance,
Bus Emergency Exits and Window Retention and Release,
Motorcycle Helmets,
Windshield Zone Intrusion,
School Bus Rollover Protection,
School Bus Body Joint Strength,
School Bus Passenger Seating and Crash Protection,
Rear Impact Guards,
Rear Impact Protection.
In another perspective for the crash testing, in the internet site of the crash
network [17] expresses the headings in different groups: interior testing, dash
board, frontal impact, side impact, steering wheel, seats, seat belts, rear
impact, rollover, head rests, and roof crush. Considering the developments in
the vehicle industry including automobiles and aircrafts, etc., especially the
UAVs, many countries trying to improve new methodologies against the
collisions comprising hundreds of standards. The major idea for the crash
worthiness is protect the occupants or all beings, and eliminate or diminish
the damages caused by the collisions.
Crash worthiness and crash tests
The occupant safety and vehicle reliability are the fundamental topics that
should be developed against collisions for the crash worthiness. Although the
technology is evolved in many fields especially for the materials science
comprehending composite materials and withal super collapsible beams to
absorb impact energy, again if we are not able to provide a safe drive for the
occupant or the vehicle it is going to be a fact that can be concluded with the
injuries or fatality for the driver, passengers or the people outside while the
vehicle face with the physical damage like self-destruction as a result of
collision to the wall, barrier or a structure; accident with another vehicle via
front, behind or side impacts; and maybe a rollover incident by some other
effects. These are by definition may differ from one incident to another
defining the accidents of vehicles even for the autonomous systems.
Whatever happens, the engineers should design a structure that can able to
absorb some of the energy by collapsing itself or deforming to an adequate
level to protect the human beings. If the structure is too rigid, there is an
amplification occurs and affect everything in a poor way that is transferring
the accelerations to the occupants causing worse situation. Therefore, even
for the safety and reliability, optimum way is better to protect lives against
Image 5.
Crash test modes.
To determine the crash response, broad amount of tests have been carried out
for many years by the validated official agencies for crash worthiness. During
the collisions under the combined loading conditions, the application of the
crash energy management is dependent to plenty of situations, starting with
contact mechanics and collapse modes that could be in the axial and/or in
bending way causing many other reactions. According to Huang [5], the
crash tests were chosen after reviewing some previous works around the
world, accident statistics, and experience with the Ford Tempo air bag fleet
based on the real-world crash investigations. The tests consisted of car-to-car
tests versus barrier and fixed pole tests. Crash data were accumulated from
the 22 vehicles; the chosen tests representing a vast range of accidents at or
near the expected threshold of air bag deployment. There are 22 vehicles in
16 tests, as shown in (Image 5), were used to gather the crash pulse data. For
every test, the selected impact speed is a key factor to check the system
performance of the air bag sensor will be activated or not during the
incidents. Due to mentioned circumstances, we can define the types of the
impacts [5]:
A perpendicular (90°) barrier,
A low- and high-speed rigid pole,
A front-to-front overlap,
An oblique front to front (three types),
A vehicle front to an moving deformable barrier (MDB)
A vehicle front-to-side,
A front-to-rear,
A bumper over-ride (or truck under-ride).
The tests can be classified in three categories: component tests, sled tests, and
full-scale barrier impacts. Because of the complexity and many distinct test
variables in full-scale tests, there is an acceptable reason in the reduction of
the test’s repeatability. The impact test depicted in (Image 6) is representing
a full-scale vehicle-to-vehicle impact test of Toyota Motor Company while
they are developing a new safety system for their automobiles [18]. The
dynamic and/or quasi-static response of an isolated component is defined by
the component tests are exalted to detect the crush mode and energy
absorbing ability. With the help of the component tests, it also gives the
capability to the designers to develop prototype substructures and
mathematical models. Moreover, the vehicle rear structure full-scale tests are
governed either via a deformable barrier or a bullet car to state the integrity of
the fuel tank. To evaluate roof strength according to FMVSS 216, a quasistatic load is applied on the “greenhouse,” and providing that the roof
deformation falls below a particular level for the applied load [6].
Image 6.
Vehicle-to-vehicle impact test of Totoya Motor Company.
For the sled test, engineers use a representation of a passenger compartment
(buck) with all or some of the interior parts like seat, front panel, steering
system, seat belts, and air bags. Anthropomorphic Test Devices or
“Dummies” (ATD) or cadaver subjects are seated in the buck, utilized to
simulate an occupant subjected to dynamic loads which is similar to a vehicle
deceleration-time pulse, to determine the response in a frontal impact or side
impact. To appraise the restraints of the system the sled test is a significant
topic recorded by the high-speed cameras and photography applications for
the dummy kinematics. It should also be stated that the performance of the
ATD is determined at a higher impact speed of 35 mph in the NCAP test.
Throughout the NCAP test, the restrain system is composed of three-point
lap/shoulder belt system, and also additional restraint air bag. When we pay
attention to the detail of the impact tests, numerous numbers of sensors as
accelerometers, load cells, etc., located in the dummy and on the restraints,
screen the forces and moments assisting to specify the impact reactions.
Event data recorders have a very important role to understand the behavior of
the system during accidents. However, when the recorded data will be
analyzed digital filtering and reducing the noise (unwanted data) effect the
results. Thus, it should be Imaged out cautiously.
Driving through the highways or freeways, the barriers are limiting the
vehicles to get out of the road and protecting it, from crossings. During the
barrier impact test there is a guided vehicle, canalized into a barrier with a
predetermined initial velocity and angle. The purpose of the test is to
maintain a structural integrity of the vehicle and adherence to the mandatory
government regulations. The fully equipped vehicle collides a barrier at a 0°,
+30°, and −30°, respectively, from an initial velocity of 30 mph.
The frontal offset impact test is another method acting with 40–50% overlap
stating that the impact target could be rigid or deformable.
For the full-scale side impact test, a deformable barrier moving towards the
left or right side of the vehicle with an initial speed at a certain angle
(FMVSS 214). Especially for this test, side impact dummies (“SID” For the
US and “EURO SID1” for Europe) which have different shape and
properties, are used in the driver and outboard rear seat positions.
When the human parts are considered, the ATDs are widely used and capable
enough to demonstrate the behaviors of the human nature in a fundamental
way, even when it is indicating the spine, head, brain, organs, knee injuries,
and whiplash incident in particular.
Explicit dynamics approach in FEM for the impact scenarios
The finite element method has been used by many scientists and engineers
for decades to advance systems in different engineering applications for the
validations, while reducing the experimental investments and the expenditure
of the tests. This widely known method developed via the contributions of the
researchers all around the world. While FEM problem is thriving, we will
break the problem domain into a collection of 1D (dimensional), 2D and 3D
shapes to form the discretization. Starting with the simplest way, {F} = [K]
{D} where F, K, and D, are the nodal force vector, global stiffness matrix and
nodal displacement vector, respectively, as usually known. The
displacements in this equation are the unknowns which should be found and
lead us to Image out the strains and stresses, etc. To solve the equations,
generally, the direct stiffness method, variational technique, or weighted
residual approaches are used. However, this fundamental technique is now
capable enough to handle the issues lately popular like the fracture mechanics
with an extended finite element method, cohesive modeling, contact
algorithms, smoothed-particle hydrodynamics (SPH) and Arbitrary
Lagrangian–Eulerian Method (ALE), etc. Regarding recent a few decades,
requisition of a nonlinear mechanics or engineering plasticity, for the delicate
and slightly designs which should be robust in tough conditions, induced the
durability tests including impacts and crashes. Explicit dynamics approach in
FEM emerges with this idea to untangle the difficulties of the impacts, drop
tests, explosions, and collision scenarios.
Vehicle technology under the perspective of the crash worthiness and safety
during the collisions via crash tests to explicit dynamics simulations of the
FEM is a trustworthy way to follow up. If we have a dekko to the literature
some valuable studies can be determined [5, 6, 19] about the vehicle crash
worthiness and the safety, while some books [6, 10, 19] explain the details of
explicit dynamics one of the most challenging nonlinear problems in
structural mechanics.
The implicit FE solution technique delivers accurate results as long at the
stress levels in the beam do not exceed the yield-stress value, thus remaining
in the linear (elastic) region of the material curve. Because the implicit solver
usually obtains a result with a single step, according to the slope of the
material curve, which is represented by Young’s modulus, for the plastic
region of the material there will be an inaccuracy whereat the slope is
changed up the plastic characteristics. It means that the implicit solver is very
powerful for linear (static) finite element analysis (FEA); thence, it provides
an unquestioningly stable solution methodology.
Unfortunately, the implicit solution approximation may have difficulties with
the immensely nonlinear finite element models. Additionally, inverting
extremely large stiffness matrices with the implicit solver might consume too
much time and memory. Although this method is not logical to use in highly
nonlinear problems, it can able to calculate the equations with the help of the
iteration cycle, which is applying the load in minor increments called as
“timesteps” [19].
During the accident, the vehicle body faces with the impact loads propagate
localized plastic hinges and buckling. So the large deformations and rotations
with contact and heaping between the many parts can be determined. One of
the most important ideas for the explicit dynamics is the wave effects,
primarily involved in the deformation stage, associated with the higher stress
levels. When the stress level exceeds the yield strength and/or the critical
buckling load and the localized structural deformations comprise throughout
a few wave transits in the frame of the vehicle. The effects of the inertia will
chase this step and also dominate the ensuing transient reaction. The collision
could be considered as a less dynamic incident if there is a comparison
between the ballistic impact and the vehicle crash. Closed-form analytical
problems for the impact scenarios in structural mechanics offer tough times
for everyone. Therefore, the numerical methods arise with the practical
options to decipher the unknowns.
A set of nonlinear partial differential equations of motion in the space-time
domain is solved numerically by the explicit dynamics approximation, related
to the stress–strain properties of the material about the initial and boundary
conditions. To obtain a set of second order differential equations in time, the
equations in space are discretized by the solution in the course of formulating
the problem in a weak variational form and supposing an acceptable
displacement field. Subsequently, in the time domain, discretization
calculates the system of equations. If the selected integration parameters
deliver the equations coupled, the technique is defined as implicit, while the
solution is unconditionally stable. Furthermore, if the solution will be defined
as explicit, the equations should be decoupled by the selection of the
integration parameters, and it is conditionally stable [6].
As Du Bois et al. [6] described, a set of hyperbolic wave equations in the
region of effectiveness of the wave front is Imaged out via the explicit
dynamics, even then it does not require coupling of large numbers of
equations. Yet, the unconditionally stable implicit solvers requiring assembly
of a global stiffness matrix provide a solution for all coupled equations of
motion. Especially considering the impact and vehicle crash simulations,
including the utilization of contact, several material models and withal a
combination of non-conventional elements, the explicit solvers show up more
potent and computationally more productive than the implicit solvers, while
the timestep is about two to three orders of magnitude of the explicit
timestep. “Explicit” defines an equilibrium at a moment in time that the
displacements of the whole spatial points are known in advance. With the
help of the equilibrium, we can determine the accelerations; moreover, the
use of central differencing technique assures to establish the displacements at
the next timestep and reiterate the process. And also, the only inversion of the
mass matrix, M, is enough for this procedure.
There should be stated that if the lumped-mass approximation is utilized the
mass matrix will be diagonal, so there is no obligation of the matrix
inversion. When the uncoupled equation system is Imaged out, the results
will be in a very fast algorithm. For the minimum memory exigency, the
assembly of a global stiffness matrix should be avoided by using an elementby-element approach for the calculation of the internal forces. The explicit
integration will be second order accurate when it is applied attentively.
Utilization of the related nodal displacements and/or velocities, the stresses
are calculated discretely for each element, causing the effect of the loads on
one part of the element onto the opposite part which is simulated by each
timestep. Accordingly, the stress wave propagation is demonstrated through
the element clearly. The deficiencies of the explicit solution technique are the
conditional stability and the weak approximation of treating the static
problems. The meaning of the conditional stability of the explicit integration
algorithm is the integration timestep must be smaller than or equal to an
upper bound value known as the Courant condition,: Δt≤lccΔt≤lcc explaining
that the timestep must not pass over the smallest of all element timesteps
identified by dividing the element characteristic length through the acoustic
wave speed through the material from which origin the element is made like
Du Bois et al. [6] mentioned. And they also said that the numerical timestep
of the analysis must be smaller than, or equal to, the time required for the
physical stress wave to pass by the element. If we try to explain it in a
straightforward way, c of the mild steel elements is about 5000 m/s with a
characteristic length of 5 mm for the automotive field practices concluding
with 1 μs for the analysis timestep. Consequently, incidents dealing with the
short duration of time are appropriate for the explicit dynamics solution
technique enclosed with superior nonlinear behaviors and loading velocities
demanding small timesteps for more precision sequels.
The integration of the equations of motion defines the time integration:
or in a different representation,
The basic problem is to determine the displacement, xn+1, at time tn+1. We can
also say that [K]{x} = {Fint}. By the way, the explicit direct time integration
can in a conceptual form be written as:
The equation shows that the solution depends on nodal displacements,
velocities, and accelerations at state n, quantities which are known.
Therefore, the equation can be solved directly. And for the implicit:
This equation represents the solution that depends on nodal velocities and
accelerations at state n + 1, quantities which are unknown. This implies that
an iterative procedure is needed to compute the equilibrium at time tn+1.
If we try to define the time increments:
Then, the central difference method is used for the velocity:
When Δtn+12/=tn+1−tn is used, we get:
With the help of the acceleration, velocity can be stated as:
From the Eq. (2), the acceleration at an+1 can be found like:
Remember, the damping force is taken at x˙n+12/x˙n+12. The new velocity
will be calculated with the old velocity and acceleration by Eq. (13). From
this result, displacement will be updated at Eq. (10). Consequently, the new
internal and external forces help for determination of the new acceleration
[Eq. (14)].
Considering the LSDYNA, the widely known commercial explicit solver, the
procedure for the solution steps is given below:
When t = 0, it will be the beginning of the solution loop or cycle. Whereupon,
the displacement will be updated at Eq. (10), while the velocity is also
updated at Eq. (13). Then, the internal forces (strain rate, strain, stress, and
force magnitude) will be computed looping over the elements. Subsequently,
external forces will be calculated to reach the computation of the
accelerations at Eq. (14) which is finalizing the initial loop. Thereafter,
following loops will go through the process again and again, until the
convergence criteria will be satisfied.
For the robust design, stress wave propagation, timestep adjustment, critical
element length and finally, the mesh size and quality are the factors, will be
considered carefully to affect the simulation performance in a better way.
Due to the reliable side of the explicit dynamics solution methodology, we
indicated the differences between the implicit and explicit solver for the
approximation of the vehicle crash simulations and safety of the occupants
and vehicles. We can possibly say that, for the collision of the regular or
autonomous vehicles the accident results will be similar that should be taken
care of precisely.
The studies about the crash worthiness and impact scenarios as explained in
the previous section are based on the explicit dynamics solution technique
resulting with the satisfactory approximations. Some of the commercial codes
for the explicit dynamics simulations are embedded inside the multidiscipline
FEA programs such as ABAQUS, ANSYS, and MSC softwares, even though
some of them working alone for just these types of applications as LSDYNA,
PAMCRASH, etc. As it was mentioned, before these softwares are auxiliary
engineering applications for solving the problems with the numerical
methods. The most important task is the prediction of the failures of the
system or structure of the vehicle and the problems that occupants can be
faced. When the prediction of the simulations is validated, it can be said that
FEM code has done its job properly.
To comprehend the validation of the simulations with the real crash tests,
numerous topics should be investigated before, during or after the
simulations. We can simply name these steps like: before the process is preprocessing, during is processing or simulation, and after the processing is
Pre-process section is dealing with the creation of the finite element model,
starting from the Computer-Aided Design (CAD) of the structure or the
system, material descriptions or modelling, element selections, defining the
boundary conditions (describing the loads, displacements and support
properties, etc.) and initial values like velocities, adjusting the contact
algorithms, total time and timestep size definition. For more elaboration,
mass scaling factor and/or hourglass controls can be adjusted. Considering
the information given, the geometry should be meshed as smooth shapes as
possible. During the mesh generation element, sizes are so prominent, will
affect the simulation time, according to the number of the elements. If the
mesh is coarse, there will be a weak approximation and short period of
processing time, notwithstanding if there is a finer meshed model exists, the
convergence rate will be better, while the processing time is prolonged. Thus,
there should be an optimum mesh size for the common structure; however,
the significant zones are meshed with finer elements to increase the stability
and for the better result.
When the simulation is processed, the finite element model is ready for the
post-processing. The most considerable issue for the impact is absorb or get
rid of the shock energy by different methods like geometrical change of the
structure, material selection, and application. The second problem is the large
deformation of the structural components. Additionally, changing the
parameters of the simulation model will affect the results widely depending
on the experience of the analyst. Because of dealing with the highly plastic
problems and non-linearity during collisions, the analyst needs to possess
deep knowledge about nonlinear finite element analysis for continuum
mechanics [20–22]. It should be stated that the analyst can be faced with the
geometrically nonlinear problems or material nonlinearities which is
imported to be expressed.
Image 7.
The vehicle crash test and simulation.
Regarding the details of the post-processing, we will start to observe and
evaluate the simulation outputs, step by step. While we are investigating the
steps of the impact scenario, kinetic energy change, absorbed energy amount,
deformations and displacements, strain and stress distribution, and some
other major issues should be appraised attentively and the results should be
validated with the real crash tests. Besides, the effects of the different
components, deformation characteristics, and the changes of the parameters
must be observed and the behavioral outcomes of the incident should be
crosschecked with the real situation. The literature is replete with numerous
of interesting researches about the crash-worthiness of the vehicles and the
occupant safety including the Anthropomorphic Test Dummy (ATD) test and
simulations [23–27]. Especially LSDYNA conferences are popular with the
presentations of the explicit dynamics simulations and also most of the papers
can be reachable from the internet site of “DynaLook” [28]. For a better
representation of an explicit dynamics simulation, Image 7 demonstrates the
full vehicle crash scenario [29].
Whole crash-worthiness studies are remarkable starting with the elementary
functions of the profound methods of NCAP tests considering despite the
costs of the experiments are enormous, contribution of the test results is
For a robust vehicle, the engineers should design a structure that can able to
absorb some of the energy by collapsing itself or deforming to an adequate
level to protect the human beings. If the structure is too rigid, there is an
amplification occurs and affect everything in a poor way that is transferring
the accelerations to the occupants causing worse situation. Therefore, even
for the safety and reliability, optimum way is better to protect lives against
Nevertheless, for diminishing the costs of the studies of FEM and explicit
dynamics methods, which are proceeding under the supervision of the
computers and codes verified by the long-term researches and applications,
are competent to handle the complicated algorithms yielding with satisfactory
results. The incidents dealing with the short duration of time are appropriate
for the explicit dynamics solution technique enclosed with superior nonlinear
behaviors and loading velocities demanding small timesteps for more
precision sequels.
Take into account the results of the experiments, analytic solutions and
computerized methods are mentioned as FEM codes are robust
approximations to understand the behavior of the vehicle and occupants in
the course of statics, dynamics, and collisions. Consequently, the finite
element method and explicit dynamics solutions have been proven to validate
the experiments and real life experiences in the range between 80 and 100%.
It should be clearly stated that the autonomous vehicles decreasing the risks
of the collisions when it is compared to the human driver controlled vehicle.
ADAS-Assisted Driver Behaviour in Near
Missing Car-Pedestrian Accidents.
It is commonly acknowledged that in the near future most of the road
vehicles will travel, on almost the totality of the road network, in an
automated way (autonomous driving). The reason for such a forecast is easily
understood: the influence of the driver on safety, energy efficiency and traffic
fluidity is very high [1]. In fact about 93% of road accidents are originated by
some kind of driving error, as recognition errors, decision errors and
performance errors [1]. Under such point of view, automated driving can
bring dramatic improvements by eliminating the influence of human factors,
thus contributing to reduce serious and fatal road accidents, fuel waste and
traffic congestion. The total elimination of road accidents, however, is not
predictable at the moment, but their reduction to very little numbers is
reasonably attainable. In the vision of many researchers, a roadmap to full
automated vehicles can be defined; for instance, organisation like the Society
of Automotive Engineers (SAE) has defined some steps (SAE Level of
progressive automation, Image 1), ranging from Level 0 (no automation) to
Level 5 (full automation) [2].
Image 1.
SAE levels of progressive automation as defined in SAE International
Standard J3016.
Levels 0–2 (partial automation) require that the human driver be responsible
for monitoring the driving environment, whereas in Levels 3–5 such task is
performed by the automated driving system. Unless having reached a
condition of full automation (Level 5), the driver must be involved in car
driving, that is to say that the driver must be kept “in the loop.” In fact in any
intermediate level of automation, several driving modes will include the
possibility or the necessity that the control of the vehicle is shifted from the
automated system to the driver, or that the driver is willing to keep the
control back. As explained in Refs. [3, 4], such operation must be carefully
designed. Such issue will be particularly important in the case of Level 3
(conditional automation) in which the driver, due to the increasing number of
automated driving modes, will be often called to take the control back. The
driving task can be decomposed into three main activities: recognition,
judgement and operation. In all of such activities errors are possible, likely to
bring to some risks or even to accidents. Within SAE Level 0 (no
automation), all of these tasks are performed by the driver, which can be
defined as “conventional driving.” If the implementation of Advanced Driver
Assistance Systems (ADAS) is carried out, the driver can be assisted, or even
substituted, by some automated or autonomous device or function, up to a
level of full automation (SAE Level 5) in which recognition, judgement and
operation are performed by the system taking full control. In intermediate
levels of assistance (as, for instance, in SAE Levels 1 and 2) only recognition
and/or judgement are assisted so that the responsibility for operation remains
with the driver. Far from being infallible (at least at the present state of the
art) such devices can be of great help to decrease the probability of errors
and, consequently, of accidents.
As regards the present state of the art of driving assistance devices, their
functions can be divided into three main categories:
– Presentation of information about road environment and
traffic conditions; the driver is helped during his recognition
activity. Under this category, devices, such as road sign recognition
(RSR), blind spot monitoring systems (BSM), and so on, can be
– Warning; the driver is helped as regards judgement. A timely
and appropriate warning signal is issued when a possibly critical
situation is detected (as forward collision warning (FCW)).
– Control (to help the driver in operation tasks); the system gets
control over the vehicle.
Presently, two types of control can be considered:
– Control for normal driving conditions (as, for instance, lane
keep assist (LKA), adaptive cruise control (ACC), etc.), mainly
aimed at improving travelling comfort by reducing the workload on
the driver.
– Control for pre-crash conditions (as autonomous emergency
braking (AEB), often in combination with FCW) in which the driver
may be overridden due to the lack of an effective response to some
critical situation, aiming at avoiding or mitigating an imminent
collision. In such cases, the system acts on the brakes but leaves the
choice of steering to the driver.
Even if the control is took by the system, the driving responsibility remains to
the driver: in the first case because the control is handed to the driver when
conditions can become critical; in the second case, the driver is overridden
only at pre-crash conditions (but only as regards braking) so that the accident
consequences are mitigated.
In all of this assistance functions, it can be easily understood that a
convenient interface (Human-Machine Interface (HMI)) between the generic
device and the driver must be designed and implemented. HMI can be
considered as the channel through which information are conveyed to a
vehicle’s occupant; HMI design is one of the main issues that must be
properly allowed for [5], addressing, for instance, the definition of the correct
stimulus (type: visual, acoustic, haptic, etc.; sequence; timing; priority; etc.).
In addition, since it is to be expected a different communication efficiency as
a function of age, experience, education, etc., the interface must be properly
tailored and some adaptation is certainly needed. The necessity of
standardisation is to be expected, as well as the definition of human models
capable to help interpreting correctly the situation and act accordingly.
During the progression towards full automation (especially when high levels
of automation, such as SAE Levels 2, 3 and 4, will be implemented), several
issues should be addressed in order to obtain a fast and successful path to
SAE Level 5; three main topics can be identified as follows:
– Definition of suitable strategies for shifting control from the
driver to the system and vice versa. Design of proper HMI systems
will be of fundamental importance, also aiming at carrying out such
operation in a seamless manner.
– Definition of procedures aimed at obtaining the functional
assessment of the instrumental part of the automated system.
– Obtaining a wide user acceptance rate in order to accelerate
the penetration in the market of automated systems.
The issues presented in the first two points are currently addressed by several
standard practice and regulations (as, for instance, in [6, 7]).
Presently, most of the vehicles can be categorised as belonging to Level 0 of
automation, but all the major car manufacturers (as well as tier one suppliers)
offer, in their sales catalogues, devices that can be defined as Driver
Assistance Systems (typical of SAE Level 1) and some of them show features
that can be defined as partial automation.
In the Italian market, for instance, in the official sales catalogues of the end of
2015 as published by car magazines (basically Quattroruote, Italy), several
automated assistance systems can be found, mainly belonging to the
following categories:
– Adaptive cruise control (ACC),
– Blind spot monitoring systems (BSM),
– Lane departure warning systems (LDWS),
– Road sign recognition (RSR),
– Autonomous emergency braking/forward collision warning
It can be easily recognised that such functions will certainly be part of a
hypothetic future full automated system: even if the methods used to obtain
such functions are hardly imaginable, the functions itself are necessary and
the interaction with the driver must be allowed for. As can be seen in Table
1, the above-mentioned devices are offered by a good number of
manufacturers on several models, both as standard equipment and as paid
option; often they are included in a package together with other safety or
comfort devices.
Table 2 shows average price and standard deviation (SD) for the same
devices as Table 1, for the models offering such devices as paid option; as
can be seen, when a device is included in a package, its price can be much
higher. Price is a matter that can influence user acceptance and delay the
diffusion of such safety devices.
Though many researchers are very optimistic on the large implementation of
full automation in the near future [8], many factors can slow down the
process. A survey conducted by IEEE among its members [8] revealed that in
the vision of many experts in the field, six main obstacles to the rapid
diffusion of autonomous vehicles can be identified, i.e., technology, cost,
infrastructure, policy, liability and user acceptance. According to this source,
the first three points should represent a minor problem; technology is rapidly
improving as regards both efficiency and reliability, whereas cost is a
problem that must be shared among private and public stakeholders, also
taking into consideration the potential benefit of accidents reduction, as well
as medical and social costs. The implementation of proper infrastructures is
of the greatest importance (it is difficult to imagine an effective
implementation of driving automation without, e. g., V2V and V2I
communications) so that in relatively short terms it can be predicted that the
largest diffusion of such systems will take place first in advanced
geographical areas, such as North America, Europe and parts of Asia. The
last three points, instead, will play a decisive role; policymakers can boost or
slow down the process since many matters require political decisions and a
proper legislation will most probably be necessary, for instance as regards the
realisation of the needed infrastructures and the settlement of issues related to
legal liability. This last point can be particularly important: who will be
responsible when an accident happens, as certainly will? It can be imagined
that the involvement of car manufacturers and their suppliers will be greater,
in a context that will also involve insurance companies, governments and
customers [9–11]. User acceptance will play a fundamental role; in reference
[12], for instance, a worldwide survey was carried out in order to understand
how autonomous vehicles will be accepted, comparing all levels of
automation (from conventional driving to full automation). In this study, the
major concerns of future customers were indicated, including legal issues,
cost (22% declared themselves unwilling to pay any additional sum for an
automated vehicle), security (regarding especially software being subject to
hacking), privacy concerns (vehicles are subject to be constantly monitored)
and driving pleasantness, etc. Geographical differences were also pointed out.
In reference [13], the intention of French drivers to use a partially or fully
automated vehicle was investigated. In reference [14], the possible effect of
motion sickness on user acceptance is investigated, and the necessity of
considering such issue during the design and development phase is
emphasised. Thus, if a fast and successful introduction in the global market is
desired, such systems must be implemented in such a way as aiming at high
performance and high user acceptance, and such steps require the most
complete understanding of driving behaviour: in other words, a driver model
(or better, driver models) must be set up.
In the initial phase of the development of ADAS, it is a common practice to
carry out testing in controlled environment, namely, by staged driving
sessions or using driving simulators. Since their introduction, driving
simulators have been widely used to study safety and human factor-related
issues. Since the first appearance of advanced driving simulators they were
extensively used to investigate over safety issues [15, 16] and also as an
important tool in the design and assessment of advanced driving assistance
systems [17, 18].
The use of simulators presents numerous advantages:
– Situations that normally reveal to be dangerous can be faced
without any risk for the driver and for the researchers as well.
– A well-designed testing scenario allows a very good
repeatability of the driving environment and control of all variables
(traffic, course, road and weather condition, etc.).
– The situations through which the driver goes can be adapted
to the driver behaviour itself.
– All testing parameters can be easily recorded and stored for
successive elaboration.
– Experimentation can be speeded up.
On the other hand, the driving scenario must be carefully designed in order to
obtain a sufficient representativeness of the results, and often a validation
activity must be carried out, for instance by carrying out staged tests in
controlled environments or by monitoring real-life driving. Moreover, not all
the drivers are able to drive comfortably in a driving simulator. Although
some of the testing activities regarding ADAS development can be carried
out using static simulators, the use of an advanced immersive driving
simulator allows to have all the needed functionalities together with a
sufficiently realistic testing condition.
In the present chapter, a simulator experimental study is presented, aimed at
understanding drivers’ behaviour when a sudden hazardous situation with
pedestrians is presented; for such aim, 69 young drivers were submitted to
different virtual driving scenarios. The experimentation, far to be definitive,
will anyway provide useful information for setting up a driver model as well
as for determining HMI requirements.
Definition of a reference accident scenario
Among road users pedestrians represent one of the weaker categories, and the
percentage of accidents involving pedestrians is relatively high. According to
WHO [19], in 2013, 22% of about 1.25 million worldwide road traffic deaths
were pedestrians. In the USA, during 2012, 4743 pedestrians were killed
(total casualties 33,561) and 76,000 were injured (total 2,362,000) [20]. It can
be seen that the percentage of deaths with respect to injuries among
pedestrians (6.2%) is much higher than the general one (1.4%), thus
confirming the high level of danger. Pedestrian safety is expected to be
highly boosted by the adoption of assistance systems as pedestrian detection
system (PDS) and V2I communications, and for this reason it was chosen to
study the drivers’ behaviour in a situation with a high risk of being involved
in an accident with a pedestrian.
Accident reconstruction is a powerful tool to explain the reasons of an
accident and identify the main contributing factors. Thus, 26 accidents
involving pedestrians actually happened in Austria were analysed using the
CEDATU (Central Database for In-depth Accident Study) database [21, 22],
by also using multi-body simulations (PC-Crash, DSD, 2015).
Following the indications collected during the preceding phase, a reference
accident scenario was defined having, among others, the following features:
low-density population urban environment, late evening (heavy darkness)
with scarce electric lighting, good weather and road conditions, nonintersection, and pedestrian not using a crosswalk and walking without
running from left to right; moreover, a car is coming from the opposite
direction obstructing the visual.
Set-up of the simulation scenario
Sixty-nine young drivers were employed for the driving simulator testing,
enrolled on a voluntary basis mainly among the students of the School of
Engineering of the University of Florence. Each subject drove the test
scenario once. Sixty-one tests were considered valid, whereas the remaining
were discarded because of excessive simulator sickness or weird behaviour of
drivers and simulator software; the main characteristics of the drivers of valid
tests (18 female, 43 male) are shown in Table 3. Age varied between 19 and
36 years and also driving experience was very different, ranging from few
hundreds of kilometre per year to 50,000. Nineteen tests were actually used
to tune the simulation scenario (set-up tests) and, in particular, to synchronise
the behaviour of the other road users at the emergency situation. The
remaining 42 drivers were used for the actual experimentation.
For the experimentation, the driving simulator available at LaSIS (Laboratory
for Road Safety and Accident Reconstruction, University of Florence, Italy)
was used. It consists of a full-scale dynamic simulator (Image 2) provided by
AutoSIM (Norway, model AS 1200); the complete vehicle cabin and the 200
degrees wide cylindrical screen allow an immersive driving experience.
Image 2.
View of the simulator in use at LaSIS.
Following the indications obtained from the statistical analysis and the
thorough reconstruction of typical road accidents, a generic scenario was
defined, adapting one of the terrains available in the simulator database. In
particular an environment with little population was chosen, in which the
emergency situation described above was inserted (Image 3). The driver
reaches the point after having driven for about 5 minutes, encountering some
vehicular traffic and pedestrians. Since the terrain contains several
intersections and roundabouts, to be sure that the drivers reach the point of
interest in a given time, indications by means of direction arrows were
projected on the screen. The entire test was driven in night time conditions.
Image 3.
Map of the emergency situation area.
Before driving the test scenario, the subjects faced a training scenario in
which, during about 10 minutes, they could get acquainted with the vehicle
cabin and try the most common manoeuvres; the subjects began the drive
under daylight and ended with dark condition in order to get gradually
accustomed with night driving. In some of the tests, the presence of an ADAS
was simulated, consisting in a pedestrian detection system. Those drivers
who were going to drive in the scenario with the ADAS system also
experienced it in the training scenario. Before and after the test, each subject
was submitted a questionnaire in order to collect personal and driving
information and record their impressions. Before the test, the subjects were
informed about the aim of the test and were instructed on the basic functions
of simulator and cabin; they were invited to drive in a normal way, respecting
the normal traffic rules. No hints were given about the emergency situation
they were going to meet. The emergency situation was designed as follows
(Image 3): when the interactive vehicle is at a given distance from the
emergency area, a vehicle starts travelling in the opposite direction,
interfering with the visual. When the interactive vehicle is at a distance that
corresponds to a time to collision of about 4.5 s, a pedestrian starts walking
from the opposite side of the road, heading along an oblique direction, with a
constant speed of 1.67 m/s; in the first part of his path, the pedestrian is
hidden by the distraction vehicle (Image 4a).
Image 4.
Scene of the emergency situation as seen by the subject driver: in scenarios
A, B and C (a) and in scenario D (b).
Four different scenarios were set, one without ADAS and three in which the
drivers were helped by a simulated PDS assistance system, characterised by
different alert modes:
– Scenario A: no ADAS was simulated (12 drivers);
– Scenario B: a sound alarm (consisting of beeps with
increasing frequency) is issued after 0.5 s the pedestrian start (10
– Scenario C: as scenario B except that the sound is emitted
after 1.5 s (10 drivers);
– Scenario D: as scenario C (10 drivers) with the addition of a
visual warning, consisting in a self-lighted rectangular frame around
the pedestrian (Image 4b). The aim was to provide additional
information to the driver about the position of the hazardous
situation, simulating the use of a head-up display.
Data analysis
To obtain the results, data from three sources were analysed:
– Disk recording of several parameter of the vehicle, at the rate
of 20 S/s, including position, speed, acceleration, pedals use, gear,
steering wheel position, vehicle position in the lane, etc.
– Visual recording of the entire simulation, as performed by the
simulator software.
– Information filled in questionnaires by the subjects.
From such data, besides a qualitative description of the driver’s behaviour,
the following values were calculated:
– Time, speed and position when a given event occurred (as
reactions, actions, etc.).
– Time to collision (ttc) following a given event; time to
collision is defined as the time needed to reach a given position (for
instance an obstacle) if the speed is maintained constant; such value
provides indications of the closeness of a danger situation, allowing
for speed and distance; ttc of the vehicle relative to the pedestrian
was calculated allowing for its actual position, since it can walk.
– Time between braking onset and maximum braking
activation; it provides indications on how fast maximum braking
action is obtained.
– Actual degree of emergency (ADE) shown in Eq. (1),
combining speed (V), time to collision (ttc) and reaction time (tR); it
represents the constant deceleration that should be applied to stop
just in front of the obstacle and is expressed as follows [15]:
In the present study, when ttc refers to the moment of braking
onset, tR is put equal to zero.
All of the subjects had some reaction when approaching the pedestrian, but
only 29 drivers out of 42 succeeded in carrying out a successful manoeuvre to
avoid the collision. Usually, the drivers reacted by releasing the accelerator
pedal and pressing the brake pedal; only two out of 29 successful drivers,
after a short use of brakes, steered and avoided the obstacle (tests 31 and 34).
None of the drivers chose to steer instead of braking. Thirteen drivers out of
42 hit the pedestrian (see Table 4): 50% in scenario A (without ADAS) and
23% in all the scenarios with ADAS. Of these only 4 out of 13 tried, while
braking, to steer.
Tests without ADAS had higher speed at collision than those with ADAS,
being in average 33.1 km/h (SD = 11.9 km/h) versus 22.4 km/h (SD = 9.4
km/h), with some statistical significance (P-value = 0.06 following the t-test
[23]). As regards the functions of the simulated ADAS device, 4 out of 30
declared they did not hear the acoustic alarm, whereas 10 out of 10 saw the
visual one.
Time of action was determined by analysing the signal regarding pedals
(brake and accelerator) and steering wheel. Every effort was put to identify
the first action caused by the perception of a hazard. Approaching the
obstacle an action on the brake was always detected; in the cases of scenarios
with ADAS, sometimes the action on the accelerator was detected before the
alarm was issued, mainly because the driver was prudently reducing the
speed approaching an intersection with some traffic, so that the first action
was considered braking; this happened 11 times out of 30.
Since the moment when the driver saw the pedestrian cannot be determined,
it was not possible to obtain a reaction time following such event. In the cases
of scenarios with ADAS, reaction time was here defined as the time interval
between the alarm and the first successive action (on accelerator or brake); its
mean value resulted to be 0.88 s.
An indication about the degree of emergency perceived by the driver can be
the time difference between the first (releasing the accelerator) and the
second action (pressing the brake pedal) tA2 − tA1; the comparison between
different scenarios, as well as the overall scenarios with ADAS, is shown in
Image 5. The t-test showed that there is no significant difference among the
scenarios with ADAS (P-value > 0.5), whereas these last are significantly
different from scenario A (no ADAS, P-value < 0.05).
Image 5.
Mean values of tA2 − tA1 ± SD.
Time to collision [15] is the time at the end of which a collision will occur if
speed does not change; in this study it was evaluated at the moment of the
first action (release of accelerator) and the second action (braking). In Images
6 and 7, mean values of both parameters are shown together with their
dispersion. Scenario A yielded a significantly lower value for ttcA1 (1.46 s vs.
2.52 s, P-value < 0.0001) as well for ttcA2 (1.34 s vs. 1.92 s, P-value < 0.01)
in comparison to all the scenarios with ADAS.
Image 6.
Mean values of ttcA1 ± SD.
Image 7.
Mean values of ttcA2 ± SD.
Among the scenarios with ADAS, as expected, there were significantly
higher values for scenario B as compared to scenario C as regards ttcA1 (2.87
vs. 2.32 s, P-value = 0.06) and above all as regards ttcA2(2.13 vs. 1.46 s, Pvalue = 0.03). No significant difference was found between scenarios C and
Braking represented, for 27 drivers out of 29, the first active actions
attempted by successful drivers (as said, only two avoided the obstacle by
steering only) since releasing the accelerator pedal, in itself, has a little effect
on speed reduction. Braking is one of the actions that showed differences
throughout the experimentation. In Image 8, for instance, some typical
modes of actions on the brake pedal are shown; they are related to the
emergency braking approaching the pedestrian during four tests, two
successful and two failed.
Image 8.
Typical emergency brake pedal activation; tests 28 and 41 were successful,
and tests 26 and 71 were failed.
The main difference lies in the different time that the driver used to reach the
maximum pedal activation. In order to characterise such difference, the
parameter tmax – tA2 is introduced, as the time difference between the
beginning of the braking activation and the instant when the maximum action
is reached. Such value could not be calculated for all the tests since in some
failed tests the collision happened before the braking action reached a
stabilised level. As shown in Image 9, where tmax – tA2 is plotted as a function
of time to collision, a clear trend is visible, indicating that when ttc decreases,
the action on the brake tends to be faster.
Image 9.
Trend of tmax − tA2 as a function of time to collision.
As shown in Image 10, tmax – tA2 is also influenced by the presence of ADAS;
scenarios with ADAS yielded significantly higher values than scenarios
without ADAS (in average 2.03 s vs. 1.09 s, P-value < 0.001). As a
consequence, part of the advantage afforded by ADAS devices (seen above,
for instance, in terms of time to collision) is wasted because of a slower
action on the brake pedal; trials that ended with a collision (indicated by a
cross) are in some cases characterised by relatively high tmax – tA2, indicating
that a different braking approach could sometimes help avoiding the
Image 10.
Cumulated distribution for tmax − tA2 in tests with and without ADAS; the
cross indicates a failed test.
The parameter ADE introduced above can provide indications on the degree
of emergency (meant as the urgency to react) of a given hazardous situation,
but also indicates if a manoeuvre based on braking only can be successful,
since the deceleration that a vehicle can experience is limited by the friction
In Image 11, the cumulated distributions of actual degree of emergency
corresponding to the action on the brake are shown, for failed and successful
trials. A statistically relevant difference was identified between the two
samples (in average 8.78 m/s2 for the failed tests vs. 3.89 m/s2 for the
successful tests, P-value < 0.001). It is evident that it is impossible to stop
before the collision when having ADE values near or greater than the
maximum possible deceleration. Actually, the maximum value of ADEA2 that
allowed a successful manoeuvre only acting on brakes was equal to 5.89
m/s2; the cases with higher ADE (tests 31 and 34, highlighted in Image 11)
were successful only because a steering manoeuvre was performed.
Image 11.
Cumulated distribution for ADEA2 in failed and successful tests. The cross
indicates trials in which the driver avoided the obstacle by steering instead of
braking (tests 31 and 34).
The effect of the presence of the ADAS was relevant since, for instance, it
was capable to halve the percentage of collisions. Similarly, some of the other
parameters that were examined showed clear advantages of using such
device, as ttCA1, ttCA2, actual degree of emergency and speed at collision.
Parameters as tA2 − tA1 and tmax − tA2, instead, showed that the presence of the
ADAS could not prevent a slower execution of the required actions, perhaps
caused by the anticipated perception of danger, so that sometimes it seemed
that the driver was not capable of fully exploiting the advantages allowed by
ADAS. In such cases, the use of further automation as autonomous braking
or emergency brake assist (helping applying and maintaining the correct
pressure on the brakes, already used by several manufacturers) will certainly
As regards the comparison between the different ADAS modes (scenarios B,
C and D), the conclusions are less straightforward. Scenarios B and C have
the same alert mode (a beep with increasing frequency), but in the latter it
starts one second later. Consequently, in scenario C, time to collision is
significantly lower, as well as tmax − tA2, but no significant difference was
identified as regards the other parameters, though always better. The
advantage of an early alert seems, as expected, evident, and the risk of
increasing the frequency of false positive in the attempt of anticipating the
issue of the alarm must be carefully evaluated. As regards scenario D, in
which a luminous rectangle framing the pedestrian was added to the same
configuration of scenario C, no significant difference was noted, though all
the drivers declared to have seen it but not everyone remembered to have
heard the acoustic signal. Further experimentation and deeper comprehension
is certainly necessary.
Flight Control Development and Test for an
Unconventional VTOL UAV.
Ducted-fan aerial vehicles (DFAVs) have attracted much more interest of the
academic and industrial communities worldwide due to their compact layout
and high-security applications in several tasks such as surveillance, data
acquisition, and even physical interaction within unstructured environments.
Among the different possible configurations, the vertical take-off and landing
(VTOL) ducted-fan aircraft is well-suited for a variety of missions in
environments cluttered with obstacles or close to infrastructures and humans.
This fact is motivated mainly by the ducted-fan configuration in which the
propeller is protected by an annular fuselage. In addition, a prominent
advantage of ducted-fan system is better overall efficiency at low speeds [1].
In this respect, also inspired by the previous works considering test-fly
methods in control [2, 3], the aircraft considered here is a tandem ducted-fan
vehicle configuration characterized by a very simple mechanical structure,
composed only of two tandem contra-rotating propellers inside the vehicle’s
fuselage, a number of control vanes which deviate the propeller’s air flow in
order to obtain full controllability of the attitude dynamics (see also [1, 4])
and a set of auxiliary “direct force control” with small lateral electric ducted
fans (EDFs).
Drawing inspiration from the potential of the well-designed VTOL aircraft,
the focus of this chapter is on the systematic modeling, flight control
development, and implementation methods of the aerial vehicle named BITTDF at Beijing Institute of Technology (BIT). A number of contribution
focuses on the problems of feedback control design for such a class of
systems. In [5], a dynamic inversion controller is proposed to govern the
nonlinear dynamics of a ducted-fan aircraft. In [6], a framework of nonlinear
robust control based on a path following strategy is applied to a ducted-fan
miniature UAV . A structured two-loop feedback controller combined with a
static anti-windup compensator is proposed in [3] for a ducted-fan aircraft.
However, few research laboratories are carrying out advanced theoretical and
experimental works on the system; among others, to mention a few, the
European Community under the 7th Framework Programme through
collaborative projects AIRobots [7], the HoverEye project of autonomous
ducted-fan aircraft [8], and the Martin Jetpack [9].
To actually show the potentials in a real application scenario, the overall
system design of a fully functional UAV has to be validated experimentally
using a real setup, especially the proposed control techniques. The object is to
consider a robust flight control design for our small-scaled ducted-fan
aircraft. The proposed methods have been tested either in simulation,
experimental, or both frameworks where the implementation has been carried
out using the ducted-fan UAV known as BIT-TDF.
Throughout the overall development of the UAV, deriving a high-fidelity
nonlinear model has been a challenging issue due to their inherent instability
and large amount of high-complexity aerodynamic parameters. After the
hardware construction of the ducted-fan prototype, we first obtain a
comprehensive flight dynamics model based on an elaborated approach
which integrates first-principle and system identification techniques. The
frequency-domain identification tool CIFER [10], which was developed by
army/NASA Rotorcraft Division and is one of today’s standard tools for
identifying models of different aircraft configurations, has been used here to
capture the key dynamics. With the identified model in hand, we then carry
out to design a flight control system with two-loop architecture, in which an
inner loop is for stabilization and decoupling the UAV dynamics and an outer
loop is for desired velocity tracking performance. Specifically, we have
combined (1) H∞ technique; (2) nonsmooth optimization algorithm; and (3)
custom-defined gain-scheduling to design a nonlinear flight control law and
successfully realized the automatic flight test.
Description and dynamics of the BIT-TDF system
The ducted-fan UAV of the Department of Mechanical Engineering of BIT is
the BIT-TDF prototype (Image 1a) developed by our team of researchers at
Vehicle Research Centre (VRC). The front and aft propellers are enclosed
within a protective carbon fiber duct to ensure safe operation of the vehicle in
an indoor environment or close to building. The prototype uses a very simple,
lightweight monocoque structure, producing an efficient and very durable
design. The aerodynamic efficiency, in terms of additional thrust increase at
the same power consumption, is improved by increasing the lip radius and
decreasing the blade tip clearance. It uses eight 28-cm propellers for tandem
ducted fans and standard RC motors and speed controllers. It is equipped
with the COM Express Type 10 Mini Carrier Board CCG010, which is
chosen as onboard flight control computer running at RT-Linux. The
embedded computer system has a main processor running at 1.3 GHz, which
can conveniently integrate all of necessary functions for data exchange with
INS/GPS-based navigation system, servo-controller, and wireless modern,
and a data acquisition board for RPM sensor. An 8-channel servo-controller
(UAV100) is used to generate PWM signals necessary to drive the ducted-fan
motors and the actuator servos. Custom-built real-time control software
developed by the BIT VRC research group is used to real-time control the
Image 1.
(a) The BIT-TDF ducted -fan UAV and (b) its schematic representation.
For ease of understanding, the block diagram of the entire UAV system is
illustrated in Image 2. From left to right, it is composed of three main parts:
Image 2.
The system block diagram.
The first part represents the actuators along with mixing
function that converts conventional pilot inceptor inputs into a
combination of exit vane deflections, and motor speed. The input to
this part is u = [δcol δlon δlat δped]T which are pulse-width modulation
(PWM) signals. The outputs are the vector Ω = [Ω1Ω2Ω3Ω4]T
representing the motor speed of front-aft ducted-fan propellers and
left-right EDFs, in RPM, and the vector δ = [δ1δ2δ3δ4]T, representing
the four exit vane deflections, in degrees.
The second part is the force and moment generation mechanism
block that relates the generated inputs to the applied lift, torques,
and the aerodynamics acting on the system. This block corresponds
to all the body components of the aircraft, that is, the tandem
ducted-fan system, left-right EDFs thrust generation, vanes
deflection system, and the fuselage drag part.
The third part is the rigid-body dynamics that relates the applied
force and moments to the attitude, velocity, and position of the BITTDF.
The subsequent sections present a comprehensive nonlinear flight model the
ducted-fan aircraft.
The following flight-dynamics equations of motion describes a general
physical structure based on Newton-Euler formulism, and the reader is
referred to any classical flight-mechanics references for a more complete
where u, v, and w are the velocities in the body frame, p, q, and r are the
angular velocities in the body frame, m is the system mass, and Jxx, Jyy and Jzz
are the moments of inertia along body-frame main axes. ϕ, θ, and ψ are the
roll, pitch, and yaw Euler angles. Faero and Maero are the vector of external
aerodynamic force and moments, respectively, which are given by
where the index i = 1 for front ducted-fan, i = 2 for aft ducted-fan, Dm for the
momentum drag, H for the hub force, (□)fus for the fuselage, ∑Fv∑ for the
exit vane, Tf,a for the thrust of front and aft ducted-fan, Ted(l) and Tedf(r) for the
thrust of left and right EDF, PM for the duct pitching moment, Rmfor the
rolling moment of a propeller, Q for the propeller anti-torque moment, and
the de, hr, dzv and dxvare all the distance parameters related to torque. They are
introduced in detail as follows.
The aerodynamic forces and moments are derived using a combination of
ducted-fan inflow model and blade element theory. In ref. [1], one
comprehensive and creative inflow model for computing ducted-fan thrust T
and induced velocity vi is proposed. Such procedure is based on some
modifications of classic momentum theory inflow of an open propeller. For
easier reference, we list the inflow model but there involves a revised
derivation of the equation of conservation of energy.
An illustration of the inflow model is shown in Image 3. The velocity vectors
upstream of the propeller, at the disk of the propeller, and far downstream of
the propeller are shown below.
The affected angles of attack, α and α , are modeled as a function of the
flow turning efficiency factors kχR and kχ∞, which are given by
Image 3.
Inflow model illustration.
The thrust of ducted-fan system is a combination of propeller thrust TR, and
duct thrust TD,
where kaug is the thrust augmentation factor.
The mass flow rate of air through the duct is given by
where ρ is the local air density and AD is the duct area at the plane of the
By considering only the vertical component of conservation of momentum
from free-stream flow to the far-wake flow, the expression for thrust is given
Similarly, considering only the horizontal component, the expression for
momentum drag is found to be
It is assumed that energy enters the ducted-fan system through the propeller
thrust and the momentum drag. Therefore, a revised equation of increment in
kinetic energy is formulated here that accounts for the contribution of the
propeller thrust.
Substituting the Eq. (6) into (7), an expression is derived for the velocity ν∞.
Another expression for the velocity ν∞ is found by substituting the Eqs. (5)
and (7) into (9). The final result after joint solution of the velocity ν∞ is
given as the newly formulated inflow equation.
Based on the work of Gary Fay in Mesicopter project [10, 11], the
aerodynamic forces and moments of rotating propeller are resolved using
classic blade element theory. For convenience of the reader, we recall some
symbols. σ: solidity ratio, clα: lift slope, λ: inflow ratio, μ: advance ratio, R:
propeller radius, Cd¯¯¯¯: averaged drag coefficient, θ0: pitch of incidence,
θtw: twist pitch. Thrust force TR is the resultant of the vertical forces acting on
all the blade elements.
Hub force H is the resultant of horizontal forces acting on all the blade
The propeller anti-torque moment Q is caused by the horizontal forces acting
on the propeller that are multiplied by the moment arm and integrated over
the propeller.
Rolling moment Rm of a propeller exists in forward flight when the advancing
blade is producing more lift than the retreating one.
Once the thrust created by the ducted-fan system is determined from (11), the
quasi-steady induced velocity is found by iterating the inflow Eq. (10), and
vice versa. A simple bisection algorithm is implemented here to obtain the
thrust and induced velocity. Consequently, all the forces and moments of
ducted-fan system are solvable.
The exit control vanes are modeled as all-moving control surfaces that
operate in the wake generated by the propellers, and provide yaw attitude
control and thrust augmentation. To model those forces and moments, we
refer to our mixing schematic shown in Image 4 (also shown in the “mixing”
block of Image 2). First, we will consider all the forces generated by each
vane, and then, we will consider the resultant contributions that affect the
yaw dynamics. Let us denote by i = 1, …4 the each vane. There resulting
force Fv and an induced moment Γv are given by
Image 4.
Exit vanes used to govern yaw attitude.
where Fvy and Fvz are the aerodynamic forces projected into the body-fixed
frame, α0 is the flow deflection angle and the induced moment Γv can be
decomposed into the components dzv Σ Fvy and Σ Fvy dxv in (2).
There are always drag forces caused by the fuselage and have to be modeled.
The fuselage drag model is a key element in the correlation with flight-test
data. A function is integrated into the simulation model that calculates the
fuselage drag forces along three body frame axes, which is given by
where Sfx, Sfy, and Sfz are the effective drag area in the xb, yb, and zb direction.
The two lateral small electric ducted-fans are responsible of controlling the
roll attitude dynamics, regulating differential thrust on the EDFs.
Specifically, a positive control input results in increased thrust on the left
EDF and a decrease thrust on the right one. It should be mentioned that the
previous prototype BIT-TDF in [12, 13] is a vane control mixing version,
which means roll and yaw control are all achieved by deflecting the exit
vanes in a mixing way. This compact VTOL vehicle was tested extensively
by our research group. Although it realized basic stabilization flight, it
exhibited some serious operational limitations, the most notable being its
poor stability and controllability in windy conditions. Therefore, a set of
auxiliary “direct force control” with small EDFs are mounted on the current
prototype (see Image 1) to optimize the system’s maneuverability.
Controllability analysis and recent flight-test demonstrate that the overall
performance of the newly constructed configuration has been significantly
The generated thrust Tedf of the EDF is related to the PWM input upwm by a
first-order linear transfer function:
where Kedf is a positive gain and τe is the time constant of EDF.
Perhaps the most challenging issue of ducted-fan system over conventional
configuration is the strong nose-up pitching moment produced by the duct in
edgewise flight or in presence of cross-wind. The duct pitching moment is
caused by the dissymmetry lift of the duct due to the unequal flow
experienced by the front and aft sections of the duct. This moment makes the
vehicle so unstable that even an experienced pilot would not be able to hold it
steady in flight without a stability and control augmentation system (SCAS).
A meaningful observation by [1] stated that the pitching moment may be a
function of airspeed, angle of attack, advance ratio, and inflow velocity.
According to the experimental data in [8], the pitching moment model is
implemented solely as a parabolic function of the relative airspeed for
simplicity, which can be written as
where V0 is the relative airspeed, εc and εx are the constant coefficients to be
Four linear servo-actuators are used to control the vane deflections, while the
front and aft electronic speed controllers (ESCs) are used to control the speed
of motor-propellers. The lateral EDF dynamics has been addressed in Section
2.1.4. The dynamics of all actuators can be identified in ground tests with an
input of the actuator command and an output of the actuator response or the
control surface deflection. However, in our case, an artificial control mixing
function was used and we would like to explicitly account for this block.
After examination of the respective frequency responses of the four control
input channels, we see that a first-order system should adequately capture the
dynamics. The corresponding differential equations are as follows:
where the states mf and mr are the speed of front and aft motor-propellers, αv
is the vane deflection command that is converted into a combination of four
exit vane deflections, and the last state βe denotes the thrust of lateral EDF,
and the corresponding time constants are τm, τv, and τe. The effective linkage
gains of four input channels (Zcol, Mlon, Nped, and Llat) completely depend on
the defined usable range of physical inputs that correspond to the normalized
inputs in the range [−1, 1]. The equations for the effective linkage gains are
as follows:
From the above analysis, a full 15th-order nonlinear dynamic model can be
obtained and a linear model of the BIT-TDF at the prescribed flight condition
can also be extracted. We have implemented an integrated identification
procedure to identify all the physical parameters. Using global optimization
methods, the extracted lineal models can be utilized to tune the unknown
physical parameters of the nonlinear model to match frequency responses
from flight tests, which delivers a very accurate nonlinear model suitable for
flight simulations, and linear models adequate for control design.
The focus of this section is on the identification results obtained by the
particular CIFER tool. The frequency-domain system identification method
allows for rapid updating of the vehicle response model as changes are made
to the unconventional UAV designs by repeating flight tests. At first, the
description of the experimental setup is given. The parameterized model with
the associated stability derivatives is also provided. Then, the final results of
the identification procedure follow. Finally, the accuracy of the extracted
model is validated in the time domain.
The experimental platform, as depicted in Image 5, includes an onboard
flight control computer, an INS/GPS module, a sonar sensor, four high-speed
brushless DC ESCs, a servo-controller, a pair of free-wave wireless data
transceivers, and a ground station. The pair of transceivers establish
communication between the onboard system and the ground station. The
onboard system is to collect sensor data, process and fuse them, feed to the
control law, send the servo-driving signals to realize desired control mode.
The C code is programmed, complied, and then downloaded to the onboard
system and ground system to perform specific tasks.
Image 5.
Block diagram of the experimental platform.
The model structure of the BIT-TDF consists of 12 states. These states
include eight rigid-body states and four explicit states for the actuator
dynamics. The final structure is obtained first systematically eliminating the
derivatives that have high insensitivity and/or high Cramer-Rao bound and
then refining the model in a similar process in [14]. Image 6 shows the
system matrix A and the input matrix B of the minimum parameterized model
Image 6.
System and input matrix for the state-space model.
The above-parameterized model provides a physically meaningful description
of the system dynamics. All stability derivatives included in this model are
related to kinematic and aerodynamic effects of the ducted fans, exit vanes
and the fuselage. The challenge is the determination of their arithmetic
As shown in Image 7, the data-collection experiment is performed in closedloop with an external SCAS engaged. The reason for the closed-loop
experiment arises from that the BIT-TDF is lightly damped and inherently
unstable. When the ducted-fan vehicle is set to hover, we inject a set of
computerized frequency sweep excitation signal to one of the four control
inputs. The resulting control signals along with their corresponding output
responses are inserted into the CIFER software which processes the time
domain experimental data to produce a high quality multi-input multi-output
(MIMO) frequency response pairs. For our BIT-TDF vehicle, the selected
frequency responses and their frequency ranges are depicted in Table 1.
Image 7.
Schematic diagram of data collection in the closed-loop setting.
The extraction of the parametric model is an iterative procedure, which
continues until difference between the actual and simulation frequency
responses is minimized as shown in Image 8. The identification results
illustrate the system can be well characterized as a linear process in the
interested frequency range. Note that the parameters in the model structure
have been designated as the following four categories:
Image 8.
Frequency responses for the flight data (solid line) and frequency responses
predicted by the state-space model (dashed line).
Fixed parameters known as a priori;
Constrained parameters with constraint equations to enforce
commonality and kinematic interrelationship;
Isolated parameters that is difficult to achieve a satisfactory
Free parameters to be determined in the course of the
Some physical parameters, such as gravity and actuators-related parameters
(determined from input-output ground tests), are known as a priori and
should be fixed. Some stability derivatives in system matrix exist constrained
relationships due to the symmetrical configuration, such as Zmf=Zmr,Mmf=
−MmrM. There are also some parameters difficult to identify due to poor
low-frequency excitation and they can be obtained based on the static trim
estimation. The remaining free parameters for our vehicle are listed in Table
2, from which it is clear that all the parameters identified using CIFER are
highly accurate.
Time-domain is more straightforward for evaluating the predictive capability
of the identified model for test inputs, such as steps or doublets that are
dissimilar with the ones used in the identification process. Four individual
flight records are collected, each corresponding to one of the test inputs. The
recorded inputs are used as inputs to the identified model, and the ducted-fan
vehicle’s responses predicted by the model are compared to the responses
recorded during the flight tests. The comparison results are depicted in Image
9, which indicates an excellent fit between the predicted values from the
identified model and the flight data.
Image 9.
Time-domain validation.
Robust flight control system design
During the BIT-TDF project, we explored several control approaches from
theoretical development to final experiments. After the evaluation of all the
control approaches tested in this project, it becomes clear that the way to
follow is the systematic application of the structured robust control based on
nonsmooth optimization algorithm. In fact, the newly developed nonsmooth
optimization algorithm in [15] is well suited for robust control synthesis of
the cascaded structure of the ducted-fan dynamics. Moreover, the fixedstructure controller is easy to implement and fine-tune within a standard
flight control infrastructure based on PID feedback terms or low-order terms.
In addition, the robust framework is able to elegantly reject strong
disturbances and easily extended to robust gain scheduling control. After a
phase of extensive simulation and experimentation, the structured robust
control was proposed as a single approach for flight control system design.
The key task of the control system is to regulate the flight velocity of the
vehicle to a desired value and keep it irrespectively of the exogenous wind
disturbances. However, as a matter of fact, there is a potentially countless
kinds of control structure to achieve the control task. From the perspective of
engineering implementation, decentralized collections of simple control
elements such as PIDs, static gains, structured, or limited-complexity
controllers are preferred. Moreover, it is known that most practical problems
can be controlled by low-order controllers with good performance. In this
context, we chose the very simple control architecture, shown in Image 10,
which consists of two feedback loops. The inner loop (static output
feedback), being fully actuated, provides stability augmentation and channel
decoupling. The outer loop (four PI controllers), cascaded with inner loop, is
in charge of regulating the inner loop in such a way that provides proper
attitude variables as virtual inputs to velocity outer loop to asymptotically
approach the desired velocity references.
Image 10.
Feedback control configuration.
The control task is complicated by the fact that the plant dynamics are
nonlinear throughout the flight envelope, so the flight controllers must be
adjusted as a function of flight speed, which is also called the scheduling
variable. As for TDF, we have selected the equilibrium conditions for five
flight conditions which are corresponding to the forward flight speed u = 0,
2.5, 5, 7.5, and 10 m/s, respectively, and linearized the flight dynamics
around each equilibrium. Motivated by [16], we combine the linear
controllers design and the scheduled process by parameterizing the controller
gains as low-order polynomials in forward flight speed and directly tuning
the polynomial coefficients for the desired envelope. This approach results in
a compact scheduling formula and guarantees smooth gain variations. More
specifically, we use a quadratic polynomials for the four PI gains
where the three coefficients Kj0, Kj1 and Kj2 are tunable parameters, and V is
the forward flight speed. We use a simple first-order polynomials for the
static output feedback matrix
Image 11.
LFT of an augmented system and a structured controller.
Using simple block diagram manipulations, we can transfer the initial control
architecture of Image 10into a design-oriented form as illustrated by Image
11, which is known as the standard lower linear fractional transformation
(LFT). Two exogenous inputs, wind disturbances and reference signals, are
gathered in W, and exogenous performance-related outputs, the weighted
error signals and actuator effort signals, are gathered in Z. δ denotes the gain
scheduling variable, which is the forward flight speed in our design case. P is
the augmented linear parameter-varying plant composed of the original plant
dynamics and the weight filters used to express the control objectives. K is
the controller to be designed and scheduled as a function of δ. The structured
controller K is just a reformulation of the architecture described in Image 10.
That is, the outer-loop PIs and inner-loop static output feedback form the
components 4-by-4 diagonal PI block and the negative constant matrix-SOF,
respectively, of the compound controller K.
The H∞ control problem is formulated as the following program
It should be emphasized that when smaller and more practical controller
space K are chosen as in the compound controller K, the problem (23) is
much harder to solve and this is exactly the reason for adoption of nonsmooth
optimization techniques.
For good tracking accuracy, the weights associated with each outputs should
include integral action at low-frequency range and a finite gain at high
frequencies is useful in reducing overshoot. Therefore, the following highgain low-pass filters are selected
For attenuating noise, increasing robustness to unmodeled dynamics, and
preventing high-frequency control activity that would saturate the actuator
physical limits, the following high-pass filters Wu are selected
We also consider the multivariable stability margins also called disk margins
discussed in [17], which can be viewed as robustness against simultaneous
gain and phase variations at both the plant inputs and outputs. The target gain
and phase margin values are converted into a normalized scalar function to be
where x(s) = (1 + L)(1 − L)
, D is a diagonal scaling matrix to be computed
during the iteration process, L is the corresponding open-loop response to be
shaped, and the parameter α is the minimum distance between the open-loop
response and the critical point. Here, we impose a minimum distance of 0.6,
which guarantees margins of nearly 5dB and 40°. Note that the weighted
function blocks Mu and My (see Image 11) are exactly used to express the
stability margins requirement.
The resulting control problem of (23) is concretely rewritten as the following
nonsmooth program
where x is the decision variable in the space formed by collecting all tunable
entries in the structured controller, m denotes a given operating point of the
objective flight envelope, the function fm (x) and gm(x) are of the following
where SRSR is the closed-loop sensitivity function from setpoints to tracking
Image 12.
Multivariable stability margins.
The structured robust controller synthesis is carried out in the framework of
the nonsmooth H∞optimization algorithm using the MATLAB Hinfstruct
solvers. After some trail-and-error iterations and design repetitions, the
smallest values of L2 gain of hard constraint gm(x) and soft constraint fm(x) are
found to be 0.9994 and 0.935, which indicates the resulting design satisfy all
the design requirements. A visual inspection of the multivariable stability
margins can be seen in Image 12. The yellow region denotes margins that
violate the requirements. The blue plot represents the margin objectives to be
optimized in the calculation process, which is an upper bound on the actual
margin. Note that the five different curves represent the five discrete
operating points. The actual stability we obtained in the red dotted lines
indicate that the stability margin requirements are satisfied at all frequencies
in the designed fight envelope. The frequency responses related to the hard
constraints are shown in Image 13, which indicates the disturbance rejection
and tracking errors at low frequencies are expected to perform well and fast
actuator movement can be effectively suppressed inside the closed-loop
Image 13.
Singular value plots for the closed-loop transfer functions (left for S and right
for KS).
Simulation and flight test results
The simulation and experimental tests have been carried out in the ARC
flight arena at Beijing Institute of Technology. The employed hardware
architecture for the experimental validation is briefly introduced in Section
2.1.1. A variety of simulation tests have been conducted before actual flight
experimentation. As a representative example show in Image 14, we present
the gust alleviation effects of the closed-loop system for hovering flight. The
strong wind gust has been intentionally injected into the x-, z-, and y-axis of
the body frame, with the peaking amplitude of 9, 3, and 7 m/s, respectively.
The system response clearly demonstrates that the wind gust effect has been
effectively attenuated.
Image 14.
Simulation results of wind gust alleviation effect at hovering.
Image 15.
Flight test-velocities.
Image 16.
Flight test-angular rates.
Image 17.
Flight test-Euler angles.
Image 18.
Flight test-control inputs.
The experiment proposed in this part consists of an accelerated flight
maneuver after a short-time hovering flight. The desired maneuver is a
horizontal forward and inverted flight with a trapezoidal velocity in the
longitudinal direction of the inertial frame. Throughout the maneuver the
desired heading rate remains constant with the value rd = 0. The resulting
responses versus the reference signals are illustrated in Images 15–18. The
test results show that the predefined flight maneuver can be well achieved
with small fluctuation of the actual responses from the reference signals.
Such fluctuations are within an acceptable range, which is mainly caused by
the limited accuracy of the output feedback measurement signals. A certain
degree of deviations between the control input signals are due to both the
model uncertainties and the gust disturbances during the flight test.
Summarizing, it can be stated that, following systematic design and
implementation of BIT-TDF, including unconventional configuration design,
hardware and software development, frequency-domain identification as well
as navigation and control algorithms, it is expected that flight control
development described in this chapter would have successful application in
support of Unmanned Aerial Vehicle UAV development. The main concern
is to propose approaches that can be effective, easy to implement and to run
onboard the UAVs. The proposed flight control law has been implemented
and tested with the BIT-TDF ducted-fan vehicle and current work aims to
propose and implement more advanced and practical techniques. Considering
the requirements on various practical implementations, extensive
contributions could be achieved by extending the BIT-TDF research in
physical interactions with the environment in terms of desired or even
unpredictable contacts.
Countermeasure Hybrid Power Unmanned
Underwater Vehicle.
The naval mine is one of the most cost-effective weapons in the naval arsenal
and have many synergetic effects in the maritime warfare. Mines are
relatively simple, cheap and can be laid from any type of sea and air platform.
Combat effectiveness of naval mines covers from defending important and
high-valued targets at sea, ports, and offshore structures to denying hostile
forces access to the coastal zone [1]. Mines can quickly stop, or seriously
impair surface, submarine forces and amphibious or seaborne attack. Their
flexibility and cost-effectiveness make mines attractive to the less powerful
belligerent in asymmetric warfare and maritime warfare.
Mines can be used as both offensive, defensive weapons and tools of
psychological warfare in rivers, lakes and oceans. As offensive weapons,
mine are placed in enemy waters and across important shipping routes to
destroy or damage both civilian and military vessels [2]. Defensive
minefields protect tactical areas of coast from enemy ships and submarines,
or keeping them away from sensitive and high-valued targets. Threats of
mines are increasing due to recent technology development, such as
autonomous systems and computer systems with artificial intelligent
capability. There are many solutions to solve MCM problems so far as
difficulties to detect identify and classification. Unmanned systems also
cleared the way to sweep and naturalize mine safely without involvement of
human beings.
Mine countermeasure (MCM) is a tactical measure to clear or neutralize mine
threat. Tactical MCM operations can be preceded with both passive and
active operations. Passive MCM relies on minimizing the influence of the
ship’s physical signature such as emitted acoustic and magnetic and electric
signals to be sensed by mines. Active MCM operations are minesweeping,
neutralization and mine hunting, which are trying to sweep or destroy mines.
Influence minesweeping uses acoustic, magnetic and pressure signals to
detonate targeted mines [1]. Mechanical sweeping uses a towed
minesweeping tools to cut the cables of moored mines. After mines are
floated to the surface, they are detonated by shooting or explosives.
Mine hunting is getting difficulties in most parts of the littoral regions near
enemy territory. Access to these tactically important areas by the sea requires
minesweeping or neutralization operations. Keeping the man out of
dangerous minefield requires various unmanned autonomous MCM systems
as a potential attractive option [3]. Many of developed high technologies that
are operated in manned mine warfare operations could be transformed into an
effort to develop unmanned and autonomous MCM vehicle systems.
Unmanned systems integrated with emerging technologies are the
minesweepers and hunters of the future MCM operations. A focused
technology effort is needed to incorporate unmanned systems into the mine
countermeasure ship and other related MCM fleet forces. It is time to press
ahead with establishing fleet requirements for unmanned MCM systems that
lead to programming decisions allowing mine hunting and minesweeping
missions to be performed without a man onboard, eliminating the risk to
The physical and operational capacity of small displacement UUVs will
greatly limit what UUVs can provide as multimission assets and effective
autonomy at a real combat situation. New platform designs that are true
viable organized intelligent assets should be incorporated with large diameter
UUVs [4]. Realization of the full potential of UUV system as a truly
autonomous undersea vehicle (AUV) in MCM warfare will have sufficient
energy system for super long combat endurance and intelligent mission
management capability and mine disposal weapons.
Since current technology is available to deactivate or eliminate mines, an
effort to make a larger and heavier UUV system should be discussed, in order
to produce an unmanned system to integrate complete MCM UUV systems.
With a larger diameter UUV system, however, there are still problems with
vehicle’s operation time and speed at sea, vehicle and mission management
systems with appropriate hardware configurations. Larger displacement
UUVs must be integrated into a new platform design so that they can be a
viable organic asset. Realization of the full potential of the UUV as a truly
autonomous undersea vehicle (AUV) in warfare will begin with a transition
to a large displacement vehicle.
We investigate strategy and threat of mine warfare and recommend optimal
concepts of operation of their mine countermeasure operation of future
maritime warfare. In this chapter, we provide CONOPs developments of
future large diameter MCM UUV in Section 2, specifications of the MCM
UUV system configurations in Section 3, system effectiveness discussions in
Section 4, and the conclusion in Section 5.
Concepts of operation establishment of mine countermeasure
The intelligence, surveillance and reconnaissance (ISR) aspects of mine
warfare are of particular importance, since that is where mine warfare really
starts, regardless of the specific purposes for using this collected information.
As with most complex military operations, mine warfare operations are
inherently joint operation between theater forces. The tactical commands
from theater headquarters actually operate the mine warfare forces in theater.
The intelligence agencies provide vital ISR information [5], and Marine
Corps units must work closely with the navy in any amphibious operations,
as well as interface with army mine warfare in addition to other operations
ashore. Navy and Coast guard units must work together closely in inshore
mine warfare operations to secure good communication.
Battlefield reconnaissance data are essential for both safe far- and near-shore
operations. Mine warfare is the strategic, operational and tactical use of sea
mines, and the countermeasures to defeat them [6]. Undersea physical
characteristics, ocean climate variations and environment are considered
before an operation is initiated. Ocean environmental characteristics are very
important to determine where mines should be placed and how many and
how to deliver the mine to the position. Oceanographic parameters have
greatest impact on mine warfare operations and need the most enhanced
predictive modeling capabilities for a wide range of oceanic processes. They
will greatly enhance the war fighter’s ability to turn vast amounts of
oceanographic information into knowledge, which is used to control
battlefield operations [7]. Major physical oceanographic data for the mine
warfare consist of current patterns, salinity, temperature, bottom status and
clarity of water of the area [8].
Bathymetry forms the boundary condition for all fluid motions and can
extend beyond the local region. Ocean currents are long-time-scale fluid
flows arising from a wide variety of processes, such as direct wind forcing
and tides. The complexities of forces driving current flow require to work
together with meteorological and oceanographic analysis. They also
determine how these forces are interacting with each other, understand the
time scale of variability driving current flow and understand how this may
affect the mission [5].
Mine laying and mine countermeasure operations are parts of the main
subsystem of mine warfare operations [6]. Better priority weight should be
given to the technical exploitation of threat mines, mine warfare indications
and warning (I&W) tasking. There are several points of consideration in mine
warfare at the combat zone or landing assault area. Thus, currently, both
near-term and long-term mine reconnaissance systems (NMRS and LMRS)
are developed to expand organic and dedicated MCM capabilities. The MCM
command center should disseminate them at all command levels and provide
rules of engagement (ROE) to counter hostile miners and relevant
environmental databases, such as the mine warfare environmental decision
aids library (MEDAL) and the contingency planning tool [2].
Naval ISR group is collecting and processing any potential data and
information in order to develop optimized mine detection procedure and
clearance capabilities, organic to carrier and surface battle groups (CV). With
those ISR information and operational procedures, naval forces can identify,
avoid or neutralize mines within tactically acceptable time limit and with
minimum operational risk [9]. On-scene MCM capabilities, through
introduction of organic capabilities into all carrier battle group (CVBGs) and
surface battle groups, would be completed with completion of MCM
communication and control network systems.
Major MIW capabilities include intelligence collection and surveillance,
notification of imminent mining, interdiction, postinterdiction intelligence
evaluation and dissemination and passive MCM threat awareness and
signature control. With wide dissemination and availability of the battle space
information, the MCM control center has to communicate frequently as the
real-time development changes so far.
Communication systems related to the mission operations are data
communication links where tactical maneuvering information on MCM
missions is exchanged. Each division on communication links is evaluated
through communication quality of data, security and interoperability. As
organized supporting systems, and command, control, communications,
computers, intelligence (C4I) are introduced into the naval forces. Effective
C4I systems must allow MCM functions to be performed from variety of
platforms with highly dynamic environment. Database systems for mine
identifications will include such features as high-resolution environmental
mapping data and explicit simulations. It can be used for doing detailed
operational planning, training and rehearsing [8].
In the future MCM operations, the decision-making software, and combat
information display systems will be driven by data from extensive multisource collections. The C4I architecture will be networked to ensure the
existence of communication paths between platform and detachment despite
uncertain point-to-point links. Shared awareness of combat scene
information, such as analysis efforts, off-board forecasts and historical
environmental database, is critical, robust, real time and cooperated. With all
these doctrinal evolvements, up to dated technologies, hardware (H/W) with
appropriate operating software (S/W) should be accompanied for smart and
safe MCM operations in the future [2]. Fundamental issues for evaluating
communication systems for MCM are bandwidth, range, covertness and
required infrastructure [3]. The combined C4I system architecture will be
central for the coordinated and multiplatform operations.
In the MCM operations, there is many data sensed and produced to detect,
identify, classify mines and start sweeping and neutralization operations.
Active countermeasures are ways to clear a path through a minefield or
remove it completely. This is one of the most important tasks of any MCM
fleets and task forces. Minesweeping is either a contact sweep, a wire
dragged through the water by one or two ships to cut the mooring wire of
floating mines, or a distance sweep that mimics a ship to detonate the mines.
Mine hunting is different concepts and operations from minesweeping,
although some mine hunters can do both operations. Mines are hunted using
sonar, side scan sonar or synthetic aperture sonar, then inspected, classified
and destroyed either by remote controlled or by divers unmanned vehicle
systems. Mine hunting started as mine was used, but it was only after the
Second World War that it became truly effective [11].
A more drastic MCM method is mine breaking which is simply to load a
cargo ship with cargo that makes her less vulnerable to sinking and drive her
through the minefield, letting the ship to be protected follow the same path.
An updated form of mine breaking is application of small unmanned systems
that simulate the acoustic and magnetic signatures of larger ships and are
built to neutralize mines. In future, more autonomous unmanned systems are
involved in every step of minesweeping and neutralization operations due to
safety of human beings and effectiveness of MCM operations. Applications
of RF and laser optic technology are considered as potential alternative
methods of efficient underwater communication systems [3].
All data processing in intelligent MCM operations is carried through a
systematic data fusion approach. AI machine learning and perception, feature
extraction via real-time image or intelligent navigation and mine-clearing
operation sequences are integrated with mission management processes.
Main control center will support and coordinate automatic classification of
mines and other ordnance, as well as intelligence obstacle avoidance
navigations using data from navigation sensors. The image and pattern
identification-processing techniques, which have been adapted from video
image and sensor signal, focus on classification of mines by the recovery of
explicit feature-based descriptions of man-made objects [12]. Silhouette
descriptions and classification are used to support the dynamic view
positioning and automatic object classification.
The algorithmic partitioning in a front-end digital signal processing (DSP)
dedicates image acquisition, dynamic range equalization, image segmentation
and region-of-interest identification [13]. The parallel processing engine
supporting applications of a statistical evaluation of linearity or regular
curvature have gradient extraction, edge thinning and threshold algorithms
[14]. All the data from traditional navy data base, mine warfare
environmental decision aid library (MEDAL) systems on MIW, MCM and
tactical oceanography also could be accessed in main processing unit in the
MCM UUV system and fed into the identification and classification
processors [15]. A typical MCM data-processing flow of MCM UUV
systems is shown in Image 1.
Image 1.
Mine warfare environmental data flow.
Reacquisition and relocalization of predesignated mine or mine fields need
huge amount of signal, communications and data packages from various
sensor systems. Data sets for reconstructing three-dimensional (3D) and twodimensional (2D) modeling are very big and very difficult to transfer through
current acoustic carrier in underwater environments [5]. Some other
information comes from distance oriented and directional angle of
illumination of light source, which gives some incentive in the reconstruction
of 3D or 2D model of mines.
Identification, reconfirmation of mines and mine-like objects (MLO)
classifications are critical factors for mine disposal operations. Efficient and
different bandwidth characteristics of communication careers are critically
needed at the main control center of MCM operations to gain access to highquality mine detection sensor data from a remote area, due to the lack of
computational capabilities of the existing sensor data-processing systems [16,
If the duration of MCM operations at sea is expanded to more than 50 days, it
is necessary to maintain the clandestine nature of the MCM operation at
enemy littoral zone; therefore, in these cases, mission management is critical
to autonomous MCM operations. With the introduction of system autonomy
of mission goals, which is a relatively new area of research, this system will
retain clandestine operations and power system requirements for functionality
[18]. Coordinated MCM mission management systems optimize available
sensors and systems, regardless of the host platform, to ensure that the most
effective is used when and where it is most needed.
Fundamentals to the MCM operational concept are to locate minefields,
identify no-mine areas accurately and clear mines efficiently as soon as
possible [19]. This area focuses primarily on unmanned autonomous vehicles
intelligence since these often have the greatest redundancy, and because they
have the most intricate machine-readable, autonomous mission plans. Models
of the vehicle including their planning/control systems, and operating
environment can be linked together to form an assessment tool [16]. This tool
helps to verify interface compatibility and basic functionalities, as well as to
facilitate exploration of control options and evaluation of potential benefits.
The mission control data, which are required to define current mission
objective, the vehicle’s dynamic characteristics and the environmental data
are collected from external sensors and provided by the user, as they are
specific to the effective MCM operations. The autonomous mission-planning
algorithm translates the mission requirements into a mission plan, a set of
constraints and execution sequences. An integrated mission planner and
power management algorithm would combine to this intelligent system with
motion and power control subsystem [10].
MCM mission management configuration [17] of MCM UUV consists of
degrees of perception, intelligent control and management to define senseplan-act or sense-react behavior doctrine. Functional limitations of vehicle
sensor systems imposed by the combat environment require alternative
course of vehicle control, which defined mission goals to be factored in the
control system appropriately. A common approach to mission
implementation process is to develop functions, which are grouped and
sequenced to perform overall tasks through artificial intelligent (AI) expert
system architecture [12].
It is based on a traditional perception-action loop, allows low-level sensor
signal processing and does feature extraction to assist mine classification,
MCM mission planner and vehicle control system. MCM UUV mission
management system focuses on mine classification and dynamic
repositioning, which optimizes the aspect relative to the designated mine
target and clearing mine. Obstacle avoidance navigations require relatively
sparse sensor data in the dynamic construction of world models for
environment [12]. In the main control block, the perception/classification
processor is combining with dynamical position sensors via a highly
maneuverable platform. MCM expert system has the capability to perceive
the object of interest from multiple perspectives, which then increases the
probability of classification for the mine targets. A key concept in data
fusions of expert system includes the employment of heuristic knowledge,
which incorporates constraint knowledge associated with target
characteristics, environment and attitude of vehicle.
This provides basis for interaction with the object of interest, and dynamic
perceptions that provide active sensor management and vehicle path planning
in the navigation and guidance [16]. A second unique aspect of the AI expert
system architecture is the implementation of sensing, evaluation and action
encapsulated as subordinate tasks under the integrated mission control
system. It optimizes machine-generated direction of task-organized approach
and initiates signal for the course of action [6]. The MCM AI expert system
architecture and its relationships between the executors, and the data/signal
processing are shown in Image 2.
Image 2.
Operations of MCM mission management expert system.
The system capability of precise navigation and operational data collection is
critical to ensure safe navigation of the vehicle and in the achievement of
system objectives. To resolve the vehicle position at the submeter level, a
compact low-power solid state inertial measurement unit (IMU) has been
incorporated [20]. This unit measures the change of 3D velocity, angular
velocity and temperature as well as performs corrections of thermally induced
drift. The IMU is augmented by a compact Doppler Sonar System using the
Kalman filter or other processing techniques. A precise navigational compass
and clinometers provide heading information and navigation frame correction
data for noises [21].
Simultaneous localization and mapping (SLAM) techniques [22] are utilized
as a navigational tool and are adapted for reconfirmation of designated mine
localizations with autonomous navigation for obstacle avoidance to a safe
margin. All the information are filtered and processed in a data processing
and distribution unit and distributed for navigation, SLAM processing and
mine neutralization procedures. With updated environmental 3D map and
obstacle information, the MCM UUV navigation system can be guided and
controlled within guided optimal paths to the targets with a degree of
accuracy [22].
System endurance in unmanned underwater vehicle (UUV) operations
consists of available total energy sources, vehicle system objectives,
maneuvering path plan and design parameter characteristics. In general, the
more the endurance is desired for UUV operations, the more the coordinated
efforts are required during the vehicle design stage regarding the structural
design, energy systems and power management. UUV endurance with respect
to UUV system activities is characterized by range of missions, operation
time and kinds of energy systems and is controlled by the capacity of onboard energy, hull structure of the vehicle, optimal propulsion and energy
management system [23]. Until now days, these properties were investigated
separately with system endurance as an individual component. In this study,
we integrate all these components and make overall suggestions to the system
endurance with respect to hull shape, power systems, propulsion efficiencies
and respective activities of missions.
Power system considerations dominate the design of UUVs, due to the fact
that usually the energy source is the most limiting factor for mission
operations of autonomous vehicles. The energy system of UUVs has been a
major issue due to its impact on the ultimate performance and extension of
UUV missions [24]. There are strong desires to minimize the size, cost and
energy consumption rate for all aspects of UUV operations. In the operation
of unmanned vehicles, missions with high speed and longer endurance, such
as mine countermeasure (MCM), antisubmarine warfare (ASW), and
intelligence, surveillance, and reconnaissance (ISR), need more powerful and
sophisticated energy systems, such as fuel cells and hybrid systems in
addition to battery power [23].
Since the power required to propel an underwater vehicle is roughly
proportional to its surface area, and cubic of forward velocity, the stored
energy capacity is proportional to its volume, the mission duration or range
achievable at a given velocity varies directly with vehicles. The information
of the UUV energy source gained via analysis of the batteries, fuel cells,
internal combustion engines or other available energy sources is found in
Jane’s Underwater Technology Information. Important UUV power system
performance metrics consist of energy and power, specific energy and power,
usable state of charge, voltage response under load, calendar life and charge
acceptance specifically, power and energy density and physical volume are
critical to UUV system design. Image 3 [24] shows the specific power and
energy properties of major UUV energy sources.
Image 3.
Energy source characteristics, Ragone Chart [24].
Based on current technology development of battery systems, highperformance battery is the most favorable choice for the autonomous vehicles
based on performance, availability and cost-effectiveness. With battery
applications, to facilitate the addition of battery packs to the vehicle, the hull
shape should be redesigned to be longer or wider. Such hull reshaping
reduces the overall vehicle drag coefficient and increases energy to UUV’s
propulsion power. As UUV energy systems are characterized by specific
energy or power density per unit volume or weight, adding additional energy
to the system increases the vehicle length [23]. When the battery packs are
added, the midsection (D) must be longer (L) in order to house additional
battery packs. This changes the aspect ratio, and increases the vehicle drag
coefficient. Increased vehicle drag requires more propulsion power, which is
a portion of added energy. The sensitivity to added battery packs is
compensated for by changing the axial drag coefficients as and other
conditions, including hotel loads, are unchanged.
Based on the Ragone Chart characteristics [23], the preferred long-term
approach to using hydrogen is the fuel cell. Fuel cells use a process that is
essentially the reverse of electrolysis to combine hydrogen and oxygen in the
presence of a catalyst to generate electricity. Fuel cells are much more
efficient than ICEs often topping 70% [24, 25]. The main problem with fuel
cells is the cost, and the other primary issue with fuel cells is durability. Both
of these renewable fuels have lower heating values (Btu/gallon) than their
counterpart gasoline and diesel fuel, resulting in higher fuel consumption
when measured on a volume basis. Diesel engine offer better fuel savings
over gasoline engines, battery and fuel cells on specific energy containment
and gives good gas mileage on fuel consumption (gallon/mile) and loadspecific fuel consumption (gallon per ton-moles), defending on the engines
and operating conditions, diesel engine can provide up to 25% lower fuel
consumption than gasoline engines.
Considering more than 50 days of field operation of MCM UUV and current
technology development of battery systems, it could be a realistic
combination for larger diameter long endurance MCM UUV system with
diesel internal combustion engine (ICE) and effective battery systems.
Internal combustion system gives relatively high specific power and is
proven as a convenient technology, whereas battery systems give operational
conveniences. We tried to integrate a small diesel engine connected to battery
system, as well as to modify the hull of the UUV for a snorkeling operation
[25]. This is for both recharging and the propulsion of the MCM UUV. This
diesel battery hybrid power system is designed to be controlled by vehicle
management computers and the main AI expert mission management system.
In this power option, we consider appropriate snorkeling systems and
structural accommodations.
The main concept of MCM operations using UUV systems is to reduce
incoming threats for the naval fleet with the employment of a robust, highly
autonomous vehicle unit which is capable of operation engagement and
execution of neutralization procedures. Neutralization procedures include
either moving the mine out of the original place, precise delivery of the
charged device to a desired location or the acquirement of projectiles to blast
previously localized, in volume, drift, floating and bottom mines in deep and
shallow water zones [15, 16].
The main body of the new MCM UUV has fully trained AI expert systems
with MCM data bases to implement mission movement, in addition to vehicle
and contingency operational management. The MCM UUV system has
expandable small UUV sensor/neutralizers with a formed charge, and it is
able to acquire projectile reaching and explode designated mines. Before it
begins actual disposal activities, the control module of UUV unit requests a
confirmation of mine identification to the mother ship via acoustic and RF
communication links [8].
In the envisioned concept of operations, a UUV unit uses its high capacity
communication links to get prior mine target information from the MCM
operation center at the mother ship which is located more than 50 miles
standoff distance [6] at high sea as shown in Image 4. The vehicle then
initiates an adaptive engagement plan autonomously along its trajectory with
the available information from the navigation sensors. While compensating
for winds, waves and currents along the disposal range, it will try to navigate
accurately to the designated mine target. All the way to the designated mine
position, the launched disposal device maintains the targets in the field of the
imaging sonar. After neutralizing the designated mine, the UUV unit
performs a neutralization damage assessment, and reports that the mission
has been accomplished [18].
Image 4.
Concept of MCM UUV system operations.
System design of a large diameter MCM UUV unit
Current status of unmanned system technology and participation of
unmanned vehicle fleets to naval operations can transform the concepts of
future navy MCM tactics, weapons, and man machine interoperability in the
field. In the near future, MCM vessels with C4I capability and MIW data
base that act a main control center for a variety of unmanned vehicles in the
enemy territory and doing a MCM operations without the presence of men in
the mine field [9].
The conventional smaller diameter unmanned vehicle system has major
operational difficulties in sensor system and vehicle endurance that give
limited search, launch and recovery operations. If we can design larger
unmanned vehicle, we will have more payload and energy storage for longer
endurance. They can be a force multiplier for increasing the operational
capability of submarines and surface ships [7].
The options for hull shape and various subsystem configuration of vehicle
define the set of vehicle design options which are evaluated by the design
requirements. Some important design options are the fineness ratio and block
coefficient, which dictate the basic packaging spaces and sizing of all other
vehicle subsystems [12].
The autonomy of the system and the spectrum of operations are fundamental
characteristics on MCM operations. The main platform has mission
management blocks that automatically perform various MCM operational
procedures such as contact of mines, obstacles from multiple sensor data
sources and management of neutralization process, environmental data and
bottom mapping [17]. For the mission accomplishment, organic MCM
platforms, and operation with various sensors must undergo guidance of
system management command, which is from rigorous analysis,
experimentation, modeling and simulation on board [18]. The missions of
MCM fleet operation is divided into five segments; launch, transit, execution
of mission, return transit and recovery, each defined by key mission, and
environmental parameters such as range, speed, ocean current and salinity
and various MCM mission-related execution orders [12].
Advanced technologies applied for MCM main mission management system
include situational reactive mission control suits, smart sensor system of
systems, dynamic intelligent mine classification processors with MCM data
bases. Vehicle management system controls precise intelligent undersea
navigation, intelligent sensor systems and obstacle avoidance measures.
Application of up to date AI technologies to the vehicle’s functionality and
mission effectiveness of MCM UUV system are implemented with expert
system blocks, AI pattern classification and efficient power management
systems in our works [12]. The MCM UUV unit provides autonomy of
vehicle systems through incorporation with platform-independent
autonomous controller that supports high degree of autonomy, highly precise
low-power navigation and machine vision in support of automatic
classification [26]. Mission management function block diagram of MCM
UUV is given in Image 5.
Image 5.
Function diagram of AI mission management system.
A capability of directing all aspects of the multifaceted MIW campaign plan
is needed to bring the various MCM capabilities together, providing unity of
effort in defeating the mine threat.
There are several state-of-the-art weapon systems to dispose or detonate
mines effectively, and economically such as the use of a laser gun, acquire
gun and small charge delivery devices. Furthermore, the confidence for job
completion requires the capability of accurate battle damage assessment
(BDA). Underwater motion projectile is multipurpose in formed cavity water,
due to its density, has a profound impact upon the terminal velocity of the
implant at the target. A suitable weapon technology applied to MCM UUV is
a lightweight composite 30 mm launcher that would implant a round filled
with either high explosives (HE) for an explosive hard-kill or reactive
material for a soft kill burn [3].
Similar technology was developed to counter roadside improvised explosive
devices using 50 caliber weapons. A 30 mm implant would be usefully larger
and could integrate a compliant fusing device, utilizing a detonator enables
digital fusing, and affords either timed or controlled detonation, including
detonation by an acoustically transmitted command. A 30 mm launcher
provides sufficient terminal velocity to penetrate 5/10 inch cold rolled steel
from a range of 30 feet [13, 26].
The currently achieved standoff range of 30 feet which the UUV should shot
detonate the mine is not sufficient to ensure safety of MCM UUVs. Shooting
from longer ranges requires significant basic research, and development, both
in material strengths, and in achieving precise sonar fire-control accuracies
before truly safe standoff ranges are achievable.
Considering the operational combat field endurance limit of more than 50
days of MCM UUV and the current status of the battery systems technology,
the combination of diesel internal combustion engine (ICE) and effective
battery systems could become reality. The high specific power generation of
the internal combustion system gives effective operation of the vehicle and
can provide a stable recharge power source of the battery system. Integration
of a small diesel engine connected to the battery systems, and modification of
the UUV hull structure for the snorkeling operation could give better
alternatives for both recharging and propulsion of the MCM UUV in the
meantime [25].
A diesel submarine is a very good example of hybrid power supplying and
sharing systems. The two or more sets of diesel engines in most diesel
submarines can run propellers or can run generators that recharge a huge
battery bank, or work in combination mode; one engine driving a propeller
and others driving a generator. The submarines should run the diesel engines,
they must surface or cruise just below the surface of water using snorkeling,
and once the batteries are fully charged, the submarine can dive to
underwater operations [8]. These diesel battery hybrid power systems are
controlled by vehicle management computers and a main AI expert mission
management system. Combined power generation, and the control system
structure are given in Image 6.
Image 6.
Power management system of MCM UUV.
System measure of effectiveness
Recently, UUV systems have emerged as a viable technology for conducting
underwater search and neutralization operations in support for the naval
MCM missions. In the final phase of the system design process, either
conceptual or actual, justification studies for the proposed design should be
carried out with functional and cost-effectiveness evaluations. In this section,
analytical frameworks for evaluating the proposed MCM disposal UUV unit
are developed based on the part of current US naval underwater ship design
procedure [27, 28].
The evaluation models provide means to relate the effectiveness matrices to
the system-level performance parameters. These individual capabilities can
be stated in terms of vehicle subcomponents, such as sensors, data storage,
processing unit, communication systems, navigation instrumentations, and
disposal payload items. The evaluation framework is based primarily on the
approach that combines several well-known systems engineering practices
and decision making methods in a framework suitable for naval ship design
The general approach of measure of effectiveness (MOE) investigation is to
make high-level model as generic as possible and to increase detail and
resolution with each progression into the low-level models [27]. This is
accomplished by developing separate model subcomponents and linking
them together to form the overall system model.
For the entire MCM evaluation framework, the specific operational
requirements can be defined as follows; the MCM operations with mine
reconnaissance, classification, localization and mine neutralization; the
autonomous operations with minimal reliance on support platforms; safe
recovery of the vehicle system unit. The effectiveness model has been
established through considering the operational requirements for MCM
autonomous vehicle systems and comparing those requirements to the
existing MOE to determine where the changes are needed as in Image 7 [27].
Image 7.
Structure of system MOE evaluations.
Thus, for the MCM UUV disposal system unit, the mission time, mission
accomplishment, autonomy, communication and covertness form the highest
level of the proposed MOE hierarchy [29]. As shown in Image 7, the MOE
evaluation for the proposed design has the following components: system
endurance, neutralization success, system autonomy, communication links
and clandestine operations.
The concepts for effective area coverage rates are better measured by time
rate for mine search and actual neutralization activity, while operational time
range is better for information, surveillance and reconnaissance (ISR)
operations for long-term mine detection activities in wide areas. The effective
area coverage rate can be defined as the ratio of the total search area to the
total amount of time required to complete the MCM missions from launching
to recovering of the UUV system. Duration of designed mission time is
fundamentally based on UUV system hardware capability related to energy
source, speed, operational load and hotel power consumptions [30].
Mine neutralization or sweeping success is the main object of MCM
operations, and this MOE represents the estimated probability of
search/classification of mines, as well as mission accomplishment for mine
clearing. Mine reconnaissance and clearance are the two basic MCM
missions, and the major objectives of mine reconnaissance are accurate
search, localization and containment of designated mine in the contacts.
Search level refers to cumulative probability of mine detection and
relocalization, classification and identification within specified MCM
operational areas. For the mine hunting, and neutralization phase, the MOE
will be scored from minesweeping levels and the search level, confirming
relocalization accuracy. The measures of mine neutralization success are
defined by performances of the individual disposal weapon system and by
successful identification of mines, which is expressed by the probability
measures based on the history of mission maneuvering trajectory,
performances of identification sensor systems and conditions of complex
underwater environments [28].
The autonomy measure represents mission management, and vehicle
operations related to the independence of the system from human oversight
for the mission tasks. The area of mission managements consists of
execution/service commands, communication links among MCM operations
and logistics support relating to launch and recovery of the small UUV unit.
The mission management requirement is specified in terms of discrete host
responsibility alternatives, such as performance of system platforms, remote
command and control (C2) and integration of mission activity by
subdivisions via operation executions [28].
Measure of dynamic vehicle operations is also based on the degree of
intelligence of vehicle maneuvering, obstacle avoidances and optimal path
planning. The degree of autonomy of vehicle operations is determined by the
level of guidance/navigation/control (GNC) of vehicles and obstacle
avoidance/optimal path planning required during the MCM mission
operations. The nature of this kind of MOE characteristics is well defined in
the department of defense(DoD) level of autonomy for autonomous vehicle
criteria by the number, capability of processing unit and data base capacity
for decision making within specific missions [29, 30].
In this study, we investigate the current MCM systems and evaluate the
technologies to be improved for future mine neutralization operations. The
configuration of hybrid MCM UUV systems has an effective future system
design Image that relays a battery power system in conjunction with a diesel
engine and an integrated AI expert applied autonomous system.
We try to make a larger and heavier UUV system with typical MCM
missions and mission management algorithms with appropriate hardware
configurations. Proposed larger displacement UUVs will be integrated into
new platform designs in order for these systems to become viable organic
assets. Realization of the full potential of the UUV as a truly autonomous
undersea vehicle (AUV) in warfare with UUV system structure, functional
specification of expert system controlled MCM UUV subsystem [30]. Hybrid
power system is introduced and effectiveness discussions were presented and
give the progressive transition guide line for a future larger displacement
Kinematic Performance Measures and Optimization of Parallel
Kinematics Manipulators: A Brief Review
Serial kinematics mechanisms (SKMs) have been widely used for different
applications. Although SKMs have many advantages, such serial mechanisms
have many drawbacks such as low stiffness, accumulating pose error, low
agility, low payload-to-weight ratio, and complicated inverse kinematics.
Hence, to overcome these drawbacks, parallel kinematics mechanisms
(PKMs) are used particularly for more demanding tasks such as high-speed
and high-precision applications. In spite of their many advantages, the PKMs
in general also have some drawbacks such as smaller workspace, complicated
forward kinematics, and singularity issue. To alleviate these drawbacks,
optimization with various techniques is commonly conducted to improve
their drawbacks while maintaining their advantages. In terms of the number
of objectives being optimized, the optimization can be either single-objective
or multi-objective. In most cases, there are more than one objectives required
to be optimized. Furthermore, some objectives quite frequently are
conflicting each other. For example, most PKMs usually require not only
larger workspace but also stiffer structure with lower mass. In fact, enlarging
the workspace usually requires longer links which results in the reduction of
the stiffness and the increase of mass. In the multi-objective optimization,
different objectives might be picked based on the priority of the objectives
which depends on the application.
Therefore, in this chapter, a comprehensive review of a number of
performance indices are defined and presented which are relevant for
different applications. This is followed by a review of the optimization
techniques used to design different systems to satisfy certain objective or
multiple objectives. This is extremely important given the nonlinearity of the
parallel link manipulator systems and the conflicting nature of the different
performance indices that could be counter intuitive to optimize by trial and
error and hence, mathematical schemes would be the solution.
Performance measures
There are quite many measures or indices to indicate the performance of a
robot. Patel and Sobh [1] classified them into either local or global, kinematic
or dynamic, and intrinsic or extrinsic. The local measures are dependent on
the robot configuration, whereas the global measures evaluate the robot
performance across the whole workspace. The global performance index
(GPI) can be obtained by integrating the local performance index P over the
workspace W as given by Eq. (1). If the local performance index cannot be
expressed analytically, discrete integration as given by Eq. (2) can be used. In
the latter case, the accuracy of the integration depends on the number of
points n being used for evaluation. If the inclusion of large number of points
is very computationally expensive, less representative sampling points can be
The kinematic measures indicate the kinematic behavior of the robot,
whereas the dynamic measures are related to dynamic properties of the robot.
The intrinsic measures indicate the inherent characteristics of the robot
regardless of its task, whereas the extrinsic measures are related to the robot
task. The widely used performance measures include workspace, closeness or
avoidance from singularity, dexterity, manipulability, stiffness, accuracy,
repeatability, and reliability. Some of them are discussed below. The
performance measures should be considered during design phase of the robot.
Optimal design usually considers one or several performance measures as the
objective function(s) to be optimized.
The workspace is the set of points (locations) which can be reached by the
end effector. It is driven by the mobility of the robot which includes the
number and types of its degrees of freedom (DOF), and constrained by the
length of links, range of the joints, and interference between the components.
The workspace evaluation usually includes its size (area/volume) and shape.
The shape can be expressed by, for example, aspect ratio of the regular
workspace. In general, larger and better-shaped workspace is required.
Another way to characterize the workspace is by using workspace volume
index [2] or footprint ratio [3] which is defined as the ratio between the
workspace volume and the volume of the machine.
The first thing to determine in order to achieve better workspace before
optimizing the geometrical parameters is selecting better topology. For
example, many mechanism designs include sliders (gliders) in order to get
larger workspace, such as in Hexaglide, Linapod, Pentaglide, sliding H4, and
The robot workspace is commonly classified into several types as follows [2]:
Constant orientation workspace (translation workspace) which
defines reachable points with constant orientation of the moving
Orientation workspace which defines reachable orientations
while the center tool point is fixed.
Reachable workspace (maximal workspace) which defines
reachable points with at least one orientation of the moving
Inclusive workspace which is reachable workspace in a given
orientation range.
Dexterous workspace which defines reachable points with any
orientation of the moving platform.
Total orientation workspace which is dexterous workspace in a
given orientation range.
Useful workspace (sometimes also called used workspace)
which defines part of the workspace to be used for a specified
application. It is usually regular workspace such as rectangle, circle,
cuboid, sphere, or cylinder.
The useful workspace is usually of the highest interest as it indicates part of
the workspace which can be really utilized for application. Baek et al. [4]
presented a method to find maximally inscribed rectangle in the workspace of
serial kinematics manipulates (SKM) and parallel kinematics manipulators
A complete representation of the workspace requires six-dimensional space.
However, graphical representation is only possible up to three-dimensional
space. For this reason, it is a common practice to represent the position
workspace separately from the orientation workspace. Workspace of a planar
mechanism can be plotted in a two-dimensional plot, whereas that of a
spherical or spatial mechanism can be plotted in a three-dimensional plot.
The workspace plot can be presented in either Cartesian or polar coordinate
system in the case of 2D plot and in either Cartesian, cylindrical, or spherical
coordinate system in the case of 3D plot. Plotting the graphical representation
of the workspace is easier in SKMs but is not always easy in PKMs. In the
latter case, the graphical illustration of the workspace can only be applied for
PKMs with no more than 3-DOF. For PKMs with more than 3-DOF, n – 3DOF should be fixed in order to be able to graphically illustrate the
workspace. Depending on which DOF to be fixed, the workspace will be
In general, there are three main ways to determine and plot the workspace:
geometrical approach, discretization numerical approach, and nondiscretization numerical approach. Early works on the workspace
determination of PKMs are conducted by geometrical approach. Bajpai and
Roth investigated the workspace of PKMs and the influence of legs’ length to
the workspace. Three years later, Gosselin [6] presented his work on the
constant-orientation workspace determination of 6-DOF PKM followed by
Merlet who presented the orientation workspace determination, and Kim et
al. who proposed an algorithm to determine the reachable and dexterous
workspace. As planar PKMs require different treatments, Gosselin and Jean
followed by Merlet et al. presented the workspace determination of planar
PKMs. All of the aforementioned works use geometrical approach.
In the geometrical approach, the true boundaries of a PKM workspace are
obtained from the intersection of the boundaries of every open-loop chains
which compose the PKM. This approach is fast and also accurate. To make it
easier and much faster, CAD software might also be utilized such as the work
proposed by Arrouk et al. One of the main drawbacks of this approach is its
lack of general applicability since different robot topologies might need
different techniques to apply this approach. In other words, this approach
usually should be tailored to the considered robot. Another drawback of this
approach is the difficulty to include all the constraints.
In the discretization numerical approach, a discretized bounding space which
covers all possible points in the workspace is created and subsequently tested
by utilizing the inverse kinematics along with the constraints whether it
belongs to the workspace or not. This approach is sometimes called binary
representation since it assigns binary numbers during the evaluation: “1” is
assigned if it is reachable and therefore plotted and “0” is assigned if it is
unreachable and therefore not plotted. The main advantage of this approach is
its applicability to all types of PKMs as well as its intuitiveness. Moreover,
this approach can include all the constraints. However, the accuracy of this
approach depends on the size of the discretization steps. Also, small voids
inside the workspace cannot be detected unless the discretization steps are
small enough to capture the voids. A method similar to the discretization
approach is Monte Carlo method in which a large number of discrete active
joint points within the joint range are input to the forward kinematics and
accordingly the end effector position points are plotted. Further treatment to
the Monte Carlo results in order to determine the workspace boundaries or
compute the workspace volume can be conducted by putting the workspace
points in discretized bounding space as being used in the discretization
Some recent works using the discretization numerical approach includes
Bonev who proposed a new approach to determine the three-dimensional
orientation workspace of 6-DOF PKMs by using discretization approach.
Castelli et al. presented an algorithm based on the discretization approach to
determine the workspace, the workspace boundaries, the workspace volume,
and the workspace shape index of SKMs and PKMs. Dash et al. presented a
discretization method to determine the reachable workspace and detect
available voids of PKM.
Beyond the aforementioned two approaches, several works proposed nondiscretization numerical methods to determine the workspace of PKMs.
Some of the methods are as follows:
Jacobian rank deficiency method but only practical for the
determination of constant orientation workspace.
Numerical continuation method can avoid singularity points but
only practical for the determination of constant orientation
Constrained optimization method which is modified from the
numerical continuation method.
Boundary search method which is based on constrained non-
linear programming.
Principle that the velocity vector of the moving platform cannot
have a component along the normal of the boundary, but this
method does not work for mechanisms with prismatic joints as well
as it is difficult to include the mechanical limits and interference
between links.
Interval analysis method which can deal with almost any
constraints and any number of DOF.
Recently, Bohigas et al. presented branch-and-prune technique which can
determine all the workspace boundary points of general lower-DOF (3-DOF
or lower) SKMs and PKMs. This technique overcomes the limitation of
numerical continuation method. Furthermore, Gao and Zhang proposed
simplified boundary searching (SBS) method which integrates geometrical
approach, discretization method, and inverse kinematics model of a parallel
mechanism. Saputra et al. proposed swarm optimization approach to
determine the workspace of PKM.
The Jacobian matrix maps the relation between the velocities at the task space
(moving platform) and the velocities of the active joints. Furthermore, it also
maps the relation between the active joint load and the task wrench. It is
discussed here because it is related to many kinematic performance measures.
Given that the velocity kinematics of the robot is expressed by:
where ẋ ẋ is the end effector twist and q̇ q̇ is the actuator twist, then A is
called forward Jacobian matrix, B is inverse Jacobian matrix, and the total
Jacobian matrix J is given by:
As long as the Jacobian matrix is unit-consistent (homogeneous), it can be
directly used in the formulation of Jacobian-based performance measures
such as Jacobian condition number and manipulability. The problem appears
when the Jacobian matrix is unit-inconsistent (non-homogeneous) and
accordingly does not have appropriate physical meanings. To address this
problem, there are several ways found in the literature to normalize
inconsistent (non-homogeneous) Jacobian matrix including the following:
Using natural length or characteristic length
Using scaling matrix
Using weighting factor
By using power transition concept
Point-based method
General and systematic method
Homogeneous extended Jacobian matrix
The simplest classification of singularity in PKMs is given by Gosselin and
Angeles. By considering only the behavior of the active joints and the endeffector, they classified the singularity in PKMs into two types which are
mathematically determined by the singularity of the two Jacobian matrices in
the kinematics of the robot given in Eq. (3). The three types of singularity are
the following:
Type 1 singularity (also called: direct kinematic singularity,
forward kinematic singularity, serial singularity, or sub-mobility)
occurs when the forward Jacobian matrix A is singular. When this
kind of singularity occurs, it is not possible to generate some
velocities of the end-effector. In other words, very small changes in
the joint space do not affect the end-effector pose. In these
configurations, the mechanism loses one or more degrees of
Type 2 singularity (also called: inverse kinematic singularity,
parallel singularity, or over-mobility) occurs when the inverse
Jacobian matrix B is singular. It corresponds to the appearance of
uncontrollable mobility of the end-effector because it is possible to
move it while the joints are locked. At the corresponding
configurations, the mechanism gains one or more uncontrollable
DOF. In other words, the end-effector can move without the joints
moving. Equivalently, the stiffness of the PKM is locally lost.
Type 3 singularity (also called: combined singularity) occurs
when both the forward Jacobian matrix A and the inverse Jacobian
matrix B are singular. When this kind of singularity occurs, the endeffector can move when the joints are locked, and at the same time
the end-effector pose does not change due to very small changes in
the joints.
Furthermore, singular configurations can be obtained by observing the
Jacobian matrices or by geometrical approach.
A more general discussion on the singularity was delivered by Zlatanov et al.
who included the passive joints in the singularity evaluation. They classified
the singularity into redundant input (RI) singularity which corresponds to
serial singularity, redundant output (RO) singularity which includes parallel
singularity as well as so-called constraint singularity, and so-called actuator
singularity which represents non-zero passive joint velocities while the
actuators are locked and the end-effector has zero velocities. Moreover,
higher order singularity has also been discussed in some works, but it does
not give much practical benefit.
From its mathematical expression, the value of Jacobian condition number
(or simply condition number) ranges from 1 to infinity, where infinity
indicates singularity and 1 indicates isotropy of the Jacobian matrix.
Alternatively, it can also be expressed by its inverse value, called inverse
Jacobian condition number, the value of which ranges from 0 to unity where
0 indicates singularity and unity indicates isotropy of the Jacobian matrix.
When the Jacobian matrix is close to singularity, it is called ill-conditioned.
On the other hand, the Jacobian matrix is called well-conditioned if it is far
from singularity. Furthermore, when the Jacobian matrix is isotropic, it
means that the velocity and force amplification is identical in all directions.
The commonly used norms to define the Jacobian condition number are as
2-norm, which is given by the ratio of the maximum and
minimum singular values of the Jacobian matrix.
Frobenius norm, which is very advantageous because it is an
analytical function of the robot parameters and hence will not give
serious concern if its gradient is evaluated, as well as it avoids the
computation of the singular values.
Weighted Frobenius norm, which can be rendered to specific
context by adjusting its weights in addition to all of the mentioned
advantages of the Frobenius norm.
The Jacobian condition number is a measure of kinematic dexterity (or
simply called dexterity). It indicates closeness to singularity, kinematic
uniformity (isotropy), dexterity, and accuracy. The kinematic dexterity is
defined as the capability of robot to move the end-effector in all directions
with ease. In fact, the kinematic isotropy of the robot represents its dexterity
as more isotropy indicates that the robot can move with the same ease to all
directions. However, this is still not a complete information about the
dexterity as it only informs how equal the ease in different directions, but not
how easy. It is possible that either the motion to all directions requires small
effort or the motion to all directions require large effort. Manipulability
which will be reviewed soon will give more complete information about the
kinematic dexterity.
Another interpretation of the Jacobian condition number is how large the
error in the task space will occur due to small error in the joint space. The
more ill-conditioned the Jacobian matrix, the larger the error in the task space
will occur due to small error in the joint space. Based on this fact, the
Jacobian condition number indicates the accuracy of the manipulator.
The Jacobian condition number is a local property. It depends on the robot
configuration (posture). To evaluate globally, global condition number (or
global condition index, GCI) is used. The GCI is obtained by integrating the
local condition index (LCI) over the workspace. Since the Jacobian condition
number is the common indicator of dexterity, GCI is also commonly called
global dexterity index (GDI). A map showing the values of LCI over the
workspace is commonly referred to dexterity map.
Since the manipulability is based on the Jacobian matrix, it faces unit
inconsistency issue when translation and rotation are mixed. In this case, the
Jacobian matrix should be homogenized.
Manipulability measure was first introduced by Yoshikawa as a local
measure (local manipulability index, LMI) which means that it is dependent
on the robot configuration (posture) since it is based on Jacobian matrix. It
can be evaluated globally by using global manipulability measure (GMI)
which is the local manipulability measure integrated over the workspace.
Another measure is uniformity of manipulability which represents how
uniform the manipulability across the workspace. Similar to the Jacobian
matrix, the manipulability faces unit inconsistency issue when translation and
rotation are mixed. In the same token with the Jacobian condition number,
the Jacobian matrix should be homogenized in such a case.
The manipulability is a measure of the input-output efficiency (the ratio of
output performance to input effort). In other words, it represents the quality
of velocity and force transmission (amplification). The manipulability
provides the information about the velocity and force amplification more than
the Jacobian matrix condition number. The latter only tells how isotropic the
velocity and force amplification but not the magnitude, whereas the earlier
informs the magnitude in addition to the isotropy of the velocity and force
Two kinds of manipulability are well known: twist (velocity) manipulability
and wrench (force) manipulability. The earlier is commonly represented by
velocity manipulability ellipse/ellipsoid whereas the latter by force
manipulability ellipse/ellipsoid. In the velocity manipulability ellipsoid, the
velocity minimum, velocity maximum, and velocity isotropy are represented
by the ellipsoid axes length, whereas the manipulability is represented by the
ellipsoid volume. The major axis of the manipulability ellipsoid indicates the
direction along which the mechanism can move with the least effort, while
the minor axis indicates the direction along which the mechanism is stiffest,
i.e., the mechanism’s actuators can resist forces with minimum effort along
this direction. The force manipulability uses duality relation between velocity
and force (between differential kinematics and statics). Beside manipulability
ellipse/ellipsoid, the manipulability can also be represented by manipulability
Tanev and Stoyanov have introduced the use of normalized manipulability
index which is bounded between zero and unity. Doty et al. proposed
weighted twist manipulability and weighted wrench manipulability.
Furthermore, a new manipulability measure for parallel robot was introduced
by Hong and Kim.
Beside the workspace, stiffness or rigidity of a robot structure plays a very
important role as it affects the accuracy and repeatability of the robot.
Stiffness is defined as the ability of the robot structure to resist deformation
due to wrench. A stiffness matrix relates deformation vector to wrench
vector. Another term equivalent to the stiffness is compliance (flexibility). If
a structure has high stiffness, it means that the structure has low compliance.
A compliance matrix is simply the inverse of the stiffness matrix, and vice
versa. The stiffness includes static stiffness and dynamic stiffness. For
machine tool, high stiffness enables machining with high speed and feed
while providing good precision, accuracy, and surface finish.
Stiffness of a mechanism depends on the robot topology, geometry, and
material of the mechanism. The overall stiffness is comprised of the stiffness
of the fixed base, the moving platform, the joints, and the links. The stiffness
of the joints includes that of the active joints (actuators) and the passive
joints. Many works discussed the influence of the passive joints on the robot
stiffness. The stiffness of the links is usually defined in axial direction (axial
stiffness), transversal direction (bending stiffness), or both of them. To
simplify stiffness model, rigid body assumption is frequently applied to one
or several components of the robot. For example, joints can be considered
elastic while the links are assumed to be rigid, or vice versa. A more realistic
model usually consider both of the joints and the links as elastic. In hybrid
machine tools, many works have proposed the use of parallel mechanism for
the spindle platform and serial mechanism for the worktable, as the most
flexible part of the machine is usually the spindle platform. Furthermore,
some works have suggested the use of passive legs to increase the stiffness
such as in Tricept and Georg V.
Stiffness is a local property. It depends on the robot configuration (posture).
To evaluate globally, global stiffness measures are used. Furthermore,
stiffness varies with the direction in which it is evaluated as well as the
direction of the wrench. Therefore, stiffness can be identified in different
directions, either translational directions (translational stiffness) or rotational
directions (rotational stiffness).
In the literature, compliance which is the inverse of stiffness is sometimes
used instead of stiffness. Several different expressions of stiffness have been
used in the literature, including engineering stiffness, generalized stiffness
matrix, and Cartesian stiffness matrix. The engineering stiffness is a one-
dimensional stiffness expression obtained by evaluating the displacement in
the same direction to the applied force. The generalized stiffness matrix,
according to Quennouelle and Gosselin, includes three contributions:
stiffness of the unconstrained joints, stiffness due to dependent coordinated
and internal wrench, and stiffness due to external wrench. In other words, the
generalized stiffness matrix is sum of the three stiffness components.
The Cartesian stiffness matrix is the most widely used expression of stiffness.
Ruggiu shows that Cartesian stiffness matrix of a mechanism is the Hessian
of its potential energy expression. Cartesian stiffness matrix is symmetric and
positive definite or positive semi-definite. However, some researchers
concluded that the Cartesian stiffness matrix of the elastic structure coupling
two rigid bodies is asymmetric in general and becomes symmetric if the
connection is not subjected to any preloading. Different expressions of
Cartesian stiffness matrix are mentioned by Klimchik and Quennouelle and
Gosselin. The latter authors proposed a Cartesian stiffness matrix which can
take into account non-zero external loads, non-constant Jacobian matrices,
stiff passive joints, and additional compliances. Furthermore, the Cartesian
matrix can be directly related to the generalized stiffness matrix by utilizing
the Jacobian matrix.
In robots with translational and rotational DOF, the Cartesian stiffness matrix
will be unit inconsistent. Consequently, evaluation of further stiffness indices
such as stiffness condition number becomes nonsense. To deal with this
problem, several approaches have been proposed including the following:
Homogenizing the Jacobian matrix (such as using characteristic
length) and subsequently using the homogenized Jacobian matrix to
calculate the stiffness matrix.
Eigenscrew decomposition of the stiffness or compliance
Principal axis decomposition through congruence
transformation was proposed by making use of the eigenvectors of
the translational entry in the stiffness matrix.
Decomposition of the dynamic inertia matrix by transforming
variables into dimensionless parameters, which can be applied to the
stiffness matrix.
Decoupling of the stiffness matrix into translational parts and
rotational parts.
Furthermore, to model the robot stiffness beyond using continuous model
which works only for simple system, the following three different models are
widely used in the literature:
Jacobian matrix-based model; also called lumped parameter
model or virtual joint method (VJM) model. A one-dimensional
VJM was introduced by Gosselin, followed by Anatol et al. who
introduced multi-dimensional VJM. This model is widely used and
preferred in robotics since it is analytical, and therefore the same
expression works for all configurations of the robot and it requires
lower computational cost. However, it gives lower accuracy but still
acceptable. For that reason, this method is good for initial estimates
of the robot stiffness as well as for design optimization purpose.
Finite element model (FEM). As opposite of the lumped
parameter model, this model discretizes the mechanism into many
elements and therefore can also be called distributed model which
implies more closeness to the realistic, continuous model. It is
widely used in structural mechanics due to its high accuracy.
However, it requires high computational cost. Furthermore, it needs
new mesh at every different configuration of the robot which makes
it not practical. Due to its high accuracy, this model is usually used
to verify another less accurate model such as VJM model.
Matrix structural analysis (MSA) model. This model is actually
a special case of FEM model because it uses one-dimensional finite
elements such as beam elements instead of two or three dimensional
elements such as brick elements. As a result, the computational cost
decreases. This model gives trade-off between accuracy and
computational cost.
After that, modifications and improvements on the aforementioned methods
have been conducted, such as follows:
Online FEM by utilizing MSA using generalized springs.
VJM combined with FEM-based identification technique: high
accuracy with low computational cost.
Virtual spring approach: spring compliance is evaluated based
on FEM concept; high accuracy with low computational cost.
Evaluation of stiffness can also be conducted by experimental method, i.e.,
from measurement. In this case, the stiffness is obtained from the relation
between measured wrench and measured displacement. Another way to
evaluate the stiffness is by estimation or identification of the stiffness model.
Least squares estimation algorithm or other estimation algorithms can be
utilized in the estimation based on measurement data.
As a performance measure, the robot stiffness is represented in the following
different ways in the literature:
Graphical representations including stiffness maps, by which
the stiffness distribution can be plotted, and other graphical
representations such as iso-stiffness curves or surfaces.
Trace of the stiffness matrix.
Weighted trace of the stiffness matrix .
(Minimum, average, or maximum) eigenvalues (and
eigenvectors) of the stiffness matrix . For example, the evaluation of
minimum and maximum eigenvalues across the workspace by Li
and Xu .
Mean value of the eigenvalues .
Determinant of stiffness matrix, which is the product of the
stiffness matrix eigenvalues), and indicates the area/volume of a
stiffness ellipse/ellipsoid. It also indicates how far from singularity.
Norm of the stiffness matrix, which can be its Euclidian norm,
Frobenius norm, or Chebyshev norm .
Center of stiffness or equivalently center of compliance .
Global compliance index which is given by mean value and
deviation of generalized compliance matrix .
Virtual work stiffness index which is able to avoid the problem
caused by different units of translation and orientation
Collinear stiffness value (CSV) .
Stiffness condition number is a local measure. It depends on the robot
configuration. In similar token to the Jacobian condition number, the stiffness
condition number can take a value ranging from 1 to infinity. Alternatively,
inverse of the stiffness condition number which takes value ranging from 0 to
1 can also be used. Since the stiffness condition number represents the
isotropy or uniformity of the stiffness of any point in the workspace, stiffness
ellipses/ellipsoids are commonly used as the graphical representation.
Similar to Jacobian condition number, different definition of norms can be
used to evaluate the stiffness condition number. The commonly used norms
are 2-norm, Frobenius norm, and weighted Frobenius norm. The
considerations in selecting any of them is explained earlier when the Jacobian
condition number is discussed.
The global stiffness condition number is commonly expressed by global
stiffness index (GSI) which is usually defined as the inverse of the condition
number of the stiffness matrix integrated over the reachable workspace
divided by the workspace volume. It depicts the uniformity of stiffness within
the whole workspace.
Design optimization
In terms of the number of objectives being optimized, optimization can be
either single-objective (also called single-criteria) or multi-objective (also
called multi-criteria). The simplest way of design optimization is by trial and
error in which we pick several values of design parameters based on intuition,
knowledge, or experience, and compare the corresponding objective values.
However, this approach is non-systematic as well as does not cover all
possible values of the design parameters and therefore may not give optimum
solutions. In the literature, performance atlas and optimization algorithms are
commonly used in the design optimization of mechanisms. The performance
atlas presents graphically the relation between the design parameters (length
of the links) and the performance measures. Several performance atlases such
as atlas of workspace, atlas of GSI, and atlas of LSI have been used in the
literature. For single-objective optimization, the use of performance atlas is
easy and straightforward. However, a multi-objective optimization requires
inspection of several atlases which might give inconvenience, particularly
when some objectives are conflicting each other.
Beyond the use of performance atlas, various algorithms for optimization of
PKMs and HKMs have been utilized. Based on the search principles, those
techniques fall into two main categories: gradient-based optimization
techniques and population-based optimization techniques. The first category
is a local search algorithm. It is deterministic and can be linear or nonlinear
depending on the problem. The latter category is stochastic and does not need
gradient information. One of the most popular population-based techniques is
the genetic algorithm which is an evolutionary optimization technique and
works based on the idea of natural selection or survival of the fittest. The
genetic algorithm can be implemented for both single-objective and multiobjective optimization. For the latter implementation, several techniques have
been developed such as VEGA, NPGA, NPGA-II, NSGA, NSGA-II, PAES,
PESA, PESA-II, SPEA, SPEA-II, SPEA-II+, and many others . Beyond the
genetic algorithm, several global optimization algorithms have also been
proposed in the literature, such as controlled random search (CRS) ,
differential evolution (DE) , particle swarm optimization (PSO) , quantum
particle swarm optimization (QPSO) , and artificial neural network (ANN) .
The following will be showing more details on both types of optimization.
Although single-objective optimization is straightforward, different
algorithms might be used to search the optimal solution. For parallel
mechanism, if only single-objective is to be optimized, then it would be
usually the workspace since the main drawback of parallel mechanisms is
their limited workspace.
Beyond the use of widely used gradient-based optimization algorithms,
various algorithms have been proposed for single-objective optimization of
PKMs. Hosseini et al. used genetic algorithm to optimize the dexterous
workspace of a Tricept PKM. Kordjazi et al. used genetic algorithm
combined with fuzzy logic algorithm to optimize the Jacobian matrix
isotropy of PKM and showed that the result is better than using genetic
algorithm alone. Arana proposed a methodology to enlarge the workspace of
parallel manipulators by means of non-singular transitions. Ghao and Zhang
proposed the use of particle swarm optimization (PSO) to optimize the
workspace of 3-DOF spatial parallel mechanism.
In most cases, there are more than one objectives required to be optimized.
Furthermore, some objectives quite frequently are conflicting each other. For
example, most PKMs usually require not only larger workspace but also
stiffer structure with lower mass. In fact, enlarging the workspace usually
requires longer links which results in the reduction of the stiffness and the
increase of mass. Multi-objective optimization can be bi-objective or manyobjective optimization. The earlier is simpler than the latter. The inclusion of
more than two objectives generally requires more computational cost. It also
gives more difficulty in the visual representation. If more than three
objectives are involved, graphical plots can only be done for three varying
design parameters while the rest should be fixed. An alternative approach to
reduce the number of objectives in the optimization is by putting performance
index threshold value as optimization constraint. However, this approach is
only suitable if the need is only to satisfy the threshold.
In the multi-objective optimization, different objectives (criteria) might be
picked based on the priority of the objectives which depends on the
application. Two main methods commonly used for multi-objective
optimization are:
Scalarization method which is commonly conducted by putting
the weighted multiple objective functions into one composite
objective function. While transforming the problem into one
objective function gives simplicity, the determination of appropriate
weights is difficult, even for those who are familiar with the
problem. This approach can be conducted through gradient-based
optimization methods as well as single-objective evolutionary
methods (such as single-objective genetic algorithm).
Pareto method which will give non-dominated solutions. This
method can be conducted through multi-objective evolutionary
methods (such as multi-objective genetic algorithm).
Different objectives, depending on the application needs, and various
algorithms have been proposed for multi-objective optimization of PKMs.
Hodgins optimized the workspace, the stiffness, and the dexterity of a
modified Delta robot by using weighted sum optimization method. Kelaiaia
et al. optimized the kinematic dexterity as well as the dynamic dexterity by
using genetic algorithms. Wu optimized the GCI and GDI of a 3RRR
spherical parallel mechanism, which can be used as orienting device, by
using genetic algorithm. Bounab optimized the dexterous regular workspace
and the stiffness of a delta mechanism by using genetic algorithm. Shijun
optimized GDI, GSI, and the ratio of the workspace to the work volume using
genetic algorithm. Gao et al. optimized the stiffness and dexterity by using
genetic algorithm and artificial neural network. Abbasnejad et al.
implemented particle swarm optimization (PSO) and quantum particle swarm
optimization (QPSO) to optimize the workspace and the dexterity as
weighted sum objective, and showed that QPSO has faster convergence than
PSO. Furthermore, Gao and Zhang introduced a comprehensive index to
integrate four different objectives.
It appears that mixed DOFs result in inconsistency of the indices while many
PKMs should have mixed DOFs to do the required tasks. For this reason, the
authors suggest that the introduction of any new index in the future should be
able to overcome this issue in a more natural way so that the physical insights
of the index will be as sound and intuitive as possible. Furthermore, the
authors have not found any published work discussing the optimization of a
large number of performance measures. While a good number of attempts
have been done to handle up to three or four objective functions, it will be
practically useful yet challenging to handle larger number of objective
functions. Knowing that the determination of appropriate weights in the
scalarization approach is not easy even for two to four objective functions, it
definitely will be more difficult to put appropriate weights to larger number
of objectives while it may be no more practical to use the Pareto approach for
the larger number of objectives. Therefore, the authors suggest the
introduction of new approach or technique to reliably optimize larger number
of objective functions.
This chapter provided a comprehensive overview of the literature related to a
good number of kinematic performance indices that designers would be
interested in using during the design of parallel kinematics mechanisms.
Kinematic performance indices such as workspace, Jacobian condition
number, manipulability, stiffness magnitude, and stiffness condition number
are of a prime interest to designers to optimize parallel kinematic mechanism
designs. However, many of these indices are conflicting such as the increase
in workspace size could lead to a decrease in stiffness and/or would lead to
reduced speed. Therefore, using optimization techniques is the solution to
accommodate such conflicting requirements by providing appropriate
weights for the different objectives to reflect the designer’s interests and
priorities. Nevertheless, devising the proper objective function requires
extensive experience and insight into the problem. The proper combination of
objectives with the suitable weights will highly impact the design parameters
results and hence should be chosen carefully. In summary, this paper
attempted to provide comprehensive overview of what is needed by parallel
kinematic mechanism designer to optimize their design and mechanism
Path Planning in the Local-Level Frame for
Small Unmanned Aircraft Systems
The rapid growth of the unmanned aircraft systems (UASs) industry
motivates the increasing demand to integrate UAS into the U.S. national
airspace system (NAS). Most of the efforts have focused on integrating
medium or larger UAS into the controlled airspace. However, small UASs
weighing less than 55 pounds are particularly attractive, and their use is likely
to grow more quickly in civil and commercial operations because of their
versatility and relatively low initial cost and operating expense.
Currently, UASs face limitations on their access to the NAS because they do
not have the ability to sense-and-avoid collisions with other air traffic .
Therefore, the Federal Aviation Administration (FAA) has mandated that
UASs were capable of an equivalent level of safety to the see-and-avoid
(SAA) required for manned aircraft . This sense-and-avoid (SAA) mandate is
similar to a pilot’s ability to visually scan the surrounding airspace for
possible intruding aircraft and take action to avoid a potential collision.
Typically, a complete functional sense-and-avoid system is comprised of
sensors and associated trackers, collision detection, and collision avoidance
algorithms. In this chapter, our main focus is on collision avoidance and path
planning. Collision avoidance is an essential part of path planning that
involves the computation of a collision-free path from a start point to a goal
point while optimizing an objective function or performance metric. A robust
collision avoidance logic considers the kinematic constraints of the host
vehicle, the dynamics of the intruder’s motion, and the uncertainty in the
states estimate of the intruder. The subject of path planning is very broad, and
in particular collision, avoidance has been the focus of a significant body of
research especially in the field of robotics and autonomous systems. Kuchar
and Yang provided a detailed survey of conflict detection and resolution
approaches. Albaker and Rahim conducted a thorough survey of collision
avoidance methods for UAS. The most common collision avoidance methods
are geometric-based guidance methods, potential field methods, samplingbased methods, cell decomposition techniques, and graph-search algorithms.
Geometric approaches to collision avoidance are straightforward and
intuitive. They lend themselves to fast analytical solutions based on the
kinematics of the aircraft and the geometry of the encounter scenario. The
approach utilizes the geometric relationship between the encountering aircraft
along with intuitive reasoning. Generally, geometric approach assumes a
straight-line projection to determine whether the intruder will penetrate a
virtual zone surrounding an ownship. Then, the collision avoidance can be
achieved by changing the velocity vector, assuming a constant velocity
model. Typically, geometric approaches do not account for uncertainty in
intruder flight plans and noisy sensor information.
The potential field method is another widely used approach for collision
avoidance in robotics. A typical potential field works by exerting virtual
forces on the aircraft, usually an attractive force from the goal and repelling
forces from obstacles or nearby air traffic. Generally, the approach is very
simple to describe and easy to implement. However, the potential field
method has some fundamental issues. One of these issues is that it is a greedy
strategy that is subject to local minima. However, heuristic developments to
escape the local minima are also proposed in the literature. Another problem
is that typical potential field approaches do not account for obstacle dynamics
or uncertainly in observation or control. In the context of airborne path
planning and collision avoidance, Bortoff presents a method for modeling a
UAS path using a series of point masses connected by springs and dampers.
This algorithm generates a stealthy path through a set of enemy radar sites of
known locations. McLain and Beard present a trajectory planning strategy
suitable for coordinated timing for multiple UAS. The paths to the target are
modeled using a physical analogy of a chain. Similarly, Argyle et al. present
a path planner based on a simulated chain of unit masses placed in a force
field. This planner tries to find paths that go through maxima of an
underlying bounded differentiable reward function.
Sampling-based methods like probability road maps (PRM) and rapidly
exploring random trees (RRTs) have shown considerable success for path
planning and obstacle avoidance, especially for ground robots. They often
require significant computation time for replanning paths, making them
unsuitable for reactive avoidance. However, recent extensions to the basic
RRT algorithm, such as chance-constrained RRT* and close-loop RRT, show
promising results for uncertain environments and nontrivial dynamics. Cell
decomposition is another widely used path planning approach that partitions
the free area of the configuration space into cells, which are then connected to
generate a graph. Generally, cell decomposition techniques are considered to
be global path planners that require a priori knowledge of the environment. A
feasible path is found from the start node to the goal node by searching the
connectivity graph using search algorithms like A* or Dijkstra’s algorithm.
The proposed approach in this work will consider encounter scenarios such as
the one depicted in Image 1, where the ownship encounters one or more
intruders. The primary focus of this work is to develop a collision avoidance
framework for unmanned aircraft. The design, however, will be specifically
tailored for small UAS. We assume that there exists a sensor(s) and tacking
system that provide states estimate of the intruder’s track.
Image 1.
The geometry of an encounter scenario.
Local-level path planning
A collision event occurs when two aircraft or more come within the
minimum allowed distance between each other. The current manned aviation
regulations do not provide an explicit value for the minimum allowed
distance. However, it is generally understood that the minimum allowed or
safe distance is required to be at least 500 ft. to 0.5 nautical miles (nmi). For
example, the near midair collision (NMAC) is defined as the proximity of
less than 500 ft. between two or more aircraft. Similarly and since the
potential UAS and intruder aircraft cover a wide range of vehicle sizes,
designs, airframes, weights, etc., the choice of a virtual fixed volume
boundary around the aircraft is a substitute for the actual dimensions of the
As shown in Image 2, the choice for this volume is a hockey-puck of radius
dsds and height hshs that commonly includes a horizontal distance of 500 ft.
and a vertical range of 200 ft. Accordingly, a collision event is defined as an
incident that occurs when two aircraft pass less than 500 ft. horizontally and
100 ft. vertically.
Image 2.
A typical collision volume or protection zone is a virtual fixed volume
boundary around the aircraft.
In this work, we develop the path planning logic using a body-centered
relative coordinate system. In this body-centered coordinate system, the
ownship is fixed at the center of the coordinate system, and the intruder is
located at a relative position prpr and moves with a relative velocity vrvr with
respect to the ownship.
We call this body-centered coordinate frame the local-level frame because the
environment is mapped to the unrolled, unpitched local coordinates, where
the ownship is stationary at the center. As depicted in Image 3, the origin of
the local-level reference is the current position of the ownship. In this
configuration, the xx-axis points out the nose of the unpitched airframe, the
yy-axis points points out the right wing of the unrolled airframe, and the zzaxis points down forming a right-handed coordinate system. In the following
discussion, we assume that the collision volume is centered at the current
location of the intruder. A collision occurs when the origin of the local-level
frame penetrates the collision volume around the intruder.
Image 3.
Local-level reference frame.
The detection region is divided into concentric circles that represent
maneuvers points at increasing range from the ownship as shown in Image 4,
where the radius of the outmost circle can be thought of as the sensor
detection range. Let the region in the space covered by the sensor be called
the workspace. Then, this workspace is discretized using a cylindrical grid in
which the ownship is commanded to move along the edges of the grid. The
result is a directed weighted graph, where the edges represent potential
maneuvers, and the associated weights represent the maneuver cost and
collision risk. The graph can be described by the tuple G(N,E,C)GNEC,
where NN is a finite nonempty set of nodes, and EEis a collection of ordered
pairs of distinct nodes from NN such that each pair of nodes in EE is called a
directed edge or link, and CC is the cost associated with traversing each edge.
Image 4.
Discretized local-level reference workspace. The three concentric circles
represent three maneuvers points.
The path is then constructed from a sequence of nonrepeated nodes n1,n2,
⋯,nN such that each consecutive pair ni,ni+1 is an edges in GG. Let the
detection range drdr be the radius of the outermost circle, and rr be the radius
of the innermost circle so that dr=mrdr=mr. As shown in Image 6, let Ll
l=1,2,⋯,m be the llth level curve of the concentric circles. Assume that the
level curves are equally partitioned by a number of points or nodes such that
any node on the llth level curve, Ll connects to a predefined number of nodes
kk in the next level, that is, in the forward direction along the heading axis as
depicted in Image 4. The nodes on the graph can be thought of as predicted
locations of the ownship over a look-ahead time window. Additionally, we
assume that only nodes along the forward direction of the heading axis, that
is, x=0 connect to nodes in the vertical plane. This assumption allows to
command the aircraft to climb or descend by connecting to nodes in the
vertical plane as shown in Image 4. Let the first level curve of the innermost
circle be discretized into |L1|=k+2 nodes including nodes in the vertical
plane. Then, using the notation |A|A to denote the cardinality of the discrete
set AA, the number of nodes in the llth level curve is given by
where the total number of nodes is |N|=∑ml=1|Ll|. For example, assuming
that the start node is located at the origin of the reference map and given that
k = 3, that is, allowing the ownship to fly straight or maneuver right or left.
The total number of nodes in the graph including the start and destination
node is given by
Image 5 shows an example of a discretized local-level map. In this example,
k= 3 and m= 3, and the total number of nodes in the graph |N| is 39.
Image 5.
Example of discretized local-level map. (a) Top view: location and index of
nodes and (b) side view: location and index of nodes.
Assuming that the ownship travels between the nodes with constant velocity
and climb rate, the location of the iith node at the llth level curve, and ni,lni,l
in the horizontal plane of the graph is given by
Image 6.
Nodes location in the local-level reference frame.
The main priority of the ownship where it is under distress is to maneuver to
avoid predicted collisions. This is an important note to consider when
assigning a cost of each edge in the resulting graph. The cost associated with
traveling along an edge is a function of the edge length and the collision risk.
The cost associated with the length of the edge ei,i+1ei,i+1 that connects
between the consecutive pair nodes (ni,ni+1) is simply the Euclidean distance
between the nodes nini and ni+1 expressed as
The collision cost for traveling along an edge is determined if at any future
time instant, the future position of the ownship along that edge is inside the
collision volume of the predicted location of an intruder. An exact collision
cost computation would involve the integration of collision risk along each
edge over the look-ahead time window τ∈[t,t+mT]
A simpler approach involves calculating the collision risk cost at several
locations along each edge, taking into account the projected locations of the
intruder over the time horizon ττ. Assuming a constant velocity model, a
linear extrapolation of the current position and velocity of the detected
intruders are computed at evenly spaced time instants over the look-ahead
time window. The look-ahead time interval is then divided into several
discrete time instants. At each discrete time instant, all candidate locations of
the ownship along each edge are checked to determine whether it is or will be
colliding with the propagated locations of the intruders. For the simulation
results presented in this chapter, the collision risk cost is calculated at three
points along each edge in GG. If vo is the speed of the ownship, then the
distance along an edge is given by voT, where T=r/vo. The three points are
computed as
Where Ts=T/3. Let the relative horizontal and vertical position of the intruder
with respect to the ownship at the current time tt be pr(t) and prz(t),
respectively. Define the collision volume as
The predicted locations of each detected intruder over time horizon T at three
discrete time samples Ts are
where ℓ={1,2,3}ℓ=123. In Eq. (12), the ∞∞ or the maximum allowable cost
is assigned to any edge that leads to a collision, basically eliminating that
edge and the path passing through it. The total collision risk associated with
the iith edge is given by
where MM is the number of detected intruders.
A visual illustration of the collision risk computation is shown in Image 7.
The propagated collision volume of a detected intruder and the candidate
locations of the ownship over the first-time interval [t+Ts,t+3Ts] both in the
horizontal and vertical plane is depicted in Image 7a and b. Clearly, there is
no intersection between these candidate points the ownship may occupy and
the propagated locations of the collision volume over the same interval. Then,
according to Eq. (13), the cost assigned to these edges is zero. Next, all
candidate locations of the ownship along each edge over the second time
interval [t+4Ts,t+6Ts] are investigated. As shown in Image 7c, edges e2,7
e2,8 and e2,9 intersect with the predicted intruder location at time t+4TS and
t+5TS, respectively. Similarly, edges e3,15and e3,16 in the horizontal plane
intersect with the predicted intruder location at time t+4TSas shown in Image
7d. Accordingly, the maximum allowable costs will be assigned to these
edges, which eliminate these edges and the path passing through them. All
the candidate locations of the ownship over the time interval [t+7Ts,t+9Ts]
do not intersect with the predicted locations of the intruder as shown in
Image 7e and f. Therefore, by the time, the ownship will reach these edges
the detected intruder will be leaving the map, and consequently, a cost of zero
is assigned to edges belonging to the third level curve L3.
Image 7.
Example illustrating the steps to compute the collision risk. In this example,
we have k= 3 and m= 3. (a) Top view: predicted locations of intruder (less
transparent circles), and candidate locations of ownship; (b) side view:
predicted locations of intruder (less transparent rectangles), and candidate
locations of ownship; (c) predicted locations of intruder and candidate
locations of ownship over time window (t + 4Ts, t + 6Ts); (d) time window (t
+ 4Ts, t + 6Ts); (e) time window (t + 7Ts, t + 9Ts); (f) time window (t + 7Ts, t
+ 9Ts).
To provide an increased level of robustness, an additional threat cost is added
to penalize edges close to the propagated locations of the intruder even if they
are not within the collision volume. At each discrete time instant, we compute
the distances from the candidate locations of the ownship to all the
propagated locations of the intruders at that time instant. The cost of collision
threat along each edge is then given by the sum of the reciprocal of the
associated distances to each intruder
where d1,d2d1,d2, and d3d3 are given by
and the total collision risk cost associated with the iith edge with regard to all
intruders is given by
For example, the edges e1,2, e1,3, e1,4, e1,5 and e1,6 shown in Image 7a are
not intersecting with the propagated collision volume locations over the firsttime interval, yet they will be penalized based on their distances to the
predicated locations of the intruder according to Eq. (15). Note that edge e1,2
will have greater cost as it is the closest to the intruder among other candidate
Another objective of a path planning algorithm is to minimize the deviation
from the original path, that is, the path the ownship was following before it
detected a collision. Generally, the path is defined as an ordered sequence of
waypoints W=w1,w2,⋯.wf where wi=(wn,i,we,i,wd,i)T∈R3 is the northeast-down location of the iith waypoint in a globally known NED reference
frame. The transformation from the global frame to the local-level frame is
given by
where ψoψo is the heading angle of the ownship. Let wsws be the location
waypoint of the ownship at the current time instant tt and wf∈W be the next
waypoint the ownship is required to follow. Assuming a straight-line segment
between the waypoints wsws and wfwf, then any point on this segment can
be described as L(ϱ)=(1−ϱ)ws+ρwf where ϱ∈[0,1] and the minimum
distance between an arbitrary node nini in GG can be expressed by
Then, the cost that penalizes the deviation of an edge in GG from the nominal
path is given by
If small UASs are to be integrated seamlessly alongside manned aircraft, they
may require to follow right-of-way rules. Therefore, an additional cost can be
also added to penalize edges that violate right-of-way rules. In addition, this
cost can be used to favor edges in the horizontal plane over those in the
vertical plane. Since the positive direction of the yy-axis in the local-level
frame is the right-wing direction, it is convenient to define right and left
maneuvers as the positive and the negative directions along the right-wing
axis, respectively. Let e→i≜ni+1−ni be the direction vector associated with
the edge ei,i+1 in GG, where ni≜(xi,yi,zi)T∈R3 is the location of iith node in
the local-level reference frame. Let the direction vector e→i be expressed as
e→i=(eix,eiyeiz)T∈R3. We define E≜(eix,L,R,eiz)T∈R4, where eix and eiz
are the x and the z components of e→i. The y-component of e→i is
decomposed into two components: left L and right R, that are defined by
J=diag([0,cL,cR,cz])J=diag0cLcRcz, then the maneuvering cost associated
with each edge is given by
The costs cLcL and cRcR allow the designer to place more or less cost on the
left or right edges. Similarly, cz allows the designer to penalize vertical
maneuvers. Multiple values of these cost parameters may be saved in a lookup table, and the collision avoidance algorithm choses the appropriate value
based on the geometry of the encounter.
The overall cost for traveling along an edge comes from the weighted sum of
all costs given as
where k1, k2, and k3 are positive design parameters that allow the designer to
place weight on collision risk or deviation from path or maneuvering
preferences depending on the encounter scenario. Once the cost is assigned to
each edge in G, then a graph-search method can be used to find the least cost
path from a predefined start point to the destination point. In this work, we
have used Dijkstra’s algorithm.
Dijkstra’s algorithm solves the problem of shortest path in a directed graph in
polynomial time given that there are not any negative weights assigned to the
edges. The main idea in Dijkstra’s algorithm is to generate the nodes in the
order of increasing value of the cost to reach them. It starts by assigning some
initial values for the distances from the start node and to every other node in
the graph. It operates in steps, where at each step, the algorithm updates the
cost values of the edges. At each step, the least cost from one node to another
node is determined and saved such that all nodes that can be reached from the
start node are labeled with cost from the start node. The algorithm stops
either when the node set is empty or when every node is examined exactly
once. A naive implementation of Dijkstra’s algorithm runs in a total time
complexity of O(|N|2). However, with suitable data structure implementation,
the overall time complexity can be reduced to O(|E|+|N|log2|N|) .
The local-level path planning algorithm generates an ordered sequence of
waypoints Wc=wc1,wc2,⋯,wci. Then, these waypoints are transformed from
the relative reference frame to the global coordinate frame and added to the
original waypoints path W. When the ownship is avoiding a potential
collision, the avoidance waypoints overwrite some or all of the original
waypoints. Next, a path manager is required to follow the waypoints path and
a smoother to make the generated path flyable by the ownship. One possible
approach to follow waypoints path is to transit when the ownship enters a ball
around the waypoint WiWi or a better strategy is to use the half-plane
switching criteria that is not sensitive to tracking error . Flyable or smoothed
transition between the waypoints can be achieved by implementing the fillet
maneuver or using Dubins paths.
Simulation results
To demonstrate the performance of the proposed path planning algorithm, we
simulate an encounter scenario similar to the planner geometry shown in
Image 8. The aircraft dynamics are simulated using a simplified model that
captures the flight characteristics of an autopilot-controlled UAS. The
kinematic guidance model that we considered assumes that the autopilot
controls airspeed, va, altitude, h, and heading angle, ψ. Under zero-wind
conditions, the corresponding equations of motion are given by
where pn, pe are the north-east position of the aircraft. The inputs are the
commanded altitude, hchc, the commanded airspeed, vcavac, and the
commanded roll angel, φcφc. The parameters bv, bφ, bh, and bḣ b are
positive constants that depend on the implementation of the autopilot and the
state estimation scheme. For further analysis on the kinematic and dynamic
guidance models for UAS, we refer the interested reader to. In the following
simulation, the ownship starts at (0,0,−200)T in the NED coordinate system,
with an initial heading of 0 deg. measured from north and follows a straightline path at a constant speed of 22 m/s to reach the next waypoint located at
(1500,0,−200)T. The encounter geometry includes three intruders flying at
different altitudes: the first is approaching head-on, the second is converging
from the right, and the third is overtaking from the left. We chose the
intruders’s speed similar to the known cruise speed of ScanEagle UAS,
Cessna SkyHawk 172R, and Raven RQ-11B UAS. The speed of the intruders
is 41, 65, and 22 m/s, respectively. In addition, the intruders are assumed to
fly at a constant speed the entire simulation period. As shown in Image 8, the
initial locations of intruders in the NED coordinate system are
(−25,1000,−225)T, (500,1000,−180)T, and (25,−500,−200)T respectively,
with initial heading of 180, −90, and 0°, respectively.
Image 8.
Encounter geometry for the ownship and three intruders at tt = 0.1 s. (a)
Overhead view of initial locations of aircraft; (b) 3D view of initial locations
of aircraft; (c) overhead view of reference frame; (d) side view of relative
reference frame.
In the following simulation, our choice of the collision volume is a cylinder
of radius ds = 152.4 m (500 ft) and height hs = 61 m (200 ft) centered on each
of the intruders. A collision incident occurs when the horizontal relative
range and altitude to the ownship are simultaneously below horizontal and
vertical minimum safe distances ds and hs/2. We assume that there exists a
sensor and tracking system that provides the states of the detected intruders.
However, not every aircraft that is observed by the sensing system presents a
collision threat. Therefore, we implemented a geometric-based collision
detection algorithm to determine whether an approaching intruder aircraft is
on a collision course. The collision detection approach is beyond the scope of
this work, and we refer the interested reader to.
At the beginning of simulation, the predicted relative range and altitude at the
closest point of approach (CPA) are shown in Table 1. Imminent collisions
are expected to occur with the first and second intruders as their relative
range and altitude with respect to the ownship are below the defined
horizontal and vertical safe distances. The time remaining to the closest point
of approach tCPAtCPA with respect to the first and second intruders is 15.77
and 16.56 s, respectively. The scenario requires that the ownship plans and
executes an avoidance maneuver well before the tCPA. This example
demonstrates the need for an efficient and computationally fast avoidance
planning algorithm. Table 2 shows the total time required to run the
avoidance algorithm, and the maximum and average time required to execute
one cycle. The results show that the proposed algorithm takes a significantly
reduced time in computation with an average and maximum time to execute
one cycle of the code of 20 ms and 0.1326 s, respectively, and a total time of
0.3703 s to resolve the collision conflict.
∥pr(tCPA)∥ (m)
|prz(tCPA)| (m)
tCPA (s)
Relative range and altitude, and the time remaining to the closest point of
Total run time (s)
Max. run time (one cycle) (s)
Average run time (one cycle) (s)
Collision avoidance algorithm run time.
Image 9 shows the planned avoidance path by the ownship. These results
show that the avoidance path safely maneuvers the ownship without any
collisions with the intruders. In addition, the ownship should plan an
avoidance maneuver that does not lead to a collision with intruders that were
not on a collision course initially such as the case with the third intruder.
Initially, the third intruder and the ownship are flying on near parallel
courses. The relative range and altitude at CPA with respect to the third
intruder are 437.14 and 4361.07 m, respectively, and the time remaining to
the CPA is 1982.25 s. Obviously, both aircrafts are not on a collision course.
However, the third intruder is descending and changing its heading toward
the ownship. The path planner, however, accounts for predicted locations of
the detected intruder over the look-ahead time window, allowing the ownship
to maintain a safe distance from the third intruder. This example
demonstrates that the proposed path planner can handle unanticipated
maneuvering intruders. Once collisions are resolved the path planner returns
the ownship to the next waypoint of its initial path.
Image 9.
Avoidance path followed by the ownship and path tracks of the intruders at tt
= 75 s. (a) Overhead view of avoidance path and (b) 3D view of of avoidance
The relative range between the ownship and the intruders is shown in Image
10. The results show that no collisions have occurred, and that the ownship
successfully planned an avoidance maneuver. The avoidance planner ensures
that when the relative horizontal range is less than dsds, the relative altitude is
greater than hs/2hs/2. For example, as shown in Image 10b, the relative
range to the first intruder over time interval [16.2, 18] s is below dsds.
However, over the same time interval, the relative altitude is above hs/2hs/2.
Image 10.
Relative horizontal range and altitude between the ownship and intruders. (a)
Horizontal range and relative altitude to intruders and (b) a close up view of
Image 10a.
Another important aspect to evaluate the performance of the proposed
algorithm is its ability to reduce the length of the avoidance path while
avoiding the intruders. This is important because it reduces the amount of
deviation from the original path and ultimately the flight time, which is of
critical importance for the small UAS with limited power resources. Table 3
shows that the length of the avoidance paths is fairly acceptable compared to
the initial path length.
Scenario number
Initial path length (m)
Avoidance path length (m)
Length of the avoidance path.
In this chapter, we have presented a path planning approach suitable for small
UAS. We have developed a collision avoidance logic using an ownshipcentered coordinate system. The technique builds a maneuver graph in the
local-level frame and use Dijkstra’s algorithm to find the path with the least
A key feature of the proposed approach is that the future motion of the
ownship is constrained to follow nodes on the map that are spaced by a
constant time. Since the path is represented using waypoints that are at fixed
time instants, it is easy to determine roughly where the ownship will be at any
given time. This timing information is used when assigning cost to edges to
better plan paths and prevent collisions.
An advantage of this approach is that collision avoidance is inherently a local
phenomenon and can be more naturally represented in local coordinates than
global coordinates. In addition, the algorithm accounts for multiple intruders
and unanticipated maneuvering in various encounter scenarios. The proposed
algorithm runs in near real time in Matlab. Considering the small runtime
shown in the simulation results, we expect that implementing these
algorithms in a compiled language, such as C or C++, will show that realtime execution is feasible using hardware. That makes the proposed approach
a tractable solution in particular for small UAS.
An important step forward to move toward a deployable UAS is to test and
evaluate the performance of the close-loop of sensor, tracker, collision
detection, path planning, and collision avoidance. Practically, the deployment
of any UAS requires a lengthy and comprehensive development process
followed by a rigorous certification process and further analysis including
using higher fidelity models of encounter airspace, representative number of
simulations, and hardware-in-the-loop simulation. Unlike existing collision
manned aviation collision detection and avoidance systems, an encounter
model cannot be constructed solely from observed data, as UASs are not yet
integrated in the airspace system and good data do not exist. An interesting
research problem would be to design encounter models similar to those
developed to support the evaluation and certification of manned aviation
traffic alert and collision avoidance system (TCAS).
How to Expand the Workspace of Parallel
The parallel robot has excellent characteristics such as high speed, high
precision, and high rigidity. However, mechanical collisions between limbs
and complexly existing singular configurations restrict its workspace. In this
chapter, firstly, methods for expanding the translational workspace of the
parallel robot are discussed. The parallel robot has multiple solutions of the
inverse and forward displacement analysis. By changing its configurations
from one solution to another, the parallel robot can expand its translational
workspace. However, conventional nonredundant parallel robot encounters
singularity during the mode change. Singularity-free mode changes of the
parallel robot by redundant actuation are introduced. Next, methods for
expanding the rotational workspace of the parallel robot are shown. In order
to achieve the large rotation, some mechanical gimmicks by gears, pulleys,
and helical joints have been embedded in the moving part. A novel
differential screw-nut mechanism for expanding the rotational workspace of
the parallel robot is introduced.
Expanding the translational workspace
Schematic model of a planar two-dof (degree-of-freedom) serial robot and a
planar two-dof parallel robot is illustrated in Images 1 and 2, respectively. R
and P represent the rotational pair and prismatic (sliding) pair, respectively.
Underline indicates that an actuator is located at the pair, namely, R and
Prepresent active rotational pair and active prismatic pair, and R and P
represent passive ones. The serial robot in Image 1 is represented as RR
mechanism, and the parallel robot in Image 2 is represented as 2PRR
mechanism. In 2PRR, “2” means that the two PRR mechanisms are connected
to the output link (end effector or hand) in parallel. In order to control the
position of the hand, forward displacement analysis gives the position and
orientation of the hand from the displacements of the active pairs (joints), and
inverse displacement analysis gives the displacements of the active joints
from the position and orientation of the hand. As shown in Images 1 and
2(a), different solutions for inverse displacement analysis and different
position of the joints for a position and orientation of the hand exist. In the
robotics, the solution of the inverse displacement analysis is called as the
working mode. Changing the positions of the joints between the different
working modes, at that time the robot changes its configuration, is named as
the working mode change. In the case of the serial robot, there exists only
one solution for the forward displacement analysis; namely, when the
displacement of the active joints is given, the position and orientation of the
robot are fixed. However, in the case of the parallel robot, there exist
different solutions for the forward displacement analysis as shown in Image
2(b). The solution of the forward displacement analysis is named as the
assembly mode. Parallel robot can change the position and orientation of the
hand with the same displacements of the actuated joints. Note here that the
parallel robot in Image 2 is designed as free of the mechanical interferences
such as limb collisions. Parallel robot can expand the workspace of the hand
by the assembly mode change as shown in Image 2(b).
Image 1.
Working mode change of RR serial robot.
Image 2.
Assembly and working mode change of 2PRR parallel robot.
As mentioned before, the parallel robot can expand its workspace by the
mode change. However, parallel robot encounters the singular configuration
between the mode changes. In this section, kinematics and singular
configuration of a 2PRR parallel robot are shown in Image 3. Coordinate
frames Σ0 and Σi (i = 1, 2) are defined for the fixed coordinate and position of
each actuator, respectively. Vector bi is defined for the position of the origin
Σi with respect to the coordinate Σ0. In the case of the 2PRR parallel robot in
Image 3, bi = 0 (i = 1, 2) because each coordinate Σi is coincident with Σ0.
Unit direction vector and displacement of the linear actuator are defined as ui
and qi, respectively. Unit direction vector and length of the rod are defined as
wi and li, respectively. Position of the hand (output link) is given as
Image 3.
Kinematic model of 2PRR parallel robot.
Equation (1) is the loop closure equation of the parallel robot. Next, the
forward displacement analysis and inverse displacement analysis of the
parallel robot are going to be derived.
The unit direction vector wi is eliminated by raising the both sides of Eq. (2)
Substituting Eq. (4) into Eq. (3), one obtains a quadratic equation about the
displacement of the actuator as,
Solutions of the inverse displacement analysis are given by the solution of
Eq. (5) as,
Eq. (6) represents that there are two solutions for the inverse displacement
analysis. It means that the parallel robot has two working modes. Image 2(a)
(i) and (iii) represents the configurations of the parallel robot of the two
working modes.
In the forward displacement analysis, positions x and y of the hand are solved
by the simultaneous equations about Eq. (1) of each arm as,
Each equation of (7) represents that a circle of the central position is (qi, 0)
and the radius is li. The solution of Eq. (7) is given as the crossing point of
the two circles. There exist two crossing points of the circles; namely, the
parallel robot has two assembly modes. Image 2(b) (i) and (iii) represents
each configuration of the assembly mode of the parallel robot.
When y = li, at that time, the value in the square root in Eq. (6) becomes zero
and the inverse displacement analysis has a duplication solution. When y > li,
at that time, value in the square root in Eq. (6) becomes negative and the
inverse displacement analysis has no solution. When the distance between the
two circles of Eq. (7) equals (li + l2), the forward displacement analysis has a
duplication solution. When the distance between the two circles of Eq. (7)
becomes larger than (li + l2), the forward displacement analysis has no
Differentiating the both sides of Eq. (1) with respect to time, one obtains
In Eq. (1), bi, ui, and li are constant values and their time derivatives become
zero. Because wi is unit direction vector, one obtains
Differentiating the both sides of Eq. (9) with respect to time, one obtains
Multiplying the both sides of Eq. (8) by wiT and taking into consideration
about Eq. (9), one obtains
The displacements of all actuators q1 and q2 are defined by vector form as q
= [q1 q2]T; then, Eq. (10)is expressed by matrix form as
Jx and Jq are the Jacobian of the parallel robot.
When the Jacobian matrix Jx becomes singular, namely the determinant of the
Jacobian becomes zero as
Then, the parallel robot is in the second kind of singularity or in direct
kinematics singularity. The 2PRR parallel robot occurs in the second kind of
singularity when the direction of the two rods w1and w2 becomes identical.
This case corresponds to that two rods of the parallel robot lay in one line as
shown in Image 2(b) (ii). As shown in Image 2(b), the parallel robot
encounters the second kind of singularity during the assembly mode change.
When the Jacobian matrix Jq is singular
Then, the parallel robot is in the first kind of singularity or in inverse
kinematics singularity. The 2PRR parallel robot occurs in the first kind of
singularity when the direction of at least one rod is perpendicular to the
direction of the actuator as shown in Image 2(a) (ii).
As shown if Image 2(a), the parallel robot encounters the first kind of
singularity during the working mode change.
The third kind of singularity occurs when both Jq and Jx are simultaneously
singular. It requires certain conditions of the linkage parameter. In the case of
the 2PRR parallel robot, when the lengths of the rods are identical, the third
kind of singularity occurs as shown in Image 4. The third kind of singularity
is referred as the combined singularity.
Image 4.
The third kind of singularity of the 2PRR parallel robot.
As shown in Image 5(a), if the parallel robot has some speed just before the
singular configuration, the robot keeps moving according to the law of
inertia; then, the parallel robot passes the second kind of singularity. Note
here if the parallel robot stops at the singular configuration, it is impossible to
pass the singular configuration by the inertia.
Image 5.
Assembly mode change of nonredundant 2PRR parallel robot.
As shown in Image 5(b), when the gravity force acts to the lower direction,
the parallel robot can pass the singular configuration even if the parallel robot
stops at the singular configuration. However, the robot cannot move to the
upper direction against the gravity. When the robot moves on the horizontal
plane where the gravity force does not act on the robot, the parallel robot
cannot pass the singular configuration.
A robot has actuation redundancy when it is driven by number of actuators
greater than the degree of freedom. The actuation redundancy may increase
the cost of the robot and complexity of control. However, the actuation
redundancy is one of the most effective methods for avoiding the singularity
during the mode change.
Image 6 represents 3PRR parallel robot, a planar two-dof parallel robot
redundantly actuated three actuators. The Jacobian of the parallel robot is
given as
Image 6.
Assembly mode change of redundant 3PRR parallel robot.
where Jx is 3×2 matrix of its full rank that equals two. For convenience,
singularity analysis is applied to the 3×2 transposed Jacobian matrix of JxT.
When at least one 2×2 minor of JxT is nonsingular, the rank of the Jx equals
two; namely, the Jx has full rank. At this time, the robot still works as two-dof
parallel robot. For example, when the first rod and the second rod are
collinear as shown in Image 6(iii), 2×2 minors of the JxT become
As shown in Eq. (18), one minor is singular and the other two minors are
nonsingular; namely, the Jxstill has the full rank.
Now, the parallel robot loses the redundancy but keeps the nonsingularity.
The parallel robot can pass the singular configuration of Image 6 (iii). In the
same way, the parallel robot can pass the singular configuration of Image 6
(ii). Thus, the parallel robot achieves the assembly mode change from Image
6 (i) to (iv).
The parallel robot encounters the first kind of singularity during the working
mode change. In the velocity control of a robot, the velocity of the actuator is
controlled to trace the desired velocity of the actuator q̇ rq̇r, which is given
from the desired velocity of the end-point ẋ rẋr from Eq. (12) as
However, Jq
cannot be calculated when Jq is singular at the first kind of
singularity. In this case, the desired velocity of the actuator is directly given
instead of being indirectly given from Eq. (12).
Researches on expanding the workspace by the mode change of the parallel
robot have been reported for nonredundant two-dof planar robot,
nonredundant three-dof spatial translational robot, redundantly driven threedof translational and rotational planar robot, and redundantly driven three-dof
spatial translational robot. Redundant actuation is the actuation in one of the
most effective methods for avoiding the singularity. However, the
redundancy is not always the answer to avoiding the singularity. Additional
ingenuities, for example, path planning for mode change, or asymmetrical
design for the robot, are required.
Expanding the rotational workspace
In this section, methods for expanding the rotational workspace of the
parallel robot are introduced. Image 7(a) represents the Stewart Platform [9],
six-dof parallel robot with three-dof translations and three-dof rotations. The
moving plate is driven by linear actuator embedded six limbs. Each limb is
paired by a passive universal joint (U) with the base plate and paired by a
passive spherical joint (S) with the moving plate. The Stewart Platform is
categorized into 6UPS parallel mechanism. The Stewart Platform generates
high power with a hydraulic linear actuator. Flight simulator and driving
simulator for carrying heavy cockpit of aircraft are typical applications of the
Stewart Platform. However, the robot has a drawback of small rotation
around z axis because of the mechanical interference between the limbs.
Image 7(b) represents a six-dof cable-driven parallel robot. This robot also
has the same drawback of small rotation around z axis because of the cable
interference. Small rotation of parallel robots puts restriction to their
Image 7.
Conventional six-dof parallel robot.
In order to cope with the problem, Clavel invented a novel parallel robot
DELTA [11] as shown in Image 8. The DELTA generates three-dof
translation and one-dof rotation around the z-axis.
Image 8.
The DELTA robot.
Three control arms are rotated by three motors located on the base plate. Each
arm is connected to the moving part by a parallelogram rod with spherical
joints. The gripper on the moving part is connected to the motor on the base
plate with a telescopic arm via universal joints (Image 9).
Image 9.
Mechanical gimmicks enlarge the rotational workspace of parallel robot.
Researches on expanding the rotational workspace of the DELTA like
parallel robot have been reported from research group at the Montpelier
University. The basic idea is to convert the translational motion to the
rotational motion by the mechanical gimmicks such as pulley, rack and
pinion, and screw. Crank embedded moving part has been proposed by
McGill University for two-limb parallel robot and by Fraunhofer IPA for
cable-driven parallel robot.
Recently, differential screw drive systems composed of two screw-nut pairs
of different leads have been applied to robot systems. There are four driving
methods of the differential drive systems;
Rotations of the two nuts are converted to the rotation and
translation of the screw pair, which is coaxially arranged with one
end interconnected with each other.
Translations of the two nuts are converted to the rotation and
translation of the screw pair, which is coaxially arranged with one
end interconnected each other.
Rotations of the two screws are converted to the rotation and
translation of the nut pair, which is coaxially arranged with one end
interconnected each other.
Translations of the two screws are converted to the rotation and
translation of the nut pair, which is coaxially arranged with one end
interconnected each other.
In this section, kinematics of the differential drive system (b) as shown in
Image 10 is discussed for enlargement of the rotational workspace of the
parallel robot.
Image 10.
Differential screw drive system (translations of the two nuts).
Letli (i = 1, 2) be the lead of the ith screw nut. ni (i = 1, 2), z, and γ represent
the position of the ith nut, position, and angle of the screw pair, respectively.
Relation of these parameters is given as
Equation (20) is given in the matrix form as
Equation (21) gives the inverse kinematics of the differential drive system.
The forward kinematics of the system is derived by inverting Eq. (21) as
If two leads of the screw-nut pair are identical as
then the matrix in Eq. (22) becomes singular. It is necessary that the leads of
the two screw nuts are different from the differential drive system.
Image 11 represents a 4-dof parallel robot that the differential drive system
(a) embedded in the moving part. H represents a passive helical joint
composed of screw and nut pair. In Image 11, two Hpairs have the same
lead, but the different helix hands (right and left). In Image 9 (c), one H pair
and one R pair are embedded in the moving part. This is included in the
differential drive system (a), one of the H pair has zero lead.
Image 11.
Parallel robot with the differential drive system embedded moving part.
Conclusion and future works
After commercialization of the DALTA robot, a lot of parallel robots can be
found in machine factory and other industries. Recently, one can get the kit of
a 3D printer machine by linear DELTA mechanism under 500 USD. It may
be said that the first-generation parallel robot such as DELTA and Stewart
Platform is getting to reach the mature stage. In this chapter, expanding the
workspace of the parallel robot was introduced. The translational workspace
was expanded by singularity-free mode change using the actuation
redundancy. The differential drive mechanism converts the translational
motion to the rotational motion, which expands the rotational workspace of
the parallel robot. These parallel robots are expected as the next-generation
At the end of this chapter, an example of the next-generation parallel robot is
introduced. Image 12(a)represents a novel two-limb six-dof parallel robot.
As shown in Image 12(b), a differential screw mechanism is embedded in the
output link for enlarging the rotational workspace of the gripper. This parallel
robot extends its degree of freedom from four (three translations and one
rotation as shown in Image 11) to six (three translations and three rotations)
as shown in Image 13. We are working on the kinematic analysis and
detailed mechanical design of the parallel robot.
Image 12.
Two-limb six-dof parallel robot with the differential drive embedded output
Image 13.
Motion of the two-limb six-dof parallel robot.
Kinematic and Biodynamic Model of the
Long Jump Technique
The long jump consists of four interconnected phases: approach, take-off,
flight and landing. According to some existent studies [2, 6, 9, 11], the
approach and take-off are the most important factors that affect the result.
The fundamental problem of long jump, from the biomechanical point of
view, is the transformation of horizontal velocity to a resultant of the vertical
and horizontal velocities in the take-off phase. It is very important that the
athlete realises the greatest possible vertical velocity with the smallest
possible loss of horizontal velocity. The jumping distance is defined,
according to the theoretical model after Ballreich and Bruggemann, [1], by
the take-off distance L1, flight distance L2 and landing distance L3. The CM
flight parabola is defined by the following parameters: relative height of CM
at take-off, resultant of the vertical and horizontal velocity of take-off, takeoff angle and air resistance [1, 5, 6, 7]. Most of the biomechanical studies of
long jump technique till now dealt with studying the kinematic characteristics
with high-frequency film or video cameras. However, there are very few
studies on top long jumpers with emphasis on the dynamic characteristics of
take-off, which is the most important generator of the long jump result. The
main purpose of our study was therefore a complex analysis of both the
kinematic model of long jump and the dynamic model of take-off.
Methods and procedures
The analysis was performed on two jumps of one of the world’s best long
jumpers G.C. (GC—body height 178.5 cm, body mass 69 kg, age 24 years,
personal best 8.40 m). The length of the first analysed jump was 7.93 m and
the second 8.25 m.
Kinematic parameters were obtained with a 3-D kinematic system ARIEL
(Ariel Dynamics Inc., USA) with four synchronised cameras (Sony—
DVCAM DSR 300 PK), shooting at 100 Hz. The first two cameras, set a 90°
angle to the filmed object, were used to analyse the last two strides of the
approach and the take-off, with the other two the flight and landing (Image
1). In the kinematic analysis, a 15-segment model was digitised. The model
segments represent parts of the body, connected with point joints. The masses
and centres of gravity of the segments and the common body centre of
gravity (CM) were computed according to the anthropometric model of
Dempster. All kinematic parameters were filtered with a seventh-level
Butterworth filter.
Image 1.
Measurement system for kinematic and dynamic parameters of the take-off in
long jump.
The dynamic parameters of take-off were registered with a force-platform
Kistler 9287, area 900 × 600 mm, covered with a tartan surface and installed
before the take-off board on the approach track of long jump. Forces were
measured in three directions: X—horizontal, Y—vertical and Z—lateral
(Image 2).
Image 2.
Take-off phase 3D-surface contour plot.
The jump length (L) was measured from the front impression of the foot of
the take-off leg on the force-platform to the point of contact of the feet in the
sand of the landing pit. The programme package Matlab (Mathworks Inc.,
USA) was used to analyse the measured forces. The registration frequency on
the force-platform was 2000 Hz.
We ask ourselves how to determine the best angle of projection at take-off for
long jumpers. In our case, we model jumpers as mass points and observe their
trajectories for a case where there is no air friction. We already know that
energy losses have to be taken into consideration because jumper always
loses some energy in a take-off phase, when he/she is transforming his/her
horizontal velocity before he/she jumps into combination of horizontal and
vertical velocity.
Let us first look at the example when height of centre of mass at take-off and
height of centre of mass when he/she first touches the ground are the same.
Let us denote velocity before jump with
and velocity after take-off with
. Angle of projection shall be denoted with ϕ and jumpers mass with .
All mechanical energy before take-off is
. This is jumpers
kinetic energy. δ denotes the amount of energy that is lost at the time of
take-off as heat and sound [16], and of energy before take-off transforms into
vertical kinetic energy. We denote this part as Δ
We can therefore write:
which means
From this we get
The length of a jump of a mass point, which in our case is the centre of mass,
To find the optimal value of ϕ, we need to find the extreme of function
We do so by finding the zeros of the first derivate of function
We must also take a look at the second derivate to establish if angle that we
compute is maximum or minimum
Zeros of this function coincide with zeros of
From this equation we get the optimal angle of projection
With this we have established that optimal angle is independent of values
The fact
conclusion that
also holds true, which brings us to the
in fact is the optimal angle for longest jump, that is, is
the maximum of function
Of course height of the centre of mass of the jumper at take-off is bigger than
the height of the centre of mass when the jumper first touches the ground
because he/she pulls his/her legs closer to their bodies when landing (Image
2—kinematic and biodynamic model of the long jump technique). In this
case, the length of the jump is defined as
, where point
is defined as an intersection of curves:
, where denotes the height difference of centre of mass
before and after the jump. Computing this intersection gives us
which means
Taking into consideration that
we get
In the same way, as we did before, we can compute the maximum value of
by finding the zeros of the function
a lot of algebra and using Wolfram alpha we can show that
In McFarland’s research [10],
is estimated to be 0.1.
. With
Main body
Take-off is one of the key generators of a successful long jump. The take-off
model is defined by kinematic (Table 1 and Image 3) and dynamic
parameters. These are interrelated, in accordance with biomechanical laws. In
this phase, the jumper must optimally transform the horizontal velocity
developed in the approach into speed of take-off.
Image 3.
Kinematic model of take-off (G.C., distance 8.25 m).
The take-off speed is the resultant of horizontal velocity at TO and vertical
velocity at TO and is one of the most important predictors of an effective
jump length. Hay et al., Nixdorf and Bruggemann, found that the correlation
between the take-off speed and end result is between 0.74 and 0.83.
Horizontal velocity at TD for the athlete GC is 9.46 m s
. In take-off (TD-
TO), a reduction of the horizontal velocity of 1.36 m s
representing 14.3%. Its decrease is connected with the increase of vertical
velocity at TO, amounting to 3.90 m s
(Image 3). We can conclude that
the loss in horizontal velocity is proportional to the increase in vertical
velocity. The vertical velocity at touchdown is directed downwards and has a
negative sign (VYTD = −0.26 m s ).
The realisation of vertical velocity is directly connected with the magnitude
of the projection of CM on the surface at touchdown (touchdown distance =
0.63 m). One of the key biomechanical problems of take-off is how to ensure
the greatest possible vertical velocity, while keeping the decrease in
horizontal velocity to a minimum. The ratio of the take-off velocity
components VXTO:VYTO for the athlete GC is 2.08:1. The results of some
similar studies show us that this athlete has an optimal vertical velocity at
take-off and a horizontal velocity (VXTO) that is a little too low to allow
even longer jumps. The consequence of a relatively high vertical velocity at
take-off is also the magnitude of the angle of projection at take-off PATO =
24.10 deg. This magnitude of the angle of projection at take-off later defines
the CM parabola of the jumper.
The realisation of a high vertical velocity can be connected with an efficient
elevation of CM at take-off. The difference between the lowest position of
CM at touchdown and at take-off is 28 cm. This is augmented also with a
favourable ratio between the length of the last two strides (2.35 m:2.05 m)
and the lowering of CM for 11 cm in the last-but-one stride. The average
lowering of CM of the finalists of the 1997 World Championship in Athens
was 8 cm. This lowering of CM in the last stride but one increases the
vertical acceleration distance in the take-off phase.
A very important factor contributing to the take-off efficiency is the angular
velocity of the swing leg (AGTO), 790 deg s
for the athlete GC. This
velocity is not constant, it changes. It is highest in the middle part of the
swing amplitude, the lowest at the end of the swing, when the movement of
the swing leg is blocked. The consequence of this is the transfer of the force
of the mass inertia of this segment (the leg represents, according to the
anthropometric model of Dempster, 16.1% of the entire body mass) to the
common body centre of gravity of the jumper. Hay et al. states that the
contribution of the swing leg to the entire take-off impulse is between 17 and
Combining this information with the measured data:
Because, we have all the needed data, it is interesting to see how initial
velocity before the take-off
affects the optimal angle of projection
computed above. The values for initial velocity were chosen from the interval
because most elite long jumpers have their initial velocity from this
interval (Image 4).
Image 4.
Effect of initial velocity on optimal angle of projection.
Similarly, we can investigate the relation between coefficient of efficiency
and the length of the jump (Image 5).
Image 5.
Effect of efficiency coefficient on length of the jump.
Next graph (Image 6) is in fact actually another graph of correlation between
initial velocity before take-off and optimal angle of projection with the
difference that this graph shows how the length of jump depends on initial
angle of projection for different initial velocities. The optimal angle can be
seen as a value of an angle where maximum is achieved.
Image 6.
Relation between length of a jump and initial angle of projection.
The dynamic parameters of take-off (Table 2 and Image 7) were measured
directly with a force-platform. In this way, we measured the forces developed
by the jumper at take-off in a realistic situation, which is a rarity in studies of
this kind. The period of the contact phase was 127 ms. Here, the ratio
between the period of compression (84 ms) and the period of lift (43 ms) is
important—this was 66%:34% for our athlete, which is a good indicator of an
efficient take-off , from the point of view of the jump dynamics.
Image 7.
Force diagram of the take-off phase.
The compression phase by definition lasts from the instant the foot of the
take-off leg is placed on the ground till the moment of maximal amortisation
in the knee of the take-off leg (TD-MKF). The lift phase then follows till
take-off (MFK-TO). In the compression phase, our athlete developed a
maximal force of 4581 N in the horizontal direction and 5132 N in the
vertical direction. The muscular regime is eccentric in the compression phase
period and concentric in the lift phase period. The long jump take-off is a
typical example of a two-phase eccentric-concentric muscular contraction,
whose efficiency depends mainly on two physiological factors. The first in
the switching time—the utilisation of the elastic energy potential saved in the
muscles, connecting tissue and tendons. This elastic potential is available
only for a certain period of time. This time is defined by the life-time of the
cross-bridges between the actin and the myosin in the sarcomeres, lasting
from 15 to 100 ms. If the concentric contraction does not follow the eccentric
one quickly enough, there is no transfer of the elastic energy from the first to
the second phase. Studies have shown that elastic energy is the main force
generator in the eccentric (compression) phase and chemical energy of the
muscles in the concentric (lift) phase. An efficient integration of elastic and
chemical energy in the muscles and tendons can cause a 40% greater resultant
The second factor of an economic eccentric-concentric contraction is the
ability of the muscles to resist rapid extension—stiffness. Stiffness, as a
neural mechanism, depends mostly on the pre-activation of the muscles and
the action of reflexes: miotatic and Golgi tendon reflex. In light of the
biomechanical characteristics, the short-range elastic stiffness is a
characteristic for long jump take-off, where it is a matter of an immediate
mechanic response of the activated muscle to eccentric contraction. In our
experiment, we found the eccentric contraction time to be 84 ms and the
athlete develops in this phase a maximal vertical ground reaction force of
5132 N. This force is almost 7.5 times the body mass of the athlete. An
important kinematic criterion of the muscles’ efficiency while resisting
stretching (lowering of CM) is the angle of flexion in the take-off leg’s knee
—MKF = 148 deg. This angle must be sufficiently large. A marked lowering
of CM in the MKF phase results in prolonging the compression phase period
and through this an inefficient integration of the eccentric and concentric
action of the muscles.
The results in the study of Lees et al. show that force impulse in the
compression phase is the primary indicator of vertical velocity in the lift
phase. A study by Ballreich and Bruggemann namely showed a much higher
correlation between vertical velocity of take-off with effective length of the
jump (r = 0.89), than with horizontal velocity of take-off (r = 0.21). The force
impulse in the compression phase for the athlete GC was −101.9 N s.
In many sport disciplines, power is a major biomotor ability used in the
prediction of results. To some extent, other biomotor abilities are also
associated with power. It is of little wonder that many kinesiological studies
delve into the subject of power, investigating its structure, the training
methodology, the application of new methods and diagnostic procedures. In
modern kinesiological science, power is undoubtedly one of the most
meticulously researched biomotor abilities, yet many questions in this field
remain unanswered. The classification of power is based on different criteria.
According to the criterion of action, authors distinguish among peak power,
explosive power and endurance. Another criterion is that of neuromuscular
activity, where power manifests itself in the form of isometric contraction as
well as concentric, eccentric or eccentric-concentric contraction. Isometric
contraction occurs in conditions where muscular force equals an external
force, which is why there is no movement between two points of the muscle.
Eccentric contraction occurs in conditions where the external loading is
greater than the force of the activated muscles. In real motor situations, an
eccentric-concentric muscle contraction is the most common type and
manifests itself in take-off power. Take-off power is a special type of
explosive power in eccentric-concentric conditions and is most often seen in
cyclic, acyclic and combined movement structures. Its main characteristic is
the utilisation of elastic energy in the eccentric-concentric cycle of a muscle
contraction. The contribution of the elastic properties of the muscle-tendon
complex depends on the velocity of the transition. The transition must be as
fast as possible and should not exceed an interval of 260 ms. This type of
muscle contraction uses less chemical energy to perform mechanical work
compared to a concentric contraction alone, thus speeding up the movement.
If a concentric phase of contraction follows an eccentric phase quickly
enough, the elastic elements release the accumulated energy in kinetic and
mechanical work at the beginning of the concentric phase, thereby increasing
the muscular force.
The movement structures that occur in specific sport situations are associated
with different inputs of eccentric and concentric muscle contractions. Due to
the inter-segmentary transmission of energy and the optimisation of the takeoff action, the thigh muscles’ activity is important in vertical jumps in
conditions of a concentric or eccentric-concentric muscle contraction. With
vertical jumps, the muscles engage in the take-off action following the
proximal-distal principle of muscle activation. In the first phase of the jump
when the vertical velocity of the body’s centre of gravity increases, the
extensors of the trunk and hip are the most active muscles. The key role in
this phase of the take-off action is played by m. gluteus maximus, which is
able to develop great force due to the relatively low angular velocity of the
hips. The thigh muscles generate the peak activation at the beginning of the
hip extension [4, 6]. Electrical activity in a muscle results from a change in
the electrical potential of the muscle membrane. It is measured by means of
electrical potential that can be detected on the surface of the skin. For this
purpose, surface electrodes are fastened above the muscle whose EMG signal
is to be measured. Silver-silverchloride (Ag-AgCl) bipolar surface electrodes
are generally used. The skin at the recording site where the electrodes are
applied must be carefully prepared, cleansed and treated. Take-off power in
conditions where the active muscles first extend (eccentric contraction) and
then shorten (concentric contraction) is measured by means of a
countermovement vertical jump and a drop jump.
On the basis of the kinematic parameters (Table 3 and Image 8), we see
different contributions of the individual component distances to the final
result. For the athlete GC, the flight distance (L2) has the greatest absolute
and relative share in the total jump length—88%, then landing distance (L3)
—7.7% and the smallest take-off distance (L1)—3.5%. The flight distance is
defined as the horizontal distance between the point CM at take-off and the
same point at the moment of contact with the sand.
Max. height
of CM in
Kinematic parameters of the flight phase.
Image 8.
Kinematic model of flight and landing (GC, distance 8.25 m).
The small partial share of the take-off distance of the athlete GC is the
consequence of the take-off angle, which amounted to 71.9 deg and the ratio
between the vertical (VYTO) and horizontal component of velocity (VXTO)
at take-off. The relatively large share of the landing distance (L3) can be
ascribed to a very economic technique of landing. In the flight phase, the
hang-style long jump is characteristic for the athlete GC, which he utilises
very effectively as preparation for landing. A high parabola of CM flight can
be seen for this athlete, which is the consequence of a high take-off angle
(PATO = 24.1 deg). The highest point of the parabola is 65 cm above the
height of CM at take-off. The characteristics of the flight phase are of course
also influenced by other factors, especially air resistance, which was not the
object of study in this research.
An economic technique of landing is defined by: landing distance (L3),
height of CM at the moment of contact of the feet with the sand (HLA) and
landing flight distance (L4)—Table 4 and Image 8.
Height of
Kinematic parameters of landing.
One of the most important variables in landing is the horizontal landing
distance, defined by the projection of point CM and the initial contact with
the sand minus the distance lost by the athlete by falling backward or
otherwise breaking the sand at a point closer to the board than the initial point
of contact (LFB). The index of technique’s economy is: IR = L3 − LFB. Hay
and Nohara [7] found on a representative sample of 12 best American long
jumpers that the average fall-back distance is 11 cm, for our athlete this
distance is 15 cm. This leads us to conclude that his technique is economic
and efficient. Mendoza [11] also finds that values of landing distance (L3)
between 57 and 65 cm point to a very economic landing. The athlete can
contribute an important part to the competitive result with good landing
technique, with this phase being dependent on specific motor abilities,
especially power of the hip flexors and belly muscles; morphologic
characteristics, coordinative abilities of the athlete and also the quality of the
landing area.
The results of kinematic and dynamic analysis showed that the efficiency of
long jump is defined mostly by the following take-off parameters: horizontal
velocity at TO, vertical velocity at TO, speed at TO, angle of projection at
TO, maximal force X—horizontal and Y—vertical axis, force impulse in
compression and lift phase. An important factor of a rational technique of
long jump is also the landing, which is defined by the landing distance and
fall-back distance. This study was conducted with only one elite long jumper
(third place at the Universiade in Fukuoka, third place at the Seville World
Athletics Championship) and offers an insight into the dynamic and
kinematic parameters required for top results in this athletic discipline.
Biomechanical diagnostics highlights the objective parameters of the
technique on which the training process must be based. The study results hold
both theoretical and practical value in applied biomechanics and sport
practice, mainly in terms of selecting the optimal training methods.
Kinematic Model for Project Scheduling
Project scheduling problems have been well studied in the literature since the
1950s. According to Ref., project scheduling is an important process in
project management. The project scheduling literature largely concentrates on
the generation of a precedence-feasible and resource-feasible schedule that
optimizes scheduling objective(s) (most often the project duration) and that
serves as a baseline schedule for executing the project. Baseline schedules
serve as a basis on which to allocate resources to different activities in order
to optimize some measure of performance and for planning external activities
such as material procurement, preventive maintenance and delivery of orders
to external or internal customers.
However, project scheduling is a difficult process due to scarce resources as
well as precedence relations between activities. Admissible schedules must
obey constraints such as precedence relations (a task cannot start unless some
other tasks have been completed) and resource restrictions (labour and
machines are examples of scarce resources with limited capacities). Thus, the
resource-constrained project scheduling problem (RCPSP) consists of project
activities subject to many kinds of uncertainties that must be scheduled in
accordance with precedence and resource (renewable, non-renewable and
doubly constrained) availabilities such that the total duration or makespan of
a project is minimized.
Most of the variants and extensions of the RCPSP may be summarized and
classified within multiple modes, generalized time lags and objective
functions, resulting in highly complex optimization problems. The RCPSP
has become a well-known standard problem in the context of project
scheduling, and numerous researchers have developed both exact and
heuristic scheduling procedures. Due to the complex nature of the problem,
only a small number of exact algorithms have been presented in the literature,
and many heuristic solution algorithms have been presented in the literature.
Therefore, this chapter presents the development and implementation of the
kinematic model named as Coupled Estimate Technique for project
scheduling with constrained resources under uncertainties. In the Coupled
Estimate Technique, the modelled duration depends on the planned duration
and on the resource variability (aleatory uncertainty), and the modelled
resource depends on the planned resource and on the duration variability
(aleatory uncertainty).
The development of the Coupled Estimate Technique was based on robotic
manipulator kinematic concepts. Kinematics is the science of motion that
treats motion without regard to the forces/moments that cause the motion.
Robotic manipulator or industrial robot consists of several rigid links
connected in series (open kinematic chain) by revolute or prismatic joints;
one end of the chain is attached to a supporting base, while the other end is
free and equipped with a tool (end-effector) to manipulate objects or perform
assembly tasks; and the end-effector could be a gripper, a welding torch, an
electromagnet or another device.
Robotic manipulator kinematics deals with the analytical description of the
spatial displacement of the end-effector with respect to a fixed reference
coordinate system, in particular the relations between the joint variables and
the position and orientation of the end-effector. There are two (direct and
inverse) fundamental problems in robotic manipulator kinematics. Given a
set of joint variables, the direct kinematic problem is performed to find the
position and orientation of the end-effector relative to the fixed reference
coordinate system. Given the position and orientation of the end-effector
relative to the fixed reference coordinate system, the inverse kinematic
problem is performed to find all possible sets of joint variables that could be
used to attain this given position and orientation. Image 1 illustrates a robotic
manipulator or industrial robot.
Image 1.
Robotic manipulator or industrial robot.
In analogous way, the Coupled Estimate Technique deals with the analytical
study of the geometry of project activities of a precedence diagram with
respect to a fixed reference two-dimensional coordinate system (0, T, R)
where the abscissa is the duration axis (T) and the ordinate is the resource
axis (R). Thus, the precedence diagram may be considered as a kinematic
chain (open, closed and/or hybrid), where one end of the chain is attached to
a fixed reference two-dimensional coordinate system and represents the begin
project activity, while the other end is free and represents the end project
activity, as well as the rigid links represent the precedences between project
activities and joints are represented by the project activities. Image 2 presents
a precedence diagram analogous to a robotic manipulator in open kinematic
Image 2.
Precedence diagram in open kinematic chain.
The majority of research efforts related to RCPSP assume complete
information about the scheduling problem to be solved and a static and
deterministic environment within which the precomputed baseline schedule is
executed. However, in the real world, project activities are subject to
considerable uncertainties, stemming from various sources, which are
gradually resolved during project execution.
The presence of uncertainties in project management is recognized by
practitioners and researchers as an important cause underlying the high
project failure rate. Project-related uncertainties can lead to numerous
schedule disruptions. These uncertainties may stem from the following
sources: activities may take more or less time than originally estimated;
resources may become unavailable; material may arrive behind schedule;
ready times and due dates may have to be changed; new activities may have
to be incorporated; activities may have to be dropped due to changes in the
project scope; and weather conditions may cause severe delays.
This chapter makes a distinction between uncertainty and risk, assuming that
there are degrees of knowledge about the estimations of project duration and
resources; the uncertainty may be quantifiable but without probability of
occurrence, while the risk is quantifiable and with probability of occurrence.
Uncertainty may be aleatory due to the intrinsic variability of projects or
epistemic due to the lack of relevant knowledge related to carrying out the
project. Thus, quantifying uncertainty is relevant to project scheduling
because it sheds light on the knowledge gaps and ambiguities that affect the
ability to understand the consequences of uncertainties in project objectives.
From a modelling viewpoint, there are four approaches for dealing with
uncertainty quantification in a scheduling environment where the evolution
structure of the precedence network is deterministic: reactive scheduling,
stochastic scheduling, scheduling under fuzziness and proactive (robust)
The reactive (predictive) scheduling models do not try to cope with
uncertainty quantification when creating the baseline schedule. Basically,
efforts are largely concentrated on repairing, revising or re-optimizing the
baseline schedule when an unexpected event occurs.
The reactive effort may be based on very simple techniques aimed at a quick
schedule restoration; a typical example is the well-known right-shift rule.
This rule will move forward in time all the activities that are affected by the
delays; often, the precedence diagram must be tailored in order to rearrange
the changed activities. The reactive effort also may be based on as full
rescheduling of the precedence diagram.
Most of the literature on the RCPSP assumes that activity durations are
deterministic; however, activity durations are often uncertain. These
uncertainties may be due to different sources, such as estimation errors, late
delivery of resources, unforeseen weather conditions, unpredictable incidents
(machine or worker) and others.
The stochastic RCPSP acknowledges that activity durations are not
deterministic, i.e. the activity durations are modelled as stochastic variables.
Therefore, the stochastic RCPSP aims to schedule project activities with
uncertainty quantification of durations in order to minimize the expected
project duration subject to precedence and constrained resources. The
stochastic project scheduling models view the project scheduling problem as
a multistage decision process; the complete schedule (containing all
activities) is constructed gradually as time progresses by means of a
scheduling policy, exploiting the available information about the uncertainty
of activity durations.
Generally, the uncertainty of activity duration in project scheduling was
handled by stochastic approaches using a probabilistic-based method. This
kind of uncertainty in project duration is associated with randomness.
However, for projects never be carried out previously, it is infeasible to
determine the probability distribution of activity duration.
Therefore, the fuzzy project scheduling approach is used when the probability
distributions for the activity durations are unknown due to a lack of historical
data and, thus, the activity durations have to be estimated by human experts.
In the situations involving the imprecision instead of uncertainty, the project
scheduling literature recommends the use of fuzzy numbers for modelling
activity durations. Instead of probability distributions, these quantities make
use of membership functions, based on possibility theory.
Traditionally, the robust schedule may absorb some level of unexpected
events (machine breakdowns, staffing problems, unexpected arrival of new
orders, early or late arrival of raw material and uncertainties in the duration of
processing times). Thus, in order to minimize the impacts of uncertainties and
the need of new scheduling or rescheduling, proactive scheduling approach
aims at the generation of a robust baseline schedule that incorporates a certain
degree of anticipation of potential variability or of potential disruptions
according to the objective values (makespan).
The proactive (robust) project scheduling model has prospered widely in the
field of machine scheduling. Redundancy-based techniques related to
durations and resources have already found their way to the field of project
scheduling. The critical chain project management (CCPM) and Success
Driven Project Management (SDPM) methods are becoming increasingly
popular among project management practitioners.
This chapter presents a kinematic model named as Coupled Estimate
Technique for project scheduling with constrained resources under
uncertainties. This technique considers precedence, duration, resources and
uncertainties related to project activities in order to analytically model the
outcomes of project-related events or conditions (uncertainty) with the
potential of favourable but mainly adverse consequences on project
objectives (duration and resources). This approach can be used to quantify
uncertainties; thus, it can help to solve project scheduling problems related to
the following limitations and disadvantages identified in the literature review:
The literature on project scheduling under risk and uncertainty
was clearly conceived in a machine scheduling environment,
whereas this work presents a project scheduling model from the
viewpoint of project management.
Projects are often subject to considerable uncertainty during
their execution, but most of the research on project scheduling deals
with only one source of uncertainty most often the duration of
activities. With the kinematic model detailed herein, the project
activities have a set of attributes represented by the duration and
resources as well as the uncertainties related to duration and
Traditional project scheduling is represented mainly by an
insufficient and inadequate when the activities of a project have a
set of attributes. In the kinematic model, project scheduling is
represented by IDEF0 (Integrated Computer-Aided Manufacturing
Definition for Functional Modelling).
Project scheduling methods are focused mainly on the basic
RCPSP model. In the kinematic model presented here, project
scheduling is considered as a kinematic chain (open (serial), closed
(parallel) and/or hybrid) formed by a set of rigid links (precedence
of activities) that are connected by joints (project activities) with one
fixed extremity (activity that represents the beginning of the project)
and one free extremity (activity that represents the end of the
project), which are represented by a homogeneous transformation
The literature on project scheduling states that the generation of
proactive (robust) multi-resource baseline schedules in combination
with efficient and effective reactive schedule repair mechanisms
constitutes a viable area of future research. The kinematic model
presented in this chapter provides this combination through the
direct and inverse kinematic models. It provides evidence of the
influences stemming from uncertainties in project activities,
enabling the balancing of durations and resources between project
activities and between projects.
Kinematic fundamentals for the robotic manipulators and for
the model proposed by this chapter
This topic aims to present the main fundamentals related to the kinematic
problems for the robotic manipulators or industrial robots, as well as to
present the main fundamentals related to the kinematic model proposed by
this chapter for project scheduling with constrained resources under
In order to describe and represent the spatial geometry of the links of a
robotic manipulator with to a fixed reference coordinate system, Denavit and
Hartenberg (D-H) proposed a systematic approach utilizing matrix algebra.
This systematic approach reduces the direct kinematic problem to finding an
equivalent 4x4 homogenous transformation matrix that describes the spatial
relationship between two adjacent rigid links with respect to a fixed reference
coordinate system.
In the inverse kinematic problem, given the position and orientation of the
end-effector, we would wish to find the corresponding joint variables of the
robotic manipulator. The inverse kinematic problem is not as simple as the
direct kinematic problem, because the kinematic equations are nonlinear and
their solution is not easy (or even possible) in a close form. The inverse
kinematic problem may be solved by various methods, such as inverse
transform of Paul, screw algebra of Kohli and Soni, dual matrices of Denavit,
dual quaternion of Yang and Freudenstein, iterative of Uicker, geometric
approaches of Lee and Ziegler and others. Image 3 represents a synthesis to
the direct and inverse kinematic problem.
Image 3.
Synthesis to the direct and inverse kinematic problem for robotic
Basically, the project consists of a set of activities that must be performed in
order to complete the project. The kinematic model technique for project
scheduling with constrained resources under uncertainties named as Coupled
Estimate Technique deals with the movements in the scheduled activities
without consideration of the causes of the movements. Each project activity
has a set of attributes represented by activity estimates (duration, resource
and precedence), activity uncertainties (duration, resources and critical factor)
and activity variables (duration and resource).
The outcomes of activities depend of their attributes, and the analytical
kinematic model provides a metaschedule to the project. To model a project
activity with kinematic model, it is assumed that the activity estimates are the
constants, the kinematic equations are the orientation, and the modelled
outcomes depend of the uncertainties and variables. Thus, the kinematic
model may be direct or inverse type according to Image 4.
Image 4.
Kinematic model for Coupled Estimate Technique.
Therefore, given the activity uncertainties determined by the project team, the
direct kinematic model or the CET may be used to model the activity
variables. Moreover, given the activity variables determined by the project
team, using the inverse kinematics or the CET, the activity uncertainties may
be modelled. It is important to emphasize that the estimates of the activity
attributes must be part of organizational policy used by the team during the
project planning. Image 5 illustrates the kinematic model or the CET with the
IDEF0 language.
Image 5.
(a) Direct kinematic model and (b) inverse kinematic model.
Coupled Estimate Technique concepts
Coupled Estimative Technique (CET) is a project scheduling artefact to
model the project activity with constrained resources under uncertainties.
This section presents the main aspects of the CET that provide the
mathematical formulation involving the activity estimates (duration, resource
and precedence), activity uncertainties (duration, resources and critical factor)
and activity variables (duration and resource).
Let each project activity be represented in the two-dimensional Cartesian
coordinate system (0, T, R) where the abscissa is the duration axis (T) and the
ordinate is the resource axis (R). The value set of the duration and resource
for project activity lies between the estimated ordered pair (estimated
duration (te) and estimated resource (re)) and the modelled ordered pair
(modelled duration (tm) and modelled resource (rm)).
Estimated ordered pair is represented in the estimated coordinate system (0,
Te, Re), and the modelled ordered pair is represented in the modelled
coordinate system (0, Tm, Rm). The rotation alpha expresses the uncertainty
in the estimation of the activity duration, and the rotation beta expresses the
uncertainty in the estimation of activity resource. Image 6 shows the
graphical representation of one project activity.
Image 6.
Graphical representation of one project activity.
The mathematical formulation of the CET used to model the project activities
is obtained by algebraic operations with homogeneous transformation
matrices (4 × 4). They map a project activity from estimated coordinate
system (estimated ordered pair) to modelled coordinate system (modelled
ordered pair) using the homogeneous coordinate notation. The homogeneous
transformation matrix (H) consists of four submatrices, according to Eq. (1):
The rotation submatrix (R3 × 3) transforms one project activity expressed in
the estimated coordinate system to the modelled coordinate system. For
project scheduling, the rotation submatrices are used to produce the effect of
the uncertainty in the estimation of the activity duration by rotation alpha at
the duration axis and the effect of the uncertainty in the estimation of activity
resource by rotation beta at the resource axis. According to, the basic rotation
matrices are shown in Eq. (2), rotation alpha at the duration axis and rotation
beta at the resource axis:
As the duration and resource of the project activity vary between estimated
and modelled values, the position submatrix (P3 × 1) represents the
coordinates of the estimated ordered pair. Therefore, the first element of the
position submatrix is the duration translation or the estimated duration (te),
the second element of the position submatrix is the resource translation or the
estimated resource (re), and as the project activity is represented in a
geometric plane, the third element is null. The position submatrix (P3 × 1) is
shown in Eq. (3):
The perspective transformation submatrix (1 × 3) is useful for computer
vision and the calibration of camera models. For the mathematical
formulation of the CET, the elements of this submatrix are set to zero to
indicate null perspective transformation. The fourth diagonal element is the
global scaling factor (1 × 1), which is set to 1 in this work. Values different
from 1 are commonly used in computer graphics as a universal scale factor
taking on any positive values. The project activity is mathematically
represented through homogeneous transformation matrices (4 × 4) which are
arranged in four steps to obtain the continuous duration and cost functions as
described in Table 1.
The first step is performed through the product between the homogeneous
matrices (HT, α) and (Hte; re), where (HT, α) means a rotation alpha on the
duration axis and (Hte; re) means a translation in the duration and resource
axes. The algebraic operation of Eq. (4) corresponds to the effect of the
uncertainty in the estimation of the activity duration in estimated resource of
the project activity:
The first element of the position submatrix (P3 × 1) in Eq. (4) represents the
activity duration; the second represents the estimated resource varying
according to the uncertainty in the estimation of the activity duration. As the
position submatrix (P3 × 1) is a spatial geometric representation (abscissa,
ordinate and cote), the third element may be disregarded because the project
activity is a plane geometric representation (abscissa and ordinate).
The second step listed in Table 1 performs the product between the
homogeneous matrices (HT, β) and (Hte; re). The former is the homogeneous
matrix composed by a rotation beta on the resource axis, and (Hte; re) means a
translation in the duration and resource axes. The algebraic operation of Eq.
(5)corresponds to the effect of the uncertainty in the estimation of the activity
resource in estimated duration of the project activity:
The first element of the submatrix (P3 × 1) in Eq. (5) represents the activity
duration varying according to the uncertainty in the estimation of the activity
resource; the second, the activity resource. The third element of the submatrix
(P3 × 1) in Eq. (5) may be discarded because the project activity is mapped at
the geometric plane. The negative signal arises because the projection of the
duration translation is at the negative semi axis of the cote coordinate.
The third step prescribed in Table 1 performs the sum between Eqs. (4) and
(5). The summation shown in Eq. (6) represents the Coupled Estimate
Technique (CET) overall homogeneous matrix that provides the joint effect
of the uncertainties (duration and resource) in the estimations (duration and
resource) of the project activity:
The first element of the position submatrix (P3 × 1) in Eq. (6) represents the
modelled duration in function of the estimated duration and uncertainty in the
estimation of the activity resource. The second element represents the
modelled resource in function of the estimated resource and uncertainty in the
estimation of the activity duration. As the project activity is mapped at the
geometric plane, the third element may be disregarded. However, it might be
used to represent other project goals, e.g. the quantification of the activity
performance or quality.
And finally, the fourth step in Table 1 performs some orientations about the
range of the uncertainties (duration and resource) and the critical factor of the
project activity:
The uncertainties must range between 0° (highest degree of
uncertainty) and 89° (lowest degree of uncertainty). When alpha and
beta equal to 0°, the modelled duration equals to the double of
estimated duration (2te), and the modelled resource equals to the
double of estimated resource (2re).
When alpha and beta equal to 90°, there are no uncertainties or
certainties. Therefore, the modelled duration equals to the estimated
duration (te), and the modelled resource equals to the estimated
resource (re).
The certainties must range between 91° (lowest degree of
certainty) and 180° (highest degree of certainty). When alpha and
beta equal to 180°, the duration and resource modelled are null; this
means a dummy activity, i.e. a project activity without duration and
The critical factor (theta) of the project activity must be unitary
for cases where the modelled value is less than or equal to double of
the estimated value, and the critical factor (theta) must be greater
than one for cases where the modelled value is greater than double
what was estimated value.
Table 2 shows the mathematical formulations for one project activity of the
Coupled Estimate Technique.
tm = θ. te.
(1 + cos β)
rm = θ. re.
(1 + cos α)
Mathematical formulation of the CET.
Implementation of the direct kinematic model with CET
To demonstrate how the direct kinematic model is implemented, this section
presents a didactic example with scheduling of duration in days, one type of
resource (financial in dollar) and the critical factor unitary for all activities
present in the critical path, according to the four sequential tasks. The main
objective is to obtain the modelled schedule or project duration modelled
(pdm) and modelled budget or project resource modelled (prm) with the
effects of uncertainties of the estimates in the planned schedule or project
duration estimated (pde) and planned budget or project resource estimated
(pre) of the project. Assuming a critical path with the activities in the project
precedence diagram which have the attributes:
A0: Project beginning
A1: Duration estimation equal to 30 days with uncertainty equal
to 45°; resource estimation equal to $100 with uncertainty equal to
A2: Duration estimation equal to 20 days with uncertainty equal
to 45°; resource estimation equal to $50 with uncertainty equal to
A3: End of project
As task 1 for implementation of the direct kinematic model with CET, the
planned schedule and budget without the uncertainties must be determined;
thus, the planned schedule or project duration estimated (pde) is equal to 50
days, and the planned budget or project resource estimated (pre) is equal to
In task 2, the project precedence diagram is modelled with IDEF0 from the
attributes of the project activities. Image 7 presents the IDEF0 with:
Activities estimates (te1, re1; te2, re2)
Activity uncertainties (α1, β1, θ1; α2, β2, θ2)
Activity variables to be modelled (tm1, rm1; tm2, rm2)
Project duration estimated (pde) and project resource estimated
Project duration modelled (pdm) and project resource modelled
(prm) to be modelled
Image 7.
Project precedence diagram with IDEF0 for direct kinematic model with
During the third task, the modelled variables are calculated according to the
kinematic equations of the CET presented in Table 2 and Image 4. From the
estimates and uncertainties of the activities, the modelled variables of project
activities are presented in Table 3.
te1 = 30
α1 = 45°
51 days
β1 = 45°
te2 = 20
α2 = 45°
34 days
re2 = $50
β2 = 45°
Modelled variables of the project activities.
And finally, the fourth task describes that the project duration modelled
(pdm) is equal to the sum of the modelled durations, and project resource
modelled (prm) is equal to the sum of the modelled resources. Table 4
presents the project scheduling modelled according to the direct kinematic
model with CET.
pde = 50
pdm = 85
35 days
Project scheduling modelled according to the direct kinematic model with
Analyzing the information in Table 4, due to the uncertainties in the
estimation of the project duration, the schedule should be increased in 35
days that represent 70% besides of the project duration estimated. In the same
manner, due to the uncertainties in the estimation of the project resource, the
budget should be increased in $85 that represents 70% besides of the project
resource estimated.
Implementation of the inverse kinematic model with CET
To demonstrate how the inverse kinematic model is implemented, this section
presents a didactic example with scheduling of duration in days, one type of
resource (financial in dollar) and the critical factor unitary for all activities
present in the critical path, according to the four sequential tasks. The main
objective is to obtain the modelled uncertainties in the estimation of the
project durations and resources from estimated and performed values of the
project activities. Assuming a critical path with the activities in the project
precedence diagram which have the attributes:
A0: Project beginning
A1: Duration estimation equal to 30 days and duration
performed equal to 51 days; resource estimation equal to $100 and
resource performed equal to $170
A2: Duration estimation equal to 20 days and duration
performed equal to 34 days; resource estimation equal to $50 and
resource performed equal to $85
A3: End of project
As task 1 for implementation of the inverse kinematic model with CET, the
planned schedule and budget as well as the performed schedule and budget
with the effects of the uncertainties must be determined; thus, the planned
schedule or project duration estimated (pde) is equal to 50 days, the planned
budget or project resource estimated (pre) is equal to $150, the performed
schedule or project duration performed (pdp) is equal to 85 days and the
performed budget or project resource performed (prp) is equal to $255.
In task 2, the project precedence diagram is modelled with IDEF0 from the
attributes of the project activities. Image 8 presents the IDEF0 with:
Activity estimates (te1, re1; te2, re2)
Activity uncertainties (α1, β1, θ1; α2, β2, θ2) to be modelled
Activity variables, which for inverse kinematic model, the
performed duration and resource (tp1, rp1; tp2, rp2)
Project duration estimated (pde) and project resource estimated
Project duration performed (pdp) and project resource
performed (pre)
Image 8.
Project precedence diagram with IDEF0 for inverse kinematic model with
For the third task, the kinematic equations of the CET presented in Table 2
must be tailored where the modelled variables are substituted by the
performed variables according to Image 5. From the estimated and
performed values, the modelled uncertainties of project activities are
presented in Table 5.
In task 4, the uncertainty of the project must be analyzed. There are some
ways to determine the project uncertainty; frequently, this choice is realized
by the project team taking account the nature and challenges of the project.
The following are some suggestions:
The project uncertainty may be determined by the average
between the uncertainties of the activities, where for the case studied
in this section, the project uncertainty for the duration and resource
are equal to 45°.
The project uncertainty may be determined by the greater or
lower uncertainty of the activities.
The project uncertainty may be determined by the sum with the
weight of uncertainties of the activities.
Comments and conclusions
This chapter represented one interesting example of cross-fertilization
between different areas, where the manipulator kinematic concepts (direct
and inverse) were tailored and implemented in order to provide an innovative
solution for project scheduling with constrained resources under
uncertainties. Basically, the homogeneous transformation matrices (4 × 4)
were used to model the schedule (time) and budget (resource) of the projects
taking account the uncertainties in the estimates.
In the perspective of the project management, the direct kinematic model may
be used to the project scheduling in order to model the schedule and budget
when the duration and resource estimations are not known completely;
therefore, there are degrees of uncertainties related to duration and resource
estimation. And, the inverse kinematic model may be used to the
implemented projects in order to model or quantify the degrees of
uncertainties related to duration and resource estimation. These modelled
uncertainties of the implemented project may be used during the project
scheduling of similar projects.
The modelled outcomes provide information that can enhance the processes
for schedule and budget of the project management, helping to achieve
project scheduling of a project. They also provide information about project
risk management processes, helping to identify, analyze and respond to
uncertainties that are not definitely known but pose the potential for
favourable or, more likely, adverse consequences on project objectives
(duration and resources).
However, the model represents a conjecture of a phenomenon and, therefore,
an approximation of the behaviour of that phenomenon. Thus, the modelled
outcomes of the kinematic model for project scheduling with constrained
resources under uncertainties must be critically analyzed by a project team.
A New Methodology for Kinematic
Parameter Identification in Laser Trackers
The development of more accurate large-scale measurement systems is a
critical need in the verification of large parts and facilities in sectors with
high-quality requirements as in naval, aeronautic, or spatial industries. In
these industries, dimensional accuracy of large parts needs long-range
accurate measuring devices to ensure not only the parts right dimensions but
also the precise positioning of every part in large assemblies.
Their applications are very wide such as large-volume measurements,
inspection, calibration of an industrial robot, reverse engineering, analysis of
deformations, machine tool volumetric verification, and so on.
The laser tracker (LT) offers significant advantages such as portability,
flexibility, precision, or high-speed data acquisition. However, the
mechanical assembly is an important source of errors such as offsets or
eccentricities, which generates errors in measurements. A disadvantage of
these measurement systems is that the user cannot know whether the LT is
measuring correctly. Existing standards provide tests to evaluate the
performance of the LT. However, these tests require specialized equipment
with a high cost. In addition, they require long time-consuming and
specialized equipment.
The calibration procedure identifies the geometric parameters to improve
system accuracy. However, there are few studies about the calibration of LTs.
The basis of the calibration procedure is to determine the parameters of the
geometric error model measuring a set of reflectors located at fixed locations
from different locations of LT. One of the advantages of this method is that
specialized equipment is not required so that any user of a measurement
system could perform the LT calibration. Furthermore, the time required to
calibrate the TL is considerably reduced and considerably compared with the
time required to carry out functional tests recommended by ASME B89.4.19.
This chapter aims to present a method for performing a quick and easy
calibration by measuring a mesh of reflectors to improve the accuracy of the
LT. We have developed a kinematic error model and a generator of synthetic
points to evaluate the procedure performance. Later, an experimental trial to
identify the geometric parameters and a sensitivity analysis to determine the
most appropriate instrument calibration measurement positions have been
What a laser tracker is?
An LT is a long-range metrological device with an accuracy of some tens of
micrometers. The LT is composed of an interferometer mounted on a two
degrees of freedom rotatory gimbal. The laser beam reflects in a spherically
mounted retroreflector (SMR), which returns the beam to the interferometer.
Any displacement of the SMR is detected by position sensitivity devices,
which adapt the LT position to follow the SMR position. The distance
measured by the interferometer, (d), along with the readings of the encoders
placed in each one of the two rotatory axes, (θ, ϕ), gives the spherical
coordinates of the SMR centre referring to the LT reference system as shown
in Image 1. Knowing the spherical coordinates, the corresponding Cartesian
coordinates can also be calculated based on Eqs. (1)–(3).
Image 1.
Laser tracker working principle.
Laser tracker kinematic model
The LT can be considered as an open kinematic chain with three joints: two
rotary joints in the gimbal and a prismatic joint corresponding to the laser
beam. The kinematic model is a mathematical expression that determines the
position of the final joint of the kinematic chain (the SMR centre) with
reference to the LT frame. We have used the Denavit-Hartenberg (D-H)
formulation to develop the kinematic model. This method defines the
coordinate transformation matrices between each two consecutive reference
systems j and j − 1 as the product of the rotation and translation matrices
from j − 1 joint to j joint. The DH model needs four characteristic parameters
(distances dj, aj, and angles θj, αj) for these matrices. Image 2 shows the
relationships between the consecutive reference systems. Knowing the
kinematic parameters corresponding to every joint, the homogeneous
transformation matrix from reference system j to j − 1 is the result of the
product of the four rotation and translation matrices shown in Eq. (4).
Image 2.
Denavit-Hartenberg model.
Being Tm,n and Rm,n, the homogeneous translation matrices corresponding to
translation (T) or rotation (R) n along axis m.
Following the DH model, the LT kinematic model has been determined as
shown in Image 3. The position of the reflector referring to the LT reference
system is defined by Eq. (5).
Image 3.
Laser tracker kinematic model.
This chapter is based on the LT API Tracker 3. Table 1 shows the kinematic
parameters corresponding to this LT model.
θ −
ϕ −
Laser tracker kinematic parameters.
Laser tracker error model
Relative positions between two consecutive joints are defined by the DH
model. These are the nominal positions, but they are conditioned by the LT
errors. This means that reference frames are not at its expected position as
shown in Image 4. An error model that fits the geometry of the joints is
necessary to modify the kinematic model.
Image 4.
Error model.
In this chapter, the error model shown in Image 5 has been used. This model
is based on six degrees of freedom error for each joint. Mathematically, the
error is stated as a transformation matrix between the nominal joint frame and
the real frame. The matrices are different for rotary joints (Eq. (6)) and linear
joints (Eq. (7)). For each error matrix, a new set of six error parameters is
defined (δx, δy, δz, εx, εy, εz). The calibration procedure will calculate the
optimum parameter values to minimize the LT error.
Image 5.
Error parameters.
Including the error matrices in Eqs. (5) and (8), which describes the
kinematic model with the error model, is obtained.
By checking the behavior of the error model, it has been proven that errors
depend on the joint position (the rotation angle in rotary joints and distance of
the interferometer). This means that error parameters must have a formulation
depending on the joint position. For the error parameters corresponding to the
linear error matrix, we have used a polynomial function (see Eq. (9)) and for
the error parameters corresponding to the rotary error matrices, a Fourier
shape function is more convenient because of its periodic behavior (see Eq.
For φ = δx, δy, δz, εx, εy, εz.
Model validation
The kinematic error model must be validated. The validation has been
performed first with synthetic values and then with real values.
A parametric generator of meshes of reflectors with known errors has been
programmed. This algorithm generates a mesh of synthetic reflector
coordinates with nominal position values. Then a set of error parameters is
introduced, and the theoretical measurements of an LT, affected by the error
parameters introduced, are calculated.
These measurements are introduced in the calibration procedure to calculate
the error parameters with the optimization of the function described in Eq.
(11) and correct the measurements.
Finally, the initial measurements and the corrected ones are compared with
the nominal reflector positions according to Eq. (12) to calculate the
calibration accuracy improvement achieved.
The error parameter set is shown in Table 2.
Three meshes of synthetic reflectors have been generated:
Flat YZ plane mesh 15 × 14 = 210 reflectors (Image 6).
Image 6.
Errors in a plane mesh.
X = 5.000 mm constant.
Y = 10.000 ÷ 10.000 Δ 1.420 mm.
Z = 1.500 ÷ 5.000 Δ 500 mm.
Cubic XYZ mesh 6 × 6 × 6 = 216 reflectors (Image 7).
Image 7.
Errors in a cubic mesh.
X – 10,000 ÷ 10,000 Δ 4,000 mm.
Y – 10,000 ÷ 10,000 Δ 4,000 mm.
Z – 10,000 ÷ 10,000 Δ 4,000 mm.
Spherical HVR mesh 12 × 8 × 5 = 480 reflectors (Image 8).
Image 8.
Errors in a spherical mesh.
H 0° ÷ 360° Δ33°.
V 77° ÷ − 60° Δ20°.
R 1,000 ÷ 15,000 Δ 3,500 mm.
The calibration procedure calculates the parameter errors and corrects the
generated measurements. As the error parameters are calculated through a
mathematical optimization, the result do not gives exactly the nominal
parameters but provides a set of parameters that minimizes the LT error. In
fact, the calibration reduces the LT error more than 98%. For example, Table
3 shows the calculated error parameters corresponding to the spherical mesh.
The validation with synthetic data shows that the programmed algorithms are
working properly but, as the errors have been generated with the error model
purposed, it was expected to obtain a good calibration result. It is necessary
to check the calibration behavior with real data. To do it, an experiment has
been performed. A set of 17 reflectors has been placed over the table of a
coordinates measuring machine (CMM). Then the positions of these
reflectors have been measured with the CMM and the LT from five different
positions as shown in Image 9.
Image 9.
Real data validation experiment.
The estimation of the error parameters have been performed on the basis that
the distances between every pair of reflectors must be the same regardless the
LT position from which they have been measured. Eq. (13) compares the
distances measured by the CMM and the LT.
Being dmik, the distance measured between the i-esim pair of reflectors from
the k-esim LT position and diCMM the same distance measured by the CMM.
Cn,r is the number of possible pairs of reflectors. In this case i=C2,17 = 136
pairs of reflectors. Image 10 and Table 4 show the initial and residual errors
of the reflectors mesh.
Image 10.
CMM reflectors mesh calibration.
In the real calibration object of this work, we measure a mesh of reflectors
out of the metrological laboratory, and there will be no nominal data to
calculate the error parameters. To simulate the calibration procedure behavior
and its requirements under real conditions, we have used the CMM
measurements with a new optimization function. This function is equivalent
to Eq. (11) but instead of comparing CMM and LT distances, we compare
distances from every pair of LT positions as shown in Eq. (14).
With this optimization criterion, we found out that calibration result increased
the LT error. That is due to the fact that the mathematical optimization
matches the distances but to a value different from the nominal. This means
that it is necessary to introduce a calibrated distances gauge in the reflectors
mesh to determine its behavior. After several simulations, a gauge of four
reflectors gives the best results, and the objective function is as shown in Eq.
To evaluate the calibration results, we have established two different criteria:
(1) a distances criterion that evaluates the differences of distances between
every pair of reflectors measured from every pair of positions of LT
according to Eq. (16) and (2) a coordinates criterion that evaluates the
position error for every reflector measured from every LT position (see Eq.
(17)). This second criterion requires first to transform all measurements to the
same reference system.
The results of the calibration following both criteria are shown in Tables 5
and 6.
Sensitivity analysis
In order to know the SMR positions more appropriate to perform the
calibration, a sensitivity analysis has been performed. In this analysis, the
influence of every error parameter in the global LT measuring error has been
analyzed. Using the synthetic data generator, many synthetic measurement
meshes as error parameters that have been considered in the error model have
been generated. Thus, 18 meshes are necessary. All of them have been
generated with the same nominal coordinates as the spherical mesh generated
in the synthetic data validation in chapter 5.1 and every mesh is affected by a
single error parameter with a value of 1µm for linear error parameters or
1µrad for angular error parameters.
Image 11 shows the error produced by every error parameter through the
spherical mesh.
Image 11.
Sensitivity analysis.
As a result, it is deduced that all distance error parameters (δ) produce
constant errors. Errors due to parameters εx1, εy1 and εz1 depend on θ, ϕ and d,
errors due to parameters εx2 and εy2 depend on ϕ and d and errors due to
parameters εz2, εx3 and εy3 depend only on d. Finally, parameter εz3 produces
no errors. Taking a closer look at the parameters that produce variable errors,
we can see in Image 12 that the maximum and minimum error values
correspond to maximum, minimum and zero values of ϕ and also on θ every
Image 12.
Sensitivity analysis of variable errors.
Experimental setup
The sensitivity analysis proves that extreme and zero values of tilt angle are
the best. It also proves that pan angle ranges must be at least 90°. According
to these requirements, 24 reflectors have been placed in a corner of the
laboratory. Eight of them spread on the floor (minimum tilt angle), a second
set of eight reflectors on the wall at the LT height (zero tilt angle) and the last
eight reflectors in the upper part of the floor (maximum tilt angle). LT has
been placed at five different positions covering always a pan angle of 90° as
shown in Images 13 and 14.
Image 13.
Calibration experimental setup.
Image 14.
View of the experimental calibration process.
Calibration results
The calibration has been performed following the model in Eq. (15) and
evaluated according to Eqs. (16) and (17) in the same way as it has been done
with the CMM measurements. A gauge of four reflectors has been also
included in the mesh of reflectors, and this gauge has been measured in the
CMM to know the real distances among its reflectors.
Images 15 and 16 show the calibration result. In Table 7, the numerical
values of the calibration in function of the evaluation method can be
Image 15.
Calibration results distances criteria.
Image 16.
Calibration results coordinated criteria.
Calibration verification
Calibration results show an LT accuracy improvement according to both
criteria used, but as we do not have the SMRs real positions, it is not possible
to ensure without any doubt that the calibration procedure increases the LT
A new verification is therefore necessary to assess the calibration procedure
behavior. In Section 5, a set of SMRs has been measured with the LT from
five different positions. These SMRs were placed on a CMM table and
measured also with the CMM. These accurate measurements can be used as
nominal data to check whether the calibration has improved the LT accuracy
or not. The error parameters obtained in the calibration procedure have been
applied to the measurements made in the CMM table. The corrected values
can be then compared to the CMM nominal measurements and can be seen in
Images 17 and 18 and its values in Table 8.
Image 17.
Calibration verification distances criteria.
Image 18.
Calibration verification coordinates criteria.
Contribution of the SMR incidence angle in the measurement
In some of the measurements made, the position of the SMR could not be
reached by the LT beam. The SMR maximum viewing angle is within ±30°,
and they were placed facing a theoretical point in the middle of the LT
selected positions. However, as the SMR positions and orientations are fixed
along all the measurements, and they are manually placed, there is the
possibility that some of them could not be visible from all the LT positions
because the incidence angle was out of the SMR viewing range.
The incidence angle of the laser beam in the SMR has an important influence
in the measurement accuracy, and an experiment has been performed to
measure the contribution of the SMR incidence angle in the measurement
An SMR with its magnetic holder has been placed on a rotary worktable. The
SMR has been centred; so its centre will be in the worktable rotation axis.
The SMR was centred using the rotary worktable pencil and its centring
accuracy has been measured to be in the range of ±0.1 μm.
The SMR has been initially located with its incidence angles equal to 0°
facing to an interferometer laser beam. The interferometer measurement has
been then reset to make this position as the zero length measurement.
The SMR has been then rotated on its horizontal and vertical angles within its
incident available range of ±30° in 7.5° steps as shown in Image 19.
Image 19.
SMR incidence angle error measurement.
Data measured by the interferometer are shown in Table 9. An important
dependence on the angle variation can be seen, showing the influence of the
vertex position error, that is, the distance between the optical centre of the
CCR and the SMR sphere.
A new LT kinematic calibration has been presented and verified by
comparing calibration results with nominal data measured with a CMM. The
novelty of the method is that a final calibration of the LT can be made by the
LT user at place just before measuring with the LT under real working
conditions. This can greatly help LT measurement process by assuring a
correct calibration at the moment of measuring. The only devices needed for
the calibration is a calibrated gauge and a set of reflectors to be located at the
measuring place.
The kinematic error model has been defined. This model has also been
validated with synthetic and nominal data. The study of the influence of
every error parameter in the global error of the LT has shown the best
configuration for the experimental setup.
The calibration procedure has been performed with a previously calibrated
LT, and the calibration has been able to improve the factory calibration of the
The influence of the laser incidence angle in the measurement uncertainty
shows an important contribution to the measurement errors.
The kinematic calibration model developed offers important advantages
compared to the conventional methods. Existing standards require strict
temperature conditions, and a large number of measurements are needed to
perform the calibration. The purposed method can be used in two ways; first,
the distance error calculated for every pair of reflectors measured from
different LT locations gives a dimensional value of the LT accuracy, which
will help the user to know whether a calibration of the device is necessary or
not. In other way, if the calibration is necessary, it can be performed by the
final user between the programmed calibrations without the need of a
metrological laboratory. It can also be used to develop new calibration
standards or complete the existing ones.
Future work
It is possible to find two constructive LT models from different
manufacturers. The purposed method is valid for the LT having the laser
source in the rotating head. The other model is characterized by having the
laser source in the fixed basis of the LT. This means that they need a rotating
mirror attached to the standing axis to reflect the laser beam from the source
to the SMR. The calibration procedure followed in the present work can also
be applied to this second LT constructive model adapting the kinematic
model to the LT geometry and the laser beam path.
Along with the development of this kinematic model, further tests are
convenient to study the behavior of the calibration method under different
conditions such as measurement range, temperature, number and distribution
of reflectors.
Optimization of Single-Sided Lapping
Kinematics Based on Statistical Analysis of
Abrasive Particles Trajectories
Nowadays, products have to be manufactured with both high quality and
efficiency. Finishing technologies that allow to achieve high quality surfaces
with low roughness, very high accuracy of shape and dimensions are
becoming increasingly important in the modern world. These results can be
obtained in lapping process with the use of relatively simple means of
productions. It is one of the oldest machining processes and a number of
precision manufacturing applications still use the lapping process as a critical
technology to achieve flatness tolerance and surface quality specification.
This technology is used for machining metals and their alloys, glasses,
natural materials such as marble, granite and basalt, materials used in
semiconductor technology, as well as carbon, graphite, diamond and
ceramics, have found use in many engineering applications. Typical parts
processed by lapping are: pneumatic and hydraulic parts (valve plates, slipper
plates, seals, cylinder parts, and castings), pump parts (seal faces, rotating
valves, and body castings), transmission equipment (spacers, gears, shims,
and clutch plates), inspection equipment (test blocks, micrometer anvils,
optical flats, and surface plates), cutting tools (tool tips and slitter blades),
automotive and aerospace parts (lock plates, gyro components, and seals). All
of the abrasive machining are complicated and random processes with the
large amount of influencing parameters and outcomes. As a result of
numerous variables affecting the process quality, the main outcomes of
lapping are stock removal, roughness and flatness. In order to ensure the
highest quality and accuracy on worked surfaces, researches should focus on
improving lapping process by studying significant process variables.
Generally, all lapping processes can be subdivided according to the active
surface of the lapping tool. The lapping process where the tool axis and the
workpiece surface are parallel to each other is known as peripheral lapping,
and side lapping applies when the tool axis and the workpiece surface are
perpendicular to each other. More specifically, the most used lapping
processes can be classified as the following: according to the generated
surfaces, process kinematics and tool profiles. The most well-known systems
are single-sided and double-sided lapping machines. Double-side surface
lapping is considered as the most accurate method in terms of parallelism and
uniformity of size as two parallel even surfaces are simultaneously lapped
during this process. These kinds of machine tools have a planetary system. In
case of flat lapping, the standard systems with conditioning rings are mostly
Due to the wear, the active surface of the lapping plate has some shape errors
of convexity or concavity. This has a major impact on the shape accuracy of
the workpieces. If the lapping plate is out of flat, it should be re-conditioned.
Kinematic method of the correction of the tool shape errors can be applied.
Workpieces’ shape, size as well the lapping kinematics determine the contact
between workpieces and the tool. It was observed that a trajectories
distribution of abrasive particles on the lapping plate varies when the
kinematic conditions are changed, e.g., by placing the workpieces at different
radii, setting different rotational velocities or by introducing additional
movements of conditioning ring. In this chapter, the unconventional
kinematic systems were described. Carried out simulations have shown that
the speed ratio k1 and the period ratio k2, which represent the relationships
among the three basic motions of unconventional lapping systems, are major
factors affecting trajectory distribution. The optimization of these parameters
was conducted. The uniformity of tool wear was assumed as main
optimization criterion.
Main factors of lapping process
The lapping system consists of several elements: lapping plate, abrasives,
lapped workpieces, kinematics and machine. They influence the lapping
process which determines the product quality, tool wear and efficiency of the
process. The input factors of lapping process are of two categories:
controllable and non-controllable (noise) factors. The first category includes
machining parameters, its working pressures and speeds, abrasive type,
characteristics of the work equipment, tool, machine, duration of machining,
etc. The uncontrolled input variables includes, inter alia, environmental
temperature, slurry distribution, vibrations occurring in the system, internal
stress, etc. An overview of main factors of lapping process is presented in
Image 1.
Image 1.
Main factors of lapping process.
First of the most important input parameters, which influence the surface
formation and material removal in lapping process is the lapping plate, its
geometry, hardness, etc. Generally, it could be established that workpieces
are machined to a mirror image of the tool with respect to the flatness. During
lapping process, abrasives play an important role on material removal based
on size, shape, and hardness. It has been shown that material removal rate
increases with increasing abrasive size up to a critical size at which it begins
to stabilize and even decrease. Moreover, multiple studies have also shown
that surface roughness improves with decreasing grain size. The properties of
the abrasive vehicle, which is the medium which transports the abrasive
across the workpiece, are important to how effective the abrasives are in
material removal. In addition, the flatness, geometric and arrangement of
workpieces have also effect on lapping results. The material hardness of
workpieces has a crucial influence on a removal mechanism in abrasive
processes, as well on efficient of lapping. Surface formation of fragile
workpieces, e.g., ceramics, occurs as a result of cracking propagation or by
plastic deformation, when depth of cut is smaller than critical.
There has been a great amount of research conducted on the kinematics of
lapping. The lapping pressure and lapping speed can be seen as the main
variables in the lapping process. They are closely interdependent with
kinematic system and machine parameters.
Abrasive wear in single-sided lapping process
One of the most important mechanisms of the lapping process is abrasive
wear. The process describes the separation of material from surfaces in
relative motions caused by protrusions and particles between two surfaces or
fixed in one of them. In lapping process, abrasive grains are guided across the
surface to be lapped and backed up by a lapping plate or conditioning rings. It
is crucial to minimize friction and wear of the abrasive and to maximize
abrasive wear of the workpiece.
Abrasive wear is commonly classified into two types: two- and three-body
abrasion. In two-body abrasion, particles are rigidly attached to the second
body. When abrasive particles are loose and free to move, then we deal with
three-body abrasion. Therefore, in a two-body abrasion, the abrasive grains
can cut deeply into the workpiece due to the sliding motions and in the threebody abrasion, the particles spend part of time in cutting and part of time in
Also in the case of lapping process, several abrasives move into active
positions and other grains leave the working gap. Only a specified part of all
particles is able to enter the working gap with height H, which is appropriate
to the lapping pressure F. Image 2 presents abrasive wear in single-sided
lapping process and different types of lapping grains being in the working
gap between tool and workpieces. As can be seen in Image 2, abrasives play
a crucial role on material removal based on size, shape, and hardness. For
example, it can be noticed that grain A is too small and grain B is too big. It
means that only some of the abrasives are active and they roll like grain C or
slide like grain D. The example of passive grain is grain E, which does not
stick to the affecting partner.
Image 2.
Single-sided lapping process: (1) lapping plate, (2) separator, (3) workpiece,
(4) felt pad, (5) weight system, (6) conditioning ring.
Moreover, regular sliding grains in and out of the working gap cause the
changes in the initial structure of the lapping plate. First, strongest loaded
grains disintegrate into smaller and their particles are able to take part in the
lapping process depending on the size and shape. Hence, the number of
bigger grains is reduced, while the number of smaller grains is increased and
the structure of the lapping tool is changed. The changing trajectories and
velocity of abrasives cause some grains crash with each other or with grain
fragments. It can be established that after crashes, grains are accumulating
and can disintegrate at any time. The chain between a workpiece and lapping
plate is fulfilled by active grains, which under their impact and edge transfer
the normal forces into the surface of the affecting partner. Acting forces are
proportional to the material volume. To reach a stationary working gap
height, the amount of all normal forces transferred by active grains must be
equal to the pressing force F [3].
Kinematic analysis of standard single-side lapping system
Nowadays, there are many manufacturers that offer surface planarization
technology with lapping kinematics. The most well-known are Peter Wolters,
Lapmaster, Stähli, Engis, Hamai, Kemet, Mitsunaga and LamPlan. After a
careful analysis of numerous researches and offers of many lapping machines
producers, it has been emerged that most of lapping machines have standard
kinematic system. Single-sided lapping machines differ in tool size, diameter
of lapping plate, size and number of conditioning rings, type of pressure
system (weighting or pneumatic system). More complex machines are
equipped with forced drive option of conditioning rings. Such a system
maintains a constant speed of workpieces.
Conventional single-sided lapping machine is shown in Image 3. The key
component of the machine is the tool, i.e., the annular-shaped lapping plate
(1), on which the workpieces (3) are applied to. One machine usually has
three to four conditioning rings (5). However, laboratory lapping machines
that have one ring are also popular. The lapping plate (1) rotates with angular
velocity ωt and it drives conditioning rings, where separators (4) are placed
allowing additional move of workpieces (3). Due to the frictional force,
conditioning rings (5) rotate on the working surface of lapping plate (1) with
angular velocity ωs. This force depends on a radial position, velocity of
conditioning rings, and friction conditions. The radial position (R) of
conditioning rings can be controlled with roller forks (2). During the lapping
process, a certain load is provided through felt pad (6) by weight disk (7) or
pneumatic system. In this way, the parts are pressed against a film of abrasive
slurry that is continuously supplied to the rotating lapping plate.
Image 3.
Single-sided lapping machine: (1) lapping plate, (2) roller forks, (3)
conditioning ring, (4) separator, (5) workpieces, (6) pad, (7) weight.
Due to the fact that the kinematics of the lapping is affected by a number of
factors related to the influence and properties of the workpiece—abrasive
slurry—lapping plate system, in the following model considerations, it is
assumed that the angular velocities of conditioning rings, separator and
workpieces are identical. Moreover, conditioning rings role is to even the
lapping plate (Image 4).
Image 4.
Kinematic diagram of single-sided lapping machine: (1) lapping plate, (2)
separator, (3) workpiece, (4) conditioning ring.
The input parameters for analysis are: angular velocity of lapping plate ωt and
of conditioning rings ωs, inner Rdw and outer Rdz diameter of lapping plate,
radial position of conditioning ring Rp.
In order to model a lapping plate, the position of any point P belonging to a
workpiece must be determined. It is possible to do this by a radius vector in
two coordinate systems: absolute and relative, which is related with rotating
tool. The position of any point P(r,ϕp) belonging to a workpiece in singlesided lapping system are determined in x″y″ coordinate system, which is
related to conditioning ring as:
The coordinates of point P in x′y′ coordinate system are:
The relative velocity v of point P is defined as the derivative of the position
with respect to time:
Equations of any point belonging to a workpiece position in standard singlesided lapping system were implemented in MATLAB program. This program
allows to analyze single-side lapping system and can be used to mark out
cycloids paths, which can be treated as areas where the lapping plate wears
by the grain placed in a specific location of a conditioning ring or workpiece.
In order to analyze single abrasive trajectories, an additional parameter must
be defined, which is rotational speed ratio of the conditioning ring to the
lapping plate:
Analysis of multiple simulations leads to conclusions that the k1 parameter
determines the type of cycloid path. Results are shown in Image 5. It can be
observed that epicycloid trajectories are marked out when the value k1 is less
than 0. When the value k1 is close to 0, stretched epicycloid then interlaced
epicycloid are received. Pericycloids appear when the value k1 is between 0
and 1. At k1 bigger than 1, hypocycloids can be obtained. Initially, they are
stretched hypocycloids; then, they transform to interlaced hypocycloids.
Attention needs to be paid to the following trajectories: cardioid (k1 = −1),
concentric circle (k1 = 0), eccentric circle (k1 = 1) and concentric ellipse (k1 =
2). Moreover, the cycloid curvature radius RP(t) is a periodic function of time
t and its cycle equals:
Image 5.
Path types depending on the rotational speed ratio k1.
Unconventional lapping kinematics systems
Analysis of numerous researches and offers of many lapping machines
producers leads to conclusion that most of lapping machines have the
standard kinematic system. Unconventional lapping systems, where the
conditioning ring performs an additional move such as radial, secant,
swinging or off-center are presented in Image 6. Simulations have shown
that changing the kinematic system in single-sided lapping process causes a
wide density variation of single abrasive trajectories.
Image 6.
Examples of approach to kinematics system lapping plate—conditioning
ring: (a) radial, (b) secant, (c) swinging, and (d) off-set.
The simulations allowed state that the most desirable system is that system,
which allows to smoothly control the position of the conditioning ring on the
lapping plate. It was pointed out that some systems are not very different
from the standard kinematic system. Generated trajectories were almost
identical. This is due to the fact that with such systems, the deflection of
conditioning ring along the radius was much smaller, than in the case, for
example, of the radial lapping system. In order to correct the flatness of
lapping plate, the ring must be shifted toward or out of the center of the tool.
The detailed kinematic diagram of single-sided lapping system with the
additional movement of conditioning ring along a chord is presented in
Image 7. It can be observed that in this idea, there is only one conditioning
ring, which in addition to rotary motion performs a reciprocating motion
between point A and B. The position of the conditioning ring is not constant
as in conventional system, parameter RPx(t) changes the value in time. The
distance from the center of the lapping plate to the chord equals RPy.
Image 7.
Diagram of single-sided lapping machine with reciprocating movement of
conditioning ring.
The principle of kinematics calculation is identical as in case of standard
single-sided lapping system. Due to additional motion of the conditioning
ring, only Eq. (3) must be changed:
Considering the reciprocating motion of the conditioning ring, RPx is a
function of time and it can be expressed as:
There are many ways in positioning control applications to move from one
point to another. The most common are trapezoidal and S-curve motions. In
trapezoidal move profile, velocity is changed linearly and acceleration makes
abrupt changes [14]. This can be quantified in an S-curve motion profile by
“jerk,” which is the time derivative of acceleration. S-curve motion helps to
smoothen the motion and reduce the possibility of exciting a vibration or
oscillation [15]. A single stroke of reciprocating motion with S-curve profile
is shown in Image 8. The conditioning ring moves between two points,
where TRis the reciprocating period, TA is the acceleration time of the
uniformly accelerated motion and TD is the deceleration time of the uniformly
decelerated motion. The conditioning ring has a maximum velocity vRmax at
the central range of the reciprocating stroke and uniformly accelerated and
decelerated motions at the two ends of the stroke.
Image 8.
Single stroke of reciprocating motion with S-curve profile.
For the simplicity, the velocity expressions of another non-dimensional
parameter was introduced and defined by Eq. (12). Parameter k2 is the ratio of
the reciprocating period to the lapping plate rotary motion period:
where d is the reciprocating stroke, TR and TT are the periods of the
reciprocating motion of the conditioning ring and rotary motion of the
lapping plate.
Kinematic optimization
Kinematic analysis showed that the basic kinematic parameters significantly
affect the trajectory and velocity distributions. To improve the quality and
flatness of the machined surfaces, the selection of parameter values, which
are optimal was carried out. It was assumed that, the main optimization
criterion is the uniformity of tool wear. In this section, the material removal
rate and the lapping plate wear model are described in detail. Based on the
lapping plate wear, its uniformity is calculated and the maximum value is
The volume of material removed by lapping process at a local position during
every unit of time is an important part of study about lapping process. There
are many models which describe material removal rate (MRR) during
lapping, grinding or polishing. Several researchers worked on experiment and
analytical models. They show that the lapping process can be improved by
optimizing both the machining efficiencies, and the consideration of the
process parameter influences with surface lap height. Considerations about
MRR are important because it is the only solution to provide the maintenance
of reliability and lifetime of the produced workpieces.
One of the most common wear models in abrasives process is the tribological
model developed by Preston, who related relative velocity and pressure to
material removal rate (MRR) which is known as Preston’s equation:
where H is a height of removed material in any point on the lapping plate, k
is a constant relating to the process parameters, p is the applied pressure, and
v is the relative velocity of the workpiece. The parameter k varies based on
any modifications to the material removal process such as abrasive and slurry
type, feed rate, and other process parameters.
However, some of the experiments have shown that in the case of relatively
high or low velocities and pressure, linear relationship in Preston’s equation
does not hold true. Therefore, many modifications to the Preston’s equation
were proposed. Moreover, there are many formulations in literatures, which
are based on the Preston’s equation. Using the Preston’s equation, Runnels
and Eyman proved that the MRR in the chemical-mechanical polishing
process is related to the normal and shear stresses. Tseng and Wang modified
the Preston’s equation to express the MRR as a function of the normal stress
of the wafer, the relative velocity of the polishing and the elastic deformation
of the abrasive grains. Nanz provided new MRR equation considers the
bending of pad and flow of slurry.
Intensity of lapping plate wear can be assumed as a contact intensity of the
tool with the workpieces through the lapping abrasive grains. There are
different methods for calculating contact intensity. This section assumes the
method of calculating particles density of interpolated trajectories. Therefore,
in order to simulate the trajectories and to count their distribution, Matlab
program was designed.
An example of trajectories density determination steps is shown in Image 9.
Initially, location of random particles is generated within the conditioning
ring. Then, the trajectories of the particles are calculated with a use of
kinematic equations. A set of points, which are equally spaced from each
other, are generated with interpolation function. The lapping plate surface is
divided into small squares with the same area. Finally, a statistics function is
used to count the total number of points within each square of the lapping
plate surface. The contact intensity can be developed for a profile of the tool.
It allows to determine if the wear causes a concavity or the convexity. The
area of the lapping plate must be divided into equal rings. A measure of
points in an appropriate area is determined by equation:
where n is a points number in area Ai and r is rings width.
Image 9.
Trajectories density determination: (a) random generated particles, (b, c)
trajectories generating, (d) trajectories interpolation, (e) density of
trajectories, (f) profile density of trajectories.
To calculate the standard deviation SD of all the values of Di, which is given
where D¯ represents the average of all the values and N is the total number of
the divided rings or squares.
Trajectories distribution of particles in single-sided lapping process is
significantly affected by rotational speed ratio of the conditioning ring to the
lapping plate k1 (Eq. (9)) in standard single-sided lapping system and in
addition by period ratio of the reciprocating motion of the conditioning ring
to rotary motion of the lapping plate k2 (Eq. (13)) in system with additional
movement of conditioning ring. To obtain a better uniformity base on
trajectory simulations and consequently even lapping plate wear, it is
important to optimize both parameters. The uniformity of tool wear was
assumed as main optimization criterion. In order to describe the evenness of
the lapping wear, the trajectories distribution uniformity is defined:
where SD is the standard deviation of trajectories density and D¯ is the
average value of the trajectories distribution.
It can be predicted that during the lapping process, there are more than 1
million active particles in the slurry and on the lapping plate. However,
because of the calculation time, an appropriate particle number which can
reflect the same regularity as the real number has to be determined. Image 10
shows the influence of the amount of abrasive grains to the uniformity.
Results are presented for standard single-sided lapping system, when k1 =
0.45 and RP = 125 mm. It can be observed that for 1000 randomly distributed
particles, uniformity is stable and constant.
Image 10.
Uniformity of trajectories distribution produced by different number of
random particles.
Trajectory density uniformity for standard single-sided lapping system and
for single-sided lapping system with reciprocating motion of conditioning
ring is presented in Images 11 and 12. Trajectories were generated during 60
s on lapping plate with internal diameter of 88 mm and outer diameter of 350
mm. The maximum uniformity was obtained in conventional system, when k1
= 0.6–0.9, and in non-standard lapping system, when k1 = 0.65–0.75 and k2 =
1–2. For single-sided lapping system with reciprocating motion of
conditioning ring, the uniformity was about 10% higher.
Image 11.
Trajectory density uniformity versus k1 for standard single-sided lapping
system, 1000 random particles, radial position of conditioning R = 125 mm,
simulation time t = 60 s.
Image 12.
Trajectory density uniformity versus k1 and k2 for single-sided lapping system
with reciprocating motion of conditioning ring, 1000 random particles,
simulation time t = 60 s.
Automated lapping system
The above considerations regarding complex kinematics of lapping process
were the starting point to develop automated lapping system. Nowadays,
machine tools are more efficient than in the past. Lapping machine
manufacturers also improve their machines and supply their basic
constructions with additional components. As a result of automation, some of
the supporting operations can be eliminated. Lapping machines are supplied
with feeding tables, loading and unloading systems of conditioning rings,
which form mini-production lines. However, it was emerged that the system
where the ring is led by the manipulator during the machining is novel. In
order to create universal mechanism that moves the conditioning ring at any
path is complicated and in some cases impossible. Thanks to the robot that
moves an effector from point to point, it is possible to change the ring
trajectory at any moment and different conditions. Owing to this solution, it
is possible to apply any lapping kinematics and use robot for supporting
One of a number of challenges in designing automated manufacturing
systems is the selection of a suitable robot. This problem has become more
demanding due to increasing specifications and complexity of the robots.
However, it was decided that the robot should perform material handling
tasks and also lapping process. In initial selection, the articulated robots,
which have four to five degrees of freedom and are powered by an electrical
drive should be chosen for further evaluation. Furthermore, a continuous path
or Point-to-Point control system is required.
The idea of how single-sided lapping machine and the robot working together
presents Image 13. The robot situated next to the lapping machine handle
primarily sorted workpieces from the table to the separator, located in
conditioning ring. Then robot grips the conditioning ring and shifts it onto the
lapping plate, which starts to rotate. The machining is executed by the robot.
It shifts the ring with workpieces in such a way to keep the flatness of the
plate along the radius. After lapping process, robot shifts the conditioning
ring onto collecting table and workpieces fall into the box with finished parts.
Finally, the flatness of the lapping plate is controlled and is fixed in case
when an error occurs.
Image 13.
Idea of robotic single-sided lapping system.
The aim of this chapter was to present the influence of selected factors on the
geometrical results of the single-sided lapping process. One of the most
crucial factors is kinematics of the executive system. Since flatness of an
active surface of the lapping plate has an essential influence on the shape
accuracy of lapped surfaces, the key is to maintain the flatness of the tool. It
can be established that lapping plate flatness deviation can be caused by its
uneven wear.
A desired distribution of the contact density, which determines a wear and
allows to correct the flatness error of the lapping plate, can be obtained by
choosing appropriate kinematic parameters. Therefore, the kinematic model
of single-sided system was in detail analyzed and modeled in Matlab
program. Based on the simulations, it was observed that a trajectories
distribution of abrasive particles on the lapping plate varies when the
kinematic conditions are changed, e.g., by placing the workpieces at different
radii, setting different rotational velocities or by introducing additional
movements of conditioning ring. Hence, the influence of additional guiding
movements of the conditioning ring has been verified. Major factors affecting
trajectory distribution are the speed ratio k1 and the period ratio k2, which
represent the relationships among the three basic motions of unconventional
lapping systems. The optimization of these parameters was aimed at
improving the quality and flatness of the machined surfaces. Main
optimization criterion was the uniformity of tool wear. The maximum
uniformity was obtained in conventional system, when k1 = 0.6–0.9, and in
non-standard lapping system, when k1 = 0.65–0.75 and k2 = 1–2. For singlesided lapping system with reciprocating motion of conditioning ring, the
uniformity was about 10% higher than in conventional system.
angular velocity of the lapping
angular velocity
conditioning rings
inner diameter of lapping plate
outer diameter of lapping plate
radial position of conditioning
rP, rS
radial position of examined
machining time
wear removal rate
Preston’s coefficient
force per unit area
lapping relative velocity
trajectories density
linear velocity of reciprocating
reciprocating period
acceleration time
deceleration time
acceleration jerk
deceleration jerk
rotational speed ratio of the
conditioning ring to the lapping
period ratio of the reciprocating
motion of the conditioning ring
to rotary motion of the lapping
standard deviation
uniformity of lapping plate
A Random Multi-Trajectory Generation
Method for Online Emergency Threat
Management (Analysis and Application in
Path Planning Algorithm)
Robot path planning have been witnessed a great achievement these years
with the various application of robots. Problems such as path planning,
motion planning, and online moving obstacle management have been widely
studied toward the goal of performing autonomy. Unmanned Aerial Vehicles
(UAVs), an easy access robot platform, has been increasingly applied in
research and commercial areas in recent years. UAV autonomy denotes the
ability of tackling with obstacle (or called no-fly zone) avoidance and
trajectory planning online from a starting position to a destination while
satisfying the kinematic constraints.
For robot path planning, emergency threat management (ETM) is one of the
hardest challenges that needs to be solved, where a sudden threat may burst
into view or dynamic obstacles are detected on line, especially when UAV is
following the desired path. Under such conditions, UAV should consider the
following attributes:
Time efficiency: The most important requirement for ETM
algorithm is time efficiency. For general ETM, the configuration is
periodically updated, such as heuristic algorithm A*, which it is
computationally intensive if the map is represented with high
resolution. In order to guarantee safety, ETM requires real-time
Kinematic feasibility: Kinematic feasibility denotes that the
output of the planner meets the kinematic constraints of the robot as
well as the environment. The constraints include: (a) Path
smoothness: The planner is required to output kinematic smooth
path, sometimes even kinodynamically feasible as well. Thus, the
path should meet the state of art tracking constraints, and enables
low tracking error for UAV; (b) Minimum cost of switching: The
strategy of handling the threat, especially ET, is to find the cost
minimum path by generating a new path or multiple paths besides
the initial one. The cost for choosing the best path should take the
dynamic constraints, energy consumption and time performance into
Specific requirements: UAVs have already been applied to
many areas, such as inspection, photography, and monitoring. They
have to meet some specific requirements according to environments
and system constraints. For example, best pose based illumination of
tunnel inspection for crack and spalling, and stable tracking with
obstacle avoidance as UAV photography which should be able to
keep stable capturing even during the flying.
Development with open robot platform and field implementation has
witnessed the promising performance of Sampling Based (SB) methods. SB
algorithms (SBA) have the advantages for planning in high dimensional
space, and it is with the ability to deal with multiple classes of path or motion
planning problem in both static and dynamic environment. Rapidly-exploring
random trees (RRTs) are single query methods which obtain Voronoi biased
property and only generate homotopy paths simultaneously. Although it
proposes to solve the multiple degrees of freedom (DOF) operating problems
in known static environments, SBA shows great performance of dealing with
any kind of path or motion planning problem in complex environments for
unmanned ground robots or aerial robots.
In this paper, we introduce two biased-sampling methods, which are obstacle
biased and Homologous Classes (HC) biased to perform path planning
respectively. For obstacle biased path method, we have discussed in with
UAV demonstration. For HC classed biased approach, it aims at solving the
ET problem by generating alternative paths for online dynamically switching.
HC introduces an online dynamic reconfiguration approach to ensure
singularity between paths, which tries to generate more paths with different
obstacle reference. Thus, it can perform alternative switching online when
confronted with ET. The obstacle biased planning method is called Guiding
Attraction based Random Tree (GART) and HC biased is called Multi-GART
(MGART). We consider the environment to be known as a priori to us, and
the UAVs are with the ability to understand the clearance region.
Experiments and comparative simulations are illustrated to provide the
effective evaluation of the proposed methods.
Preliminary materials
For path planner, the purpose is to find a feasible path pf (cost minimum or
complete) from the initial position to the goal position in the workspace W
, n denotes the dimension of space the robots locate. A general cost
function can be represented as:
The cenergy,ctime,cthreat cost, time consumption, and threat respectively.
These costs are not fixed, since the energy cost can be path length, and time
consumption can change according to the velocity limitation. For cost
constrained path planner, the goal is to find the asymptotic optimal rather
than the completeness solution. Then, more than one path can be found
during the process, and the paths can be homotopic or belong to different
homotopic classes (or called homology).
It is illustrated in Image 1. Given a continuous map H : I × I → Γ or H : h(s, t)
= ht(s), Γ denotes the topological space and I = [0, 1] is the unit interval. The
obstacle regions are labeled with Ro1, xinitial=h(0,t)denotes start point,
xinter=h(1,t) denotes the goal position, xinter denotes an inter node for obstacle
avoidance. For the continuous deformation, given h(s, 0) = π0, h(s, 1) = π1, the
path can be continuously mapping through π0 to π1 with t ∈ [0, 1]. For any
path deformed between, they are homotopic with π0, π1 if and only if they
stay in the closed loop π0 ∐ − π1, where the closed loop cannot collide with
any obstacle region.
Definition 1—Homotopic Paths: It denotes the equivalence class of all
paths under continuous mapping H : h(s, t) = ht(s), which locates in the closed
loop formed h(s, 0) ∐ − h(s, 1). Any path in the set can be continuously
deformed into any other without colliding with any obstacle in the space. For
all paths in the set, they are with the same fixed end points.
Image 1.
Homotopic and homologous classes and paths.
We can conclude that π2 and π3 belong to the same homotopic class.
However, we can find path π4, which shares the same start and ending node,
cannot be continuously deformed to π3 due to the isolation of the obstacle. It
means (π3 ∪ − π4) ∩ Ro3 ≠ Θ. In such case, we call π3 and π4 are
homologous, and they belong to different homotopic classes.
Definition 2—Homologous Paths: Paths, which follows the same
continuous mapping H : h(s, t) = ht(s), cannot form a closed loop by h(s, 0) ∐
− h(s, 1). The homologous paths belong to different homotopic classes.
Path planning follows a common procedure to perform trial and error process
under empirical constraint to achieve completeness. The problem of path
planning does not only solve a problem for exploration optimization, but also
try to model the environment with a best descriptor as discussed in. Let us
take a look again with the problem of path planning which can be represented
The path h(s) (homologous) should stay in obstacle free region Rfree, that is,
h(s) ∈ Rfree. Usually, the path is piecewise continuously, and it can also be
smoothed to obtain first order continuous thus to ensure kinematics
continuous. Besides the exploration to achieve completeness (in Eq. (1)), the
obstacle modeling method is also important and affect the planning results.
To solve this problem, this paper proposed a multi-path online switching
approach, that is, the path planner can find alternative homologous-paths.
Then, this paper designs an online fast switching strategy. For multiple path
planner, it aims at finding as many paths as possible,
Halter denotes the set of all the alternative paths hi(x(t), u(t)), x(t) denotes the
state, and u(t) denotes the control. However, the mission planner cannot use
all the planed paths for online switching, it should find the reasonable paths
without redundancy. We propose the follow rule,
Hreason denotes the paths set where any two paths are not homotopic to each
other, H≠ denotes non-homotopy. Now, we have the paths which keep
distinguishable from each other with different obstacles sequence
Rapidly exploring random tree path planner
In this section, we try to describe the underlying research of rapidlyexploring random tree (RRT, upon which we propose a novel state of art
approach to facilitate the active exploration in cluttered environments). SBAs
are incremental search algorithms which perform random sampling with
collision checking for extension, and they were first proposed to solve high
dimension planning problem. They have the merits of considering the control
and kinematics constraints together, and can incrementally construct a tree
from the start node (or initial state) to the goal node (or goal state) with
continuously sampling and expansion.
It is shown Image 2, the whole tree graph by exploration is represented as
GT, the black solid dot denotes the valid state within step accessibility under
kinematics constraints, and the black solid lines connect each parent state
with child state for extension. Every step, a new sample gsample will be
generated randomly. It should be cleared to all that the initial random
sampling does not mean a fixed connection, that is, the random sampling can
be a direction for extending. Then, the random sample gsample tries to find the
nearest state in the tree for connection under minimum Euclidean metric,
Image 2.
RRTs propagate by applying the minimal cost criterion to connect the newly
sampled guard to the previous tree.
Where gi is an element of all valid states set GT.
For RRT planner, given a system with state (xẋ ,xẏ ,θ̇ )xẋxẏθ̇, and a general
form of system model:
It can extend with simply random sampling with control inputs [ux, uy, uθ].
The random sample has to follow the kinematics constraints. Given the robot
system, the differential constraints can be represented as a set of implicit
equations as g(x,ẋ )=0gxẋ=0, and it can be further represented as:
Here, x denotes the state, and u ∈ U denotes the valid control in allowable
controls set. Given the parent state gparent(t), the time step follows a Δt
limits. Then, the control inputs vary with u = {u(t )| t ≤ t ≤ t + Δt}. To compute
x(t + Δt), we can follow a typical procedure as [12]. It should be noted that
the planner should extend toward the newly sampled gsample. The planner first
computes the possible region of reachability from current state x(t):
where ϵ is the maximum first order factor of control input. RRT now picks a
new state along the direction from parent to new sample, that is, gnew ∈ [x(t)
+ f(x(t), u(t) − Δt ∙ ϵ), x(t) + f(x(t), u(t) + Δt ∙ ϵ)] and gnew = gparent + δ(gsample
− gparent) with δ ∈ [0, 1].
Before discussing the Voronoi biased property of the SBAs, let first introduce
some basic notation. Given a set of points S = {si| i = 1, 2, …, n} in a ndimension space Χ. For any two distinct points sp and sq in set S, the
dominant region (Voronoi region) of sp over sq is defined as the region where
any inside point should be closer to sp over sq, that is,
Where χ is the dominant region corresponding to sp, ||L denotes the Lebesgue
measurement. In a normal case, any point si has its own dominant region
Normally, random sampling of RRT follows a Monte-Carlo Method to
perform an uniformly sampling in a n-dimensional space under Lebesgue
measurement. We can look back at the beginning of Section 3, the new
sampled node tries to connect to the nearest node under Euclidean metric. We
can now analyze the problem in another perspective that given gparent and gs,
they connect to the same origin go. Then, a new sample gsample is generated
randomly following a Monte-Carlo process. In order to explore and reach the
goal, gsample tries to connect to the tree following the metric defined in Eq. (5).
It means that gparent and gs can be connected for expansion under minimum
distance principle, then gsample has to be assigned to the dominant region
which subjects to a closer point (the Voronoi region). Under this principle,
gparent and gs can acquire new resource for extension with the ability to keep
distinct region and extending their branches.
A typical Voronoi-biased exploration using sampling can be seen in Image 3,
where each branch keeps distinct with each other to form a star network like
structure and it behaves the same for heuristic informed RRT. Here, unlike
the dominant region of a point, RRT branch can be also treated as a distinct
individual with its own Voronoi region for acquiring the extending resource.
Image 3.
Results of incremental exploration of RRT and hRRT [16] after 200 and 1000
iterations, respectively.
Obstacle and homology biased path planner
In this Section, we propose approaches to solve two main problems, which
are handling cluttered environment and online ET processing, using obstaclebiased method and homology-biased method. Collision detection during the
incremental exploration is time consuming, and it follows a routine procedure
to guarantee safety. It should be noted that the step validation of each new
sampling state provides the directional information of obstacle distribution.
SBAs mostly deploy the general idea of generating random samples for
incremental exploration, and the sample locating in obstacle region will be
discarded since it is time consuming and no benefits for increasing the
performance of exploring. We firstly deployed a simple idea which was
proved to have much higher time performance then RRT and RRT* in.
This paper introduces an obstacle biased algorithm, using obstacle
information to help generating more samples for connection. It is shown in
Image 4, the newly sampled states xs1,xs1x1s,x1s tries to connect to the
nearest state in the tree. However, xs1x1s leads toward the obstacle region,
xs2x2s locates in obstacle region. To use the obstacle information, this paper
proposes an active exploring method, that is, inner propulsion and outer
Image 4.
Obstacle biased SBA uses the obstacle location as input, with inner
propulsion and outer attraction, to generate more samples for exploration.
xs1,xs2x1s,x2s are new samples, the black region denotes obstacle region.
For outer attraction, new sample xs1x1s performs a collision checking, and
find the nearest nodes oxa, oxb. We define that the further the obstacle to the
sample, the more attraction it can support, that is, the attraction is
proportional to the distance between obstacle and the sample using L2-norm
L2. The sample then re-allocation by add a obstacle biased attraction as:
Where k is a constant to adjust the shifting percentage of the attraction vector.
The inner sample in collision with the obstacle is regarded to provide guiding
information for the algorithm. This paper tries to find two more states gx1, gx2
within kinematic reachable region (discussed with Eq. (8)), it tries to find out
the first two safe state with two directions which are out of obstacle region in
the kinematic reachable region (the light blue fan-shaped region). Then, the
two newly generated samples gx1, gx2 follows principle Eq. (11) to redistribute
to the final position, and connect to the tree.
By using the two proposed approaches, we can generate more useful samples
for extending, especially, the samples generate around the edge of the
obstacles with the ability to perform more active exploration in cluttered
environments. Besides, the outer attraction redistributes the samples toward
the narrow corridor between the obstacle, which thus increases the
probability of finding safe path through such obstacle crowed region.
We assume any path ht(s) generated using SBA is consisted by a set of nodes
ht(s)={ht|ht(s′),s′∈[0,1]}, as it is illustrated in Image 5(a) that exploring tree
is consist of the red nodes. Each red node is regarded as distinct with other
nodes in the tree, with a distinct dominant region, i.e. Voronoi region. Thus, a
path ht(s), which is consisted a set of states from the initial state to the goal,
can be isolated with each other with a distinct region V(bT) combined by all
Voronoi regions of the states.
Image 5.
The extending-forbidden algorithm (EFA) tries to find all the states along the
goal reached branch at each goal reaching checking step, such as branch B2.
Then, EFA sets the flag of the states to be inactive, switching the extending
probability to the nearby branches.
The region dominant property differs the path with each other, where a SB
tree with multiple paths (the path here may not connect to the goal, but they
keep distinct with each other from the initial position) can be described by a
set of branches BT = {bT(1), bT(2), …, bT(n)}. For each branch, it consists of a
list of states which connect with each other to form tree structure. In the tree,
the end state relies on the parent state for extending as well as trajectory
The path planner performs exploration following the Monte-Carlo approach.
Given a configuration space C in a topological space (the rectangle region as
illustrated in Image 5), we denote the Lebesgue Measurement of the
configuration space as L ∣ C∣. Then we can get the Lebesgue measurement
of each branch bT(i) of the tree using the same metric. Authors in proved that
the dispersion of n random nodes sampled uniformly and independently in
V(bT(i)) is,
Where ψ(bt(i)) denotes the number of samples m, 1 ≤ m ≤ n, that lies in the
sub-branch bT(i), n is the number of all the sampling, d is the dimension of
the configuration space. D denotes the difference between the ration of
sampling probability and ration of space Lebesgue measurement, which
follows the knowledge that Monte-Carlo method performs a uniform
sampling. It means the sampling probability approaches the ratio of Lebesgue
measurements, that is, the exploration probability can be represented as:
However, the probability of exploring in the configuration space does not
benefit the extending bias toward the goal. Let us still take a look at Image
5(a), the branch B2 dominant the near-goal region, and other region are not
able to extend toward the goal as the samples will not connect to the branches
if it locates in the near-goal region. To solve this problem, this paper
proposes an Extending-Forbidden Algorithm (EFA), it shifts the source for
extending to other branches by forbidding the goal reached path.
Definition 3—Goal-biased Probability: Given a configuration space C, the
exploring tree T and all its branches which are main branches BT and its
corresponding sub-branches. The goal-biased event denotes a branch can
exploring toward the goal. If a goal region can be represented as Gr, and
Voronoi(Gr2BT(i)) is the region that belongs to goal region and the Voronoi
region of branch BT(i). Then, the nominal goal biased probability of branch
BT(i) toward Gr is:
And the real goal biased probability is normalized value of all branches, that
Definition 4—Long Sub-branch (LSB) and Short Sub-branch (SSB):
Given a tree T and all its Voronoi distinct main branches BT. Then, we can
define a length threshold δB. For all end vertices in each main branch, we
calculate the length lsb from end to the goal reach reached path (any state
which firstly reached). If the length lsb > δB, then we call it Long Sub-branch
(LSB). If lsb ≤ δB, we call the sub-branch as Short Sub-branch (SSB).
It should be noted that the threshold is very empirical in Definition 4, and it is
decided based on the configuration space and the kinematic constraints. In
Image 6, we set it as 15 meters, then we have SSB1, SSB2, SSB3 as SSB, and
LSB1 as LSB. The reason why we have this definition is that we cannot shift
all the extending resource to the neighbor branches, and we have the
hypothesis that the SSB must has lower probability of finding a new path
even given the resource for extending. For example, the main Voronoi
dominant branches BT keep distinct with each other, and each main branch
has the probability PbT(i) for exploration in the configuration space. After the
tree stops extending at a certain iteration, we can have the results as
illustrated in Image 5(a). Since goal region is in Voronoi region of branch B2,
then we know that we have the goal biased probability as PG(B(2)) = 1. One
branch B2reached the goal region which is represented with dotted back
rectangle, EFA searches the SSBs and LSBs based on Definition 4, and it
labels states and executing forbidden. Then, we have a resource shifted
Voronoi graph as illustrated in Image 5(b), where we can see that branch B1
and B3 obtains the Voronoi region which belongs to branch B2. The two
branches also obtain the rectangle goal region, that is, their goal biased
probabilities are bigger than zero, PG(B(1)) > 0, PG(B(3)) > 0.
Image 6.
An intuitive example of SSB and LSB in an exploring tree, which are
generated using threshold principle as defined in Definition 4.
Since EFA can shift the goal biased by extending resource to other branches,
while not all paths can obtain such resource. The following truths are hold:
The increasing of goal biased probability ensures the generation
of a feasible path toward the goal, but not all branches with goal
biased probability can reach the goal at the same time. Only one can
reach the goal because of Voronoi dominant probability, thus the
general SBA cannot find multiple paths.
The efficiency of generating multiple paths mainly depends on
the environment adaptability of random exploring algorithms. For
random exploring algorithm, their merits of generating multiple
branches enable the generation of multiple paths.
The proposed MGART is able to perform extending-forbidden toward
multiple paths, as the random exploring property guarantees completeness
and diversity. However, the quality of explored paths cannot be guaranteed,
particularly a large number of homotopic paths are generated. This paper
proposes an approach to generate the reasonable path, and we analysis under
the hypothesis that the environment is highly cluttered and it is not practical
to set threshold for path planner to choose the best homological paths.
Definition 5—Reasonable Alternative Paths: Consider two homotopic
paths h(π1) and h(π2) in a configuration space C. The surrounding obstacle
information along each path are ℶ(h(π1)) and ℶ(h(π2)). The reasonable
alternative path exists if and only the surrounding information of the two
paths are not the same, such that, ℶ(h(π1))≠ℶ(h(π2)).
Given the sensing range of a robot as Υ, and the obstacles set O = {o1, o2, ….,
on}. For path h(π1), it consists of a set of discrete states X(π1) = {x(π1)1,
x(π1)2, …, x(π1)n}. In this paper, we assume that any obstacle οi can be
described with a circle or ellipse centered at ocioic, then we can build a
Delaunay Triangulation [19] connection (DTc) using the obstacle centers, the
initial state, and the goal state. For DTc, it can generate a network like
structure, and each two states have at most one connection. It is illustrated in
Image 8(a) that the green edges are the valid connections, with labels to
distinct with each other. For any path, if the path intersects with an edge, the
edge information should be added to the information factor, such as the solid
red path intersects with edge L7, then L7∈ℶ(h(π1))L7∈ℶhπ1. The edge
labeling method can guarantee the uniqueness toward homology, while we
note that homotopic paths can also be used to perform emergency threat
management. It is represented in Image 7(b), the solid red path hs and the
dotted red path hD are homotopic to each other. Given the sensing range Υ,
we have the sensing envelop which are dotted purple lines hL1,hR1 for hD
and solid black lines hL2,hR2 for hs, indicating the maximum detection range
for emergency threat. Then, we have the {o1}⊂ℶ(hD) and {o1,o2,o3,o4}
⊂ℶ(hS), thus we have hs and hD both regarded as reasonable alternative
paths for online threat management.
Image 7.
An illustration of surrounding information used to find reasonable alternative
path for online emergency threat management. The information parameter
consists of edge information and obstacle surrounding information within
sensing envelop.
The informative approach discussed thus can help to label each path in a
configuration space, such as the results listed in Table 1 of paths in Image
7(a). Then according to Definition 5, we can find the label of each path. For
any several paths which have the same label, we choose the shortest path and
use as the candidate for online fast switching.
The reasonable alternative path set HRAP provides a network with cluttered
environment adaptivity. The concept of visibility was discussed in, where the
cycle information is used to enable fast deformation for motion planning.
Visibility is defined as:
Where x() denotes a state of a path, LlinkLlink is the connection of two states,
Cfree is the free space and Cobs is the obstacle region. A visual illustration is
provided in Image 8(a), where visibility can only in obstacle free region.
Image 8.
For online switching, UAV should follow the visible-node selection
algorithm (a) to explore the possible switching route, then it switches to the
cost minimum path for ETM (b).
It is noted that the visibility in this paper means a possible connection to
switch from one path to another for emergency threat management. For
switching with visibility, given all the reasonable alternative paths HRAP, the
algorithm performs exploration for visibility state at each UAV state
xUAVamong HRAP. The algorithm then outputs the visible guards (states) xRAP
as illustrated in Image 8(b). To avoid the pop-up threat (or dynamic threat),
UAV must select one entry guard from the visible guard set to reconnect to
another pre-planned path to the goal. To validate the best connection, that is,
the entry point and the entry connection, this paper applies the heuristic:
Using a simple cost based metric, where CFE is the forward energy cost which
is the distance and the turning cost from UAV position xUAV to entry state
xRAP(j) and the path from entry state to the goal HRAP(i)(xRAP(j)). The turning cost
is the integration of heading angle difference at each state, which denotes the
smoothness of the planned path. CTC is the threat cost, the integration of
inverse distance between state and obstacles. Using such approach, the
algorithm can find five visible states xRAP = {xRAP(1), …, xRAP(5)} as
illustrated in Image 8(b). Then, it tries to find the best entry state using the
minimum cost principle (Eq. (17)).
We further consider a situation that there may have no visible states at current
location. The paper proposes to use a long-term memory approach to handle
this problem, that is, the travel path should be stored in memory, such as the
orange edges and states illustrated in Image 8(b). In the meanwhile, the
method stores the visible state along the traveled path. Then, the UAV has to
fly back to find a cost minimum path toward the goal if it confronts with pop-
threat and has no visible states.
Experiment and discussion
In this section, we highlight the performance of the obstacle biased and
homology biased path planner with the ability of emergency threat
management (avoiding pop-up and dynamic threat online). In the section, we
will discuss the following points: (1) How the threshold of EFA affects the
performance of MGART. (2) The time performance and reliability of
reasonable alternative chosen algorithm. (3) The online emergency threat
management performance. The algorithm is implemented using MatLab
2016b on a laptop computer with a 2.6 GHz Intel Core I5 processor.
We design three different scenarios, which are non-obstacle scenario,
rounded obstacle crowed scenario, and irregular polygons crowed scenario, to
perform comparative simulations. All the scenarios are 2D with 100 65 m
space, and obstacles randomly generated.
For scenario 1, it is a non-obstacle environment, and we set the variable
threshold as a set with value {3, 5, 7, 8, 11,13,15,18,20,25,28} for
representation. As we know the length of EFA threshold affects the goal
biased probability, which directly decide the area of the newly obtained
Voronoi region of the neighbor branches, we design a set of comparative
experiments to study the effects between EF length and RAPs. An intuitive
result of the relationship between planned paths and EF length after 10,000
iterations are provided in Image 9(a)–(d). MGART can find 37 paths after
10,000 iterations if EF length is set as 3 step-length, and the number
decreases to 22 if the EF length is set as 28. The reason is that the longer the
EF length, the further the neighbor branches can obtain the goal biased
resource. Thus, the neighbor branches need more steps to exploring toward
the goal, that is, less paths will be achieved with better homology
performance. As we can see that the paths in Image 9(d) have a better
homology performance than Image 9(a). The same EF length variation
experiment is also deployed in scenario 2, and results are shown in Image
9(e)–(h). For RAPs, it is the same with the results in scene 1 that RAPs
decrease with the increasing of the EF length. However, as the increasing of
EF length enables more branches to explore toward the goal as well as
increasing the homologous paths (see in Image 9(e)–(h)), the number of the
RAPs increasing with the increasing of the EF length. The statistic relation
between the RAPs and the EF length is illustrated in Image 10, which further
proves the conclusion.
Image 9.
Illustration of alternative paths generated by MGART vary with
representative backward EF length. (a)–(d) denotes the results in nonobstacles scenario, (e)–(h) denotes the results in obstacle crowed.
Image 10.
Relation between EF backward length and APs and RAPs with two scenarios.
Here the solid diamond line denotes the relation of scene 1, and the triangle
lines denotes the results of scene 2.
The EFA can be used to any SBAs by shifting the goal biased resource to
achieve multiple RAPs for online switching. This paper compares the
performance between MGART and MRRT* in three scenarios with 10,000
iterations. We compare the efficiency of generating a path, RAPs, average
time for finding a path, and average time for any RAP are compared in Table
2. GART has a better performance in both path exploration and RAP
generation, such that MGART can find at least 3 times of the number of paths
toward the goal than MRRT*. Because GART introduces the environmental
information to speed up the exploring process, the results prove that MGART
is more efficient in finding RAPs, which is almost 100% faster than MRRT*.
For time performance, we can see that MGART also outperforms MRRT*
with at least 3 times advantage.
Besides comparison of the time performance of finding online switching
paths (that is RAPs), we also pay attention to the quality of the path
generated. The average lengths and standard deviation of the length of all
paths in each scene are illustrated in Image 11. The average length of the
paths that generated by MGART and MRRT* are illustrated in Image 11(a),
we can see that MGART has a strong convergence performance than
MRRT*. The standard deviation of the lengths is shown in Image 11(b),
results demonstrate that MGART is more likely to find paths with smaller
fluctuation as well as smaller cost.
Image 11.
Comparison of (a) average length and (b) standard deviation of the APs
generated by MGART and M-RRT* in three scenarios.
We also test the path labeling algorithm, that is, the surrounding information
pursuing using DTc and sensing envelop, which is used to obtain the
reasonable alternative paths under Definition 5. It is should be noted that the
under the definition, any two paths do not have the same information
parameter, which enables fast switching when facing pop-up threat. As the
path label method guarantees the unique labeling of all the paths, only the
paths which stretch in a parallel way and within the same sensing envelop
have the same labels.
The results of simulation after 10,000 iterations in scenario 2 and 3 are
provided in Table 3. For each single path, the time needed for labeling the
path mainly depends on the area, dimension, the complexity of the
configuration space. For our tested with area 100 60, the average time for
acquiring the information for labeling 0.078 s (see in Table 3). The average
time needs for RAP pursing of our cases is 0.139 s.
Scenario 2
Scenario 3
labeling (s)
Time for
RAPs (s)
labeling (s)
Time for
RAPs (s)
Time performance of proposed method in two scenarios.
MGART can be used for 3D and 2D pop-up threat management, and the 3D
environments can be easily segmented by DT. We evaluate the performance
of our method in both 2D and 3D environments, and we also compared the
time performance.
For 2D environments, we implement three tests with different number of
dynamic threats. The RAP chosen algorithm works when robot realizes that
the path will collide with the pop-up threat, that is, robot at position xUAV
detects the moving threat (see in Image 12(a)). The simulation setting is
illustrated in Table 4, where the robot speed is 10 m/s and the moving threat
can be detected within 10 m detection range. Thus, the robot has less than 1 s
to re-plan a path and executing to avoid the obstacle. RAP chosen algorithm
first evaluates all its neighbor RAPs (the green lines) around the robot, and
chooses the cost minimal and collision free path based on principle Eq. (17)
(the dotted green path in Image 12(b)). It is noted that Image 12(b)–(d) are
results of using MGART to avoid one, two, and three moving threats,
respectively. The black parts along the navigation path denote the position
where threat is detected by robot. We also execute test in 3D environment
(see in Image 13) with pup-up and moving threats. The on-line switching is
supposed to be used for aerial robots in 3D, thus Dublin’s Curves is used
when switching from current position to safe path.
Image 12.
Tests of on-line switching to avoid dynamic threats using MGART in 2D
scenarios. (a) Robot detects moving threat at position xUAV, then it evaluates
all its visible neighbor RAPs (the green lines) to choose the switching path.
(b) Complete navigation of avoiding one moving threat, the red path is the
navigation path. (c) Test of avoiding two moving threats, the black and red
circles are threats. (d) Tests of avoiding three moving threats.
Image 13.
The experiment of using MGAT for 3D emergency threat management case,
where pop-up threat and moving threat are exist in the environment.
For all the experiments, we study the time efficiency of each switching to
escape from current dangerous situation. For one moving threat avoiding (see
in Image 12(b)), the time needed to switch to other RAP is 0.0507 s, and the
whole navigation duration is 13.14 s with 10 m/s speed. For two dynamic
threats avoiding case (see in Image 12(c)), the whole navigation time is
13.32 s, and the time spend to avoid the second threat is 0.0912 s. In scene 3,
we designed a long duration for threat (see in Image 12(d)). The two cyan
threats disable the blue-path, thus robot has to switch for more times while
tracking the dark path. The average time is no more than 0.15 s which can be
decreased when implemented in robot’s platform with C++ implementation,
and the whole navigation time is 13.5 s.
The main contribution of this paper is that an online EMT planner is
proposed, where pop-up threat and moving obstacle happen during tracking
the pre-planned path. We propose a new multiple path planning approach
called MGART, which is improved based on GART, by introducing an
‘Extending Forbidden’ algorithm to shift the goal biased probability to
neighbor branches around goal reached branch. The algorithm is shown to
inherit the merits of GART and the ability of exploring in cluttered
environments, and it guarantees asymptotically optimal and completeness. It
is also shown that the algorithm can generate multiple paths without using
variant cost principles, but only relying on the EFA threshold, thus it enables
selection for online dynamical switching.
In the future, we would like to research on online visual positioning and
environment perception topic, which is lack of discussion in this paper. We
would like to enable cognitive sensing and autonomous for robots.
Motion Tracking
The nature of surgical training is consistently evolving in the past decade
along with continuous changes in the healthcare system worldwide. The
modern healthcare system has been pressurized by the current law that
involves a restricted number of working hours. The legal working hours per
week can be as low as 48 hours in the European countries and 80 hours in
North America. These working mandates are deemed necessary to guard
against human errors that may be related to stress and fatigue in a high‐
pressured working environment. In addition, there is also an increasing
popularity in reporting medico‐legal cases in the current media. High profile
medical reports such as the Kennedy Report (UK) and the Institute of
Medicine (US) report ‘To Err is Human’ have highlighted surgical errors that
turned the spotlight immediately on the adequacy of surgical training and, by
extension, the quality of surgical trainees. These current changes in
healthcare system could be continued to cause negative impact upon the
surgical training of many aspiring surgeons.
Historically, surgical training has been based on the apprenticeship model
throughout many years. The trainee surgeons are taught on how to perform
procedures by senior surgeons with on‐the‐job training. Therefore, the
training is opportunistic and the trainees were expected to demonstrate their
skills in the operating theatre under supervision of their consultants. This was
coined by William Halstead who exemplified the training approach as ‘see
one, do one and teach one’. The traditional teaching method is largely relying
upon variable cases that the trainees encounter during their daily work
routine. Typically, junior doctors learn from their seniors and more
experienced colleagues and their consultants. The skill level of consultants is
perceived as the proficiency level and therefore, the desired precision in
surgical training. The trainees are expected to reach the proficiency level that
would allow them to perform surgical procedures in the real operating
theatre. However, it is a challenge to assess surgical skills and obtain an
objective proficiency level.
This training model is less favourable in the current climate of healthcare
system. Due to the restriction, the trainees have limited opportunities to gain
competencies, and therefore the training period is prolonged. As a direct
consequence of these challenges, interest in laboratories with formal
curricula, specifically designed to teach surgical skills, has increased
dramatically. The attention has been shifted towards training in a simulation
lab using inanimate bench models, animals (cadaveric or live), hybrid or
virtual reality (VR) simulators. In United Kingdom, the use of live animals is
not permitted under the current law, unlike in Europe, United States and other
Therefore, simulation technology has gained its popularity among surgical
training institution worldwide. With the advancement of laparoscopic and
minimally invasive surgery (MIS) and steep learning curve in this specialty, a
burst of simulators became available in the market for over a decade ago.
Some examples of validated virtual reality (VR) simulators available in
laparoscopy are MIST VR, LapSim, LapMentor and Xitact LS500. The
trainees are able to practice their skills in hand‐eye co‐ordination,
intracorporeal suturing and procedures such as laparoscopic cholecystectomy
and appendicectomy by using these simulators. In general, the laparoscopic
instruments used are fitted with sensors that allow the cameras to track their
movement. The simulator then displays a two‐dimensional graphic of an
operative field such as the internal organs on a computer screen. From this,
the simulators are able to track and quantify the movement that would be
converted into meaningful metrics such as path length, smoothness and
economy of movement. These metrics provide an objective automated
measurement of technical skill proficiency instantaneously.
The advancement of simulation technology has allowed training bodies such
as The Society of American Gastrointestinal and Endoscopic Surgeons
(SAGES) to develop training models for both laparoscopic and endoscopic
skills. In the recent years, surgical training institutions have been
incorporating simulators in surgical skills assessment and trainees’ selection
process. We found that only 56% of the studies in the literature employed
simulator‐generated objective metrics in the laparoscopic skills assessment
either exclusively or combined with other assessment tools, unlike other
industries, such as the aviation industry, which are more advanced in the
simulation technology.
The MIS and laparoscopic surgery is only a branch of surgical specialties. In
general, the progression of simulator development has tended to target
minimally invasive surgery (MIS). However, open surgery remains the
foundation of all surgical specialties. The surgical trainees are expected to
master technical skills in open surgery before they are allowed to progress to
more complex surgical procedures such as MIS and microsurgery. Examples
of technical skills in open surgery include hand knot tying, suturing skill,
repair of nerve or tendon and open hernia repair. The surgeon’s ability to tie
knots securely is of paramount importance as loosening of surgical knots,
during or after tying, can compromise the outcome of a surgical procedure.
Despite its importance, the training of open surgical techniques is largely
depending on inanimate bench models. The trainees would practice surgical
skills on bench models such as skin pads and saphenofemoral junction model
from Limbs and Things™ (Bristol, United Kingdom) and laparotomy model
from Simulab Corporation (Seattle, WA). This is in contrast with MIS or
laparoscopic surgery simulators. Typically, in order to assess their
competency in this skill, a trainee will perform a specific procedure such as
excision of sebaceous cyst using an inanimate model and an observer who
has extensive experience in the field such as a consultant or a senior registrar
will watch the trainees and assess their skills using observer‐dependent
assessment tools. This can be done either by face‐to‐face or video recording.
The classic observational assessment tool for open surgical skills is the
objective structured assessment of technical skills (OSATS) (Images 1 and
2). It was coined by Professor Reznick and his research team in Canada. It is
based on observation and completing two sets of checklists. The first
checklist consists of important steps in a specific procedure and trainees are
assessed whether they have taken all these steps or not. The second checklist
is the global rating scale (GRS) which examines the global performance of
the trainees by using five‐point Likert scale. It assesses the fluidity and
efficiency of movement during completion of a surgical task.
Image 1.
A sample of task‐specific checklist from OSATS.
Image 2.
The global rating scale (GRS) of operative performance.
The observational assessment tool requires the recruitment of expert surgeons
to assess trainees. This proves to be labour‐intensive and time‐consuming.
One would argue that there could be human bias or favouritism when scoring
trainees using this type of assessment. Data in several studies suggested that
unblinded raters give higher scores than blinded raters (as would be expected
if knowledge of a learner subconsciously influences a rater’s behaviour).
Therefore, surgical training is moving away from the observer‐dependant
assessment tools but towards more objective and quantifiable analysis of the
technical skills. This would allow the assessment of the trainees’ skill level
and measure their reached precision according to their corresponding training
Open surgical skills are fundamental in surgery. The skills involve hand
dexterity using surgical instruments. Thomas Morstede stated more than 500
years ago that surgeons should ‘be dextrous, have steady untrembling hands,
and clear sight’. A good surgeon is perceived as having a greater economy
and precision of hand and instrument movement.
Open surgical skills vary from simple technique, such as hand knot tying and
suturing, to more complex procedures, such as tendon or nerve repair,
laparotomy and vessel anastomosis. All of the surgical trainees are required
to master the open basic surgical skills, particularly in suturing and hand knot
tying skill. A good technique would ensure that the wound edges are
approximated neatly without causing any gaping if the sutures are loose or
skin necrosis if the sutures are too tight. The trainees would hone their skills
by practising on bench models as shown in Images 3 and 4.
Image 3.
A standard surgical knot tying task performed using the knot tying training
jig from Limbs and Things™ (Bristol, UK).
Image 4.
A trainee performing a simple interrupted suturing task using skin pads with
simulated wound edges.
The movement of the hands and fingers has to be precise and economical to
ensure that the procedure runs smoothly with minimum complication.
However, the assessment of dexterity, smoothness and economy of hand
movement using surgical instruments has been subjective and several
attempts have been made to quantify dexterity, but many of these are
unsatisfactory. Many have associated dexterity with the time taken to
complete a surgical task. It is a crude assessment and it is a poor
measurement of technical skills. Although operative speed is a desirable
surgical quality to lower the time spent under anaesthesia, it fails to assess the
quality of surgical performance.
The objective assessment of open surgical skills is slow to evolve, unlike
MIS and laparoscopic surgical training. We require an assessment tool that
could quantify the hand motion and provide an objective scale on the
performance when completing a surgical task. Therefore, we explored the
potential use of motion analysis in assessing open surgical skills. It would be
a non‐observational assessment tool that is automated and objective.
Materials and methods
All medical students in pre‐clinical years (Years 1–3) from the Royal College
of Surgeons in Ireland (RCSI), basic surgical trainees (Years 1 and 2) and
consultant surgeons were invited to participate in our study. This allowed us
to divide the participants into three different subject groups: novice, trainees
and experts. It was made clear that the participation is voluntary. Ethical
approval was granted by Research Ethics Committee of RCSI.
Image 5 showed the demographics of participants in this study.
Image 5.
Participants demographics.
Inanimate bench models are used in this study. The bench models were from
Limbs and Things™ (Bristol, UK) which include the knot tying trainer jig,
skin pads, skin pad jig and cyst pads. All participants were required to
perform two fundamental tasks. Below are the tasks involved and their
Task 1: One‐handed knot tying skill
The participants were required to perform surgical knots using the one‐
handed technique. They were given a standardised length of 2/0 Mersilk
(Ethicon) suture tie. The surgical knots were performed on the knot tying
trainer jig.
Task 2: Suturing simple interrupted technique
The participants were required to perform simple interrupted sutures on a
simulated wound. This task was performed on skin pads (Limbs and Things,
Bristol, UK). A 3/0 Mersilk suture (Ethicon) and surgical instruments were
The participants’ performances were assessed using observational tool (GRS)
and non‐observational tool (motion tracking device). The data allowed us to
analyse the validity of motion tracking device as an assessment tool in
comparison with the well‐established GRS scoring system. During the
experiment, videos were recorded in anonymous fashion. Each video was
labelled by a random code generator so that the assessor could not identify
the level of experience of each participant. The participants also had a sensor
attached to their right index finger to track hand motion and this will be
discussed in detail in the next section.
As for observational assessment, two assessors were selected to assess each
video using the GRS. The assessors were expert surgeons with greater than
10 years of consultant experience and are involved in teaching and educating
surgical trainees in Ireland. The experiment process is outlined in Image 6.
Image 6.
Flow diagram of the experiment process.
Motion analysis in surgical skill assessment
Surgical specialties have initiated a trend towards a more objective and
quantifiable measure of technical skill proficiency. In minimally invasive
surgery (laparoscopy and endoscopy), simulators have been developed with
the ability to quantify the associated skills with specific metrics including
total path length, movement efficiency and smoothness. Motion smoothness
in handling surgical tools is an essential skill that surgical residents must
acquire before independently operating on patients.
The use of motion analysis has been pioneered in gait analysis. It is used in
tracking the movement of body parts. These methods usually make use of
markers located on body articulations to garner movement information from
a particular limb. Its application is evident in various areas including sports
such as golf, training an apprentice in spray painting and also in diagnostic
simulators such as ultrasound simulation. Undoubtedly, one of the most
promising technological tools in medical training are the simulators for the
acquisition of clinical skills using motion sensors. The surgical arena has
used this technology to try and quantify surgical performance. Motion
analysis allows assessment of surgical dexterity using parameters that are
extracted from movement of the hands or laparoscopic instruments. The
motion analysis provides parameters that measure the precision of hand
motion when performing surgical skills. Hence, surgical competencies,
particularly in surgical trainees, can be ascertained by using these parameters.
Lord Ara Darzi and his researchers pioneered the use of an electromagnetic
motion tracking device in surgery, called the Imperial College Surgical
Assessment Device (ICSAD). This is the combination of a commercially
available electromagnetic tracking system (Isotrak, Polhemus Inc, Colchester,
VT) and a bespoke computer software program. This motion analysis device
uses an alternating current electromagnetic system with passive receiver
attached to the dorsum of the hand over the mid‐shaft of the third metacarpal.
It measures the time taken, the number of movements and the path length. All
of these metrics have been shown to change with experience in laparoscopic
surgery and in open surgery (bowel anastomosis and vein patch insertion).
We used a commercially available motion tracking device called The
Patriot™ from Polhemus Inc., Colchester, VT. This device utilises
electromagnetic technology and tracks 6 degrees of freedom (6DOF)
measurements of the sensor’s movement. In our study, we attached the sensor
on to the participants’ right index finger. Image 7 showed the airplane image
that indicates the sensor. It will move to the position and orientation of the
right index finger. The retrieved position and orientation are displayed as
numbers in six columns (upper part of screenshot), from left to right,
positions in X‐, Y‐ and Z‐axis and orientation in yaw, pitch and roll. The
Patriot™ collects these raw data which in turn convert to a set of meaningful
metrics using our bespoke software.
Image 7.
A screenshot of the PiMgr software.
Every evaluative tool needs to provide invaluable information on what it
measures or examines and that the conclusions drawn from the tool are
dependable. A validated assessment device should be able to differentiate
level of surgical skills according to the level of competency and this is
classified as construct validity. One inference of construct validity is the
extent to which a test discriminates between various levels of expertise.
Mason et al. have reviewed the published evidence as it relates to motion
analysis and the assessment of surgical performance. This systematic review
reported construct validity of ICSAD and other forms of motion analysis
devices such as ProMIS augmented reality simulator and Hiroshima
University Endoscopic Surgical Assessment Device (HUESAD) in assessing
laparoscopic skills.
Our research further assessed the use of a novel electromagnetic tracking
system in basic surgical skill tasks by using our own in‐house computer
software with a finger sensor. Images 8 and 9 showed the standard set up for
knot tying task and suturing task, respectively, with the Patriot™ motion
tracking device. Our in‐house software was designed to generate the classic
metrics that are time and total path length (TPL). In addition, new metrics
were developed: average deviation distance from X‐, Y‐ and Z‐axis and
average distance from centre of the bench model. The centre of the bench
model is labelled as a point of interest (POI), as we believe that hand motion
is most efficient when the hands are at certain distance away from the centre
of the workstation. Subjectively, when performing a certain task in open
surgery, such as tying surgical knots or suturing, a novice would have
unnecessary movement of their hands which include moving hands further
away from the field of surgery. This is thought to be inefficient in view of the
economy of the hand movement.
Image 8.
Knot tying model with the Patriot™ motion tracking device.
Image 9.
Simple interrupted suturing model and instruments with the Patriot™ motion
tracking device.
Our results demonstrated construct validity for both fundamental skills which
were one‐handed knot tying task (Image 10) and the simple interrupted
suturing skill (Image 11) for the metrics of time, total path length, point of
interest and deviation from the Z‐axis.
Image 10.
Distribution of the time taken (a) and total path length (b), average distance
from the POI (c) and Z‐axis (d) between the three subject groups in
completing one‐handed knot tying skill.
Image 11.
Distribution of the time taken (a), total path length (b), average distance from
the POI (c) and Z‐axis (d) between the three subject groups in completing
simple suturing task.
The box and whiskers plot shows a significant difference between experts,
trainees and novices (p < 0.001). This was analysed using Kruskal Wallis
statistical test. The horizontal lines within boxes are the median. The boxes
and whiskers represent interquartile range and range, respectively. The dot
represents outlier.
The novel parameters were able to differentiate subjects according to level of
experience along with the validated metrics as reported in literature. This
implies that a surgical novice moved his or her hand further away from the
virtual Z‐axis and mid‐point of the workstation than experts or surgical
trainees, as seen subjectively in the video recordings. Therefore, it is
postulated that this pattern of movement is less efficient. The lack of
significant change in X‐ and Y‐axis may reflect the standard suture tie length
used in this experiment. This limits the movement of the hand in these axes.
A further validation of the motion analysis device was required to prove that
it is a robust assessment tool. It is important that the metrics from motion
analysis have a good correlation with the gold standard assessment tool,
which is the global rating scale (GRS), as mentioned previously. This would
prove the concurrent validity of this novel device.
Datta et al. revealed that there was a strong correlation between number of
hand movements analysed using the ICSAD and the GRS in suturing vein
patch on an inanimate model (Spearman coefficient of −0.587, p < 0.01). In
another study by Ezra et al., concurrent validity was demonstrated between
these two assessment tools in microsurgery suturing task. The metrics used in
this study were path length, hand movements and time.
In our chapter, for the one‐handed knot tying skill, our results demonstrated a
significant correlation between all the metrics generated by the Patriot™
motion tracking device and the items of the GRS scoring tool. The only
parameter that failed to demonstrate a significant relationship was deviation
from the x‐axis and ‘respect for tissue’. For the simple interrupted suturing
skill, we found a significant correlation between time, total path length and
deviation from the z‐axis and the total GRS score.
However, the metrics from Patriot™ motion tracking system failed to show a
more convincing correlation with the scale assessing tissue handling. This
may be explained by the fact that the ‘respect for tissue’ component on the
GRS is a very subjective parameter. This is reflected in the poor inter‐rater
reliability of the GRS scoring system. Apart from this, the metrics correlated
well with the GRS items especially items involving motion and flow of
operation. We could safely suggest that the Patriot provides more objective
score than the observer‐dependant scale.
The use of motion tracking and analysis in assessing surgical skills has been
described mainly in laparoscopic skills. There is a lack of literature that
describes the integration of such technology in surgical training curricula
across the globe, despite a myriad of validation studies.
The surgical trainees learn fundamental basic skills at an early stage. Open
basic skills remains to be the principal skills across all surgical specialties.
Therefore, any aspiring surgeons are expected to be proficient in these skills
before they can proceed to perform simple procedures such as excision of
skin or subcutaneous lesion or more complex procedures such as repair of
tendon or nerve. The trainees would require direct guidance and abundance
of practice in order to be proficient in these skills, as the saying goes ‘practice
makes perfect’. By having an expert or supervisor to observe them
consistently during practice session is not feasible when clinical work takes
priority. Therefore, motion analysis system would be necessary to provide an
automated system that allows the trainees to practice and record their
performance in their own time.
Proficiency‐based training has been described as learning environments in
which the trainee progresses from less to more technically demanding skills
and tasks only after achieving predefined criteria. One widely available
simulation‐based assessment and certification program is the fundamentals of
laparoscopic surgery (FLS) developed by the Society of American
Gastrointestinal and Endoscopic Surgeons (SAGES) and now administered
by SAGES and the American College of Surgeons. The FLS program
incorporates tasks from the McGill Inanimate System for Training and
Evaluation of Laparoscopic Skills (MISTELS) program, including
laparoscopic suturing, and uses well‐described, low‐fidelity inanimate
models [39]. The proficiency scores were determined by a group of experts in
the skills and the trainees or users are required to reach these predetermined
scores before they could proceed to the next level or task. These proficiency
scores act as an aim for the trainees to achieve and subsequently motivate
them to keep practising until a high standard of surgical skills is
accomplished. In order to do this, an automated objective measurement is
much desirable, as it does not require any expert surgeons or observers to
monitor and assess the performance.
We applied the concept of proficiency‐based training by using the validated
metrics from the Patriot™ motion tracking system. We determined the
proficiency goals or desired precision for each of these metrics in knot tying
and suturing skills. This was achieved by gathering the experts’ scores from
the motion analysis and calculating the proficiency target as follows:
The performance of surgical trainees in Years 1 and 2 of the surgical training
programme was assessed using the Patriot™ device. Their scores were then
analysed against these predetermined proficiency goals. Our intention was to
objective automated tool that can be integrated into the national training
curricula as part of the training module. This will help the trainees to practise
and eventually achieve the desired precision or performance in the most
fundamental skills in surgery.
Image 12 showed a sample of trainees’ performance in suturing which was
mapped out against the proficiency target. The dashed line represents the
proficiency level of 143.6 mm. The diamond shape points below the dashed
line are the trainees who have shorter path length and considered as proficient
in their skill (n = 13, 52%). The round shape points above the dashed line are
the trainees with longer path length and did not reach proficiency level (n =
22.48%).The performance graph is very useful when there is a group of
surgical trainees assessing their suturing technique and they are able to
compare their reached precision with the desired precision.
Image 12.
The total path length (TPL) of all the trainees in the study who performed
simple interrupted suturing skill.
The main advantage of motion analysis system in surgical training is that it is
capable of producing automated objective scoring system and does not
require a group of observers to assess the performance in any particular
surgical skills. In our study, the Patriot™ motion analysis system has shown a
promising potential in a learner‐oriented proficiency curriculum. By
providing an objective and numerical rating, trainees could benchmark and
aim to improve their score through enhancement of surgical skill. As surgical
educators, this assessment tool is useful in identifying any surgical trainees
who are underperform according to the proficiency standard at an early stage
of their training years. A remedial session can be offered to these surgical
trainees and their training module can be customized for them in order to be
able to reach proficiency as required. The motion analysis system can be used
continuously by the trainees during practice session and also in any
departmental assessment settings.
The learning curve in surgical skills is steep. The trainees are required to
improve their skills or reached precision over time and progress in their
surgical training. They are expected to practice the skills, preferably in the
simulation lab until they achieve the desired precision. The training
programmes are designed to teach the trainees skills that are appropriate to
their levels. The early part of the learning curve is associated with a higher
complication rate. The improvement in their reached precision in the
simulation lab will allow them to perform procedures on patients in real
operating room with confidence. They will also progress to a more complex
procedure such as tendon repair, vessel anastomosis and bowel resection.
Motion analysis provides an objective measurement of the skills that can be
used to map out the learning curve. In order to reach proficiency in the
learning curve, using time only as a metric is not reliable. It measures how
fast someone completes a task. This does not include how efficient it was
performed. Therefore, it is regarded as an adjuvant tool to assess surgical
technical skills due to its unique properties including non‐observer
dependent, automated and feasibility.
The main limitation of motion analysis is that its inability to detect surgical
errors. Hand‐tracking data appear to confirm that skilled individuals
demonstrate a shorter path length, make fewer movements and take less time
to perform an operation, but with the caveat that this improved performance
is not accompanied by an increase in error. In minimally invasive surgical
training such as laparoscopic skills, the technology in VR simulators such as
LapSim and LapMentor is more advanced than open surgical skills training.
These simulators are programmed to identify any surgical errors as well as
analysing the movement of the instruments.
Therefore, this vital limitation of motion analysis may be overcome by
incorporating an assessment of the end‐product following a completion of
surgical task. For instance, the quality of the surgical knots can be assessed
by a force gauge device in order to ensure that the knots do not slip under
certain tension. It is important that the surgical knots are secure as knot
slippage in a real operating setting can cause catastrophic bleeding which
leads to morbidity towards patients.
This shortcoming highlights that the surgical competency is multimodal and
there is no single solution for surgical assessment. We propose that surgical
educators should incorporate motion analysis and assessment of the end‐
product quality when assessing surgical techniques. Further research should
be focused on creating an all‐in‐one package in assessing surgical
competency that would be objective, automated and most importantly
independent from any observers.
Another limitation of motion analysis is that its use in the real operating
setting. All the studies in the literature showed the use of motion analysis
system in a simulation lab. The fundamental assumption of simulation‐based
training is that the skills acquired in simulated settings are directly
transferable to the operative setting. The current motion tracking devices that
are readily available use electromagnetic field to track sensors on the hands.
These devices are sensitive to surrounding metal objects such as electronic
machines, metal bars or large electrical cables in the walls that can cause
erratic reading. These metal objects are certainly present in all real operating
theatres in the hospitals. In addition, the sensors on the devices are attached
via cables, which potentially could interfere with the sterility of the operating
field. Due to these limitations, it is not feasible to utilize these devices in
assessing surgical skills in a real operating theatre. Therefore, a new
invention of a system that is wireless and not susceptible to the surrounding
metal objects is much desired.
Open surgical skill training requires an assessment tool that is independent,
automated and objective. The validity of motion analysis in assessing
fundamental surgical skills has been proven and showed positive results. It
has demonstrated its potential use in a proficiency‐based training as a step
away from the traditional method of surgical training. The future of
simulation‐based surgical training in open surgical skills appears promising
and it will finally shape the pathway towards creating top quality surgeons in
the current climate of healthcare system.
Layered Path Planning with Human Motion
Detection for Autonomous Robots
Autonomous and intelligent navigation in a dynamic and unstructured
environment is a critical capability for mobile robots and autonomous
systems. It integrates lots of technologies from sensing, environmental
modeling, object tracking, planning, decision making, control, and so on, to
deal with the challenges from a dynamic and uncertain environment, so that
robots are capable of planning paths to avoid moving obstacles and human
beings in a real-world environment.
Lots of researchers have proposed various methods of addressing pathplanning problems, which have been applied successfully in various domains.
However, most of those methods targeted at finding a path-planning solution
in a two-dimensional (2D) environment, or an oversimplified threedimensional (3D) environment. As more and more mobile robots and
autonomous systems are placed in buildings to provide services for human
beings, an emerging and interesting problem is how to plan paths for robots
to navigate effectively across floors in a multistorey building.
Consider a multistorey building with multiple elevators or escalators on the
same floor. If we ask a robot to deliver a box from the first floor to the fifth
floor in the building, there will be multiple paths for the robot to navigate via
the elevators or the escalators. For example, the robot can take the elevator to
go to the fifth floor directly and then go to the destination. Or if the fifth floor
is very crowded with people, it can use the elevator on the first floor to go to
the second floor, and then go to another elevator at a different location on the
second floor to reach the destination on the fifth floor. Then, it becomes a
practical and important problem to choose which elevators the robot should
take, based on the dynamic environment and human context information.
Additionally, the final state on one floor is the initial state of the next floor,
toward which the robot is navigating. While the cost function on each floor
can be minimized locally based on some criteria, how to minimize the global
cost is also an interesting question that we need to answer. Since there will be
people walking in a building, the environment is changing constantly, and
thus the cost of moving from one location to another location varies based on
timing, business schedule, and other factors. The scenario described above
can be extended to other industrial domains, such as transporting in rail yard
(multiple 2D environment), health-care service robotics (hybrid 2D
environment), and aerial service robotics (full 3D path planning).
The motivation of this chapter is to propose a solution to address the two
major problems mentioned above. First, we present a method of building a
global graph to describe the environment, which takes human motion in the
environment into consideration. Human motion can be detected and its 2D
spatial distribution can be estimated by the state-of-the-art radio tomographic
imaging (RTI) technology. Then, we use a hidden Markov model (HMM) to
represent a long-term context model. In the application stage, when humans
are detected, we use the long-term context model to predict the short-term
activities of humans in the environment. Then, we build Reactive Key Cost
Maps (RKCMs) for all the floors using the predicted human activities.
Second, we present a hierarchy planning framework for robots to find a path
to minimize the global cost. This method considers the whole map as a graph,
and the adjacent subgraphs for corresponding floors are connected using
elevator or stairs, which are also associated with costs. By planning on the
higher layer of the global graph, we can optimize the global cost.
The rest of the chapter is organized as follows: Section 2 summarizes
previous work on indoor human detection and motion planning, Section 3
explains our methodology in detail, Section 4 uses some experimental results
to validate our proposed methodology, and Section 5 proposes some future
work and summarized this paper.
In a Veteran Affairs (VA) hospital, thousands of surgical tools are
transported between the operating rooms and the sterilization facilities every
day. Currently, the logistics of the perioperative process is labor intensive,
with medical instruments being processed manually by people. This manual
process is inefficient and could lead to improper sterilization of instruments.
A systematic approach can dramatically improve surgical instrument
identification and count, sterilization, and patient safety.
A fully automated robotic system involves multiple mobile and static robots
for both manipulation and transportation. The overall robotic system is shown
in Image 1. A key task throughout the sterilization process is to move robots
in the hospital from one location to another location while avoiding hitting
any obstacles including assets and people. It is a typical indoor robot
navigation task. However, due to the dynamic human activities in a hospital,
we need to address two challenges: one is to detect and track human motion
and activities in the hospital, and the other is to plan the motion trajectories
for robots to navigate through multiple floors.
Image 1.
Overall robotic system.
Related work
Robot navigation is one of the most important topics in robotics; many
sensors and techniques have been studied in the past few decades [1].
Odometer and inertial sensors such as accelerometer and gyroscope have
been used for dead reckoning, that is, relative position estimation. For
absolute position measurements, various systems have been developed using
sensors such as magnetic compasses, active beacons, and global positioning
system (GPS) chips. Combining relative and absolute position measurements,
GPS-aided inertial navigation systems have achieved satisfying performance
for many outdoor robotic applications. However, accurate and robust
localization is still an open problem in the research community for an indoor
environment and GPS-denied situation.
As wireless devices and networks become more pervasive, radio-based
indoor localization and tracking of people becomes a practical and costeffective solution. Extensive research has been performed to investigate
different wireless devices and protocols such as ultra-wide band (UWB),
Bluetooth, Wi-Fi, and so on to locate people carrying radio devices at indoor
or GPS-denied environments. A few recent studies even measure and model
the effect of the human body on the antenna gain pattern of a radio, and use
the model and the effect to jointly track both the orientation and position of
the person wearing a radio device such as an radio-frequency identification
(RFID) badge. However, all these methods require people to participate in the
motion capture and tracking system by carrying devices with them all the
With respect to motion planning, there are some existing methods that use the
historical human activity data to assist robotic motion planning. A well-
known example is the planning engine in the Google Map, which relies on
crowd-sourced user data. However, we are targeting on robot motion
planning at indoor environments, where we cannot collect human activity
data from Google Map or GPS. We also cannot expect that everyone in a
building can hold a device for us to collect the human-associate data. A
natural and noncooperative method is to obtain such data by actively
detecting and tracking human activities in the environment without mounting
any sensors on human bodies, and that is the basic innovation point and
contribution of our method proposed in this book chapter. The technology we
used in this book chapter successfully helps us build a model to describe
human activities in the environment.
For robots to interact with human beings, human motion detection and
tracking is a critical problem to solve. Recently, a novel sensing and
localization technique called radio tomographic imaging (RTI) was
developed to use received signal strength (RSS) measurements between pairs
of nodes in a wireless network to detect and track people. Various methods
and systems have been developed to improve the system performance at
different situations. For example, a multichannel RTI system was developed
by exploring frequency diversity to improve the localization accuracy. A
variance-based RTI (VRTI) was developed to locate and track moving people
even through nonmetal walls. Further, to locate stationary and moving people
even at non–line-of-sight (NLOS) environments, kernel distance-based RTI
(KRTI) was developed that uses the histogram distance between a short-term
and a long-term RSS histogram. The state-of-the-art RTI technology has been
used to locate and track people in buildings, but we are not aware of any
research effort in using RTI to assist human robot interaction and robot path
RTI technology could help us describe human activities in the environment,
especially in buildings. The next step is to use appropriate methods to
represent the information obtained. When building a model of describing
human activities, some researchers focused on building a mathematical field
model, for example, Gaussian Mixture Model (GMM). Given a position, the
model returns a density of humans in the environment. Some researchers use
nodes to represent humans. One well-accepted and popular method is hidden
Markov model (HMM). Both discrete and continuous HMMs have been
proposed to describe states and transitions. In our system, we choose to use
discrete HMM to simplify the model and reduce the computing time when
the robot is moving. Lots of literatures can be found in this paper for using
HMMs in robotics research. In our method, we used HMMs, but we describe
human activities using the costs, not the nodes. Our contribution is to
successfully integrate the human detection results into an HMM and reduce
the number of nodes in the HMMs for robotic path planning.
Based on the representation model that we chose, a motion-planning
algorithm is used to enable robots to find a path from the current location to
the target position by searching the reachable space and finding a path to
satisfy task constraints. The path-planning process can be done in a
configuration space or a task space. Current path-planning methods are
categorized into three types: (1) roadmap, which samples the configuration of
a task space and finds a shortest or an optimal path to connect the sampled
points; (2) potential field, which generates a path in the configuration or a
task space by moving a particle attracted by the goal and repelled by
impedance areas; and (3) strategy searching, which searches the policy or
strategy database to find a solution that describes the path.
The proposed system includes several subsystems such as robot navigation,
human activity and motion detection, long-term context model, and so on.
The overall system architecture is shown in Image 2. We explain each
subsystem in detail in this section.
Image 2.
System architecture.
First, we need to detect human activities in the environment. The detection
result is used for building a long-term context model in the learning stage and
predicting the current human activities in the environment in the application
stage. Most of human activities could be simplified as human motions and
locations if we do not want to consider what humans are doing. In the human
detection part, we choose to use the KRTI technology to record the locations
of humans in the environment. The locations are recorded together with
timing information to construct a hidden Markov model, which is stored as
our long-term context model, after the model is learnt and built. In the
application stage, whenever a human is detected in the environment, robots
use the context model to predict the human’s activity in the future a few
minutes/hours depending on the use cases. The descriptions of current and
predicted humans’ activities are combined to generate impedance areas. The
impedance areas will be used to generate Reactive Key Cost Maps describing
the cost between the key locations including elevators and the stairs. All the
RKCMs are connected by elevators and stairs, where robots can use to move
from one floor to another. The connected graph is the global graph describing
the current paths and connections in the multifloor environment.
When a target is defined in the cost map, which does not belong to elevators
and the stairs, we add the target location to the graph and use a Gaussian
model to compute the cost of moving from key locations to the target
location. The robot then tries to search a shortest path from its current
location to the target location in the global graph. Please notice that the path
maps are changing all the time, because the information on the heat map
changes continuously based on the current and predicted human activities,
which are detected by our indoor localization sensors.
This part is the first step of the whole system. All the following analysis,
planning, and decision making are based on the detection results coming
from this step. The input of this step is the locations detected by the sensors,
and the output of this step is different in the learning stage and the application
stage. In our system, we propose to use kernel distance-based radio
tomographic imaging (KRTI) to detect human beings and track their
positions in the environment. First, we give a simple introduction to the
KRTI system.
Assume we have a wireless network with L links. For each link, received
signal strength (RSS) is measured at the receiver from the transmitter, and we
use ql to denote the histogram of the RSS measurements recorded during a
calibration period, and use pl to denote the RSS histogram in a short time
window during the online period. Then, we can calculate the kernel distance
between two histograms ql and pl for each link as
where K is a kernel matrix from a kernel function such as a Gaussian kernel.
Let d=[d0,⋯dL−1]T denote a kernel distance vector for all L links of a
wireless network, and let x=[x0,⋯,xM−1]Tdenote an image vector
representing the human motion and presence in the network area. Then, the
previous RTI work has shown the efficacy of a linear model W to relate RSS
measurements with the image vector x :
where n is a vector representing the measurement noise and model error.
Finally, a KRTI image xˆcan be estimated from the kernel distance vector d
using the generalized least-squares solution :
where Cx is the covariance matrix of x, and Cn is the covariance matrix of n.
More details of the KRTI formulation can be found in Ref.
In the learning stage, the goal is to build a heat map describing long-term
human activities. The process is to put the sensor in the environment for a
long and meaningful time and record the human locations with temporal
information. In our experience, the duration of this process depends on the
situational environment and the requirements of applications. Normally, we
put the sensors in the environment for one whole week to collect weekly
based data. The reason is that we find the daily human activities to be largely
different and the weekly human activities have some trackable patterns.
Image 3 displays an example of detected human activities in a small
Image 3.
Human motion detection.
To simplify the modeling process, we use Gaussian Mixture Model (GMM)
to model the locations. The ‘hot’ locations are described as Gaussian models
whose centers are the peak points of activities that happen every day. It is
easy to understand that those peak points are some public spaces in the
environment. Mathematically, the location of each Gaussian model is
described as
where k represents the kth floor, j is the index number of the Gaussian model
on the kth floor, (x, y) is the location of the center of the Gaussian model
w.r.t. the local coordinates of the kth floor, and σ is the variance.
Then, based on the temporal information, a Hidden Markov Model can be
built. The HMM model describes the relationship between each location,
especially when a human is within an area described using Gaussian model,
where he/she will move to.
Assuming on kth floor, we have N Gaussian models and is monitored from
the starting time: t1, and the current state qt is Si at time t. The probability of
the transition from qt = Si to qt+1 = Sj at time t + 1 is
The state transition matrix is defined as A, where
Then, the observation matrix defined as B is given by
It means that the measured value is vk at time t while the current state is Gk(i).
The initial state distribution is defined as
The complete Hidden Markov Model then is defined as
Then, this model describes the transition between two locations based on the
observations. As mentioned in Ref., the Bayesian method is used to
determine the number of states in a HMM model by minimizing the equation:
where Lf is the likelihood of the model given the observed demonstration, np
is the number of the independent parameters in the model, and T is the
number of observations. The model, which has the smallest value according
to Eq. (10), will be chosen.
An example of a HMM built for our system is shown in Image 4.
Image 4.
Example of HMM of human activities.
Given an observation Ok, the nearest Gaussian model is computed:
which is used to define the current state Gk(i).
The most probable area where the human will move to is determined by the
then the area covered by Gk(l) and Gk(m) will be masked as high-impedance
area in the map in the next step.
One important thing we want to mention is that there are lots of people
moving in a business building. Then from the detection side, there will be lots
of areas masked as high-impedance areas.
After we have the high-impedance areas obtained from the application stage
of human activity detection, the next step is to use a map or a graph, which is
associated with costs between two key locations, to describe the current
environmental information. In our method, Gaussian models are used to
describe human activities at hot locations in the environment. However, we
do not need to use all of them in the global shortest path searching. What we
care about is the cost between key locations, not all the locations. The key
locations in our definition are (1) elevators and stairs, which connect two
floors and (2) target locations, which may not be the hot locations we
detected in the above sections but the robot needs to move to.
We segment the free space of a static map into grids. Then, we overlay the
high-impedance areas to the static grid-based map as shown in Image 5.
Image 5.
Map overlay.
The cost of moving from one grid to an adjacent free grid is always 1, and the
cost of moving from one grid to an adjacent impedance grid is defined using
the following equation:
impedancecurrent is defined by the number of people. And impedancehistory is
defined by the number of people detected at t from the historical data.
Using c(i, j), we can build a Reactive Key Cost Map for each floor. As we
mentioned earlier, we do not care about the path between each location, but it
is necessary to find the cost of paths between key locations.
However, most of the time, a target location in a navigation task is a public
space like a conference room, an office, and so on, which are not close to the
key locations. So before we build our cost graph, we need to build one
additional key location in the map. Then, we connect the closest neighbors to
the target node. The cost is computed using the Gaussian impedance area:
where x is the target location, xi is the center of the Gaussian impedance area,
and Σ is the variance matrix. Image 6 displays the cost map generated from
Image 5.
Image 6.
Cost map with three key points.
Then, we apply a shortest path-searching algorithm to find the shortest paths
between all the key locations on each floor. In our system, we used A*
algorithm, since the map is known and the heuristic and current cost are all
known. Specifically, A* selects the path that minimizes
where n is the last node on the path, g(n) is the cost of the path from the start
node to n, and h(n) is a heuristic that estimates the cost of the cheapest path
from n to the goal.
After the searching, a Reactive Key Cost Map is built and all the paths are
described with cost, which is shown in Image 7.
Image 7.
Example of Reactive Key Cost map.
The next step is to connect all the maps of floors together and the connection
points are elevators and stairs. This is a simple matching and connection
After the maps of the whole building is built, path searching and planning can
all be done in the global map.
Since we largely reduce the complexity of the map by building a Reactive
Key Cost Map, the computing task on the path-searching part is not very
difficult. We use Dijkstra’s algorithm to find a shortest path in a constructed
directed map. Dijkstra’s algorithm is a greedy searching algorithm to find a
shortest path in a directed graph by repeatedly updating the distances between
the starting node and other nodes until the shortest path is determined. Let the
node at which we are starting be called the initial node. Let the distance of
node Y be the distance from the initial node to Y. Dijkstra’s algorithm will
assign some initial distance values and will try to improve them step by step
as follows:
Assign to every node a tentative distance value: set it to zero for
our initial node and to infinity for all other nodes.
Mark all nodes unvisited. Set the initial node as current. Create
a set of the unvisited nodes called the unvisited set consisting of all
the nodes except the initial node.
For the current node, consider all its unvisited neighbors and
calculate their tentative distances. For example, if the current node
A is marked with a distance of six, and the edge connecting it with a
neighbor B has length 2, then the distance to B (through A) will be
8, the summation of the above two numbers. If this distance is less
than the previously recorded tentative distance of B, then overwrite
that distance. Even though a neighbor has been examined, it is not
marked as “visited” at this time, and it remains in the unvisited set.
When we are done considering all the neighbors of the current
node, mark the current node as visited and remove it from the
unvisited set. A visited node will never be checked again.
If the destination node has been marked visited (when planning
a route between two specific nodes) or if the smallest tentative
distance among the nodes in the unvisited set is infinity (when
planning a complete traversal), then stop. The algorithm has
Select the unvisited node that is marked with the smallest
tentative distance, and set it as the new “current node,” then go back
to step 3.
Using Dijkstra’s algorithm, in a map, a shortest path can be generated from
the “Starting” node to a destination node. In our testing, we found some
issues when applying Dijkstra’s algorithm in 3D path searching. Then, we
simplify our case by confining that the global map can be represented as a 2D
graph. This paper does not focus on proposing a novel planning algorithm, so
improving the motion-planning algorithm is not the concentration.
Experiments and results
To evaluate our system, we need to have two types of evaluation. One is to
make sure the path can be generated. We tested this part in a static
environment assuming that the human motion and activities have been
detected and remained the same for a certain amount of time. The second
testing is to test the reactive planning. Assuming that humans are moving in
the environment, then we generate a path plan reactively based on the current
environmental situation. This part is to validate that the system is responsive
quickly enough to deal with the uncertain and unexpected human activities in
the environment. First, we describe how we perform experiments to evaluate
our human motion-tracking system.
We use the TelosB motes as our wireless nodes to form a wireless network as
our testbed. We deploy nodes at static locations around an area of interest, as
shown in Image 8. All nodes are programmed with TinyOS program Spin so
that each node can take turns to measure the received signal strength from all
the other nodes. A base station is connected to a laptop to collect pairwise
RSS measurements from all nodes of the wireless network. Once we collect
RSS from the network, we feed the RSS vector to our KRTI formulation as
described in Section 4.1.1.
Image 8.
Experimental layout with reconstructed RTI image (anchor nodes shown as
bullets, true person position shown as a cross, RTI position estimate shown as
a triangle, and robot’s orientation and position are shown as arrow and square
for illustration purpose).
We describe our experiment in a controlled environment to evaluate our
motion-tracking system. As shown in Image 8, 34 TelosB nodes were
deployed outside the living room of a residential house. Before people started
walking in the area, we collect pairwise RSS measurements between anchor
nodes as our calibration measurements. During the online period, people
walked around a marked path a few times in the living room, so that we know
the ground truth of the locations of the people to compare with the estimate
from RTI. The reconstructed KRTI image is shown in Image 8 with the black
triangle indicating the location of the pixel with the maximum pixel value,
which is the location estimate of a person. Note that KRTI can detect human
presence by choosing a threshold of the pixel value based on the calibration
measurements. KRTI is also capable of tracking multiple people, as shown in
Image 3. More details of the experiments and dataset can be found in Refs.
We tested our proposed algorithm in simulation. After detecting the human
activities, the robot builds the heat map and the 2D RKCM of each floor.
Image 9 displays three 2D graphs of three floors, which are labeled by
shadowed circles. They are connected by stairs or elevators. The cost of
moving from one floor to another floor using the elevators or stairs is
manually defined as three in our graphs.
Image 9.
Reactive Key Cost map.
The distance matrix used for Dijkstra’s searching algorithm is shown in Eq.
(16). Each row represents the distance from one node to other nodes. The
elements represent the distance values. Given a task of the start point i1 on
map 1 and the goal state k3 on map 3, the robot finds a path from i1 to k3 as
shown in Image 10. The cost of the path is 25 which is the global minimum
Image 10.
Experimental results.
Comparing the time spent on movement and detection, the time of finding
path based on RKCM can almost be ignored. There are lots of papers
describing the algorithm complexities of Dijkstra’s algorithm and other
algorithms, where readers can refer to
We still use traditional online sense-plan-act algorithms when the robot is
moving. However, the experiments here largely reduce the computing
workload on the robot side. The robot knows in advance what is happening in
the environment based on the HMM model built from historical data, then it
uses the HMM to find a path which is optimal based on the historical
information, under the assumption that the current situation is similar to the
historical situation during the same time every day or every week.
From the above experimental results, we can clearly see that our system
builds the global graph using the monitored human activities and generates a
shortest path for robots to move to the target locations.
In most indoor robotic navigation challenges, especially in crowded
environment, researchers tend to equip robots with various sensors to make
sure that they can detect everything in the environment. Then based on the
comprehensive detection and recognition process, a smart decision-making
mechanism can help robots to plan the motion, switch strategies, and move
freely in the environment. This method enforces large workload on the
online-computing component. The motivation of this book chapter is to find a
method to reduce such workload based on historical data of human motion
and activity.
Based on the collected human activity data, we use a simple HMM to
describe the cost of movement in the environment. Then, robots can plan the
motion in advance to avoid moving to a very crowded area. We have seen
lots of cases that robots run into a crowd of human and have lots of difficulty
in moving out of that area, which generates concerns on safety, cost, and
efficiency. Our method can avoid such a situation based on the modeling
results as seen from the last section.
We do find some situations that the system does not work very well. When
the robot moves too fast, and the humans nearby are walking, the planning is
not fast enough to reflect the current changes of the environment, and thus
collision happens. We have not done much testing on this part and we plan to
have more testing to make the system more robust in such situations.
Additionally, we cannot expect that static HMM model can provide satisfying
information for robots to use. Every day, new patterns of human activities
may appear in the environment and the model needs to be updated
accordingly. Thus, it is desirable to perform data collection and modeling
when robots are moving, which enables robots to have the lifelong learning
capability. This capability could help robots to have up-to-date information to
use and make the planning more efficient and useful.
Moving one robot in a building is challenging, but motion planning for a
group of robots is even more complex [35, 36]. Sharing latest updated human
activity models among robots is key to the success to realize coordinated and
collaborated robotic motion planning. The critical technical problem is to
design a method of fusing models into one for all the robots to use.
This book chapter proposes a hybrid method of planning paths in a global
graph composed of subgraphs. We take the human activity into consideration
to build a cost graph. This method significantly reduces the computing
workload because it avoids planning in a global graph with lots of grids and
possibilities. We also carry out experiments in simulation to validate our
proposed method. The methods proposed in this chapter provide a solution to
enable autonomous systems/robots to navigate effectively and robustly in
human-existing multistorey buildings.
Audio-Visual Speaker Tracking
Speaker tracking aims at localizing the moving speakers in a scene by
analysing the data sequences captured by sensors or arrays of sensors. It
gained relevance in the past decades due to its widespread applications such
as automatic camera steering in video conferencing, individual speaker
discriminating in multi‐speaker environments, acoustic beamforming, audio‐
visual speech recognition, video indexing and retrieval, human‐computer
interaction, and surveillance and monitoring in security applications. There
are numerous challenges, which make speaker tracking a difficult task
including, but not limited to, the estimation of the variable number of
speakers and their states, and dealing with various conditions such as
occlusions, limited view of cameras, illumination change and room
Using multi‐modal information is one way to address these challenges since
more comprehensive observations for the state of the speakers can be
collected in multi‐modal tracking as compared to the single‐modal case, and
the collection of the multi‐modal information can be achieved by sensors
such as audio, video, thermal vision, laser‐range finders and radio‐frequency
identification (RFID). Among these sensors, audio and video sensors are
commonly used in speaker tracking compared to others, because of their
easier installation, cheaper cost and more data‐processing tools.
Earlier methods in speaker tracking employ either visual‐only or audio‐only
data, and each modality offers some advantages but is also limited by some
weaknesses. Tracking with only video offers robust and accurate
performance when the camera field of view covers the speakers. However, it
degrades when the occlusion between speakers happens, when the speakers
go out of the camera field of view, or any changes on illumination or target
appearance have occurred. Although audio tracking is not restricted by these
limitations, it has a tendency to non‐negligible‐tracking errors because of
intermittency of audio data. In addition, audio data may be corrupted by
background noise and room reverberations. Nevertheless, the combination of
audio and video data may improve the tracking performance when one of the
modalities is missing or neither provides accurate measurements, as audio
and visual modalities are often complementary to each other which can be
exploited to further enhance their respective strengths and mitigate their
weaknesses in tracking.
Previous techniques were focused on tracking a single person in a static and
controlled environment. However, theoretical and algorithmic advances
together with the increasing capability in computer processing have led to the
emergence of more sophisticated techniques for tracking multiple speakers in
dynamic and less controlled (or natural) environments. In addition, the type
of sensors used to collect the measurements is advanced from single‐ to
In the literature, there are many approaches for speaker tracking using multi‐
modal information, which can be categorized into two methods as one is
deterministic and data‐driven while the other is stochastic and model‐driven.
Deterministic approaches are considered as an optimization problem by
minimizing a cost function, which needs to be defined appropriately. A
representative method in this category is the mean‐shift method, which
defines the cost function in terms of colour similarity measured by
Bhattacharyya distance. The stochastic and model‐driven approaches use a
state‐space approach based on the Bayesian framework as it is suitable for
processing of multi‐modal information. Representative methods are the
Kalman filter (KF), extended KF (EKF) and particle filter (PF). The PF
approach is more robust for non‐linear and non‐Gaussian models as
compared with the KF and EKF approaches since it easily approaches the
Bayesian optimal estimate with a sufficiently large number of particles.
One challenge in the implementation of the PF to tracking problem is to
choose an optimal number of particles. An insufficient number may introduce
a particle impoverishment, while a larger number (than required) will lead to
extra computational cost. Therefore, choosing the optimal number of particles
is one of the issues that affect the pe