1.
Describe the steps that must be followed to
program a typical industrial robot.
2. Understand how a simple program is written,
using the VAL2 language.
The vast majority of commercial robots use:
A teach pendant to establish the robot positions
in space
A high level language to instruct the robot how
to move between these positions and how to
perform the tasks at those positions.
The usual arrangement consists of the following
elements:
The robot
The controller
A monitor & keyboard
A teach pendant
Four modes of operation can be defined:
1. planning mode
2. interactive mode
3. edit mode
4. run mode
1. the planning mode
The planning mode is essential for the successful
application of a robot program.
It involves the careful consideration of all
the likely moves and the operation of the
end effector.
Thought should be given to any possible
collisions and to optimizing the motions of
the robot.
The layout of the workspace is very
important.
2. the interactive mode
The interactive mode (between operator and robot)
usually involves the use of the teach pendant to
mark a position in space. This can be recorded by
pressing a button on the teach pendant. This
position can be stored in memory for later use. All of
the required positions in space can be recorded in
this way.
3. The edit mode
In edit mode, the operator can enter a high level
program through the keyboard and monitor. A
text editor is usually provided for this purpose.
Programs can be easily written, modified and
stored by this process.
4. Run mode
Run mode is used to execute the high level
program written in edit mode.
Elements of high level languages
For the robot programming language to perform
satisfactorily, it must have a number of different
capabilities. It must contain command that are
concerned with robot motion and end effector
operation.
The VAL2 programming language developed for
a range of PUMA robots will be used to illustrate
the general elements of the current generation of
high level languages.
In the VAL2 programming language, in the
interactive mode, once the robot has been driven
to a desired point, which the operator may wish to
be defined as A for example, the following is
entered at the keyboard:
HERE A
The position A is then stored in memory to be
accessed from the robot program in the run
mode.
VAL2 uses move and moves. A program line that
consists of
MOVE A
Will cause the robot to move from its current
position to A. the form of the motion will be joint
interpolated.
If the line consists of
MOVES A
The motion will be along a straight line from the
present position to the destination.
The next example explains some of the important
commands that can reduce the number of taught
positions.
APPRO A, 75
MOVE A
DEPART 75
APPRO B, 75
MOVE B
DEPART 75
The motion commands can be executed in the
interactive mode by using the DO command. For
example, if the following is typed in at the keyboard
DO MOVES A
Then the robot will move in a straight line from its
current position to position A.
If the gripper is operated by the air supply through
the robot, the command
OPEN I
Will cause the gripper to open.
The command
CLOSE I
Will cause the gripper to close.
END EFFECTOR COMMAND
The position of the end of the robot in the world
coordinate system and the orientations of the end
effector can be defined by using the TRANS
command. It is only the end of the robot that is
affected by this command and not the configuration
of the whole robot in space.
For example
Having previously been taught a position using the
teach pendant, the command is
TRANS(x, y, z, O, A, T)
TRANS (50, 60, 70, 45, 50, 60)
Followed by
TRANS (80, 60, 70, 45, 50, 60)
This will cause the robot to move from the first
position to the new position displaced by 30 mm
along the world coordinate system x axis. The
angular position of the end effector remaining
unchanged.
Two possible configurations for the same (x, y) position
in space and the same gripper orientation
If it is necessary to record the position of a point
as a precision point, then the location name must
be defined with # as the first character. i.e.
HERE # LOC1
It is possible to change the position LOC1 by
using the SHIFT command as follows:
SHIFT (LOC1 BY δx, δy, δZ)
VAL2 has a number of instructions in common
with other high level computer programming
languages that allow control of the program
operation. Those include
IF…THEN…ELSE…END
WHILE…DO …END
WHILE…DO.
An example of one of these is
IF Y = 8 THEN
GOTO 100
ELSE
GOTO 200
END
These means that if the variable Y is equal to the
value 8 then go to the program line identified by
the flag 100 otherwise go to the line identified by
the flag 200.
Coordinate axis system
The world coordinate axis system usually
has the origin and frame of reference defined
relative to the robot base with respect to
some fixed position and alignment.
The tool coordinate system has the
alignment of the axis system defined relative
the orientation of the wrist face plate.
Example
The task is to move a line of five blocks from a
pallet in a sequence and place them onto a
conveyor belt for transport away from the area.
The nature of pallets implies that the relative
position of the blocks to each other is known. It
may also be assumed that the orientation of the
pallet is such that the line of blocks is parallel to
the world Y axis of the robot. The layout of a
possible work cell to satisfy these requirements is
shown in the following figure.
Solution
First step is to spend time to create an accurate
flow chart.
A good program contains all of the following:
1. Suitable remark statements explaining the
object of the program, the programmer
name, date, etc.
2. An area near the start of the program
where all variables and shifted locations
are set to an initial value.
3. Sensible names for all user variables
including program name.
Mark all the necessary position by the teach
pendant (home, pick and place).
START
PROGRAM COMMENTS
MOTION TO HOME
GRIPPER OPEN
LOOP Control
APPROCH PICK POINT
STRAIGHT LINE TO PICK POINT
GRIPPER CLOSE
DEPART FROM PICK POINT
APPROCH PUT DOWN POINT
STRAIGHT LINE TO PUT DOWN POINT
GRIPPER OPEN
DEPART FROM PUT DOWN POINT
SHIFT PICK POSITION BY ONE COMPLETE SPACING
Yes
Repeat LOOP?
No
MOTION HOME
END
A simple programming task using VAL2
.Program pallet
1. REMARK NAME PALLET
2. REMARK A PROGRAM TO DE-PALLETIZE FIVE
BLOCKS
3. REMARK ONTO A CONVEYOR
4. REMARK VERSION 1.0
5. REMARK
6. MOVE #HOME
7. OPENI
8. SET A = PICK
9. COUNT = 0.
10. FOR COUNT =1TO 5 STEP 1
11. APPROS A,200.0
12. MOVES A
13. CLOSE I
14. DELAY 0.5
15. DEPARTS 200.0
16. APPROS PLACE,200.0
17. MOVES PLACE
18. OPEN I
19. DELAY 0.5
20. DEPARTS 200.0
21. SHIFT (A BY 0.00,75.00,0.00)
22. END
23. MOVE #HOME
24. TYPE END OF PROGRAM
.END