an integrated system for the sensor processing and control of robot systems

9
ELSEVIER Microprocessors and Microsystems 21 (1998) 383-391 MIO[IOPROC~ AND MICROSYSrEMS An integrated system for the sensor processing and control of robot systems Dr Philip Webb 1 Department of Manufacturing Engineering and Operations Management, The University of Nottingham, University Park, Nottingham NG7 2RD, UK Abstract For a mobile robot to operate with some degree of autonomy it needs an awareness of its environment. This awareness may range from a few stored coordinates to a detailed map which is continuously updated. Within a mobile robot controller a considerable amount of processing effort can be consumed to provide this data. Despite the increasing performance of digital electronic components, analogue electronics can still provide significant performance gains. However, analogue systems lack flexibility--one solution to this is a hybrid analogue/digital signal processing system. This paper describes the development of the hardware and software for such a system. © 1998 Elsevier Science B.V. Keywords: Ultrasonics; Robotics; Digital beam forming; Signal processing 1. Introduction Most control systems of both fixed and mobile robots will contain some form of sensor interface which allows the robot to obtain a degree of knowledge about its operating environment. At the lowest level this may be from simple binary input devices such limit switches or proximity detec- tors. At the highest level a multiple sensor system may be used to generate accurate three-dimensional maps. High level systems will usually incorporate one or more of the following sensor types: ultrasonic, laser, vision or infrared [1]. Ultrasonic sensors are widely used due to their cheap and relatively robust nature [2,3]. There are limitations caused by propagation effects and the limited range of com- mercially available transducers, but these limitations can be reduced by the use of signal processing and improved trans- ducers [4]. This paper describes the hardware and software developed at The University of Nottingham for an ultrasonic phased array system and its integration into a robot control system. The developed system has also been combined with a vision system to provide a high performance 3D sensor. A number of novel features are incorporated in the system, including the use of analogue pre-processing to reduce the required sampling rate and a two-stage beam forming algorithm which removes the traditional h/2 element spacing requirement. The system has been demonstrated as a controller for a fixed robot (PUMA 560) [5] but is equally applicable to a mobile robot system and is currently Tel: 0115 951 4002; fax: 0115 951 4000 0141-9331/98/519.00 © 1998 Elsevier Science B.V. All rights reserved PH S0141-9331 (98)00053-2 being integrated with a controller for a remote controlled vehicle. 2. Analogue/digital processing If a microprocessor is to be used to process signals in real time, the processing burdens that may be placed on the processor need to be considered. If a large amount of pro- cessing is required then it may be wasteful to use a digital signal processing system to perform simple actions such as filtering. For this reason initial signal processing and con- ditioning is often better performed on a signal using an analogue system. The conditioned signal can then be digi- tised and transferred for more complex processing on a Digital Signal Processor (DSP). In the ultrasonic ranging system described in this paper the transducer used has a centre frequency of 100 KHz and a bandwidth of 40 Khz. The minimum sampling rate required is therefore 240 KHz, but in reality a degree of oversam- piing is required. This high sampling rate places a consider- able burden both on processor time and memory for data storage. However, all the information required to describe the signal is contained in the envelope which has a band- width of 40 KHz, giving a nyquist sampling rate of 80 KHz. If the envelopes are generated using analogue electronics then the data acquisition burden on the DSP is significantly reduced. The signal envelopes may be generated by using an envelope detector which, in its simplest form, consists of

Upload: philip-webb

Post on 02-Jul-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: An integrated system for the sensor processing and control of robot systems

E L S E V I E R Microprocessors and Microsystems 21 (1998) 383-391

MIO[IOPROC~ AND

MICROSYSrEMS

An integrated system for the sensor processing and control of robot systems

Dr Phil ip Webb 1

Department of Manufacturing Engineering and Operations Management, The University of Nottingham, University Park, Nottingham NG7 2RD, UK

Abstract

For a mobile robot to operate with some degree of autonomy it needs an awareness of its environment. This awareness may range from a few stored coordinates to a detailed map which is continuously updated. Within a mobile robot controller a considerable amount of processing effort can be consumed to provide this data. Despite the increasing performance of digital electronic components, analogue electronics can still provide significant performance gains. However, analogue systems lack flexibility--one solution to this is a hybrid analogue/digital signal processing system. This paper describes the development of the hardware and software for such a system. © 1998 Elsevier Science B.V.

Keywords: Ultrasonics; Robotics; Digital beam forming; Signal processing

1. Introduction

Most control systems of both fixed and mobile robots will contain some form of sensor interface which allows the robot to obtain a degree of knowledge about its operating environment. At the lowest level this may be from simple binary input devices such limit switches or proximity detec- tors. At the highest level a multiple sensor system may be used to generate accurate three-dimensional maps. High level systems will usually incorporate one or more of the following sensor types: ultrasonic, laser, vision or infrared [1]. Ultrasonic sensors are widely used due to their cheap and relatively robust nature [2,3]. There are limitations caused by propagation effects and the limited range of com- mercially available transducers, but these limitations can be reduced by the use of signal processing and improved trans- ducers [4]. This paper describes the hardware and software developed at The University of Nottingham for an ultrasonic phased array system and its integration into a robot control system. The developed system has also been combined with a vision system to provide a high performance 3D sensor. A number of novel features are incorporated in the system, including the use of analogue pre-processing to reduce the required sampling rate and a two-stage beam forming algorithm which removes the traditional h/2 element spacing requirement. The system has been demonstrated as a controller for a fixed robot (PUMA 560) [5] but is equally applicable to a mobile robot system and is currently

Tel: 0115 951 4002; fax: 0115 951 4000

0141-9331/98/519.00 © 1998 Elsevier Science B.V. All rights reserved PH S0141-9331 ( 9 8 ) 0 0 0 5 3 - 2

being integrated with a controller for a remote controlled vehicle.

2. Analogue/digital processing

If a microprocessor is to be used to process signals in real time, the processing burdens that may be placed on the processor need to be considered. If a large amount of pro- cessing is required then it may be wasteful to use a digital signal processing system to perform simple actions such as filtering. For this reason initial signal processing and con- ditioning is often better performed on a signal using an analogue system. The conditioned signal can then be digi- tised and transferred for more complex processing on a Digital Signal Processor (DSP).

In the ultrasonic ranging system described in this paper the transducer used has a centre frequency of 100 KHz and a bandwidth of 40 Khz. The minimum sampling rate required is therefore 240 KHz, but in reality a degree of oversam- piing is required. This high sampling rate places a consider- able burden both on processor time and memory for data storage. However, all the information required to describe the signal is contained in the envelope which has a band- width of 40 KHz, giving a nyquist sampling rate of 80 KHz. If the envelopes are generated using analogue electronics then the data acquisition burden on the DSP is significantly reduced.

The signal envelopes may be generated by using an envelope detector which, in its simplest form, consists of

Page 2: An integrated system for the sensor processing and control of robot systems

384

a rectifier and a lowpass filter. This is both simple and effective but destroys phase information. If the signal is mixed with both a cosine wave and a sine wave of the offset frequency in two separate channels then both the amplitude and phase of the signal can be preserved. The transmitted signal s(t) may be defined as:

s(t) = a(t)cos O~ct (1)

where a(t) is an amplitude modulation. The received wave- form Sr(t) may similarly be defined as:

Sr(t ) = a(t - tl)COS(60c(t - t 1 ) + ~b) (2)

where tl is the time delay between the transmitted and received signal and 4) is the phase difference between the signals. The signal is now multiplied by an offset frequency:

Sp(t) = cos(21r(f0 - p)) (3)

where p is a frequency equal to or near to the centre fre- quency f0 of the bandpass signal. If it is then low pass filtered (t - tl = ~') we have:

Sr(t ) = a(r)cos(wpT" + t~) (4)

This may be written as:

Sr(t ) ' = COS(q~).l -- sin(O).Q (5)

where:

I : a(7")cos(o0p(r))

Q = a(r)sin(oJp(r)) (6)

If a second identical channel is used but this time the signal is multiplied by a quadrature signal:

Sp(t) = sin(27r(]" 0 - p)) (7)

then the quadrature version of the down converted signal st(t)" will be obtained:

st(t)" = a(r)sin(o~p(~') + ~b) = sin(~b).I + cos(th).Q (8)

Since sin 2 + cos 2 = 1 then squaring and adding the two resultant waveforms gives the amplitude of the resulting envelopes:

Sr(,r),2 + Sr(,r),,2 = a(r)2 (9)

Dr P, Webb/Microprocessors and Microsystems 21 (1998) 383-391

The output is thus independent of the arbitrary phase shif t f The phase data may be extracted from:

~(t) = tan -1 Is'r(t)] Ls,,r(t) j (10)

A block diagram of the processing required is shown in Fig. 1.

3. Hardware implementation

The DSP chosen to act as the main processor for the ranging system was a TMS32C30 and the hardware was designed to be mapped into the memory map of the processor. To simplify design and construction a TMS320C30 development board manufactured by Lough- borough Sound Images was used.

The system was designed to be as flexible as possible and was built as a series of discrete modules, each constructed on a separate printed circuit board. Each module is plugged into a common bus, linked to the DSP bus, providing data and control signals along with power supplies. There are four types of module: A/D conversion, signal conditioning, multiplexer and transmitter. Each of these are briefly described in this section. The processing system as built has 4 A/D boards but is required to support up to 16 input channels, therefore a 16 channel multiplexer is provided for each of the A/D boards. Input channels are selected by writing the required channel number to the multiplexer address in the DSP memory map. A block diagram is shown in Fig. 2.

3.1. Analogue to digital conversion cards

A block diagram of the analogue to digital conversion card is shown in Fig. 3. The card may be broken down into sections: the digital section, consisting of buffering, address decode and data latches, and the analogue section consisting of input amplifier, mixers, lowpass filters, level shifters and analogue to digital converters.

The analogue signal enters the board via a screened 'SMB' connector and is fed to an AC coupled differential

s(t)

a l a i l ' r r ( t . + p ) R.=[

Fig. 1. Implementation of down shifting using I and Q techniques.

Page 3: An integrated system for the sensor processing and control of robot systems

Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391

ARRAY (,t t"LEMENT 1YPl[ $H01~]

I

P a J L ~

MUL ] IPL .~

MUt nPL[~'~

UUt ~.E~'R

PO COl

SIGNA& 00t~3111ONIN J

E lCOsHZ SINE ~M,~ ~

T Hi SUI~LY

2'I0V AC

LT SUpPtY I

q"

Fig. 2. System block diagram.

385

amplifier with a voltage gain of 10. After amplification the signal is split and applied to the inputs of two Analogue Devices (AD) ~ 534 precision IC multipliers and mixed with two externally generated 100 kHz sine waves, the inputs to the two mixers being in phase quadrature. After mixing, the two signals are filtered by a pair of National Semiconductor LMF60 6th order switched capacitor Butter- worth lowpass filters. These are controlled by an external clock running at 1.228 MHz (clock 1); this gives a cut-off frequency of 25.6 kHz. After filtering, the signals are level shifted and scaled before being fed to two AD7575 analogue to digital converters. The level shifting and scaling circuit effectively increases the dynamic range of the converters from 0 to + 2.46 V to ___ 5 V. The AD7575 8-bit converters used have a conversion time of 5 #s and a built-in track and hold to ensure accurate conversion timing. They axe sup- plied with an external 4 MHz clock signal (clock 2). When conversion is complete the digitised output is stored in a latch. The board can operate in two modes; these are referred to as 'master mode' and 'slave mode'. In master mode, if the board is addressed then a signal is produced called STARTCONV, which not only starts the A/D con- version on the board but is also fed to the bus. This means

that conversion is started on all other boards present in the system. This facility allows for conversion to be synchro- nised. At the same time any data from a previous conversion is stored in the latch circuits and 'tri-stated' to the bus, in 'slave mode'. The A/D converters are not affected when the board is addressed but any data stored in the latches by the action of the externally generated STARTCONV signal is 'tfi-stated' on to the bus by the signal DSEND.

The operating mode of the board is determined by the generation of the signal MSTR/SLV. This signal is pro- duced when the 2 least significant bits of the address are zeros. The board address is set using 8 switches and it can be set anywhere between 0 × 0801000 and 0 × 0801FFF in the address space of the DSP.

3.2. Multiplexer card

The 16 analogue input signals are routed to the multi- plexer chips from 16 BNC connectors located on the front panel via screw.ned cables. A block diagram of the multi- plexer is shown in Fig. 4. The card is based around 4 Plessey DG526 16:1 multiplexer chips, all of which share a common address decode circuit. When a multiplexer is addressed a

Page 4: An integrated system for the sensor processing and control of robot systems

386 Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391

• G D

c ~ t ) CLO0¢ 1 ~ 2

s~t)

i - IO

Fig. 3. Block diagram of analogue to digital converter card.

DATA (MSB)

DATA (I.SO)

chip select signal is produced and the internal data bus buffer is enabled by the signal DEN. This allows the channel to be set by writing a hexadecimal number between 0 and F to the data bus. The signal WR is also checked to ensure that a write and not a read is occurring.

3.3. Signal conditioning card

The analogue signal enters the signal conditioning card directly from the multiplexer. The first stage is an AC coupled differential amplifier with a voltage gain of 2. The signal is then filtered by an active second-order 100 kHz bandpass filter with Q factor 3 and a voltage gain of 15. After filtering the signal is amplified by a further amplifier with voltage gain adjustable between 1 and 10. The output of this stage is fed to the analogue to digital conversion card via a screened cable.

3.4. Transmitter card

When the transmitter address is called up by the DSP an output pulse is generated by the address decode circuit. This is used to toggle the output of a latch. This output is used to switch the bias via a line driver circuit and a MOSFET switching circuit.

3.5. Transducer

The transducer is of the capacitive type and is constructed using design and manufacturing techniques developed at the University of Nottingham. The capacitive transducer con- sists of a thin dielectric membrane coated with a conducting layer that is stretched across a conducting backplate. A bias

voltage and an additional alternating voltage are applied between the backplate and the conducting layer, causing the membrane to vibrate with respect to the backplate. The structure has a resonant frequency that is determined by membrane and backplate properties; because the desir- able membrane thickness is restricted to 5 -8 kcm by durability and sensitivity considerations, the main control- ling parameter is the backplate structure. The transducer arrays used in this work are made by applying an appropriate texture to a printed circuit board (PCB) and glueing the membrane to the board. The whole board acts as a transmitter; however, segments of the textured PCB are electrically isolated and can act as individual receivers [6,7].

3.6. Transducer pre-amplifiers

Each array element is connected directly to a pre- amplifier tuned to a centre frequency of 100 kHz with a gain of 38dB and a bandwidth of 50kHz. The pre- amplifiers are constructed using Surface Mount Tech- nology; this allows 16 such amplifiers to be mounted on a printed circuit board measuring 160 mm X 100 mm. Each amplifier can thus be mounted almost directly behind the corresponding receiver element. This helps to limit signal attenuation and noise. The pre-amplifiers were developed as part of a larger project at Nottingham University on transducer development [7].

3. 7. Transmitter driver

The 180 V DC bias supply for the transmitter is provided by a simple linear power supply. During transmission, this is

Page 5: An integrated system for the sensor processing and control of robot systems

Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391

IO ADDRESS

WR

DATA

4 [ ~ N 4

SO $1 $2

$4 8 $5

$6

$7

$8

$9

$10

$11

$12 $13 $14 $15

CSO CS1 CS2 CS3

Fig. 4. Multiplexer block diagram.

387

( ] SIGO

< I slcl

( - 7 s,c2

< Is,c3

switched on and off at the required frequency. Switching is performed by a MOSFET which is triggered by a TTL sig- nal from the transmitter board.

of the target database. The user interface displays are shown in Figs. 7 and 8.

4.2. Target database

4. Software

The software developed is split into two sections, that which runs on the DSP and that which runs on the PC. The basic structure of the two sections is shown in Figs. 5 and 6. The software is divided into a number of different modules written in Texas C, TMS320C30 assembly lan- guage and Microsoft C. Assembly language was used to develop the time critical and hardware interfacing software for the DSP. The output of the system is a target database which lists all the targets present in the transducer field of view and target information such as whether the target is a comer or a face. The individual modules and their function are described below.

4.1. User interface

The user interface allows the operator to both configure and monitor the performance and operation of the sensory and control system. The system control module decodes the inputs from the user interface and controls the operation of all other modules. This module is also responsible for all configuration and initialisation at start up and maintenance

When a target has been detected and validated the acquired target parameters are stored in a target database for further processing and evaluation. Each target placed in the database is given what has been called a certainty value. This is a measure of how long the target has been present and provides a method of eliminating targets caused by random noise spikes. Before a target is entered the database is first scanned to see if the target already exists, i.e. if it has not moved since the last scan of the workspace. If the target is already present then the certainty is incremented up to a maximum value of 2. After all targets have been entered and checked, any targets which have not been updated have their certainty levels reduced by 1 and if the result is - 1 then the target is discarded from the database. The system only acts on targets with a certainty value of 2. Each target detected is given a unique number which acts as an identifying tag for each target present in the workspace.

4.3. Array processing

There are several methods that can be used to process the received signals from the phased array. Two of these are beam forming and triangulation. Digital beam forming is

Page 6: An integrated system for the sensor processing and control of robot systems

388 Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391

DISPLAY

USIEI~ IWII~FACE

RO~T IN I~FA~ ~ ~OMER

~L AY II)EN'IIFICA'IION

Fig. 5. PC software overview.

slow and requires large amounts of memory whilst triangulation is fast and efficient but cannot be used easily in complex environments. In the system described here a combined system is used [8]. The raw data from the trans- ducer is passed through a partially focused beam former (prescanner) which locates the approximate position of any objects in the transducer's field of view. The data is then reprocessed in the region of the objects located using a triangulation method. The use of a partially focused beam former gives a significant increase in processing speed and reduces memory usage compared with a fully focused beam former. The beam former algorithm is coded in assembly language to optimise performance and the focusing offsets are precalculated and stored as a 'look up table'.

The beam former focusing offsets are calculated from the

equation [9]:

Offset = ~/Z2cos2O + (Yn + Zsin/9) 2 - Z + Zcos# (11)

where Z = focus range; 0 = focus angle; Y, = array element separation.

The prescanner can be switched off when the system is operating in a simple environment. This gives a significant increase in processing speed but a multiple PRF system must be used to remove second time around echoes. The comparative timings are shown in Table 1.

The output of the dual processing system is shown in Fig. 8 with the output of the triangulation system shown adjacent to the output of the prescanner.

DSP/PC INTERFACE

CONTROL

HARDWARE SIGNAL PRESCAN IN'I£RFACE PROCESSING

Fig. 6. DSP software overview.

PRECISION

BEAM FORMER

Page 7: An integrated system for the sensor processing and control of robot systems

Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391 389

2

~ l d e I ( 1 - > Z ) tg ZSJm Side Z (I->3) Is Zb~m C'~lr 1 X: ZI?, Y: -21 C ' n r Z X: Z33, V: I '/ C'nr 3 X: Z44. V: -IO

Fig. 7. Main user interface display.

4.4. Corner and rectangle detection algorithms

The corner detection algorithm scans the target database and looks for the presence of corners. The detection algo- rithm works on the principle that in any position a corner target will produce a smaller return echo than a curved or flat surface visible in the same position, due to the different reflection process involved. The rectangle detection algo- rithm is an extension of the corner detection algorithm. This algorithm scans the database looking for targets that have been labelled as corners and attempts to make associa- tions between the corners detected using a degree of a priori information about likely targets. It operates using the following rules:

Look for the closest corner present in the database. Look for the next closest corner present in the database. Is it within ± 30 turn of the first corner ( ± 30 mm is the maximum size o f rectangular object expected). Look for the next closest corner present in the database. ls it within ± 30 mm of the first corner ( +- 30 mm is the maximum size o f rectangular object expected). Repeat for all un-associated corners.

This is a relatively crude system but it works well for the location of a single rectangular object present in the workspace. Once three corners have been located it is then a simple matter to calculate the length and orientation of the visible faces. These are then drawn on the screen and

the generated data is stored in a structure. This algorithm was written to obtain orientation information for a robot gripper to pick up rectangular and square objects. The corner and rectangle detection system is shown in operation in Fig. 7.

4.5. Robot interface

The robot interface controls all communication between the robot and the PC. The module provides bidirectional communication and error handling facilities. The module detects error signals generated by the robot controller and displays them in a text window on the user interface. These include indications that a located target is outside the robot working envelope or cannot be reached in the robot's cur- rent configuration. Sensory errors such as poor target amplitude or certainty are presented on the main target dis- play on the user interface (Section 4.1). A window is also provided on the user display which, when selected, can be used as a terminal to provide direct communications between the PC keyboard and the robot controller.

4.6. DSP support module

The DSP support module provides all the DSP housekeeping functions required. It is also responsible for the bidirectional transfer of commands, flags and data between PC and DSP.

Page 8: An integrated system for the sensor processing and control of robot systems

390

Table 1 Processing times

Target location method

Focused digital beam former Triangulation Soft focus beam former and triangulation combined

Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391

second time around echoes. A multiple PRF is imple- mented by varying the time interval between firings and

Processing time comparing the relative arrival times of subsequent Ims) echoes [10].

47.4 Adaptive Threshold: The system uses both an adaptive and a fixed threshold, the level of which can be set 8.7

38 manually from the user interface. The adaptive threshold works best in a cluttered or noisy environ- ment but imposes a processing time penalty over the fixed threshold. 4. 7. Hardware interface

The hardware interface software, which allows the DSP to communicate with the data acquisition system, is written in TMS320C30 assembly language. There are several soft- ware routines which fire the transmitter, set up the multi- plexer and an interrupt service routine which reads data from the A/D cards, separates the I and Q channels and stores them in memory.

4.8. Signal processing

A number of signal processing options are available within the system:

Matched Filtering: A matched filter has been imple- mented using a Barker coded transmission waveform; this allows better resolution to be obtained by the use of pulse compression [9]. Multiple Pulse Repetition Frequency (PRF): A multiple PRF system has been included to allow the removal of

5. System performance/validation

The system has been practically validated by using it to control a PUMA 560 robot in a pick and place operation [5]. Using only information obtained from the sensor system the robot was able to pick up objects placed randomly within its workspace. The robot in this application was con- trolled by the PC, which was connected by a serial link to the PUMA controller. Communication between the PC- based control system and the PUMA controller was performed by sending and receiving test strings containing VAL commands.

A further application of the system, developed within the sensors group at the University of Nottingham, has been as part of a combined vision and ultrasonic 3D measurement system [11]. An image processing card has been added to the PC which obtains images from a CCD camera and then

~i ~!~i~i~ ~i!i !/~ ii= i5 I~ ~i~i~ ~ i I~ i mn : . . . . . . . . .

Fig. 8. Prescanner user interface display.

Page 9: An integrated system for the sensor processing and control of robot systems

Dr P. Webb/Microprocessors and Microsystems 21 (1998) 383-391 391

uses depth information from the ultrasonic system to pro- vide a 3D range map.

6. Conclusion

A hardware and software integrated sensing and control system suitable for both mobile and fixed robots has been developed. The system has been used to successfully control a PUMA 560 robot and is now being uprated to provide a semi-autonomous control system for a remote control vehicle. The hardware and software tools used have proved to be reliable and flexible. The ability to map the hardware directly into the address space of the TMS320C30 significantly reduced the hardware/software development effort required to provide a high speed, high performance interface. This was also enhanced by the ease with which assembly language can be inserted in the code for the DSP allowing time critical portions of code to run at maximum efficiency. The biggest limitation of the system is the RS232 serial link between the PC and the robot controller. This, whilst simple to implement, is slow, and the system could be improved by a closer coupling between the two systems.

References

[1] M. Brady, H. Durrant White, H. Hu, J. Leonard, P. Probert, B.S.Y. Rao, Sensor-based control of AGV's, IEE Computing and Control Eng. J., March 1990, 64-69.

[2] H. Peremans, K. Audenart, J.M. Van Campenhout, A high resolution sensor based on tri-anral perception, IEEE Transactions on Robotics and Automation 9 (1993) 36-48.

[3] L. Kleeman, R. Kuc, Optimal sonar array for target localisation and classification, in: Proceedings IEEE International Conference on

Robotics and Automation, San Diego, CA, Pt. 4, 1994, pp. 3130- 3153.

[4] W.S.H. Munro, C. Wykes, Arrays for 100 KHz airborne ultrasound, Ultrasonics, 32(1) (1994) 57-64.

[5] P. Webb, I. Gibson, C. Wykes, Robot guidance using ultrasonic arrays, Journal of Robotic Systems 11(8) (1994) 681-692.

[6] H. Cart, C. Wykes, Diagnostic measurements in capacitive transducers, Ultrasonics 31 0992) 13-20.

[7] W.S.H. Munro, Ultrasonic phased arrays for use in imaging and auto- matic vehicle guidance, Ph.D. thesis, University of Nottingham, 1990.

[8] P. Webb, C. Wykes, A fast high resolution ultrasonic two dimensional measurement system for robot guidance, in Proceedings IFAC Motion Control, Munich, 1995, pp. 785-792.

[9] P. Webb, An ultrasonics based system for the extraction of range and beating data for multiple targets, Ph.D. thesis, University of Notting- ham, 1994.

[10] P. Webb, C. Wykes, Suppression of 'second time around' echoes in high firing rate ultrasonic transducers, NDT&E International 28(2) (1995) 89-93.

[l l] T. Chou, C. Wykes, An integrated vision/ultrasonic sensor for 3D target recognition and measurement, in: Proceedings IPA97, Dublin, 1997, pp. 189-193.

Philip Webb received his B.Eng. in Electronic : Systems Engineering from the Royal Military

College of Science at Shrivenham in 1990 and his Ph.D. in Manufacturing Engineering from the University of Nottingham in 1993. He has worked as a Research Assistant within the Ultra- sonics Research group in the Department of Manufacturing Engineering at Nottingham Uni- versity and as a Research Fellow at De Montfort University. Currently he is a lecturer in Manu- facturing Technology in the Department of Man- ufacturing Engineering at Nottingham

University. His research interests include the application of robots and parallel machines in manufacturing, and the integration of sensory systems in control systems. He is also active in the development of intelligent man-machine interfaces for remote vehicle control and tele-operation.