Academia.eduAcademia.edu

SIMULATION OF COLLISION HANDLING IN INDUSTRIAL ROBOTS

This research 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 a robot collides with a human. 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 research builds on the concept builds on collision detection and aims at enabling the robot to find a collision free path bypassing the obstacle and leading to the target position using different sensors. A simulator would be used here called Robotstudio simulator which is a 3D teaching demo, illustrating collision detection in a work cell. The Mobotsim which is an open source software is used to detect obstacles within a work cell and the Robotstudio simulator would demonstrate how this obstacle is detected and avoided by industrial robots.

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.