Module-3 - Robotic Cell Design and Programming - Robotics and Automation - 22ETC151 - 251-1
Module-3 - Robotic Cell Design and Programming - Robotics and Automation - 22ETC151 - 251-1
Robotic Cell
A robotic/robot cell/workcell is a complete system that includes the robot, controller, and
other peripherals such as a part positioner and safety environment.
Generally, robot cell design comes in two cell materials: steel and aluminium. Aluminium is
lightweight, and it is easy to modify or extend with no need for welding or painting. Steel has a
rugged appearance, and it is used for heavy works, for example, the metals processing industries.
Robot-Centered Workcell
In the robot-centered cell, the robot is located at the approximate centre of the cell and the
equipment is arranged in a partial circle around it.
• Robot is positioned at approximate centre of
work cell.
• Other components, equipment are arranged
around it.
• This layout allows for high utilization of robot.
• Parts to be presented in known location and
orientation (usage of conveyors, part-feeders,
pallets).
In-Line Robot Cell
With the in-line cell arrangement, the robot is located along a moving conveyor or other handling
system and performs a task on the product as it travels past on the conveyor.
• One or more robots are located along an in-line conveyor or other material transport
system.
• Work is organized so that parts are presented to the robots by the transport system.
• Each robot performs some processing or assembly operation on each part.
Typical applications such as in welding lines used to spot-weld car body frames, usually utilizes
multiple robots.
The robot is provided with a means of transport within the work cell like floor mounted tracks or
overhead railing system that allows the robot to be moved along linear paths and perform various
tasks at different locations.
Mobile robot work cells are suitable for installations where the robot must service more than one
station (production machine) that has long processing cycles, and the stations cannot be arranged
around the robot in a robot-centred cell arrangement.
Robot Path Control Methods:
The basic path control functions of a robot work cell are:
• Sequence Control
• Human (Operator) Interface
• Safety Monitoring
1. Sequence Control:
This is the basic function of the work cell controller. Sequence control includes:
– regulate the sequence of activities
– control of simultaneous activities
– making decisions to proceed/stop/delay work cycle
The safety monitoring is programmed to respond to various hazard conditions in different ways:
- Complete stoppage of cell activities
- Slowing down the robot speed to a safe level when human is present
- Warning buzzers to alert maintenance personnel of a safety hazard
- Specially programmed subroutines to permit the robot to detect errors and recover from a
particular unsafe event
Interlocks are essential for the coordination and synchronization of activities which allow for
variations in the times taken for certain elements in the work cycles.
- Input interlocks. Input interlocks make use of signals sent from the components in the cell
to the controller.
- Output interlocks. Makes use of signals sent from the controller to other devices or
machines in the work cell.
In some cases, the interlock signals can be generated by the electronic controllers for the machines.
In other cases, the applications engineer must design the interlocks using sensors to generate the
required signals.
Hardware malfunctions and unexpected events will cause costly delays and loss of production.
Usually, in automated processes, human assistance is required to intervene, diagnose and make
repairs and then restart the system.
When a computer is used to detect and correct errors, this is known as “error detection and
recovery”.
Error Recovery
This is concerned with defining and implementing the strategies that can be employed by the robot
to correct or compensate for the malfunction that has occurred. The recovery strategies can be
grouped into some general categories:
- Adjustments at the end of current cycle: At the end of current cycle, the robot program
would branch to a subroutine to make the required corrections, then branch back to the
main program.
[Example, the robot dropped a part and the logical action is to go for the next part]
- Adjustments during current cycle: Error is sufficiently serious, so corrective action must
be taken during the current cycle of operation without stopping it.
[Example, an oversized part is present, therefore invoke additional program to machine the
extra material]
- Stop the process and invoke corrective algorithm: The error requires the process to be
stopped, and a subroutine is called to correct the error. At the end of the correction
algorithm, the process can be resumed or restarted.
[Example, tool failure, therefore change tool and replace the damaged part.]
- Stop the process and call for help: This is when the malfunction cannot be corrected by
the robot or due to an unclassified error to which no corrective algorithm has been
designed. Here, human assistance is needed to restore the system.
[Example, hydraulic system break-down, which means automatic recovery is not possible,
therefore needs human assistance.]
The ‘error detection and recovery system’ is implemented by means of the sensors used in the
work cell together with the robot programming system.
According to the consistent performance by the robots in industries, the robot programming can
be divided in two common types such as:
1. Leadthrough Programming Method
2. Textual Robot Languages
This system of programming was initially popular but has now almost disappeared. It is still
however used by many paint spraying robots. The robot is programmed by being physically moved
through the task by an operator. This is exceedingly difficult where large robots are being used
and sometimes a smaller version of the robot is u ed for this purpose. Any hesitations or
inaccuracies that are introduced into the program cannot be edited out easily without
reprogramming the whole task. The robot con roller simply records the joint positions at a fixed
time interval and then plays this back.
The lead through programming method can be done by two methods namely:
Powered Leadthrough Method
Manual Leadthrough Method
It is also used to operate the robot wrist and arm through a sequence of points. The playback of an
operation is done by recording these points. The control of complex geometric moves is difficult
to perform in the teach pendant. As a result, this method is good for point to point movements.
Some of the key applications are spot welding, machine loading & unloading, and part transfer
process.
Then AL language was introduced in 1974 for controlling multiple robot arms during arm
coordination.
VAL was invented in 1979, and it is the common textual robot language. Later, this language was
dated in 1984, and called as VAL II.
The IBM Corporation has established their two own languages such as AML and AUTOPASS,
which is used for the assembly operations.
Teach Method
The logic for the program can be generated either using a menu based system or simply using a
text editor but the main characteristic of this method is the means by which the robot is taught the
positional data. A teach pendant with controls to drive the robot in a number of different coordinate
systems is used to manually drive the robot to the desired locations.
These locations are then stored with names that can be used within the robot program. The
coordinate systems available on a standard jointed arm robot are :
Joint Co-ordinates
The robot joints are driven independently in either direction.
Global Co-ordinates
The tool centre point of the robot can be driven along the X, Y or Z axes of the robots
global axis system. Rotations of the tool around these axes can also be performed
Tool Co-ordinates
Similar to the global co-ordinate system but the axes of this one are attached to the tool centre
point of the robot and therefore move with it. This system is especially useful when the tool is
near to the workpiece.
Workpiece Co-ordinates
With many robots it is possible to set up a co-ordinate system at any point within the
working area. These can be especially useful where small adjustments to the program are required
as it is easier to make them along a major axis of the co-ordinate system than along a general line.
The effect of this is similar to moving the position and orientation of the global co-ordinate system.
This method of programming is very simple to use where simple movements are required.
It does have the disadvantage that the robot can be out of production for a long time during
reprogramming. While this is not a problem where robots do the same task for their entire life, this
is becoming less common and some robotic welding systems are performing tasks only a few
times before being reprogrammed.
Lead Through
In this system, the robot is programmed by being physically moved through the task by an
operator. This is exceedingly difficult where large robots are being used and sometimes a smaller
version of the robot is used for this purpose.
Off-line Programming
The program structure is built up where intelligent tools are available and useful to generate
sequences of location and process information. The benefits of this form of programming are:
URBI: URBI stands for Universal Real-time Behavior Interface. It is a client/server based
interpreted language in which Robot works as a client and controller as a server. It makes us to
learn about the commands which we give to Robots and receive messages from them. The
interpreter and wrapped server are called as "URBI Engine".
PYTHON: Python is an object-oriented language which is used to access and control Robots.
Python is an interpreted language; this language has an application in working with mobile robots,
particularly those manufactured by different companies. With python it is possible to use a single
program for controlling many different robots.
ROBOTC: Other Languages which we use are C,C++ and C # etc. or their implementation, like
ROBOTC, ROBOTC is an implementation of C language. It is actually a text based programming
language. The commands which we want to give to our Robot, first written on the screen in the
form of simple text.
Although commands are given in text form (called as codes) but this language is very specific
about the commands which is provided as instruction.
AML: A manufacturing language, AML was developed by IBM. AML is very useful for assembly
operations as different user—robot programming interfaces are possible. The programming
language AML is also used in other automated manufacturing systems.
The advantage of using AML is that integers, real numbers and strings can be specified in the
same aggregate which is said to be an ordered set of constants or variables.
MCL: US Air force ICAM project led to the development of another manufacturing control
language known as MCL by McDonnel—Douglas. This is a modification of the popular APT
(Automatically Programmed Tooling) language used in CNC machine tools as many similar
commands are used to control.
RAIL: It was developed by Automatic for robotic assembly, inspection, arc Welding and
machine vision. A variety of data types as used in PASCAL can be used. It uses Motorola 68000
type microcomputer system; It supports many commands and control of the vision system.
HELP: HELP was developed by General Electric Company. It acts more or less like RAIL. It has
the capability to control two robot arms at the same time. The structure of the language is like
PASCAL.
JARS: JARS was developed by NASA JPL. The base of the language is PASCAL. JARS can be
interfaced with PUMA 6000 robot for running robotic programs.
RPL: RPL was developed at SRI International. A compiler is used to convert a program into the
codes that can be interpreted by an interpreter. Unimation PUMA 500 can be controlled with the
help of RPL. The basic ideas of LISP (an Al language) have been organized into a FORTRAN-
like syntax in RPL. It is modular and flexible.
Besides these, there are some other languages like PAL, ADA etc. PAL has been written by
Richard Paul by modifying WAVE and incorporating features of PASCAL. But the
representations of syntaxes used in the program are difficult to handle. ADA developed by the
Department of Defense (DOD) in USA is a real-time system that can be run on several
microcomputers like Zilog, VAX, Motorola 68000, etc. ADA is convenient for controlling the
robots used in a manufacturing cell.
MOTION INTERPOLATION
Interpolated motion is a type of motion exhibited by point-to-point robots.
In many instances, the path will not be completely specified. Knot points such as intermediate via
points and endpoints will be specified. Interpolated motion is called for when the path that an
object takes through space is important.
The path planning interpolates between the knot points to produce a smooth the path that can be
executed using continuous-path motion control techniques.
Motion interpolation provides a much faster alternative to creating new motions through the same
means.
Using interpolation, motions can be generated in real time while preserving the realistic qualities
of the example motions.
The high-level languages to program robots are based on three types of movement:
1. joint interpolation (MOVEJ),
2. linear interpolation (MOVES), and
3. circular arcs (MOVEC).
CAPABILITIES AND LIMITATIONS OF LEAD THROUGH METHODS
Capabilities:
i) During this programming method, the traveling of robots is based on the desired
movements, and it is stored in the external controller memory.
ii) There are two modes of a control system in this method such as a run mode and teach
mode. The program is taught in the teach mode, and it is executed in the run mode.
iii) In powered leadthrough method, a teach pendant is incorporated used to operate the
robot wrist and arm through a sequence of points. This method is good for point-to-
point movements. Some of the key applications are spot welding, machine loading &
unloading, and part transfer process.
iv) In manual leadthrough method, the robot has end effectors with desired movements.
This method is also known as Walk Through method. It is mainly used to perform
continuous path movements. This method is best for spray painting and arc welding
operations.
Limitations:
- Lead through programming is not readily compatible with modern computer based
technology.