Journal of Microcomputer Applications (1985) 8, 109-121
A Cartesian and limited
robot with intelligence
a modular capability
control
system
P. M. Barrie, A. Cunningham, P. Mass, D. W. Pritty and A. Proudfoot Department of Computer Science, University of Strathclyde, George Street, Glasgow Gl, UK In general, robots are perceived as highly sophisticated devices with something of a science fiction aura and relating little to the more mundane world of industrial automation. This paper describes now a simple Cartesian mechanism can be used to provide lowcost control in a continuous arc-welding application. A fundamental examination of the various system functions within the robot has been undertaken. This has resulted in the development of STROBOT, a low-cost robot which exhibits modularity of both the mechanics and the microprocessor control architecture and associated software. Hardware modularity is achieved through a multiprocessor system accessing a common bus by token arbitration. In addition to the novel control architecture the design of a laser diode based sensor for semi-intelligent seam following in the welding of thin sheet steel is described.
1.
introduction
Many robotic systems are now available for industrial application, but their high capital costs prohibit their use in many situations. There is widespread interest in relatively inexpensive robots but very often these are limited by their inherent lack of accuracy and repeatability due to the predominantly revolute axis design-not ideally suited to fabrication with low-cost (and lower precision) components. The objective of our research is to investigate low-cost but accurate robots which exhibit some degree of flexibility and intelligence. The main strategy used is the creation of a modular software/ processing/mechanical infrastructure. An outline of an initial system under development (STROBOT) is given here in the context of an arc-welding application using the MIG process.
2.
Robot-control
modularity
An analysis of the various related functions of a robot system leads to the diagram shown in Figure 1. The arrangement illustrated is for a Cartesian axis robot with three degrees of freedom. This is enough to provide translation of a point through space Within the working envelope of the robot mechanism. Associated with each axis is a stepping-motor drive. Each drive requires its own control. The computations for the various tasks could be time-shared within the one processor but the low cost of microprocessors and associated chips favours the use of independent processors for each joint. Given suitable intercommunication protocol the 109 0745-7138/85/020109+
13 $03.00/O
0 1985 Academic Press Inc. (London) Limited
110
P. M. Barrie et al. Mechanism Basic 30 motion e.g. revolute polar & translational cartesian
cPosition X?“SCJi-S
Joint/axes drives Position control computation 3D motion & interpolation
End effector Roll,pitch
c-
A drives
and yaw
Sensory inputs
_
sensory processing
_
Conversion to joint control units
+ El Conversion to joint control units
Figure 1.
Functional components of a robot system and their interconnection.
use of independent processors is likely to fulfil another basic requirement of modularity, namely that of simple insertion of extra modules. The use of this modular ‘black-box’ structure allows complexity to be added but in a straightforward way with clearly defined interfacing. STROBOT therefore employs individual axis, sensory and external control processor nodes which communicate using a shared memory message-passing service implemented by means of a token-arbitration bus architecture (described in detail below). The programming and task distribution functions are also structured in a modular fashion.
3.
A welding
application
The use of conventional (non-intelligent) robots in continuous arc-welding can be constraining in several ways. Variability in workpiece dimensions from the master and positioning tolerances coupled with fixture wear and the possibility of thermal distortion from the welding process can result in mistracking of the seam by the welding torch and consequent bad welds. These problems are particularly prevalent in the welding of thin sheet steel (1-2 mm). The objective of a self-regulating welding system is to eliminate the error caused by these factors so that the torch can accurately track the seam. Figure 2 outlines the MIG welding process. Although this process is relatively self-adaptive to small movements along the axis of the torch, cross-axis position has to be accurately controlled using sensory feedback to modify torch position and weld conditions.
A Cartesian robot
111
D.c. power SUPPlY
Workpiece Welddirection
Figure 2. MIG welding process.
development status of a Cartesian axis robot equipped with either a contacting LVDT (Linear Variable Displacement Transformer) sensor or a non-contacting laserbeam/optical D-RAM sensor is described.
Current
4.
Robotic system outline
The functions to be programmed in the controller are as follows. Lower level processes: Axis motor-drive control; Axis motor-speed control; Interaction with sensing systems; Low-level processing of sensory data; Interaction with arc-welding machine. Higher level processes are: Continuous path linear and circular interpolation; Sensory perception; Closed-loop control of interpolators using sensory system. The above are programming areas which deal with motion oriented information. The other major level of programming is concerned with building programming layers which allow the user to express robot actions in a more textual format. For example, for the welding application: MOVE TO SEAMI-START POSN. WELD TO SEAMI-END USING SENSOR1 . .
..... .....
instead of lower level specific commands like
112
P. M. Bake
et al. MOVE (000022,000333) VELOCITY 00100 WELDER ON SENSOR1 ON MOVE (0000345, 00793) WELDER OFF
The approach is again modular with the higher level (or ROBOT OBJECT level) (Gini, Gini, Gini & Guise, 1979) constructs being translated via a hierarchically structured programming system as seen in Figure 3. The language TOWL (Task Oriented Welding Language) is at present being developed and implemented at Strathclyde. This language is compiled to an abstract level-this being the STROBOT machine code and is then interpreted at run-time. The co-ordinator node contains the interpreter and translates the STROBOT code into a set of distributed tasks to be given to the node processors. Each node has its own hardware/software environment using a minimal microprocessor configuration comprising a Motorola 6809E microprocessor with associated memory and peripheral control electronics plus program development interface (Figure 4). The development environment being used is a PDP-1 l/44 based Unix system, with object code being downloaded into the target nodes (Colin, Hutchinson & Shepherd, 1970).
1
TOWL compiler Plan-time system
t STROBOT intermediate code
I
Sensory system
Figure 3.
Sequencer
Trajectory generator
Hierarchically
Speed controller
structured
Cori7munications gateway
programming
system.
The initial processing nodes being designed are: No. of processors one co-ordinator node; three interpolators (X, Y and Z axes), driving high efficiency current-chopped stepping-motor drives; one speed controller; one laser-vision sensory system;
A Cartesian robot Shared memory
External synchronization
interface Address 8, data
Monitor
2k
113
bus
Arbiter token ring
Address & data bus
Serial interfaces
Peripheral control (e.g. Stepper motor drive)
Monitor
Figure 4.
terminal
Simplified
node structure.
one contact sensor system (LVDT); one weld controller; one communications network access unit. These processing nodes can communicate with each other through a shared memory interface. This takes the form of a common parallel address/data bus through which each of the lower-level nodes has access to the memory governed by a bus-arbiter. The co-ordinator node has unconstrained access to the shared memory module. The shared memory also serves as the distribution medium for the command and data information from the STROBOT interpreter running on the co-ordinator. The overall structure is outlined in Figure 5. More detailed descriptions of the nodes are given below, but first the arbitration method is described.
5.
Token bus arbitration
In this system, access to the shared parallel bus by any node is governed by the ownership of a token. After securing this token a node has unconstrained access to the bus and thus read/write access to the shared memory. On completion of access the node then passes on the token to other nodes. One token circulates between all the nodes. At the electronic level the token is transported round a ring which passes through all the nodes and is also monitored by the co-ordinator to ensure constant circulation and the governing of access rights. The co-ordinator itself does not require token access to the memory since it has unique unconstrained access. Each lower-order node has simple hardware to detect, capture and regenerate a token (a single-shot pulsed waveform) and a one-line token bus transports this pulsed token via each node arbiter. If no capture mode is set in a given node arbiter the token passes transparently to the next node. However if a node captures the token it is instantly removed from the ring.
114 P. M. Barrie et al.
,I Co-ordinator
ll-7 Sensory processing
Weld controller
Token arbitration bus
Figure 5.
Robot
controller
organization.
The system is currently being developed to allow hierarchical control of access rights, security of token passage and failure detection.
6.
Shared memory module
This comprises a 4 kbyte memory area with two access ports. One port is used by the coordinator and the other by the lower order nodes. Access is governed by timemultiplexing each port, removing synchronization problems and allowing unrestricted and instantaneous access from both. This is managed by externally synchronizing all processors and running the co-ordinator process on an anti-phase clock with respect to the lower-order processor clocks (processor E clock). Since memory access takes place around the falling edge of ‘E’, the two accessing processors will not interfere electronically.
7.
Sensory systems
In order for the robot to deal effectively and intelligently in the partially variable welding environment the control systems must have access to world information via sensory systems. In particular, the welding-torch to workpiece distance must be set with considerable accuracy ( f 0.25 mm), at least in terms of cross-axis positioning and must remain constant through closed-loop control (Clocksin, Barrett, Davey, Morgan & Vidler, 1982). The sensing system must not be allowed to interfere with the welding process, should not unduly restrict access of the torch assembly and must be suitable to
A Cartesian robot
115
work in the harsh welding environment. Figure 6 shows some possible configurations. Two sensory systems under investigation are outlined below.
weld
8.
A contacting
sensor
An LVDT (Linear Variable Displacement Transducer) is an accurate continuousreading inductively based sensor energized by a constant a.c. voltage of 5 KHz frequency. A voltage is output from the moving coil which is proportional to a reference level depending on the linear displacement of the spring-loaded plunger inside the transducer housing (Figure 7). It is possible to actuate such a sensor with a sensing-stylus mounted near the weld to provide torch-to-workpiece distance (Figure 8). This simple sensing system will provide only horizontal distance information but it is believed that this is acceptable in certain situations where accurate jigging is possible in the horizontal direction but not in the vertical direction. Possible problems are mainly associated with weld-spatter on the sensing mechanics leading to erroneous readings and perhaps in the worst case sticking of the stylus.
9.
A laser vision distancing
system
Development of the non contact sensor is being carried-out chiefly by our co-workers in the Department of Applied Physics at Strathclyde University. The use of a non-
Fillet weld
Lap held
Figure 6.
Weld configurations.
A.c. excitation
Figure 7.
LVDT.
116
P. M. Barrie et al. LVDT
body
Welding torch and sensor clamped to robot arm
Figure 8.
LVDTdistancingusingstyluscoupling
contacting sensory system is attractive in terms of isolating the sensor from the immediate vicinity of the welding process. The laser vision sensor provides a flexible approach to the torch-orientation problem. Thesystem described here is intended to combine the high performance associated with laser systems coupled with low-cost. Along-axis distancing is performed by twin laser-beam triangulation, with beam coincidence being monitored by a vision processing node using an inexpensive light sensitive dynamic RAM chip and 6809-based processing. Coincidence of beams results in a single spot being imaged and corresponds to the correct distance between tool (welding torch in this example) and workpiece. Deviations from the correct distance results in twin spots being imaged and an error situation being signalled by the vision processing algorithms. By modulating one of the beams we can tell whether our alongaxis distance is shortening or lengthening (Figure 9). The sensor will also provide the necessary information on deviations perpendicular to the torch-axis. If there is no perpendicular error then the laser beams will be imaged as either one or two focussed spots. However, a perpendicular deviation provides unique information for the imaging system (Figure 10). This is caused by the specular (unfocused) beam reflection from one of the plates being welded and is of far greater area than the focused laser spot (or spots). This is easily recognized by the processing system. The optic RAM chip is mounted in a customized housing with a narrow-band filter for the particular laser frequency. This filter will reduce the signal to noise ratio between the laser light and welding-arc. The initial test configuration is shown in Figure 11, and is currently being used to investigate the properties of various plate fit-ups prior to actually testing in a welding environment. A later version of the sensor is under development using two laser diode sources. Processing algorithms are being developed and optimized to allow the fastest feature extraction rate. An initial system now in use provides us with 100ms cycle time for picture exposure and workpiece deviation information extraction.
10.
Interpolators
A minimal but sufficient amount of information
is given to the interpolators
to allow
A Cartesian robot
El l
Unmodulated laser beam A
1
117
Noerror
Image on D-RAM
\::zF: B 0
Optic D-RAM
camera
Modulated
PI l
Unmodulated laser beam A
/
e
+ Error
image on D-RAM
\c”,:z.% B 0
Optic D-RAM
camera
Modulated \
Image on D-RAM
Optic D-RAM
camera
(4
Beam A/, Beam 6
(b)
Figure 9.
(a) Along-axis distance sensing. (b) Beam and camera 45” orientation.
them to provide linear tranverse sequencing for the motion drive system. In terms of a straight line segment Cartesian end co-ordinates are supplied and the interpolator must provide an accurate set of intermediate points to a given level of incremental resolution. A number of interpolation methods are available. One method which provides high resolution and a minimum of processing is Bresenham’s interpolation method (Bresenham, 1965). This allows an appropriately scaled Cartesian co-ordinate system to be implemented with respect to a two- or threedimensional mesh-the data points lie on the mesh points and have corresponding integral co-ordinates. The resolution of the mesh is chosen to be such that it can produce
118
P. M. Barrie et al.
Image on D-RAM
Image on D-RAM
Figure 10.
error sensing.
/’
/’
_Adjustable mirror
Weld seam path
Laser beam splitter _ Laser focusing lens
Seam perpendicular
J _Focusing
-
-Optic
_
Figure 11.
lens
D-RAM
mounting
Optic D-RAM data to processing system
Initial sensor test configuration.
a satisfactory representation of a traverse with the required incremental resolution. An example of a two-dimensional traverse is given in Figure 12. It can be seen that in any given octant a choice of one of two movements across the mesh will accurately approximate the movement required. The algorithm provides the next mesh point which is closest to the nominal path. Since discrete steps are provided these can be fed directly to a stepping-motor drive system. This algorithm has been chosen as an initial interpolation method for the robot. In the case of the welder we will define the seam end-co-ordinates and use this algorithm to provide a nominal traverse path. The sensory system then provides error information which is used to close the control loop. The traverse path can be modified from the nominal to required position by a slight alteration to the interpolation algorithm to incorporate the sensory data. Thus the motional subsystems co-ordinate correct orientation autonomously.
A Cartesian robot
119
Nominal path /
b)
/I
/ I/
/ ~ X
Figure 12.
11.
Two traverse examples. (a) First octant. (/): move in X and Y, (-): move in X only. (b) Second octant. (/): move in X and K (I): move in Y only.
Speed control
The speed controller governs the instantaneous velocity of all three axes. The stepping motors require accelerating and decellerating pulse rates in order to create orderly mechanical movements. The controller therefore provides a common velocity-linked enabling pulse-train to the three axis interpolators. Each pulse corrt%ponds to one movetime through the mesh in any of the valid directions calculated by the interpolators. Each interpolator runs the same basic algorithm, but controls only one axis, the synchronism between them all being governed by the common speed control.
12.
Further
development
The next tasks to be performed are the development of the weld control circuitry for automation of welding process parameters and the integration of the programming layers to complete the full modular framework.
13.
Conclusions
This paper shows how the abandonment of the science-fiction influence of the revolute robot and the straightforward engineering problem-solving approach based on automation techniques can provide the potential for a low cost solution to a traditionally difficult robotics area, namely the welding of thin sheet steel. In addition the research already undertaken has shown how a modular approach can be applied to the mechanism design and the control and sensory systems. At present a completed Cartesian mechanism exists and movement is accurately controllable on a single axis basis up to pulse rates of 2000 pulses/s. The experimental laser beam sensing system also shows promising results (at least in the absence of the welding arc). Commissioning of the modular control system and construction of a laser diode sensing system capable of being mounted on the robot’s end effector is now underway. It is hoped to report on significant future developments as they occur.
120 P. M. Barrie et al.
Acknowledgements The program is partially supported by the SERC and Richies Equipment Ltd, Forfar, whose support is gratefully acknowledged. Design and construction of the robotic mechanism was undertaken by Mr T. Kydd of Craft Engineering Services. Fabrication of the control system has been undertaken by Mr R. Watson, Mr J. Mcelroy, Mr M. West and Mr I. McCord.
References Gini, G., Gini, M., Gini, R. & Giuse, D. 1979. Introducing
software systems in industrial robots. Proc. 9th ISIR, Washington DC. IFS Ltd, Kemston, Bedford, UK. Colin, A. J. T., Hutchinson, D. & Shepherd, W. D. 1970. Microprocessor teaching laboratory. Microprocessor and Microsystems, 3 (4) 169-172. Clocksin, W. F., Barret, J. W., Davey, P. G., Morgen, C. G. & Vidler, A. R. (1982). Visually Guided Robot Arc Welding of Thin Sheet Steel Pressings. Proc. Int. Symp. Indust. Robots, 12, Paris. Bresenham, J. E. 1965. Algorithm for computer control of a digital plotter. IBM Systems Journal, 4 (1).
Welding
bibliography
Hunter, J. J., Bryce, G. W. & Doherty, J. 1980. On-line control of the arc-welding process. Developments in Me& Automated and Robotic welding. Welding Institute Reprint, November. Cook, G. E. 1981. Feedback and adaptive control in automated arc-welding systems. Metal Construction, September. Weston, J. 198 1. Industrial robots in arc-welding. Welding Institute Research Bulletin, December. Amin, M. 1981. Microcomputer Control of Synergic Pulsed MIG Welding. Welding Institute Report 166/l 98 1, December. Holder, S. J. et al. 1981. Mechanical Approaches to Seam-tracking for Arc-welding. Welding Institute Report 167/198 1, December. Peter M. Barrie was born in 1958 and educated at Strathclyde University where he gained a BSc Honours degree in computer science in 1981 and an MSc in 1983. Currently a lecturer in the Department of Computer Science he is presently completing his PhD. His major research interest is in robotics. Dr A. Cunningham was born in 1949. He received a BSc degree in zoology from Edinburgh in 1972. His postgraduate research was carried out in the field of biological control systems in the Department of Applied Physics at Strathclyde University where he received his Doctorate in 1976. He became a member of the lecturing staff in 1978. His research interests are in biological physics and robotics. Dr Peter Maas was born in Evanston, Illinois in 1939. He gained his BSc in physics at MIT in 1962, an MSc in computer science from Stanford in 1964 and a PhD in physics from the University of Colorado Boulder in 1969 for research in second harmonic analysis of electron spin resonance. He joined the Department of Applied Physics in 1970 where he is currently a senior lecturer. His research interests are robotics and laser diffraction pattern recognition for ceils. D. W. Pritty, born in 1937, was educated at Glasgow University where he received an Honours degree in electrical engineering in 1958. After an industrial career with Ferranti, Burroughs and Plessey, he joined the Department of Computer Science at Strathclyde University in 1973, where he is now a senior lecturer. His research interests are in robotics, computer networks and industrial automation.
A Cartesian robot
121
A. H. Proudfoot was born in 1963 and educated at Strathciyde University where he received an Honours degree in computer science and microprocessor systems in 1984. Part of the work
described in this paper was undertaken
as his final year project.