Robot Programming - PART1
Robot Programming - PART1
Robot Programming - PART1
Robot Programming
Dr V S Krushnasamy
Introduction
A robot program to be a path in space.
A robot today can do much more than merely move its
arm through a series of points in space. Current
technology robots can accept input from sensors and
other devices.
They can send signals to pieces of equipment
operating with them in the cell. They can make
decisions.
They can communicate with computers to receive
instructions and to report production data and
problems. All of these capabilities require
programming.
METHODS OF ROBOT PROGRAMMING
• Robot programming is accomplished in several
ways. Consistent with current industrial
practice we divide the programming methods
into two basic types:
1. Lead through methods
2. Textual robot languages
METHODS OF ROBOT PROGRAMMING
The leadthrough methods require the programmer to
move the manipulator through the desired motion path
and that the path be committed to memory by the robot
controller. The leadthrough methods are sometimes
referred to as teach-by showing methods.
Robot programming with textual languages is
accomplished somewhat like computer programming. The
programmer types in the program on a CRT (cathode ray
tube) monitor using a high-level English-like language. The
procedure is usually augmented by using leadthrough
techniques to teach the robot the locations of points in
the workspace.
LEADTHROUGH PROGRAMMING
METHODS
In leadthrough programming, the robot is
moved through the desired motion path in
order to record the path into the controller
memory.
There are two ways of accomplishing leadthrough
programming:
1. Powered leadthrough
2. Manual leadthrough
Powered leadthrough
In powered leadthrough, the user would
guide the robot through interaction with a
Teach Pendant. The teach pendant is a hand-held
control box that allows control of each
manipulator joint or of each Cartesian degree of
freedom.
It consists of toggle switches, dials and
buttons which the programmer activates in a
coordinated fashion to move the manipulator to
the required positions in the workplace.
Powered leadthrough
The powered leadthrough is most commonly used nowadays
and is usually limited to point to point motions (like spot welding,
machine loading and unloading) rather than continuous
movement.
This is due to the difficulty in using the teach pendant to regulate
complex geometric motions in space.
The manual leadthrough method or walkthrough method
requires the operator to physically move the manipulator through
the motion sequence.
It is convenient for continuous path programming where the
motion cycle involves smooth complex curvilinear movements
of the robot arm. Spray painting and continuous arc welding
are examples of this type of robot application.
powered leadthrough method is probably the most common today
Manual leadthrough(walkthrough)
In this method since the programmer has to
physically grasp the robot arm and end-effector it
could be difficult to move through the motion
sequence in the case of large robots.
So, a special programming device which has the
same joint configuration as the actual robot is
substituted for the actual robot.
The closely spaced motion points are recorded
into the controller memory and during playback,
the path is recreated by controlling the actual
robot arm through the same sequence of points.
Manual leadthrough(walkthrough)
The manual leadthrough method (also sometimes called
the ‘walkthrough’ method) is more readily used for
continuous-path programming where the motion cycle
involves smooth complex curvilinear movements of the
robot arm.
The most common example of this kind of robot application
is spray painting, in which the robot’s wrist, with the spray
painting gun attached as the end effector, must execute a
smooth, regular motion pattern in order to apply the paint
evenly over the entire surface to be coated.
Continuous arc welding is another example in which
continuous path programming is required and this is
sometimes accomplished with the manual leadthrough
method.
Advantages of Leadthrough Programming:
No special programming skills or training required.
Easy to learn.
Disadvantages:
Difficult to achieve high accuracy and straight
line movements or other geometrically defined
trajectories.
Difficult to edit unwanted operator moves.
Limited programming logic ability.
Difficult to synchronize with other machines or
equipment in the work cell.
Large memory requirements.
Robot cannot be used in production while it is
programmed.
Textual or Computer like
Programming:
This method of robot programming involves the use of a
programming language similar to computer programming.
The textual language apart from the various capabilities of
a computer programming language, also includes
statements specifically designed for robot control like
motion control and input / output.
Motion − control commands are used to direct the robot to
move its manipulator to some defined position in space
while the input/output commands are used to control the
receipt of signals from sensors and other devices and to
initiate control signals to other pieces of equipment in the
workcell.
Textual or Computer like
Programming
• These robot languages use offline / online methods of
programming i.e. the program is written off-line with the
textual language to define the logic and sequence while
the teach pendant is used to define on-line, the specific
point locations in the workspace.
The advantages of textual programming over lead-through
programming include
Extended program logic.
Enhanced sensor capabilities.
Improved output capabilities for controlling external
equipment.
Computations and data processing capabilities.
Communication with other computer systems.
DEFINING A ROBOT PROGRAM:
The manipulator of an robot is made up of a
sequence of link and joint combinations.
The links are rigid members connecting the joints.
The joints,sometimes also referred to as the axes,
are the movable components of the robot that
cause relative motion between the adjacent links.
The manipulator consists of two sections
An arm and body, and
A wrist.
DEFINING A ROBOT PROGRAM:
An end-effector is attached to the wrist, and a
robot program can be considered as the path in
space through which the end effector is to be
moved by the robot.
The arm and body determine the general position
of the end effector in the robot’s work space while
the wrist determines its orientation.
The robot is required to move its joints (axes)
through various positions in order to follow that
path.
A ROBOT PROGRAM AS A PATH IN
SPACE
If we consider a point in space in the robot program as a
position and orientation of the end effector, there is
more than one possible set of joint co-ordinate values that
can be used for the robot to reach that point.
So the specification of a point in space does not uniquely
define the joint coordinates of the robot but the
specification of the joint coordinates of the robot defines
only one point in space, so, the robot program definition
can be refined as ‘a sequence of joint coordinate
positions’.
This way, the position and orientation of the end
effector at each point in the path are specified
simultaneously.
METHOD OF DEFINING POSITION IN
SPACE
The different methods by which the
programmer moves the manipulator to the
required positions in the workspace are:
Joint movements.
World coordinate mode (or x − y − z method)
Tool coordinate motions
METHOD OF DEFINING POSITION IN
SPACE
In manual leadthrough, the programmer simply moves the
arm through the required path to create the program
whereas in the powered leadthrough the programmer
uses a teach pendant to drive the manipulator.
The teach pendant is equipped with a set of toggle
switches or contact buttons to operate each joint in
either of its two directions until the end effector has
been positioned to the desired point.
Successive positioning of the robot arm in this way defines
a sequence of points. This method is referred to as the
joint mode.
Successive positioning of the robot arm in this way to
define a sequence of points can be very tedious and time –
consuming way of programming the robot.
METHOD OF DEFINING POSITION IN
SPACE
Therefore, to overcome the difficulties, two alternate methods called
the world coordinate mode and tool coordinate mode are used for
controlling movement of the entire manipulator during programming,
in addition to controls for individual joints.
Both these methods make use of a cartesian coordinate system,
where the programmer can move the robot’s wrist end in straight line
paths.
For polar, cylindrical and jointed arm robot, the controller must solve
a set of mathematical equations to convert the rotational joint
motions of the robot into cartesian coordinate system.
To the programmer, the end-effector is being moved in motions that
are parallel to the x, y and z axes.
The world coordinate mode allows the wrist location to be defined
with origin at some location in the body of the robot. It is illustrated
in Fig. 6.4.
METHOD OF DEFINING POSITION IN
SPACE
In the tool coordinate mode, the alignment of the axis system is
defined relative to the orientation of the wrist face plate, to which
the end effector is attached.
Here the origin is located at some point on the wrist, the xy-plane is
oriented parallel to the wrist faceplate and the z-axis is
perpendicular to the faceplate pointing in the same direction as
a tool or end-effector.
The programmer can orient the tool in the desired way and then
control the robot to make linear moves in directions parallel or
perpendicular to the tool. Hence, this method could be used to
provide a driving motion of the tool.
The two key reasons for defining points in a program are
To define a working position for the end effector (like picking up a
part or to perform a spot welding operation).
To avoid obstacles (like machines, conveyors and other equipment).
MOTION INTERPOLATION
Interpolation is the method of constructing new data
points within the range of a discrete set of known data
points.
Consider programming a two axis servo controlled
Cartesian robot with eight addressable points for each
axis. Then there would be 64 addressable points which
can be used in any program. The work space is
illustrated in Fig6.5
An addressable point is one of the available points that
can be specified in the program so that the robot can
be commanded to go to that point.
MOTION INTERPOLATION
MOTION INTERPOLATION
For example,
A program for the robot to start in the lower left corner and
traverse the perimeter of a rectangle would be as follows in
Fig 6.6:
Now, if a step is removed from the programs
say step 3, then the robot would execute
step 4 by tracing a path along the
diagonal line from point (8, 1) to point (1,
8). Refer Fig. 6.7. This process is referred
to as interpolation.
MOTION INTERPOLATION
The possible methods of interpolation include
Joint interpolation.
Straight line interpolation.
Circular interpolation.
Irregular smooth motions.
MOTION INTERPOLATION
In joint interpolation, for the robot to move its
wrist end between two points, the controller
determines how far each joint must move. Then
it actuates each of the joints simultaneously such
that all the joints start and stop at the same time.
In straight line interpolation, the robot
controller calculates the sequence of
addressable points in space through which the
robot wrist end must pass to achieve a straight
line path between two points.
MOTION INTERPOLATION
A Cartesian robot has only linear axis and
hence in its case both joint interpolation and
straight line interpolation are the same (i.e.,
both create a straight line approximation).
MOTION INTERPOLATION
The approximation would be better with a denser grid
and much larger number of addressable points.
In joint interpolation, usually less total motion energy is
required to make the move than straight line
interpolation thereby move could be made in slightly
less time.
For most robots, joint interpolation is the default
procedure used unless the programmer specifics some
other type of interpolation.
For robots with rotational joints or with a combination of
rotational and linear joints, straight line interpolation
produces a path that is different from joint interpolation.
MOTION INTERPOLATION
Considering a robot having one rotational axis
and one linear axis with each axis having eight
addressable points, so we get a grid of 64
addressable points as shown in Fig. 6.9.
Here, from the viewpoint of euclidean
geometry, the moves created during
interpolation are of different lengths. In the
Fig. 6.9 this is shown with the move from (1,
1) to (3, 2) and the move from (1, 6) to (3, 7).
MOTION INTERPOLATION
MOTION INTERPOLATION
The incremental moves executed by the robot is a combination of
rotational moves (along axis 1) and linear moves (along axis 2).
In circular interpolation, the programmer is required to define a circle in
the robot’s workspace. This is usually done by specifying three points that
lie along the circle. Then the controller selects a series of addressable
points that lie closest to the defined circle to construct a linear
approximation of the circle.
The robot movements consist of short straight line segments which look
very much like a real circle if the grid work of addressable points is dense
enough.
Irregular smooth motions refer to an interpolation process used in
manual lead through programming, when the movements involved
typically consist of combinations of smooth motion segments.
The robot must follow the sequence of closely spaced points that are
defined during the programming procedure. This is used in applications
such as spray painting.
BASIC PROGRAMMING COMMANDS IN
WORKCELL
CONTROL (WAIT, SIGNAL AND DELAY COMMANDS):
Almost all industrial robots can be instructed to
send signals or wait for signals during the
execution of a program. These signals are often
referred to as interlocks.
One common form of interlock signals is to
actuate the robot’s end-effector like a gripper
where the signal is to open or close the gripper.
This type of signals are usually binary i.e. the
signal is ON/OFF or high level / low level and are
implemented by using one or more dedicated
lines.
WAIT, SIGNAL AND DELAY
COMMANDS
Some commands are:
SIGNAL P − Instructs the robot controller to
output a signal through line P.
WAIT Q − Indicates that the robot should wait
at its current location until it receives a signal
on line Q (Q is one of the input lines)
DELAY X SEC − Indicates that the robot should
wait X seconds before proceeding to the next
step.
WAIT, SIGNAL AND DELAY
COMMANDS
WAIT, SIGNAL AND DELAY
COMMANDS
For example, let us consider a two-axis robot with
workspace of 8 × 8 addressable points. Its task is to
unload a press. The robot must remove the parts from
the platen (located at 8, 8) and drop them in a tote pan
(located at 1, 8).
Here, (Refer Fig. 6.10) the robot must move its arm
around the near side of the press column (by making
use of point 8, 1 and 1, 1) in order to avoid colliding
with it. The point 1, 1 will be the safe starting portion
and the point 8, 1 will be the waiting position of the
robot arm before entering the press to remove the
part.
WAIT, SIGNAL AND DELAY
COMMANDS
• Controller ports 1 to 10 will be used as output (SIGNAL)
lines and ports 11 to 20 as input (WAIT) lines. Here,
output line 4 will be used to actuate the press, output
line 5 to close the gripper and output line 6 to open the
gripper. Indication that the press has opened (WAIT)
will be through the input line 11.
• Also, to cause the robot to wait for a specified amount
of time to ensure that the operation had taken place
before proceeding to the next step, the DELAY
command is used.
• The steps given below explain the press unloading
application where the gripper is in the open position to
begin with.
BRANCHING
Branching is a method of dividing a program
into convenient segments that can be called
one or more times and can be executed during
the program.
A Branch can be considered as a subroutine
that can be executed either by branching it at
a particular space in the program or by testing
an input signal line to branch to it.
CAPABILITIES AND LIMITATIONS OF
LEADTHROUGH METHODS
Some of the teach pendants used for commercially available
robots possess a wide range capabilities . Defining points in
space or setting the speed can be easily done using the
toggle switches and dials of a simple teach pendant.
For WAIT,SIGNAL, and DELAY commands, special buttons
must be added to the pendant or these functions must be
defined using the console at the main controller. The
programming of branches can also be accomplished with a
teach pendant in various ways. For example, a branch can be
executed by using a toggle switch mounted either on the
teach pendant or on the controller itself. When this method
is used, there are several toggle switches corresponding to a
predetermined set of branches.
CAPABILITIES AND LIMITATIONS OF
LEADTHROUGH METHODS
• Although the leadthrough programming controls offer
the above capabilities, there are certain inherent
limitations with the leadthrough methods.
These limitations can be summarized as follows:
The robot cannot be used in production while it is being
programmed.
As the complexity of the program increases it becomes
more difficult to accomplish leadthrough programming
using the currently available methods.
Leadthrough programming is not readily compatible with
modern computer based technologies such as
CAD/CAM, data communications networking,and
integrated manufacturing information systems.
CAPABILITIES AND LIMITATIONS OF
LEADTHROUGH METHODS
The fact that leadthrough programming requires the
presence of the robot precludes the use of the robot
in production.
This has important economic implications. Since
programming takes time away from production, it
means that the batch size of parts to be produced by
the robot must be sufficiently large to minimize the
contribution of the programming cost.
• If the lot size is too small, it might take longer to
prepare the program than to run it.
CAPABILITIES AND LIMITATIONS OF
LEADTHROUGH METHODS
The second limitation deals with the fact that
robots are being employed in production
applications of increasing complexity, and
being called on to perform increasingly
sophisticated functions.
With the leadthrough methods ,it is difficult to
program these kind of functions.
CAPABILITIES AND LIMITATIONS OF
LEADTHROUGH METHODS
The third limitation is concerned with the
problem of interfacing robots to other computer-
based systems in the corporation.
One of the important goals in manufacturing is to
establish computer-integrated manufacturing
(CIM) systems in which the data and information
necessary to make a product is captured
originally on a CAD/CAM data base, and
downloaded through the various manufacturing
planning steps ultimately to the shop floor where
robots and other automated systems work.
CAPABILITIES AND LIMITATIONS OF
LEADTHROUGH METHODS
The various components of the CIM system
need to be able to communicate with each
other and with the central plant computer.
The use of leadthrough programming
procedures does not lend itself to the
communications and data base requirements
of this kind of computer-integrated factory.
Textual robot languages are more suited to
these needs.