Robot Programming
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
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.
capabilities.
• 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).
Consider, for example, the move from point 1,1 to point 7,4
would determine
• The straight line path between two points and develops the
sequence of addressable
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 movements that are made by the robot actually consist of short-straight-
line segments.
WAIT N
Branching
MOVE
WAIT
SIGNAL
Subroutines (BRANCH)
E.g VAL
Inability of First generation language