You are on page 1of 9

DEMONSTRATION PROGRAMS

CONTENTS

The Demonstration Programs Page 2

Mentor-1 ~ MVERTP&P.men Page 2


Mentor-2 ~ TAN_HOZ.men Page 3
Mentor-3 ~ RAD_HOZ.men Page 4
Mentor-4 ~ MEN_GRID.wal Page 5
Mentor-5 ~ DEMO_M1.wal Page 8

Gryphon-1 ~ GVERTP&P.gry Page 10


Gryphon-2 ~ TAN_HOZ.gry Page 11
Gryphon-3 ~ RAD_HOZ.gry Page 13
Gryphon-4 ~ GRY_GRID.wal Page 14
Gryphon-5 ~ DEMO_G1 Page 17

Neptune-1 ~ NVERTP&P.ne1 Page 19


Neptune-2 ~ TAN_HOZ.ne1 Page 20
Neptune-3 ~ RAD_HOZ.ne1 Page 21
Neptune-4 ~ NE1_GRID.wal Page 22
Neptune-5 ~ DEMO_N1 .wal Page 25

Serpent-1 ~ SVERTP&P.se3 Page 26


Serpent-2 ~ SER_GRID.wal Page 27
Serpent-3 ~ DEMO_S1.wal Page 30
Serpent and Cyber Mill ~ DEMO_W2.wal Page 32

Kestrel-1 ~ KVERTP&P.kes Page 34


Kestrel-2 ~ KES_GRID.wal Page 35
Kestrel-3 ~ DEMO_K1.wal Page 37
Kestrel and Cyber Mill ~ DEMO_W3 Page 39

Cyber Mill-1 ~ DEMO_CM1 Page 41


Cyber Mill-2 ~ DEMO_CM2 Page 43
Cyber Mill-3 ~ DEMO_CM3 Page 44

Cyber Lathe-1 ~ CYLINDER Page 45


Cyber Lathe-2 ~ TOOLCONE Page 46
Cyber Lathe-3 ~ DOME Page 47
Cyber Lathe-4 ~ SPOOL Page 47
Gryphon and Cyber Lathe ~ DEMO_W4 Page 48

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 1


THE DEMONSTRATION PROGRAMS
The Demonstration Programs illustrate the capabilities of
the various robots to perform the basic manoeuvres
required for automated handling which are referred to in
the Notes for Student Exercises. In some cases this is
with the robot in isolation, or stand alone mode, and
using simple models to represent features of a workcell,
and in other cases using a representative assembly of
components within an actual workcell. In either case the
programs, or parts of them may be used as the basis for
further work.

The essential point to illustrate is the way that the


movement of the several robot axes can be used to
assist the manoeuvre and exploit the three dimensional
space in the simplest way, in short, robot dexterity.

The programs are presented here in ordered groups


associated with the particular robot, and the reader may
find the text somewhat repetitive, reading one robot to
the next, since the tasks being performed are the same
but with minor variation dictated by features of the
particular robot. The reader is advised to be selective,
therefore, although there is virtue in comparing the way
the different robots perform the same task.
Referring to the program sequence, the start position for
Where more than one device is being used within a pickup is with the gripper held high above the workcell
workcell, such as a robot and a CNC machine, this order surface at the rest position and with the robot waist axis
is not always applicable although there may be aligned with the spatial Y axis. From here, the gripper is
repetitions in the use of alternative robots to do lowered to an appropriate height above the conveyor
essentially the same task, such as loading and unloading surface, with the wrist axis vertical. The gripper is then
the Cyber Mill. The robot programs use file names and closed and the robot arm returned to the initial position.
extensions which reflect the robot in use, while the
programs, or more correctly projects, with workcell This same initial position starts the place sequence. In
content have the extension [ .Wal ], to use the file this the waist axis is first rotated with the gripper at a
convention in Walli3. height safe from obstructions to above the placement
point, from where the gripper is lowered with a vertical
wrist axis before the gripper is opened to release the part
Demonstration Program, into a bin, say The gripper is then lifted clear before the
Mentor-1 ~ MVERTP&P.men arm rotates to return to the initial rest position.

Equipment : Mentor robot

This is a program to demonstrate the simplest robotic


manoeuvre which may be used in a workcell, to pickup
an object using a vertical movement and then place it at
some other point in the workcell with a similar vertical
movement and with the same vertical orientation.

The program may be obeyed as a single sequence,


which will contain two lines with the same code, or it
may be obeyed as part of a larger program under the
control of a workcell program for the separate pickup and
place sequences.

The object or part is assumed to be at a height above


the workcell surface, corresponding to that of a
conveyor, the typical use of such a manoeuvre being to
take parts off the conveyor and place them in a
component bin, say. In the program the conveyor
pickup point is assumed to be ahead of the robot on the
Y axis, with the conveyor typically aligned and parallel to
the X axis.

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 2


Demonstration Program, and is reached from an intermediate point to come from
behind and above the part standing on the equivalent of
Mentor-2 ~ TAN_HOZ.men a conveyor. The elevation of the gripper is then at 90°
with zero rotation, such that the cylindrical part standing
Equipment : Mentor robot vertically, is encircled by the open gripper. Some 20 mm
of the part is left projecting below the gripper, when it is
This is a robot program sequence that may be closed. The gripper is then raised a short distance to lift
incorporated with appropriate edits into a project under the part clear of the surface on which it was standing.
the control of a workcell program. Its purpose is to
demonstrate another basic robotic manoeuvre, the
placement of an object or part by a movement in the
horizontal sense, in this case in a direction which is
tangential to rotation about the robots vertical or waist
axis. The wrist is used in this manoeuvre to manipulate
the gripper so that a cylindrical part, which is standing
with its axis vertical, may be picked up from the side and
then rotated so that its axis is horizontal, before it is
placed with a horizontal tangential movement.

Rotate is a move to an intermediate position above the


placement point, rotating the wrist axis en-route by 90°
so that the axis of the cylindrical part is horizontal. The
waist axis of the robot is also rotated 90° to an assumed
placement position which would fit into a normal
rectangular layout of components in a workcell.

Place lowers the part to the desired axial height with the
wrist axis vertical. In this position the small rotation
about the robot vertical axis, which performs the
horizontal tangential placement, may be compensated by
an equal counter rotation of the wrist axis. Once the
placement is made, by inserting the end of the part
which is projecting beyond the gripper into the pipe, the
gripper is opened to release the part. Were it to be
loaded into the actual lathe chuck, it would be necessary
to co-ordinate the release to be after the chuck had been
closed, otherwise it will fall, as it inevitably does out of
the pipe model.

The part is picked up from a height above the workcell Withdraw reverses the placement movement, returns
surface which is equivalent to the surface of a conveyor the robot to the initialised position via an intermediate
and it is placed horizontally at a height which is position raising the gripper clear of any obstructions,
equivalent to the turning axis of the Cyber Lathe. The before commencing the rotation about the waist axis.
manoeuvre is similar to that which could be used to load
a part into the lathe chuck, ready for machining, with the Although the horizontal placement is performed with a
robot standing in front of the lathe and with its Y axis single point-to-point movement from an aligned position
aligned with the face plate of the chuck. to the inserted position, the movement over such a short
tangential distance is sufficiently smooth as to allow the
For this demonstration a short length of 1.25 inch or 32 insertion to occur without contact, within the tolerance
mm diameter plastics waste pipe, mounted with pipe provided by the clearance between the diameter of the
clips on a block at an axial height of 190 mm, forms a part and the inner diameter of the pipe. This clearance
readily made and suitable model of the chuck, into which is comparable to what it would be in the actual lathe
the part may be inserted. chuck.

The program may be obeyed as a complete sequence, The positioning of the pipe simulating the lathe chuck
since there are no alternative movements involved, but may be adjusted to suit the robot movement in this
labels have been given to indicate the stages in the example program. In a program to use actual devices in
manoeuvre and these could be used to break the a workcell, the placement of the components would need
sequence under the control of a workcell program. to be done so that the axial alignment is achievable, and
the robot moves programmed with greater precision and
Referring to the robot program, Start assumes the an awareness of actual obstructions.
normal initialised position of the robot , with gripper open.
The Pickup point is ahead, in line with the robot Y axis,

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 3


Demonstration Program,
Mentor-3 ~ RAD_HOZ.men
Equipment : Mentor robot

This is a robot program which also demonstrates


placement in the horizontal sense but in the orthogonal
direction to that demonstrated in the previous example,
Mentor-2, moving in a radial direction from the robots
vertical axis, rather than tangential to it. This is possibly
the most difficult of the basic robotic manoeuvres. The
same model may be used to perform the placement, a
short length of plastics waste pipe which simulates the
Cyber Lathe chuck, say.
Referring to the robot program, Start assumes the
The movement represents one which might be normal initialised position with the gripper open.
necessary were the robot to be placed with its vertical
axis and base aligned with the lathe turning axis, The Pickup point is ahead of the robot on the Y axis at a
whereas the tangential loading movement would be done height corresponding to the surface of a conveyor. It is
with the robot axis in line with the face plate of the chuck. reached from above with the gripper and wrist axis
vertical in the normal attitude for picking up parts for
The Mentor robot is not a suitable choice to perform vertical placement. The rotation of the wrist axis is
either manoeuvre to load the chuck in practice, since it unimportant in this manoeuvre. When the gripper is
lacks the necessary reach, but here the principle is being closed, some 20mm or more of the cylindrical part is left
demonstrated by using a model. projecting below, so that it may be inserted into the pipe.
The drawing shows the alternative way of gripping the
part, which should be attempted also, although the
manoeuvre is yet more difficult.

The gripper is raised a short distance to clear the surface


and from here, in the Rotate move, the waist axis of the
robot is rotated, through 90° in this case, to align with an
assumed position for the turning axis typical of a
rectangular workcell layout. At the same time the
elevation of the wrist axis is changed in preparation for
its alignment with the horizontal.

At Place the axis of the cylindrical part held in the gripper


is aligned with that of the intended axis position, in this
case the cylindrical axis of the model, and at a height
some 170 mm from the Cell surface and pointing at the
robot vertical axis along a radial line. The placement
move extends the robot arm with combined shoulder,
elbow and wrist elevation to maintain the same
alignment, and by a radial distance of approximately 20
mm, so that the part is inserted into the end of the pipe.
As in the previous example, the program sequence may
be obeyed as a whole since there are no alternative The gripper is then released and withdrawn along the
movements involved but, to indicate the several stages same radial line to the pre-inserted aligned position.
in the manoeuvre, similar labels have been introduced From here, the arm is returned to the normal initialised
which could also be used to break the sequence under position, passing through an intermediate position with
control from the workcell program. the gripper raised clear of any obstructions before the
waist axis is rotated.
A break would be necessary in practice, to allow the
chuck to close on the part, before the robot releases its The insertion is again attempted with a single point-to-
gripper. This would be effected using the paused state point movement from the aligned position and the
set from the CNC program and detected within the Cell success, or otherwise of this manoeuvre, depends on
program, to sequence the placement into the chuck by the dynamics of the arm and control system in achieving
the robot. The jaw would be closed from a CNC a relatively straight line trajectory over the short radial
command, followed by a second pause to release the distance involved, during which all four of the robot arm
part and then withdraw the robot gripper, at which point axes are being moved simultaneously. The alternative is
the Lathe program could continue from a command to introduce a short Teledictor sequence or to
issued by the Cell program. approximate to this with several intermediate positions,
possibly carefully inserted under lead by nose control.

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 4


Demonstration Program, The requirements to create a similar program for the
Mentor-4 ~ MEN_GRID.wal robot that has been supplied are firstly, to record a basic
grid pattern of robot position within a horizontal plane,
Equipment : Mentor robot around which the printing program may be written.
Secondly it is necessary to make a suitable printing
This demonstration explores the capabilities of the robot block, which can be held within the gripper jaws, and to
to make placements within a different spatial reference acquire an ink pad, the least messy way of transferring
system to the one within which it operates, i.e. to place the block pattern to paper.
within a rectangular or Cartesian reference, while it
moves within a spherical co-ordinate system. Vertical Since the gripper jaws on Mentor are 40 mm wide, the
placement is used as in the first demonstration, but there most obvious format for the block and printing grid is to
is no reason why the exercise could not be modified to use a 40 by 40mm square. The block should be some
suit horizontal placement in either of the two orthogonal 60mm long, so that it may be held firmly and squarely
directions, except that the range of movement would be within the jaws, reaching back to press against the
more limited by the robot geometry. Vertical placement internal linkage mechanism.
is both easier and has application to a familiar industrial
requirement, that of placing components into a grid The high density 'neapoline' plastics foam used as
location, as defined by positions on a palette placed near packing in the delivery crate for the robot is a suitable
a conveyor somewhere along a production line. material for the printing block. This material cuts to a
fine line using a model makers' scalpel and absorbs the
The demonstration goes further than simple placement, ink from the pad. It is sufficiently firm to withstand the
in that it orientates the object being placed into the grid jaw pressure without distorting the printing surface, yet
reference by rotating the wrist axis in its vertical the surface is soft enough to compress slightly when
orientation to compensate for the robots rotation about making the print and the surface texture adds detail to
the waist axis. This is the same way that the wrist may the print.
be used to compensate in the tangential horizontal
placement manoeuvre illustrated by the second A sheet of graph paper provides the reference positions
demonstration program. for the grid pattern, at 40mm intervals on both axes. It
should be attached to a board placed on a raised
As a method of recording the effectiveness of the platform in front of the robot base, and at a height to be
operation, it is suggested that the action of placement is just below the top of the base. The grid pattern may be
used to print a grid pattern, using a simple ink pad and a laid for convenience as shown, aligned with and
pattern block that may be made from plastics foam. As disposed symmetrically about, the Y axis of the robot. A
such, it is also a creative exercise which draws on the five-by-five grid of vertical placement points 40mm apart,
dexterity that has been demonstrated so far. is well within the capabilities of the Mentor robot, for
vertical placement at this height above the work surface.
The drawing shows a grid reference for the printing, The intersection of each 40mm square should be
superimposed on the plan view of the robot. marked in preparation for the programming process.

It is suggested that the axes values for moves to the grid


points are entered first, to avoid the extensive editing
that will otherwise be needed to build the robot program.
This is an exercise in vertical placement and the same
means as previously described in the Student Exercises
to record accuracy, may be employed again to locate the
position of the grid points. This uses a pencil point
projecting vertically from the gripper jaws by the same
distance as the print block, in this case.

The axes values for the grid positions may be entered


into the robot program using the following technique :

1. Under on-line closed loop control, adopt a position for


the robot close to the inner-most position for vertical
placement at this height, on the Y axis and this will
The demonstration may be loaded and run as for the form the grid base reference.
previous programs, but it has been written for a robot at
the factory and in a demonstration of this form the 2. Position the inner-most middle grid point on the
differences between individual robots become apparent. graph paper below the pencil point and with the grid

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 5


line aligned to the Y axis. Lower the pencil point to Table of typical axes values for grid positions, and for the
nearly touch the paper, making any adjustments that ink pad sequence
are necessary, particularly to ensure that the pencil
and jaws are vertical and that the jaws are rotated X~Y co-ord Axis 0 Axis 1 Axis 2 Axis 3 Axis 4 Axis 5
about the wrist joint to align with the grid pattern.
Record the axes values for this position into the 0,0 128 78 0 129 130 255
program. 0,40 128 75 17 116 117 255
0,80 128 68 36 103 104 255
3. Without moving axis 0, seek the position of the 0,120 128 57 59 91 92 255
farthest grid point on the middle grid line. Minor 0,160 128 40 85 79 80 255
adjustment to rotate the paper about the previously
recorded point, may be necessary to align to the grid, -80,0 169 77 15 87 146 255
and this may be done using a pin through the paper 80,0 89 78 12 143 90 255
at the grid base reference, the previous point. Lower 80,160 109 31 98 88 67 255
the pencil point to the surface, making any minor -80,160 147 30 99 61 94 255
adjustments to axes values, and record as before.
start 128 136 36 178 177 255
4. Having established the alignment of the graph paper
grid with the Y axis of the robot and taking care not to pad, pause 197 44 86 78 77 255
move the graph paper again, all the axes values for pad, ink 197 38 89 78 77 255
all the other grid positions may be similarly recorded pad, lift 197 44 86 78 77 255
into the program. The wrist axes should be rotated
to align the jaws with the grid as the robot arm is The particular values that are to be used repeatedly for
rotated about the waist axis to the grid locations the ink pad sequence are best established under on-line
either side of the Y axis. closed loop keyboard control also, but once this has
been done, the rest of the program may be created with
Below is a table of typical axes values for the Y axis grid the motor power switched off and off-line. Eight lines of
points and for the corners of the grid. The full set of 25 positions are required for each printing point, a total of
axes values for all the grid positions has been omitted for 200 lines plus one for the end point. The seventh line is
brevity but the values should only be regarded as being an intermediary position between the ink pad and
indicative since all will be different for any given printing sequences, to lift the arm clear, and it may be a
arrangement to position the printing surface and grid, repeat of the start line. The eighth line similarly lifts the
which of necessity may only be done by the user. arm clear and prepares for the inking sequence.

This is the basis of the robot program, but it also It will be necessary to refine the program after a trial
requires a sequence to press the block onto the ink pad print using the single step replay sequence, for any
between each print. A typical sequence for this is also misalignments in position and rotation that may have
given at the foot of the table. It begins with a start occurred, and any corrections to avoid dragging the ink
position, with the block held well above the centre of the pad or smudging the print. This refined program may
printing surface, moves the robot to a position with the then be recalled from disc and replayed either using
block poised above an ink pad, lowers the block onto the single step or continuous replay, to reproduce the block
pad and then lifts it clear. pattern on fresh pieces of paper.

This inking sequence will need to be obeyed between The program will take the form that is given in the
each group of moves to do the actual printing. Each demonstration program which is included on the
group will be formed from one of the recorded grid distribution disc, but it should be emphasised that to
positions, preceded by a line repeating the same values obtain printed results from this, the printing surface will
but with the value of axis 1 increased by a count of four, have to be set up as described and adjusted to suit the
say, and succeeded by the same line. individual robot.

This brings the printing block to a position just above the It should also be noted that the program has been saved
surface of the paper, lowers it to the surface to make the as a project file which uses the robot program sequence
print, and then lifts it clear again. The quality of the final M_P_GRID.men under the control of a workcell program,
printing depends on the lowering and lifting clear, even though there are no other components declared for
particularly the lift, since smudges may easily occur if the the workcell. The number of lines of code in the robot
dynamics of the arm between moves, is not allowed for. program are not some 200 as suggested above, but
may be reduced to 80 lines, using the FOR loop
command in the workcell program to move to the grid
positions in the sequence in which they are written.

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 6


one for picking up rather smaller square parts and then
releasing them into a grid placement such as a chess
board, and this would be an effective demonstration of
the capability of conventional robots.

This form of program, where a number of moves are


required which are only slightly different, interspersed
with a repeated action, is typical of the work required to
load a palette and as such, it is embodied in the palletise
command provided for the CyRo robot workcell.

The program structure is not limited to this type of


activity but it does present a powerful means of calling a
list of subroutines for robot action, in a prescribed
sequence. The subroutine actions may be quite different
and of different lengths, not entirely similar as for each
print or palette location, nor are the subroutine
statements limited only to robot moves.

Using the FOR loop and NEXT commands with the robot
under workcell control from Main, therefore, the robot
program may be reduced to a single statement of the
five lines of positions for the inking sequence, and it
requires only a statement of the three position print
sequence for each point on the grid, as a list of
numbered subroutines.

The workcell program is very short and concludes when


the end condition for the FOR loop is satisfied. In the
example on disc, the robot sequence is truncated to
include only the five positions on the Y axis and the four
corner positions. The user is invited to complete the
robot sequence for all 25 grid positions and adjust the
parameters of the FOR loop accordingly.

Variations of this basic program using colours, different


grid layouts and overprints gives scope for creativity and
would provide readily appreciated demonstration
material.

If such a procedure were to be considered in commercial


practice, it would be best to use a Cartesian form of
robot, such as the Kestrel.

The other alternative is to modify the inking routine to

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 7


Demonstration program, Cell Definition
Mentor-5 ~ DEMO_M1.wal
The window shows a list of the sub-devices that have
been added to the declaration of the Mentor for the cell.
Equipment: Mentor robot, Conveyor, Parts Dispenser
Against each sub-device there is a summary of the
Digital Width Gauge, 2 Digital Sensors.
connections that have been determined during the
programming and this must correspond to the actual
This is a simple program for a single Mentor robot
wiring for the workcell, between the Mentor cell interface
working within a workcell equipped with a conveyor on
and the sub-devices, all physically associated with the
which are mounted a parts dispenser and a digital width
conveyor.
gauge. It uses the robot program sequence
MVERTPRA.men to pick up parts from the conveyor and
place them in bins for accepted parts or rejected parts,
according to the width gauge measurement. In doing so,
it uses movements which are essentially in the vertical
sense, to raise and to lower without altering the
orientation. The conveyor also has two infra red
sensors, one mounted between the parts dispenser and
the width gauge, the other near the end of the conveyor,
at a point where the robot may pick-up the part. The
distance between Sensor 1 and the width gauge is
50mm, a value which is needed in the program

The digital gauges measure directly in millimetres, over a


maximum range of 95mm. The range may be restricted In making these declarations, the connections are
by introducing a block opposite the gauge mounting. chosen from alternatives in the dialogue boxes that are
The digital gauges are self calibrating at power up, but presented when selecting the appropriate addition from
the command to calibrate should always be obeyed as the cell menu, while the Cell Definition window has the
the first line of a cell program which uses them. screen focus. They may be summarised as follows :
The Mentor is assumed to be positioned opposite the Mentor If not connected, this will be indicated.
pick-up point on the conveyor and with the major axis of Only the type of interface board installed in the host
the control box base at right angles to the conveyor. computer will be accessible within the dialogue but the
The separation distance between the axis of the RJ45 interface is the prescribed connection. For new
conveyor and the vertical waist axis of the Mentor has systems, device 1 is suggested as the appropriate
been set at some 230mm. This cell arrangement is quite connection and further devices are suggested in
typical and will give rise to waist axis values of numerical order.
approximately mid-range or 128, at the pick-up point.
Any changes in the physical arrangement will require Conveyor The Start, Stop, Increment and Serial To
changes to the robot program. connection boxes are all initially unconnected. Using the
cursor keys to change the selection and the tab key to
move between box fields, the Serial To connection has
been made to Mentor 1, latched output 8, the preferred
form of connection for conveyors, and the Digital
Outputs that might otherwise be allocated left
unconnected. This is summarised against Conveyor 1,
in the Cell Definitions window

Parts Dispenser The Start and Free To connections


boxes have been changed from the initially unconnected
state to show Mentor 1 and the required output
allocated to the first in sequence, starting at 1, and the
input to 3. Again this is summarised against Parts
Dispenser 1.

Width Gauge The Start From, Read From and Out To


connection boxes have all been changed to indicate
Mentor 1. The Start and Read Digital Outputs have
been allocated to the next in sequence, numbers 2 and 3
respectively and the Out to Digital Input 4.

Sensors Both sensors have had the Output Connected


To connection set to Mentor 1 and the Digital Inputs set
to appropriately 1 and 2. The status of these input are
checked as they are allocated and will be shown as not
connected, if the Mentor is not connected.

Workcell Program, Main

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 8


Given the description of the physical arrangement of the The Robot Program
workcell and the contents of the Cell Definition window,
the reading of the workcell program should be self This is in three blocks, labelled Pickup, Rejected and
explanatory. Accepted respectively.

It is grouped into to two sections, the first to progress a


through Sensor 1 position, where the conveyor will have
stopped following dispensing the part, then moving the
conveyor a distance of 50mm, corresponding to the
separation between Sensor 1 and the gauge, invoking Pickup moves the robot arm from a safe position, with
the width measuring sequence and when this is the arm and gripper held high above the conveyor and
completed, moving the conveyor on until the Sensor 2 it's axis plane at right angles to the conveyor axis. The
detects the part at the pick-up point. arm is lowered with its gripper open to a position where
the gripper is poised just above the conveyor surface
Following the robot routine to pick-up the part from the and with the open gripper astride the part to be picked
surface of the conveyor, a test is made on the width up. The gripper is closed and then the arm is returned to
measurement and if it is within the limits set, between 26 it's safe position.
and 30mm, the program flow is diverted to the second
program block. Otherwise, a robot routine to place the Rejected takes the arm to a position near the limit of it's
part in the Rejects bin is called, a counter to record the anti clockwise rotation about the waist axis, lowers the
rejects is incremented and the program flow returned to arm and gripper to above the rejects bin and releases
the start, to dispense another part. the gripper so that the part drops into the bin. From here
the arm is again returned to its safe position.
The second section, labelled Ok, calls a routine to place
the part now held by the robot's gripper into the bin of Accepted carries out the same procedure as the rejected
Accepted parts, increments a count accordingly and routine, but to an intermediary position of the waist axis,
returns program flow back to the start at label 1. for the accepted parts bin.

End is merely a convenient label, and the program as The use of a parked safe position has two benefits. It
written will run indefinitely for so long as there are parts raises the robot to a known position so that the
to dispense. transients to other end points are as defined and will
avoid any obstacles. Secondly, by starting from the
The program has been entered using the appropriate same point in each routine, there are no "uncharted"
two letter mnemonics for each command and inserting transients if the robot program is run while the robot edit
the values and names in the appropriate entry boxes as window has the focus, i.e. without the control from the
they are displayed for the syntax. It should be noted that cell program.
the syntax of the Move Robot command does not require
the last destination field to be filled when a label is used. The program has been created by using the Insert
command to introduce new successive line of code, with
The initial block may be entered as a continuous auto-line number off for all but the start line of each
sequence, without auto-line numbers, by simply block. The axes values have been entered with the robot
completing each line in turn and using the down cursor on-line in the keyboard entry mode, to achieve the
key to display the next vacant line at the bottom of the desired end points in each manoeuvre.
window.
The blocks are named by moving the cursor down to the
The second block is started by using the Insert line edit initially numbered line field at the start of each intended
command, from the edit menu or the Ctrl+I shortcut, and block in turn and using the normal edit features to
would initially be allocated the number 2 as a label, since overwrite number with name.
no other numbers have been allocated. End is also
entered in the same way, with the initial number 3 label.

Both labels Ok and End have been entered using the


normal edit features, with the cursor placed on the
respective number labelled line fields. Naming the block
allows the label to remain with the block, rather than
being reallocated when program lines are inserted or
deleted.

WALLI for WINDOWS. Revision A WALLI DEMO PROGRAMS page 9

You might also like