UNIVERSITY OF AGRICULTURE MAKURDI
COLLEGE OF SCIENCE
DEPARTMENT OF MATHEMATICS, STATISTICS AND
COMPUTER SCIENCE
COURSE WORK SEMINAR
TOPIC:
SIMULATION OF COLLISION HANDLING IN INDUSTRIAL ROBOTS
NAME: AGELAGA Kerbem David ____________________
REG. NO.: 15/8753/PGD
Signature/Date
SUPERVISOR: MR David. O. Aniobi
____________________
Signature/Date
DR. S. C. NWAOSU
____________________
HEAD OF DEPARTMENT
Signature/Date
1.0 INTRODUCTION
1.1 Background of the Study
When a collision occurs in an industrial robot, the arm of the robot have to be
retracted to prevent further collision. The cause of the collision needs to be
corrected and the programmed job needs to be restarted. This process has to
be performed quickly so that production will continue. The arm of the robot can
be retrieved manually or automatically. The manual method takes time and the
robot controller has to manually retrieve the robot arm, and needs to have good
knowledge of how to control the robot, else another collision would occur.
For any robot to become practical, they must operate safely and reliably.
Collision can occurs as a result of the robot colliding with another industrial
robot or with an obstacle in the way.
To handle collision, there has to be prevention, detection, avoidance, and a
reaction to collision (De Luca et al., 2005) Collision detection, collision
awareness, collision avoidance and retraction are the main point of interest in
this research.
This work seeks to address collision handling, mainly the safety of humans in a
robot work-cell and the avoidance of collision between the robots and any
obstacle as this may lead to severe injuries, if robots collides with humans. Also
collision detection and avoidance for industrial robots in harsh environments
(e.g. explosive environments found in oil and gas sector) to avoid a potential
accident that can also damage robots and other equipment in the environment.
This thesis builds on the concept of collision detection and aims at enabling the
robot to find a collision free path by passing the obstacle and leading to the
target position using different sensors.
Currently, no known industrial robots manufacturer deliver robots with external
sensors. It is left for the subsidiary of the robot company to come up with one.
The sensors are usually located on the fence around the work cell. Usually,
systems around the robots are responsible for handling collision (Kaldestad,
2014).
Abb virtual robotic arm (IRB6640ID_200_255_05) from RobotStudio simulator is
adopted for use in this work. It can carry a weight of 200kg and can reach 2.55m
in length. This robot is programmed and instructed to weld a block of metal. The
targets are specified, this is the areas on the block to be welded. So for a
successful completion of program task, the robot arm welds the targeted area.
Mobotsim simulator is an open source 2D software is also used to detect
obstacles within a work cell. Here an environment is created with different
obstacles in the way of a robot called Mobot, the robot using sensors is able to
avoid objects and retracts if it collides with any object in its way. Thus
demonstrating that instead of the robot causing more damage, it can quickly
retract.
Robots can throw, crush, drop, electrocute and cut. These are just some of the
many hazards that can occur in a workplace. With this facts, it is wise to train
workers on the maintenance and safety to prevent any undesirable incident as
robots could be lethal. (Hopper, 2016).
For a developing nation like Nigeria to thrive, we need to increase our
exportation of commodities like cars, electronics, food and more. One way to do
this, is to produce in large scale for commercial purposes instead of importing
from other developed countries. This large scale production can be done with
the use of robots.
Robots are not common in Africa as a whole but would be in the future. Robots
will replace humans for some laborious task (automating some processes in the
manufacturing industry) which will help improve the Gross Domestic Product of
countries in Africa.
Knowledge on how robots work will help trainees, robot hobbyists, Robot
coworkers to take precautions and sound warning to other people who come in
contact with robots.
There are some industrial operations that are not safe for humans and also the
environment in which these operations are carried out might be challenging to
work in. The oil and gas industry is one of the sectors in which safety is
paramount. Countries like Norway are looking at the possibilities of using
industrial robots at petro-chemical plants and oil rigs.
There are situations whereby the environment (Europe) is too cold with
temperatures ranging from -20oC to -50oC. With these conditions, workers
cannot travel to the oil exploration fields not even with a helicopter since the icy
condition makes it hard to fly and land. In other cases we have oil fires like in
Nigeria. Industrial robots can be used to prevent and stop these fires (Kaldestad,
2014).
If there is a nuclear radiation, oil fire or oil spillage, workers can be relocated to
an offshore room or distant room so as to enable them operate the oil rigs or
vessels remotely or use robots to handle the situation.
Assembly is one of the fastest growing industrial applications of robotics. It
requires higher precision than welding or painting and depends on low-cost
sensor systems and powerful inexpensive computers. Robots are used in
electronic assembly where they mount microchips on circuit boards.
In an Assembly plant, there could be collision resulting from a malfunction of an
industrial robot or collision as a result of an accident. An industrial robot can
avoid a collision using a built sensor. In order for a robot to avoid a collision, a
collision must first be detected since there would be nothing to avoid.
1.2 Problem Statement
As earlier stated, safety is paramount in any industry or environment. When
industries are trying to meet up with production demands, they sometimes
forget safety guidelines that should be the topmost priority.
Without proper collision handling system in place, a robot can collide with an
object blocking its part. If a robot is working in an explosive environment,
collision is not an option as this may cause a spark which could lead to a fire or
explosion.
So, it is not enough for robots to have a collision detection system but also have
collision awareness that would enable the robots avoid colliding with an object
hence, collision avoidance.
1.3 Aim and Objectives of Research
1. To use two open source simulator software (RobotStudio and Mobotsim)
to explain the solution for a safe retraction of the robot arm if it collides
with an object.
2. To discuss about the safety of robot workers as they work.
3. To discuss collision in industries and how collision avoidance, collision
detection and collision awareness can be used to handle such collision.
1.4 Scope of Study
The scope of this research is on collision handling in the oil and Gas industry also
in the manufacturing industry that makes use of industrial robot. It makes use
of two simulators (ROBOTSTUDIO and MOBOTSIM) to explain industrial collision
detection and avoidance.
1.5
Significance of the Study
Robots can sense their environment when programmed and avoid an obstacle
since they use special sensors. This research work explains how this is done. It
is important because, certain industrial robots perform better with the aid of a
coworker. A robot must not inflict injury or cause accident in a work
environment that might be chaotic to humans in the work cell. Also as
precaution, humans are advice to stand some calculated distance from the
robot just in case the robot malfunctions.
As earlier stated, robots can throw, crush, drop, electrocute and cut. These are
just some of the many hazards that can occur in a workplace. With this
knowledge, it is wise to train workers on the maintenance and safety
guidelines to prevent any undesirable incident as robots could be lethal.
In Nigeria, robots are not common but in the future they would be. Robots will
replace humans for some laborious task (automating some processes in the
manufacturing industry).
The understanding of collision handling of industrial robot would help trainees,
robot hobbyists and robot workers to take precautions and sound warning to
other people who may come in contact with robots.
2.0 LITERATURE REVIEW
2.1 Theoretical Framework
2.1.1 Collision Handling
Collision Handling entails methods of collision prevention, avoidance, detection,
and safe retraction using external sensors. To further explain collision handling,
the following terms, obstacle, collision, collision awareness, collision detection
and collision avoidance, are defined below.
2.1.2 Obstacle
An obstacle is something that stands in the way of a robot. Usually, the object
does not exist in the work cell CAD model. It blocks the part of the manipulator,
such that the robot structure will be in contact with the obstacle. An obstacle
can be static (non-moving like a structure) or dynamic (or moving like other
robots or humans). There are two reasons why there can be an obstacle in a
robots parts which are:
1. The object is not initially accounted for in the programming of the path
2. An object that the robot is unintentionally approaching due to a hardware
or software failure.
2.1.3 Collision
Collision will occur when there is an obstacle that was not planned for in the
path of a robot, makes a physical contact with the robot. Intentional
manipulation of objects is not regarded as collision.
2.1.4 Collision Awareness
Industrial robots are usually programmed to monitor the system to check if
there is any obstacle in the part of the robot and alert the robot supervisor or
worker, just around the corner.
”40% of all forklift fatalities are aused y a i dividual ei g stru k or ru over
by a forklift. Many of these accidents and fatalities can be avoided by warning
pedestria s a d operators of approa hi g da ger” (save.ty. o , 2013)
Even though a forklift is not a robot, industrial robots also have same sensor
alert warning systems
2.1.5 Collision Detection
Collision detection is the ability of robot systems to detect a collision just before
it occurs. This is necessary so as to avoid a collision. As earlier stated, a collision
cannot be avoided unless it is detected. According to Kaldestad, a collision is
detected when:
An obstacle enters the working volume of the object.
The distance between the object and the obstacle is below a
p edefi ed th esh-old.
The object is expected to collide with an obstacle based on e.g. speed
and direction.
2.1.6 Collision Avoidance
Once collision is detected, it can be avoided and its new task becomes, how to
find a new path to avoid collision. When a robotic arm detects a collision,
production should stop, and robot arm retracted either manually or
automatically. Another option will be to take a new path but there is a possibility
that there could still be another obstacle in its way, so best solution is to stop to
prevent further damage.
There are environments which are explosive in nature. Depending the tasks of
the robot, say for instance a paint robot, the paint itself is explosive in nature
since robots use pressurized air to spray objects. The robot is pressurized with
air such that the inner pressure of the structure is higher than atmospheric
pressure out-side. This prevents gases entering the structure of the robot where
it potentially can cause a reaction with the circuitry inside the robot and ignite
Extra care and precaution should be taken in these environments as any slight
error or collision could lead to a fire. (Kaldestad, 2014).
2.1.7 Sensors of Robots
A sensor is a transducer that converts a physical quantity to an electric signal.
There are many kinds of sensors which robots use, avoidance sensor, collision
sensor, optical sensor, infrared proximity sensor, infrared range sensor and
homing sensors. Robots ask questions about the external world. Perhaps
hundreds of times pe se o d a o ot asks uestio s like hi h a do I tu ?
Whe e is the ta get? The o ot’s p og a
a hoose a app op iate
response to all these questions (Joseph L.J, 2005).
Industrial Robots can sense their environment when programmed and avoid an
obstacle since they use special sensors. Even with sensors installed, certain
industrial robots perform better with the aid of a coworker. A robot must not
inflict injury or cause accident in a work environment that might be chaotic to
humans in the work cell. Also as precaution, humans are advice to stand some
calculated distance from the robot just in case the robot malfunctions (De Luca,
2013).
2.1.8 Abb Robot
Abb robots is an industrial robot manufactured by Abb robotics which has its
headquarters in Michigan USA. Abb Robotic are the leading supplier of industrial
robots in the United States, they also have a robot simulator called Robotstudio.
2.1.9 Mobotsim
Mobotsim is a 2D simulator used in this research to demonstrate backtracking,
collision detection and collision avoidance. It uses the Visual Basic language and
it is an open source software.
2.1.10 Backtracking
Backtracking is needed when a collision is detected, or needs to be avoided. It is
a method of moving a robot arm in the reverse direction so as to avoid further
collision.
2.1.11 Localization
This is the use of sensors for detecting the exact position of the target.
Manipulators have to know where their objects are. The ways in which robot
find its way home is
I.
II.
III.
Tracking: The initial state of the object is already known so the robot
just finds its goal state. KUKA industrial robots use a camera for
tracking an object (Niemuller and Sumedha Widyadharma, 2003, Liu
C.J et al, 2006).
Global Localization: Here we do not know where the object is and
have to find it. Most times using the Global Positioning System (GPS)
(Niemuller and Sumedha Widyadharma, 2003).
Homing: To home in on a destination, a robot should answer the
question which way should I turn? (Joseph L.J, 2005) An infrared,
Bluetooth or Wireless LAN emitting beacon transmitter (usually
attached to target) by some sort of Bluetooth/Infrared/WLAN
receivers (attached to the robot) and transmits those signal for the
robot to receive and find its target.
2.1.12 Robot Inverse Kinematics
Picture a scenario, you need to pick a hat and wear it, your arms connected to
your shoulders has to move to reach out for the hat, then your elbow bends to
put the hat on your head.
Figure 2.0: Simple robot lying in the X-Y Plane (Inverse)
This is an illustration of a robot lying on the X-Y plane. We have the Xhand of
length l making an angle ø with the X plane. This is the inverse kinematics
problems is solved, given the length of the hand as l and we have to find the
angle ø (Hopper, 2003). The forward position solution is
Xhand = lcos ø (forward position solution)
cos ø = Xhand /l
ø = cos-1 (Xhand /l)
Now let l = 1m and X = 0.7071m, then our ø would be
ø = cos-1 (0.7071) = +/- 45 degrees
Now for a typical robotic arm just like the human arm we have three joints that
is three angles ø1, ø2, ø3 (Hopper, 2003).
Figure 2.1: Robot lying in the X-Y Plane (Inverse)
Given: Xhand, Yhand, Øhand Find: Ø1, Ø2 and Ø3
To aid in solving this problem, let’s defi e a i agi a st aight li e that e te ds
from the robot's first joint to its last joint as follows:
B: length of imaginary line
q1: angle between X-axis and imaginary line
q2: interior angle between imaginary line and link l1 Then we have:
B2 = Xhand2 + Yhand2 (by the Pythagorean Theorem)
q1 = ATan2(Yhand/Xhand)
q2 = acos[(l12 - l22 + B2)/2l1B] (by the law of cosines)
Ø1 = q1 + q2
Ø2 = acos[(l12 + l22 - B2)/2l1l2] (by the law of cosines)
Ø3 = Øhand - Ø1 - Ø2
2.1.12 Forward Robot Kinematics
Figure 2.2: A simple robot lying in the X-Y Plane (forward)
The figure above is a schematic of a simple robot lying in the X-Y plane. The robot
has three links each of length l1-3.
Three joints (the little circles) connect the three links of the robot. The angles at
each of these joints are Ø1-3. The forward kinematics problem is stated as
follows: Given the angles at each of the robots joints, where is the robot's hand
(Xhand, Yhand, Øhand) (Hopper, 2003)? For this simple planar robot, the
solution to the forward kinematics problem is trivial:
Xhand = l1cosØ1 + l2cos(Ø1 + Ø2) + l3cos(Ø1 + Ø2 + Ø3) Yhand = l1sinØ1 + l2sin(Ø1 +
Ø2) + l3sin(Ø1 + Ø2 + Ø3)
Øhand = Ø1 + Ø2 + Ø3
2.1.13 Robot Coordinates
In the early days of mechanical design, the origin of the coordinates was at the
lower left corner, X pointing right and Y pointing upwards. Meaning objects were
viewed only in the 2D plane (Kingston H.M,Kingston M.L, 2003).
Figure 2.3: Robot coordinates showing X-Y axis
Most industrial robots use the XYZ notation with Z pointing up. Coordinates are
helpful in positioning robot for work, it has to be told how to move in mid air,
once the robot is at the desire position and its point is stored. For example
X=+500mm, Y=+30mm, Z=+30mm.
Figure 2.4: Robot coordinates showing X-Y-Z axis
2.1.14 Path Orientation
Path orientation is very necessary especially when a robot controller has to be
designed. Suppose a car needs to be welded the welding machine has to be
i li ed at diffe e t a gles. To fi d a tool’s o ie tatio
e ha e to k o its
position XYZ (in mm) and then its angle of rotation (in degrees).
2.1.15 Degree Of Freedom
We count one degree of freedom which is usually the same as the number of
axes for each independent direction in which a robot, or one of its effectors can
move (Niemuller and Sumedha Widyadharma, 2003).
Again, considering the body part like the hand in a swinging motion (like that of
a traffic cop), it can rotate free along the world’s XYZ a es a d a ou d this sa e
axes. It has 6 degree of freedom (Wikipedia, 2016). Robots with non-rigid bodies
may have additional DOFs. For example a human wrist has three degrees of
freedom, it can move up and down, side to side and can also rotate. Robot joints
have 1, 2, or 3 degrees of freedom each. Six degrees of freedom are required to
place an object, such as a hand, at a particular point in a particular orientation
(Steven F, et al, 2006). The manipulator shown in the diagram below has exactly
six degrees of freedom, created by five revolute joints (R) and one prismatic joint
(P). Revolute joints generate rotational motion while the prismatic joint
generates sliding motion. If you take your arm as an example you will notice,
that it has more than six degrees of freedom. If you put your hand on the table
you still have the freedom to rotate your elbow. Manipulators which have more
degrees of freedom than required to place an end effector to a target location
are easier to control than robots having only the minimum number of DOF
(Niemuller and Sumedha Widyadharma, 2003).
Figure 2.5: Stanford Manipulator
Here are some examples to help understand the degree of freedom concept:
I.
II.
III.
IV.
A pencil in a sharpener has 2 DOF motion along its own axis and around
it. It moves along XY axis but not around it.
A door knob has 1 DOF. It cannot move anywhere except with the
door.
A flying plane has all 6 DOF because when it is in the air but when on
ground it has 1 DOF.
Most KUKA robots have 6 DOF.
2.1.16 Power Sources
Every robot has to be powered including industrial robots. This is used to drive
their effectors. The most popular type for actuation (actuator converts an
electric signal into a physical quantity) and locomotion is the electric motor.
Another is pneumatic using compressed gas and hydraulic actuation using
pressurized fluids (Agelaga, 2008).
2.1.17 Robotic Perception
This refers to the way a robot interacts with its environment using sensors. A
robot receives raw sensor data from its sensor. This helps the robot answer
questions like where am i? Should I turn left or right?, What is the target (object),
where is the target? And so on (Aniobi et al, 2016).
2.1.18 Safety of Personnel
A robot is heavy and extremely powerful regardless of its speed. A pause or long
stop in movement can be followed by a fast hazardous movement. Even if a
pattern of movement is predicted, a change in operation can be triggered by an
external signal resulting in an unexpected movement. Therefore, it is important
that all safety regulations are followed when entering safeguarded space. (Abb
Manual, 2015).
2.2 Review of Related Empirical Studies
2.2.1.0 Title of work
Learn about robot by Rich Hooper, PhD (2007)
2.2.1.1 Summary of the work
This work explains both the forward and inverse robot kinematics. Also gives a
detailed explanation of the Denavit and Hartenberg (D-H) parameters. Also has
an illustration of a robot lying in an x-y plane.
2.2.1.2 Similarities with respect to my research
I. Explains Forward robot kinematics
II. Explains Inverse robot Kinematics
2.2.1.3 Differences with respect to my research
I. Talks on SCARA robots
II. Does not explain degree of freedom
2.2.1.4 Contribution to Knowledge
This research is unique in the following ways:
I. Mobile manipulation of soft robot.
II. Localization.
III. Teaching Demo robot simulator to explain spot welding.
IV. Analysis of different opinions of different aspects of robotic automation from
2.2.2.0 Title of work
Industrial robot collision handling in harsh environments by Knut Kaldestad
(2014)
2.2.2.1 Summary of the work
This work focuses on collision handling mainly in harsh environments (example
includes oil and gas sectors, potentially explosive atmospheres)
2.2.2.2 Similarities with respect to my research
I. Explains collision avoidance, collision detection, collision awareness
II. This work also talked about ABB industrial robots
2.2.2.3 Differences with respect to my research
I. The Markov model is used in the Methodology of this thesis
II. It explains Octrees which is a 3D environment which, if visually interpreted, is
structured into a set of nested cubes in the Methodology of this thesis
2.2.2.4 Contribution to Knowledge
This research is unique in the following ways:
I. The work described in this thesis demonstrates collision handling for industrial
Robots in harsh environments.
II. Brief discussion on Graphic Processing Unit and the Kernels in Computer
U ified Device Architecture (CUDA)
III. Explains how Oil and Gas sectors are the safest aware sectors in Norway
IV. Explains the different types of evaluated sensors, like Microsoft Kinetic
sensors, industrial ultrasound sensors, laser scanner and Novelda impulse
scanner.
2.2.3.0 Title of work
Open Source Framework for Real-Time Robot Simulation and Collision
Avoidance by Dumitrach et al (2011).
2.2.3.1 Summary of the work
This work presented a portable simulation environment for robot arms aimed at
esea h, offli e programming and educational usage, implemented with open
source components. The simulation software provides rigid body dynamics
simulation, peripheral devices which can be connected to the robot, and a V+
robot language interpreter. An application for collision detection and avoidance
for robots was developed using the presented simulation package, and
experimental results regarding collision detection speed and real-time robot
monitoring via Ethernet are provided.
2.2.3.2
Similarities with respect to my research
I. The V+ language uses a Basic-like syntax, with one statement on each line, and
ha i g p o edu al p og a
i g p i iti es like sta da d o t ol flo st u tu es
and sub- routines.
II. This work also talked about ABB industrial robots.
2.2.3.3 Differences with respect to my research
I. This research work presents experimental results, obtained with a collision
detection simulation implemented using Python language, Open Dynamics
Engine as a wrapper for the OPCODE collision detection library.
II. This research explains collision response. This is a visual feedback which shows
that a collision happened.
2.2.3.4
Contribution to Knowledge
This research is unique in the following ways:
I. This research work presents a portable simulation environment for robotics,
i ple e ted ith ope sou e o po e ts a d ai ed at esea h, offli e
programming and educational usage. The simulation employs rigid body
dynamics, collision detection, customizable robot environments and real-time
3D graphics.
II. A case study presents an application for collision detection and avoidance in
physical robots, outside the simulation environment, with experimental results
showing benchmarks and real-time monitoring issues.
2.2.4.0
Title of work
Development of a Microcontroller Based Robotic Arm by Oludele et al (2008)
2.2.4.1
Summary of the work
A robotic arm was built, which comprises of three stepper motors, to interface
with the Intel 8051-based micro-controller. It provides more interfaces to the
outside world and has larger memory to store many programs.
2.2.4.2
Similarities with respect to my research
I. The kinetic theory was applied in this research work to build the robot arm.
II. In order to perform any useful task the robot must interface with the
environment, which may comprise feeding devices, other robots, and most
importantly people. Similarly my research work explains how a robot interfaces
with its environment.
2.2.4.3
Differences with respect to my research
I. A physical robot arm was built and a microcontroller chip (Intel 8051) was
embedded in it.
II. The assembly language was used for programming the robot arm, and the
assembly language codes were later converted to hexadecimal codes using a
development board.
2.2.4.4
Contribution to Knowledge
This research is unique in the following ways:
I. In constructing the robotic arm, the research work made use of three stepper
motors and gears since our structure is a three dimensional structure. There is a
stepper motor at the base, which allows for circular movement of the whole
structure.
II. In this research work, they were able to interface the robot with different
kinds of I/O devices and this allowed them to store more programs to enhance
more functionality.
2.2.5.0
Title of work
A method for collision handling for industrial robots by Lindgren et al (2008).
2.2.5.1
Summary of the work
This aste ’s research work presents the development of a collision handling
function for Motoman industrial robots and investigates further use of the
developed software. When a collision occurs the arm is to be retracted to a safe
home location and the job is to be restarted to resume the production. The
retraction can be done manually, which demands that the operator has to have
good knowledge in robot handling and it might be a time consuming task. To
minimize the time for restarting the job after a collision and allowing employees
that have limited knowledge in robot handling to retract and restart the job,
Motoman provides an automatically retraction function. However, the
retraction function may cause further collisions when used and therefore a new
function for retracting the arm is needed. The new function is based on that the
motion of the robot is recorded by sampling the servo values, which are then
sto ed i a uffe . A jo file is auto ati all eated a d loaded i to the o t ol
s ste , a d the positio a ia les of the jo file a e updated usi g the ontents
of the uffe . This ensured a safe retraction of the arm since the environment
surrounding the robot remained the same.
2.2.5.2
Similarities with respect to my research
I. Concepts like Safe home location, robot sensor and kinematics are discussed
in this research work.
II. Back tracking was also discussed in this research work.
2.2.5.3
Differences with respect to my research
I. A software was designed and developed for the safe retraction of the robot
arm.
II. How the vision system was developed is explained in this research work and
the problems are discussed.
2.2.5.4
Contribution to Knowledge
This research is unique in the following ways:
I. A detailed description of safe retraction is given and the solution methods are
presented.
II. The theory for the chosen vision system is presented.
III. This research work explains the industrial robot and the NX100 control
system.
IV. It also talks on the kinematics theory which describes the motion of the
robot.
CHAPTER THREE
3.0 METHODOLOGY
3.1 Research Design
For this design two simulators, Mobotsim and Robotstudio simulator were used.
MOBOTSIM is a 2D simulator and has a BASIC editor and is open source software
meaning you can write codes to manipulate the robot, while Robotstudio is a 3D
simulator. It contains programmable interface for simulating robots.
MOBOTSIM is a 2D robot simulator. It provides a graphical interface that
represents an environment in which you can easily create, set and edit robots
and objects (Mobotsim, 2016). In order to set these robots in motion
MOBOTSIM has a BASIC Editor in which the user can write macros making use
of specific functions to get information about robots coordinates and sensor
data and to set speed and driving data for them, as well as making use of all the
power and ease of BASIC language to program navigation techniques.
Robotstudio is a 3D robot simulator used to program real life industrial jobs just
before the real robot performs the activities. ABB robots are programmed using
the RAPID language. So a simulator was developed with an editor that provides
a development environment similar to Microsoft Visual Studio, but for the RAPID
language. It gives suggestions and supports for writing the robot program. You
can get default arguments filled in automatically and it will provide you with
instantaneous feedback on the correctness of the code.
3.1 Analysis of the Existing System
Industries in Nigeria, like Innoson, Zinox or PZ Cussons have machines that are
not intelligent enough to detect danger or obstacles in its path. Other industries
have not even adopted the latest technologies yet. (Kajogbola, 2004)
Nigeria lacks innovation, capacities and capabilities in Information Technology
Management and hardware maintenance. It continues to import and use a wide
range of products like electronics, automobiles, telecommunication gadgets,
clothing, foot wares and the list goes on. The best Nigeria has come up with is
the assembling of consumer electronic household items like fridge, television,
radio, phones, laptops and automobiles like cars, buses and motor bikes.
Indeed, if Africa wants to meet up with the global advancement in technology
around the world, it has to start looking within and stop looking for help outside
its continent. Countries like Nigeria, Ghana, Cameroun and Benin Republic can
start producing their own products instead of importing goods to their country.
Nigeria can stop the sole dependence on oil and diversify its economy. She can
channel her energies to other fields like Agriculture, Mining and manufacturing
of her own products. In 1997, Nigeria had between 500,000 and 650,000
computer systems, all of them imported — according to sources close to the
Computer Association of Nigeria (CON) (Kajogbola, 2004).
For companies in Nigeria to have a competitive advantage with other high-tech
companies in the world, it needs to study and adapt these new technologies.
Real-time collision avoidance is one of the most researched topics in Artificial
intelligence field.
3.2 Problems of the Existing System
A system where obsolete technology is used will result to:
Backwardness in technological advancement
No competitive advantage over other developed countries
Lacks innovation in Information Technologies
The whole nation suffers from over dependence on few national
resources.
3.3 Benefits of the Existing System
There are some benefits with the existing system, which are
Most industries in Nigeria and Africa as a whole have adapted technology
even though it might not be the latest technologies.
The existing systems can be upgraded to a more modern system
Problems like loss of jobs due to technological advancements is avoided
Most industries do not have to invest heavily in their industry to acquire
new technologies. In other words it is cheap to run.
3.4 Analysis of proposed System
In order for industrial robots to become practical, they must be able to operate
safely and reliably. Collision occurs when there is an obstacle that was not
planned for in the path of a robot and that obstacle makes a physical contact
with the robot.
Collisions can result in damage to the robot itself, or through a loss of balance
or control, cause human injury or damage to its surrounding environment. Thus,
detecting and avoiding collisions is fundamental to the development of robots
which can be safely operated in human environments. This research describes
a effi ie t method of handling collision to prevent collision between a human
and a robot, robots and other robots, robots with objects in its environment.
The proposed system has an ability to better handle collisions by
Lightweight compliant mechanical design of manipulators.
Collision detection and reaction strategies.
Through the extensive use of sensors.
A real-time collision handling method is composed essentially by three parts:
Perception of the environment.
Collision avoidance algorithm.
Robot control.
Pe eptio of a o ot’s e i o e t is th ough the use of sensors as we see in
both the Mobotsim and Robotstudio simulators respectively. When an object is
in the path of a bot in Mobotsim, the bot will take the next available path that
is free from any obstacles. In Robotstudio, a red object is introduced in the path
of Robotstudio and as soon as the robot comes some centimeters close to the
object, the robot manipulator in the simulator stops to avoid any further
collisions.
Collision avoidance algorithm is the set of instructions used to manipulate the
robot. This simulated robots have an inbuilt collision awareness algorithm which
stops the robot if there is an unintended interaction with the environment, but
this is a safety featu e that is fi st e a led afte a ollisio or before a collision
depending on the algorithm just like we see in the simulations.
3.5 Advantages of proposed System
The proposed system is an upgrade of the existing system and it can
Smartly detects a collision and stop the manipulator before any further
havoc.
Robot Coworker are to work a stipulated distance away from robots
should in case collision occurs.
Manipulators are light weight so as to reduce an impact if collision occurs.
The distance information alone is useful just to slow down or to stop the
robot motion for collision prevention.
3.6 Proposed System Modelling
Data Flow Diagram: Collision Prevention
Command
Robot Arm
Collision Detection
Collision
Detected?
Move to New
position
Reduce Step Size
Step Size
= 0?
Report
Collision
Fig 3.0: Data Flow Diagram of the Proposed System of Collision Prevention
Data Flow Diagram: Collision Detection
Collision
Detection
Command
Initialize list
List Empty
?
No
Collision
Remove last couple
+ Check collision
Collision
Detected ?
Further expansion
of couple possible?
Collision
Expand Couple
Fig 3.1: Data Flow Diagram of the Proposed System of Collision Detection
3.7 Choice of programming Language
Using BASIC as a programming language for the simulation in Mobotsim is a
testa e t that e e though it’s ot a a tifi ial p og a i g la guage its ajo
attributes fits the job.
RAPID programming language is a new language and it is usually used to write
programs for artificial intelligent problems. It is the only language Robotstudio
simulator understands.
3.8
Pictorial view of Mobotsim simulator
Figure 3.0: Mobotsim Basic Editor demonstrating how a robot senses its
environment
3.9
Research Design (Using Robotstudio)
Robotstudio is a 3D simulator that makes use of RAPID language. The simulator
provides a development environment similar to Microsoft Visual Studio, but for
the RAPID language. It gives suggestions and supports you in writing the robot
program. You can get default arguments filled in automatically and it will provide
you with instantaneous feedback on the correctness of the code. The beauty of
the Robotstudio simulator is real life Abb robots can be programmed using the
codes from simulations performed with robotstudio.
Before robot programmers program Abb robots, they simulate the process first,
and if it passes the test. Codes that were used in the simulation would work
perfectly on a real life Abb robot.
3.10 Pictorial view of Robotstudio
Figure 3.1: Robotstudio robot welding a metal block
Figure 3.2: Robotstudio graphic user interface
4.0 Results and Discussions
A physical robotic arm is preferable for this research. Due to cost and
convenience, I decided to use simulators. These simulators replicate how robots
will respond if faced with an obstacle. In other words it replicates collision
handling of industrial robots.
4.0.1 Robotstudio Simulation
Simulations were performed using two simulators, Robotstudio and Mobotsim.
The first simulation was carried out using Robotstudio, the program is loaded. I
waited for the system station to be activated (the controller status changes
from grey to green). The simulator starts welding the various points that it has
been programmed to without stopping until it welds the last point.
Figure 4.0: Robotsim Simulator with a red obstacle
The next simulation is carried out using Robotstudio, we introduced an
obstacle (red object) as we see in the diagram. The robot continues its welding
until it makes contact with the obstacle, it comes to a halt. This is possible
because of the introduction of collision sensor in the simulator. Collision
detection is employed in between the robot and other objects.
Figure 4.1: Controller Status turns green
Collision detection checks whether robots or other moving parts collide with
equipment in the station using the collision sensor.
Collision Detected
Figure 4.2: Abb virtual robotic arm (IRB6640ID_200_255_05) detecting
an obstacle
As we see in the diagram above, the robot collides with the obstacle. The robot
comes to a halt. With collision detection the robot quickly backs away after a
collision to release tension. This relieves the force on the equipment and
prevents or reduces costly damage (Abb Manual, 2015)
4.1
Mobotstudio Simulation Implementation
Mobotsim was used to carry out the second set of simulations. This simulator
demonstrates collision detection, collision awareness and collision avoidance.
The bot in the simulator has sensors as seen in the diagram below, it also has
radiation cones. This helps it sense an obstacle from afar. It navigates through
the open spaces. If it comes near a wall, the collision detection sensor helps it
to avoid the obstacle. When it hits an object, it backtracks and finds the next
available path.
Figure 4.3: Mobotsim showing radiation cones
With Mobotsim, I am able to demonstrate that an industrial robot is aware of
its environment as long as it has a sensor.
4.2
Testing: Collision Detection in Simulators
From the Robotstudio simulation, collision occurs when the robotic arms
comes in contact with the Red object. The way we know that this happens is
through the presence of a collision detector sensor. As we see in Figure 4.2, an
alert is sent to the user of the simulator, warning user that the robot has
collided with the object. Mobotsim shows no clear collision detection.
4.3
Result: Collision Avoidance in Simulators
From my observation, the Mobotsim simulator shows clearly how a robot
avoids an obstacle. During the simulation, when the bot senses a nearby object
it simply uses the next available route to avoid the obstacle or wall. Figure 3.0
shows the path in green that the bot has used, escaping obstacles or walls.
5.0 Discussion
5.1
Collision Awareness in Simulators
Both Mobotsim and Robotstudio simulators all have numerous sensors inbuilt
to ake the ots o s ious of thei e i o e ts. An agent is anything that
can be viewed as perceiving its environment through sensors and acting upon
that environment through effectors. A human agent has eyes, ears, and other
organs for sensors, and hands, legs, mouth, and other body parts for effectors.
A robotic agent substitutes cameras and infrared range finders for the sensors
a d various otors for the effe tors.” (Russell et al, 2005)
5.2
Collision Response in Simulators
This step is only a visual feedback which shows that a collision happened. In
both simulators, contact forces or impulses are applied to the simulated bodies
i o de to si ulate the effe t of ollisions.
6.0 Conclusion
This research presented a portable simulation environment for industrial robots
ai ed at esea h, offli e p og a
i g a d edu atio al usage, i plemented
with open source components. The simulation software provides rigid body
dynamics simulation, peripheral devices which can be connected to the robot,
RAPID and BASIC language interpreter. An application for collision detection and
avoidance for robots was developed using the presented simulation package,
and experimental results regarding collision detection speed and real-time robot
monitoring via Robotstudio and Mobotsim respectively.
An important lessons learnt from this research is that sensors has a very vital
role to play in collision handling. Without the right sensor in place, Collison may
occur. Another lesson learnt is that in dealing with industrial robots, workers
have to be extra careful, study the procedures well and take necessary
precautions to avoid unwanted accidents in the work cell.
6.1 Recommended Future Work
I intend to build a real robot arm with a processor chip, collision sensor and
avoidance sensor installed. An algorithm and a code will be designed to move
the robot arm from point A to B. If the robot arm collides with an object it
should stop or backtrack. Perhaps the RAPID language can be adopted for this
future project because it is suitable for Artificial intelligence problems.