Unit-9
Unit-9
Unit-9
9.1 INTRODUCTION
The greatest advantage in industrial applications of robots is their flexibility, their ability
to rearrange for new production and their large movement range. Utilisation of the
robot’s flexibility presupposes effective programming. The computer system that controls
the manipulator must be programmed to teach the robot about the particular motion
sequence and other actions that must be performed in order to accomplish its task. There
are several ways that industrial robots are programmed, namely, on-line or off-line.
Objectives
After studying this unit, you should be able to know
• how to differentiate on-line and off-line programming,
• methods of programming, and
• advantages and disadvantages of the programming methods.
40
Robot Programming
9.3 OFF-LINE PROGRAMMING
Off-line programming takes place on a computer and models of the workcell with the
robot, workpieces and surroundings. The robot programs can in most cases be created by
the reuse of existing CAD data so that the programming will be quick and effective. The
advantages and disadvantages of off-line programming are as follows :
Advantages
• It does not occupy production equipment, and in this manner production can
continue during the programming process
• Effective programming of program logics and calculations with
state-of-the-art debugging facilities
• Locations are built according to models and this can mean that programmers
will have to fine tune programs on-line or utilise sensors
• Effective programming of locations
• Verifications of program through simulation and visualisation
• Well documented through simulation model with appropriate programs
• Reuse of existing CAD data
• Cost independent of production. Production can continue while
programming
• Process support tools, for instance, selection of welding parameters.
Disadvantages
• Need of expert users
• Demands investing in an off-line programming system.
Advanced off-line programming tools contain facilities for debugging and these assist
effective programming. The programming tools support utilisation of supporting tools for
the programming process, for instance, optimisation of the welding process. In off-line
programming, users move a simulated version of the robot to each waypoint using a
CAD model of the workspace. Off-line programming packages allow users to design a
robot program in simulation without bringing down production and can optimise
according to almost any imaginable criterion. Typical optimisations involve production
speed, material usage, and power consumption. Off-line packages generally require that
programs be written in a sophisticated procedural-programming language. The transfer of
the off-line program to the robot controller requires translating the programming
language to a form that the robot can understand. Not surprisingly, arcane problems can
occur during this translation, especially with process-specific instructions, controller
models, and inverse kinematics. To achieve the high accuracy required in many
applications, the physical workspace must be well calibrated with the simulated
environment. Otherwise, on-line fine-tuning will be needed, which detracts from the
largest benefit of off-line programming, i.e. the lack of production downtime. The system
also allows the programming to be done away from the robot workcell, for example, in
an office or even before the actual robot is delivered. The robot remains in production
and all the performance tests can be made in the office.
Off-line programming is based on external means of expressing the task that the robot
system has to accomplish. The task is expressed in a robot programming language
(RPL). This can be either a specially defined language for robots or a universal computer
programming language (CPL). The advantage of using RPLs is associated with making
the robot more productive, the ease of utilisation of sensor data, and creation of program
documentation. To make a robot more productive, the phase in which it is required for
programming has to be as short as possible. In other words, robot programming has to be
made independent of the robot. The program is developed off-line, and only later loaded
to the control system for execution. The problem with this approach is that although
currently manufactured robots feature high repeatability, they exhibit low accuracy. This
necessitates the calibration of the program created off-line.
41
Trajectory Planning Every programming language operates on specific abstract concepts. An instruction of a
and Control of Robots language is composed of one or more keywords and zero to more arguments. These
arguments express abstract concepts. Computer languages operate on variables of
different types. The values of these variables describe the state of certain abstract notions.
The instructions, and therefore, the languages, are classified according to the abstract
notions they refer to. The main instructions RPLs are the ones causing the motion of the
factors, i.e. motion instructions. The abstract notions that these instructions refer to are :
the manipulator joints, the end-effector or the objects of the workspace. Each of the
enumerated notions creates a certain virtual environment, in which the instructions of
several robot programming languages operate. The virtual environment is a model of a
robot system as perceived by the programmer through the programming language he or
she uses. In other words, those elements which had been considered important were
selected from the real environment to constitute the virtual environment. Only some
elements of the real environment (including the robot) are the basis for creating abstract
notions that compose the virtual environment. The virtual environment is a simplified
model of the real environment.
Off-line programming languages are very much like a computer programming language.
However, in addition to many of the capabilities of a computer programming language
(i.e. data processing, computations, communicating with other computer devices, and
decision making), the robot language also includes statements specifically designed for
robot control. These capabilities include (a) motion control; and (b) input/output.
Motion-control commands are used to direct the robot to move its manipulator to some
defined position in space. For example, the statement “move P1” might be used to direct
the robot to a point in space called P1. Input/output commands are employed to control
the receipt of signals from sensors and other devices in the work cell and to initiate
control signals to other pieces of equipment in the cell. For instance, the statement
“signal 3, on” might be used to turn on a motor in the cell, where the motor is connected
to output line 3 in the robot’s controller.
Current approaches to programming can be classified into two major categories :
robot-oriented programming and object-oriented, or task-level programming. In
robot-oriented programming, an assembly task is explicitly described as a sequence of
robot motions. The robot is guided and controlled by the program throughout the entire
task with each statement of the program roughly corresponding to one action of the robot.
On the other hand, task-level programming describes the assembly task as a sequence of
positional goals of the objects rather than the motion of the robot needed to achieve these
goals, and hence no explicit robot motion is specified. These approaches are discussed in
the following two sections.
9.3.1 Robot-Oriented Programming
Robot-oriented languages are structured programming languages which incorporate
high-level statements and have the characteristic of an interpreted language, in order to
obtain an interactive environment allowing the programmer to check the execution of
each source program statement before proceeding to the next one. Common features of
such languages are :
• text editor,
• complex data representation structures,
• extensive use of predefined state variable,
• execution of matrix algebra operations,
• extensive use of symbolic representations for coordinate frames,
• possibility to specify the coordinated motion of more frames rigidly attached
to objects by means of single frame,
• inclusion of subroutines with data and parameter exchange,
• use of logic conditioning and queuing by means of flags,
• capability of parallel computing, and
42
• functions of programmable logic controller (PLC). Robot Programming
Y
X
Task Decomposer
Robot
The concept of task planning is quite similar to the idea of automatic program generation
in artificial intelligence. The user supplies the input-output requirements of a desired
program, and the program generator then generates a program that will produce the
desired input-output behavior.
SAQ 2
(a) What are the types of off-line programming?
44
(b) What is programming by simulation? Robot Programming
9.5 SUMMARY
In this unit, on-line and off-line robot programming methodology are presented.
Advantages and disadvantages of both the programming are mentioned.
45
Trajectory Planning
and Control of Robots FURTHER READING
Critchlow, A. J., (1985), Introduction to Robotics, MacMillan Publishing Company, New
York.
Howards, B., and Erlemeier, T. (2007), Interface Design for Offline Robot Programming
with the Use of Virtual Simulation, www.public.iastate.edu/~terlemei/FinalPaper.pdf.
46
Robot Programming
TRAJECTORY PLANNING AND
CONTROL OF ROBOTS
This block describes about Trajectory Planning and Control of Robots. It consists of
three units.
Unit 7 gives details of Trajectory Planning. Trajectory planning is required to generate a
function according to which a robot will move. Trajectory may be of two types, i.e.
point-to-point or continuous path. In this unit, both types of trajectory planning are
explained.
Unit 8 deals with the Control Systems. In this unit, linear and non-linear systems have
been given in detail. It also explains the principles of stability and instability.
In the last unit, i.e. Unit 9 different types of Robot Programming are given. On-line,
off-line and programming by simulation have been described in detail.
47