You are on page 1of 40

ROBOT PROGRAMMING

Why programming?
• 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
Programming methods divided into two basic types:
A) Leadthrough methods
B) Textual robot languages
The leadthrough methods require the programmer
to move the manipulator through desired motion
path and that path combined to memory by the
robot control.
The leadthrough methods are sometimes referred
to as 'teach-by-showing method.
Textual robot languages

• Robot programming with textual languages


is accomplished some what is computer
language.
• The programmer types program on
computer.
• Uses high level English
Leadthrough methods
• 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
• The powered leadthrough method makes use of a teach pendant to

control the

• various joint motors, and to power drive the robot arm and wrist through

a series of

• points in space.

• Each point is recorded into memory for subsequent play back during the

work cycle.

• The teach pendant is usually a small handheld control box with

combinations of toggle switches, dials, and buttons .


Cont..
• It regulate the robot's physical movements and programming

capabilities.

• Among the various robot programming methods, the powered

leadthrough method is probably the most common today.

• It is largely limited to point-to-point motions rather than continuous

movement because of the difficulty in using the teach pendant to

regulate complex geometric motions in space.

• A large number of industrial robot applications consist of point-to-point

• movements of the manipulator. These include part transfer tasks,

machine loading and unloading, and spot welding.


Manual leadthrough
• The manual leadthrough method (also sometimes called the
walkthrough method)
• More readily used for continuous-path programming.
• where the motion cycle involves smooth complex curvilinear
movements of the robot arm. example of this kind of robot
application are
• 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 .
• In the manual leadthrough method, the programmer physically
grasps the robot arm (and end effector) and manually moves it
through the desired motion cycle.
• If the robot is large and awkward to physically move, a special
programming apparatus is often substituted for the actual robot.
• This apparatus has basically the same geometry as the robot,
but it is easier to manipulate during programming.
• A teach button is often located near the wrist of the robot (or
the special programming apparatus)
Cont…
• The control systems for both leadthrough procedures operate
in either of twomodes:

• Teach mode
• Run mode
• The teach mode is used to program the robot and
• the run mode is used to execute the program.
Motion interpolation
• Suppose we were programming a two-axis servo controlled
Cartesian robot with eight addressable points for each axis.
Accordingly, there would be a total of 64 addressable
• Points that we can use in any program that might be written.
The work volume is illustrated in Fig.
• Assuming the axis sizes to be the same as previous limited
sequence robot, a program for the robot to perform the
same work cycle as Example would be as follows:
• If we were to remove step 3 in this program (similar to Example) then servo controlled
robot would execute step 4
• This is done by tracing a path along the diagonal line from point 8,1 to point 1,8.
• This process is referred to as interpolation
• There are different interpolation schemes
1. Joint interpoltion:
In joint interpolation, the controller determines how far each

joint must move to get from the first point defined in the

program to the next. It then selects the joint that requires the

longest time.

This determines the time it will take to complete the move (at

a specified speed).

Based on the known move time, and the amount of the

movement required for the other axes, the controller

subdivides the move intosmaller increments.


Joint interpolation
All joints start and stop their motions at the same time.

Consider, for example, the move from point 1,1 to point 7,4

in the grid of Fig. Linear joint 1 must move six increments

(grid locations) and joint 2 must move three increments.

To determine the joint interpolated path, the controller

would determine

a set of intermediate addressable points along the path

between 1,1 and 7,4 which would be followed by the robot.

The following program illustrates the process:


• In straight line interpolation, the robot controller computes

• The straight line path between two points and develops the

sequence of addressable

• points along the path for the robot to pass through. As

indicated the procedure is identical to the example given in

Example
• Consider a robot that has one rotational axis (axis 1) and one
linear axis (axis 2),
• where each axis has eight addressable points.
• This creates a total of 64 addressable points which form the
grid shown in Fig.
• The grid is polar rather than rectilinear.
• During an interpolation procedure, this has the effect of creating moves
of different lengths (from the viewpoint of Euclidean geometry.
• For example, compare the move from 1,1 to 3,2 with the move from
1,7 to 3,8. The addressability of a robot with rotational axes is not
uniform in Euclidean space.
• Moves that are made close to the axis of rotation are significantly
smaller than moves that are far from the rotation joint.
• This change in robot configuration has implications for the
interpolation
• schemes used by the controller.
• Although the descriptions given above still apply for
• joint interpolation and straight line interpolation, it is clear that the
paths taken by the robot will be affected by the change in anatomy.
• The incremental moves executed by the robot consist of combinations
of rotational moves (along axis 1) and linear moves (along axis 2).
• .
Circular interpolation
• Circular interpolation requires the programmer to define a circle in the
robot's workspace.

• This is most conveniently done by specifying three points that lie along the
circle.

• The controller then constructs an approximation of the circle by selecting a


series of addressable points that lie closest to the defined circle.

• The movements that are made by the robot actually consist of short-straight-
line segments.

• Circular interpolation therefore produces a linear approximation of the circle.

• If the grid work of addressable points is dense enough, the linear


approximation looks very much like a real circle.

• Circular interpolation is more readily programmed using a textual

• programming language than with leadthrough techniques.


WAIT,SIGNAL AND DELAY
Commands
• Nearly all industrial robots can be instructed to send
signals or wait for signals during execution of the
program.
• These signals are called interlocks.
• In the case of a gripper, the signal is to open or close
the gripper.
• Signals of this type are usually binary.
• The signal is on-off or high-level-low-level.
• Binary signals are not readily capable of including
any complex information such as force sensors
measurement.
cont…
• Air pressure is commonly used to actuate the gripper.
• A binary valve to actuate the gripper is controlled by
means of two interlock signals.

one to open the gripper and the other to close it

In some cases, feedback signals can be used to verify that


the actuation of the gripper had occurred, and interlocks
could be designed to provide this feedback data.
SIGNAL M

which instructs the robot controller to output a signal through


line M (where M is one of several output lines available to the
controller).

WAIT N

which indicates that the robot should wait at its current


location until it receives a signal on line N (where N is one of
several input lines available to the robot controller).
• Parts picked at 8,8 and should drop at 8,1
• One of column press is in the way of as easy straight line

• Robot must move arm near side of column avoid colliding.


• Robot start at 1,1
• Ports 1 to 10 as output (SIGNAL) lines
• Ports 11 through 20 as input (WAIT) lines
• Specifically, output line 4 will be used to actuate (SIGNAL).
• 11 will be used to receive the signal from the press indicating
that it has opened (WAIT)
• the sequence begins with the gripper in the open position).
Delay X sec
Indicates that the robot should wait X seconds before proceeding
to the next step.
Here assured that the gripper is either opened or closed.
Branching
• Divide program into one or more branches.
• Branching allows the robot program to be subdivided into
convenient segments.
• segments are executed during the program.
• A branch can be thought of as a subroutine that is called one
or more times during the program.
• The subroutine can be executed either by branching to it at a
particular place in the program or by testing an input signal
line to branch to it.
• However, most controllers allow for a branch.
Robot Languages
Textual Languages
First textual language was WAVE-1973
First commercially available language-VAL-1979
VAL-Victor’s Assembly Language
VAL introduced by Unimation Inc. for PUMA
VAL upgraded to VAL-II in 1984
AUTOPASS & AML (a manufacturing language)
RAIL introduced in 1981.
GENERATIONS OF ROBOT PROGRAMMING
First generation:
 combination of command statement and Tech
pendant.
Motion control with textual language
Ability include:
 Define manipulator motions.
 Straight line interpolation

 Branching

 Elementary sensor command

 Binary signal (On-Off)


Used to define motion sequence of manipulator

MOVE

WAIT

SIGNAL

Subroutines (BRANCH)

Low or Medium complexity

E.g VAL
Inability of First generation language

Not suitable for complex arithmetic computations

Inability to make use of complex sensors, sensors data.

Limited capacity to communicate.


Second generation language
The second generation languages overcome many of the
limitations of the first generation languages .
It makes the robot more intelligent.
These languages have been called ‘structured’
programming languages.
Commercially available second generation languages
include AML, RAIL, MCL, and VAL II.
A disadvantage - computer programmer’s skills are
required to accomplish the programming.
 The second generation languages commonly make use
of a teach pendant to define locations in the work space.
Feature and capabilities
Motion control :This feature is basically the same as
for the first generation languages.
Advanced sensor capabilities :The enhancements in
the second generation languages typically include the
capacity to deal with more than simple binary (on-oft)
signals, and the capability to control devices by means
of the sensory data.
Limited intelligence This is the ability to utilize
information received about the work environment to
modify system behaviour in a programmed manner.
Communications and data processing :

Second generation languages generally have


provisions for interacting with computers and
computer data bases for the purpose of keeping
records, generating reports, and controlling
activities in the work cell.
Future Generation Languages
Involve a concept called ‘world modelling.
Include model-based languages and task-object
languages.
The robot possesses knowledge of the three
dimensional world and is capable of developing its
own step-by-step procedure to perform a task based on
a stated objective of what is to be accomplished.

You might also like