Use of WALLI Part 1
Use of WALLI Part 1
CONTENTS
In keeping with the conventions for Windows The installation procedure is as follows :
applications, Walli3 has Help files to assist the user with
on-screen information. This manual is based on material From the Windows Program Manager, select the File
contained within the Help files, but here expanded and Menu (Alt+F), and select Run (R).
re-presented in book form as the more conventional form
of reference. The Help feature has the usual facility A dialogue box will appear, in which to type :
allowing the user to take printed copy of any of the Help
topics displayed, to supplement the manual or to provide a:Setup (Enter)
convenient aid memoirs.
This instruction will run the Setup program, to install the
The user must be familiar with the operation of Windows files automatically.
applications, which is mostly by selection from the menu
bar, and with the programming procedures for robotics The user will be asked where to make the installation,
and CNC machines which this application supports. the default is onto the Windows disc drive, normally
These two aspects are covered within the "Contents" Drive C, in a root directory Walli3, which will be created
and "Learning Walli" selections from the Help files, automatically.
respectively, and they are discussed separately with
some cross-reference, within this manual. The following files will be transferred from the Diskette,
to the Windows System directory :
Direct on-screen reference for programming is given
also, in the form of Cue Cards, which appear in Vbrun300.dll
information windows adjacent to the appropriate program
or edit window. to the Walli3 directory :
If a turn-key system has been purchased, the turn-key The addresses that the board uses may be selected in
project files will be included in the DEMODIR directory, the range 220 to 3A0 at intervals of 40, with 320 as the
also. default address at which the software starts to check for
the boards presence. The board is screen printed to
Note : show the links which should be made, in a 3x3 pin matrix
The file Cyber.dll used to be installed into the on J1 to J3 which are set to address 320 at the factory.
Windows\System directory. It has now been moved
into the Walli3 directory in two parts to avoid some This address space is normally free, but it is still
known installation problems, but as a result, if the necessary to check for any conflict with other interfaces,
user is upgrading to a later version of Walli and in such as RS232/422 serial cards.
particular is using Windows95, there is the inevitable
conflict and an error message “ File not found ” will Once this has been done, the board may be plugged into
occur in the installation procedure. Should this occur, an available slot on the mother board and the computer
the user is advised to delete Cyber.dll in the re-booted.
Windows\System directory, and proceed to re-install.
Parallel Interface - Turbo DL Board
Demonstration program files are distributed with the
software and these may be loaded from file to be Parallel interfaces are memory mapped, taking data as if
inspected in conjunction with the Learning Walli section the interface were a location of memory.
of the Help files, and then run to familiarise the user with
the system. The workcell project examples may In its latest version, the Turbo DL board has on-board
subsequently be used as the basis of further project diagnostics written into a PROM, and its address may be
work or in part, by extracting the component device selected in the range C800 to DC00, in 400 increments,
program files. using a 3x3 pin matrix on LK1 to LK3. Silk screen
printing on the board indicates the jumper connections
When the software is installed, all of the demonstration required to set the address.
files are copied to a sub-directory, DEMODIR, which is
write protected to avoid accidental loss, and the The actual read and write addresses are set as off-sets
complete directory is copied to the WALLI directory each within the range by the interface PROM and these are in
time the application is loaded by selecting the Walli icon. two groups, each requiring a different decode PROM in
the device the interface serves. For the one group, A4
to A7 refers to the address lines individually, but for the
HARDWARE INSTALLATION other, AW to AZ uses combinations of the address lines.
The address selection is made within the Walli software -
See also : APPENDIX 5, Intel Plug and Play see Programming the Workcell Interface - but the choice
APPENDIX 6, Network Installations of the device decode PROMS must be specified and will
depend on the contents of the Workcell.
Walli3 supports two dissimilar interfaces between the
IBM host computer and the robotic and CNC devices, The factory set default selection of the address space at
These are either the parallel interface Turbo board in its D000 to D3FF, is the first of the generally available
latest DL form, or alternatively a proprietary RJ45 serial locations which does not conflict with other commonly
communications board, which has been recently used addresses.
introduced. Both interfaces connect into the IBM ISA
internal bus Some video boards, however, have an optional
extension of their normal mapping from C000 to C3FF
It is essential to ensure that the hardware addresses through to DFFF, and this must be changed before
selected for these interfaces do not conflict with installing the Turbo DL board. Other video boards may
other interfaces installed in the computer, the video also cause problems by forcing 16 bit operation in
board, printer board and disc controller to give basic addresses beyond those that they are allocated.
examples.
The Trident 9000 is one example for which the problem
It is also essential to ensure that the computer is may be avoided by running the set-up program
turned off before any hardware installation is TVGACRTC and pressing F10 to select the Extra
attempted. Features. This allows changing the BIOS to 8 bits or the
mode to SLOW, either of which is a solution.
As a consequence, within the CONFIG.SYS file, the Up to eight devices may also be driven from a single
declaration :- RJ45 serial interface, linked one to the next from
duplicate sockets, but the link chain must be correctly
DEVICE=C:\DOS\EMM386.EXE terminated at the furthest device in the chain to ensure
error free transmissions.
should be amended to read :-
An expander box has been designed for both types of
DEVICE=C:\DOS\EMM386.EXE x=d000-d3ff m9 interface which allows the signal and logic drive capacity
to the sub-devices in the workcell to be expanded
where, m9 is the code to start the EMS page frame at beyond the total number of connections provided on the
E000, well away from the Turbo board. The x=d000-d3ff devices. The expansion or expander boxes are
switch should always be used even if EMS is not connected to the computer interfaces, so they fall into
required, otherwise UMB’s could be allocated at the the category of devices.
Turbo board address.
Sub-devices include conveyors of various lengths, an
Similarly, the 386 Enhanced section of the SYSTEM.INI index table, a parts dispenser, sensors and gauges for
file should have the following addition :- height and width. All of these are either driven by, or
produce signals at the TTL logic drive level of +5 volts.
ReservedHighArea=D000-D3FF Some, such as the gauges, produce analogue signals in
EMMExclude=D000-D3FF the range 0 to 5 volts.
immediately after the [386ENH] section header, to A form of serial data transfer is also possible between
prevent WINDOWS from incorrectly allocating an EMS devices and sub-devices using an RS232 emulation on
frame. two wires, the signal wire and an earth return, both
essentially logic connections. This form of transfer
When the Turbo board has been installed in one of the applies to the latest version of the conveyors and index
available slots on the IBM mother board, a screen table.
message TURBO BOARD FOUND AT D000 should be
displayed during the boot-up phase on the first occasion
the Walli application is selected. GETTING STARTED
If problems in communications with the board occur, Once the software and hardware have been installed,
either then or subsequently, error messages will appear correctly it is time to enter the Walli application for the
and it will be necessary to re-check the computer set-up. first time. If a turnkey system has been purchased, this
stage will have been passed long since, at the factory,
The software checks for the presence of either board and the program files will be on disc, but the user may
and its correct address allocation, whenever the use of have installed or updated software and/or hardware for
the interface is called for, as when loading a relevant himself.
demonstration program, or when the contents of the
workcell are being declared at the initial stages of writing The application is entered by selecting the robot Walli
a new program which uses a device connected to the icon from the Windows Program Manager Main window,
interface, as discussed in more detail in the following where it has been placed during the software installation
section, Getting Going. A record of the interfaces process.
installed and their addresses is stored in the Walli.ini file,
independently from the program files, and these are The screen that is then presented should be as shown
consequently of use on all systems, if only by simulation. below in Clip 1, containing the standard Windows Load
dialogue box. In this illustration the List Files of Type
box has been expanded by selection to show the start of
a scrolled list of appropriate file types. The choice is
initialised to type WALLI, the project level with
extension .wal, but the file type may be changed to one
DEVICES AND SUB-DEVICES of the other valid extensions which refer to the devices at
program level.
The machine hardware that may be part of a workcell
under Walli3 control falls into two categories, devices
and sub-devices. The distinction between the two is that
devices are connected to the computer interfaces,
parallel or serial although the choice is not always open,
Clip 6 : On-screen Manual Control panel - Mentor Clip 7 : Start point for an undefined or New Walli system.
The illustration in Clip 6 shows the on-screen Manual
Control panel which will be displayed as a result of
ADDING A MENTOR
loading a program file when a robot is connected and
switched on, in which the first line of program inevitably
does not correspond with the present positions of the Mentor heads the list of devices and is shown high-
robot axes. It displays the program position with arrows lighted initially so that it may be added to the cell when
and the current axes positions with the sliders, so that the keyboard Enter key is pressed. This action displays
the two sets may be brought into line. If no hazards are the Device Address Selection dialogue box as shown in
present to cause collisions, the OK button may be Clip 8.
selected without moving the sliders, and the robot will
move to the programmed position under normal control.
The effect of this selection is to superimpose a program For details of the programming techniques, refer to the
edit window for the Mentor on the Cell Definition window later sections on programming conventional robots and
area of the screen and at the same time to superimpose programming Mentor in particular.
graphics displays of the plan and elevation of the Mentor
robot on the two screen areas to the right, top and ADDING A GRYPHON
bottom respectively. A small window is introduced below
the graphics which summarises the current programmed The high-lighted position in the Cell menu may be moved
position of the end of the gripper in the Cartesian co- to select Gryphon using the cursor keys, and when the
ordinates of the workcell space, with the origin at the Enter key is pressed, the Gryphon is added to the cell.
base of the robots vertical axis. The Device Address Selection dialogue box is displayed,
as shown in Clip 10.
The program edit window for Mentor will contain a single
line of values with the value in the Axis 0 or Waist
column high-lighted, as in Clip 9. At the same time the
Cell Definition window will show a statement
summarising the device selection that has been made,
and the Cell menu will have an added list of peripheral or
sub-devices that may be connected through the Mentor
workcell interface.
The zeroing or initialising sequence may be invoked for The program edit window for Neptune will contain a
Gryphon from the pendant in a direct manual control single line of values with the value in the Axis 0 or Waist
mode with the robot not connected to a computer. This column high-lighted. At the same time the Cell Definition
uses all four corner buttons on the pendant window will contain a statement summarising the device
selection that has been made, and the Cell menu will
ADDING A CYBER LATHE Clip 16 : Initial programming windows for the Cyber
Lathe.
The Lathe may only be connected through the RJ45
serial interface so that, when it is selected for adding to The program is developed by typing in the successive
the cell from the Cell menu, the Device Address lines of code but for this refer to the later section on
Selection dialogue presented only contains the device programming the Cyber Lathe and the use of the ISO
numbers for the RJ45 board, as in Clip 10. codes. The demonstration files may be loaded from the
File menu, and these are the best way to become
The high-lighted choice will either be the next available in familiar with the programming techniques and running
sequence or one recalled from the Walli.ini file as one programs, in simulation and later to cut material.
previously made and therefore suitable for the Lathe.
The choice must correspond to the selection made by
links on the header J0 to J3 adjacent to the RJ45 ADDING SUB-DEVICES
sockets on the edge of the CNC processor board, on the
right hand side of the electronics enclosure, otherwise Whenever a device is added to the cell, including the
the Lathe may not be put on-line for CNC programs. Expander for the workcell which is not programmable,
the Cell menu is expanded with a section which includes
The effect of the selection is to superimpose the edit all the sub-devices that may be connected to the devices
window for the Lathe for programs written in ISO G&M workcell interface. This is not always the same list, since
Codes in the upper part of the screen with a Cue Card not all the devices will support analogue sub-devices, for
for the G and M codes on the right. The lower edit example.
screen for Main program is overlaid by a blank graphics
screen for the Lathe program execution in simulation, a The effect of making a selection from the list is to display
necessary first stage to prove all programs before cutting a dialogue box in which to specify all the connections for
material and before the program is compiled to the the sub-device, as in Clip 17 for the conveyor, the first in
operating code for the CNC program. It has its own the list.
menu bar to control the simulation, whereas the Start
command from the Run menu initiates the compilation.
Clip 17 : Dialogue box for adding a Conveyor. As presented by the default conditions, the editing
windows are arranged into two geometrically tidy stacks,
The presentation in the dialogue box will be appropriate occupying the top and bottom halves of the larger left
to the sub-device selected and once the connections are hand side of the screen. The right hand side of the
specified, the Cell Definition window will include a screen is occupied by three stacks of smaller information
summary which represents the wire list for the cell, as in windows, the upper stack associated with the upper
Clip 18, where the digital outputs have been allocated stack of edit windows and the similar sized middle stack
although the preferred connection is through the Serial with the lower stack of edit windows. The fact that
To choice, which covers all three in one. these are stacks may be verified by dragging the window
boundary, using the mouse in the normal way, to reveal
what lies below. The tidy condition may be restored
using the Arrange selection from the Window menu.
Clip 28 : Workcell Status complement to Cell Definition. Clip 29 : Workcell interface test panel for a Mentor.
Digital Inputs :
The boxes show the logical status of the signal
connection, either on or off, high or low.
Analog Inputs :
The boxes display the current numerical value of the
input, which will in the range 0 to 255 where 8 bit ADCs
are used, or 0 to 4095 for a 12 bit ADC, such as for the
Gryphon’s workcell interface.
Selecting Edit from the menu bar provides a menu for Similarly, the named subroutine may only be deleted
editing lines in either the Robot / CNC Device or Workcell while it has the screen focus, as shown in Clip 32, which
program windows, depending on which has the screen together with the previous two clips, only serves to
focus. illustrate the different edit menus, not the program.
The windows may be cleared of code using the clear The Device window has a different appearance for CNC
option, but for a robot window, all but the line of code devices and robots and each device within these two
which has the cursor will be removed, since the robot categories will show appropriate variations, that is the
must have a statement of current axes values, initial number of columns and their headings in the window, will
seed values or those presented by the cleared program. be different.
Clip 30 shows the robot edit window after it had been Short-cut keyboard alternatives are given with the menu
cleared while the cursor was on line Accepted of the item and these obtain to both windows.
program DEMO_M1.wal, and with the edit menu for the
robot program superimposed for the next edit action.
The title is no longer relevant but is retained until such
time as the changed program is saved to file,
appropriately with a new name, a process which will be
interposed by the Walli system before the program may
be run, as a consequence of any edits.
The effect will be different for the robot and cell edit
windows and depending on whether Auto Line Number is
selected, which is the default condition. Auto line
numbering is imposed for the CNC windows and the
effect of the insertion is the same as for the Cell window.
Remove Walli Subroutine - xxxx Robot window, auto line number NOT selected
Rename Walli Subroutine - xxxx
Whether the cursor line has a name or number or neither
where xxxx is the name of the subroutine whose edit and the line entry is blank, it is copied to the line below
window currently has the screen focus. In the illustration leaving the original line with a blank line number field. All
it is the routine ‘Subsidiary’. subsequent lines of code are displaced one line down,
without their names and numbers altered.
Dialogue boxes are presented for the addition, deletion
and re-naming of a subroutine, when these items are
selected from the menu.
The labelled line and any blank lines that follow the label
in a robot program may be referred to by label as a block
of code, by the Main workcell program or it’s
subroutines. In this way, a sequence of robot positions
which together accomplish a particular manoeuvre, may
be referred to as a robot subroutine by the workcell
program.
Clip 35 : Auto line number selected for cell window. The alternative means of calling a sequence by the
beginning and end line numbers, has the disadvantage
Cell window, auto line number NOT selected that the number reference may change with subsequent
edits.
Whether the cursor line is numbered or not, a blank un-
numbered line is inserted at the cursor line, displacing Re-selection from the menu, restores the consecutive
the code of the cursor line and all subsequent lines, but line numbers feature.
without re-numbering them. The cursor is not moved.
Clearing the Window of Code, ( Ctrl+C )
As with all edit entries, the Return key terminates the The syntax of the Move Robot command for the cell
change and the cursor moves to the next field, to the program, allows a sequence to be called either from the
next command line in a cell program. to the next axis in a start number to the end number, or as a block by name.
robot program or the next G & M code field in a CNC
program. The particular value of a numerical block reference is
that when writing cell programs which control the placing
of components into a regular physical array, such as on
a palette say, the robot axes positions for each palette
position will differ little one from the next, and the
PROGRAMMING ROBOTIC DEVICES placement code block reference may be incremented
within the cell program in a sequence to complete the
Walli supports a wide variety of robotic devices, three filling of the palette.
different conventional robots, the form which emulates
the movement of the human arm, SCARA or Selectively
MODES OF ROBOT PROGRAMMING
Compliant Articulated Robotic Arms of the type used for
robotic assembly of components, rectilinear robots which
The default mode of programming the various robots is
move in Cartesian co-ordinates suited to placement in
by the keyboard entry of data relating directly to the
regular physical arrays, and in addition representative
rotation or displacement of each axis, and all other
CNC (Computer Numerically Controlled) machines, the
modes of programming derive data in these terms.
Cyber Mill and Lathe.
There is an alternative keyboard entry for the
conventional and SCARA robots, using data for the
In particular, the user will only need to be familiar with
Cartesian co-ordinate position required for the end of the
the programming of the devices that have been specified
gripper and for the gripper elevation, to calculate the
for the workcell. To a certain extent therefore, some
required axes rotation data using the equations for the
parts of the following sections may seem repetitious if
Inverse Kinematic. The implications of using these
the complete text is read in sequence, but it is simply an
alternative approaches are covered under separate sub-
attempt to keep relevant information together under a
headings in the section for the Keyboard Programming
heading that will have immediate relevance
mode.
If alternatively, the user is browsing through the Help file,
it may be more appropriate to skip some of the
As with earlier versions of Walli, various physical or When the application is first entered, or when the robot
direct modes for programming the robots are provided has been first declared as a device in the Cell Definition
also, mostly under point-to-point control. window, the program window is blank except for one line
of "seed" values for each axis. If the robot is off-line,
these seed values will typically be mid-range for the
maximum decimal equivalent for each axis.
Point-to-point Control
Clip 40 : Scroll bar data entry for the wrist elevation. Most of the demonstration programs that are concerned
with placement, have been written using the iterative
As with all Windows scroll bars, the data value at the keyboard technique to achieve the required precision.
cursor position may be changed using the bar slider or
arrow controls. Axis data is continuously transmitted This is particularly the case for those programs which
once the scroll bar is selected and while the slider is use the idea of printing a grid pattern, such as
being moved using the mouse pointer. Normal keyboard GRY_GRID.wal for the Gryphon robot, and those which
control is restored by pressing any key. simulate the conditions for placing an object horizontally,
such as a workpiece into the chuck of the lathe. In the
Programming in Axes Rotations latter grouping, RAD_HOZ.gry uses a radial extension of
the arm, and TAN_HOZ.gry uses a rotation about the
For a robot arm built from a number of simple links and waist axis, positioned in the plane of the lathe X axis, as
revolute joints with parallel axes, the simplest way to an approximation to a short linear path needed to insert
describe the resultant planar geometry is in terms of the into the chuck jaws. The tangential move has been
length of each link between axes and the rotation about incorporated into the Gryphon and Cyber Lathe
these axes. Since the length of a simple link is fixed by demonstration project, DEMO_W4.wal.
design, the only variables to describe the geometry are
the axes rotations, and as a consequence these are the The last example also illustrates a practical constraint on
natural parameters in which to program the movement of the layout of a workcell or the relative positions of the
the arm, and they may be directly translated into devices, which can be imposed by the need to work
demands to the control system. between the normal Cartesian co-ordinates of the cell
and the spherical co-ordinates of the robot.
The problem with such a description and programming
on this basis, is that the position of the effective part of
the arm, the end point of the gripper device or end Cartesian Mode of Programming
effector, is not easily deduced from the program
parameters, a consequence which is not mitigated even The Cartesian mode provides an alternative means of
if the parameters are given in absolute terms, degrees of keyboard data entry into the program edit window and is
rotation or radian measure about each axis rather than available for both the Conventional and the SCARA form
numerical values within a range. of robot. In this mode, the data for each axis is
calculated from the XYZ spatial co-ordinates for the end