{"title": "Real-time autonomous robot navigation using VLSI neural networks", "book": "Advances in Neural Information Processing Systems", "page_first": 422, "page_last": 428, "abstract": null, "full_text": "Real-time autonomous robot navigation using \n\nVLSI neural networks \n\nLionel Tarassenko Michael Brownlow Gillian Marshall\u00b7 \n\nJon Tombs \n\nDepartment of Engineering Science \n\nOxford University, Oxford, OXl 3PJ, UK \n\nAlan Murray \n\nDepartment of Electrical Engineering \n\nEdinburgh University, Edinburgh, EH9 3JL, UK \n\nAbstract \n\nWe describe a real time robot navigation system based on three VLSI \nneural network modules. These are a resistive grid for path planning, a \nnearest-neighbour classifier for localization using range data from a time(cid:173)\nof-flight infra-red sensor and a sensory-motor associative network for dy(cid:173)\nnamic obstacle avoidance . \n\n1 \n\nINTRODUCTION \n\nThere have been very few demonstrations ofthe application ofVLSI neural networks \nto real world problems. Yet there are many signal processing, pattern recognition \nor optimization problems where a large number of competing hypotheses need to \nbe explored in parallel, most often in real time. The massive parallelism of VLSI \nneural network devices, with one multiplier circuit per synapse, is ideally suited to \nsuch problems. In this paper, we present preliminary results from our design for a \nreal time robot navigation system based on VLSI neural network modules. This is a \n\n\u2022 Also: RSRE, Great Malvern, Worcester, WR14 3PS \n\n422 \n\n\fReal-time Autonomous Robot Navigation Using VLSI Neural Networks \n\n423 \n\nreal world problem which has not been fully solved by traditional AI methods; even \nwhen partial solutions have been proposed and implemented, these have required \nvast computational resources, usually remote from the robot and linked to it via an \numbilical cord. \n\n2 OVERVIEW \n\nThe aim of our work is to develop an autonomous vehicle capable of real-time \nnavigation, including obstacle avoidance, in a known indoor environment. The \nobstacles may be permanent (static) or unexpected and dynamic (for example, \nin an automated factory environment, the walls and machines are permanent but \npeople, other moving vehicles and packages are not.) There are three neural network \nmodules at the heart of our navigation system: a localization module (to determine, \nat any time, the robot's position within the environment), an obstacle detection \nmodule and a path planning module (to compute a path to the goal which avoids \nobstacles). These modules perform low-level processing in real time which can then \nbe decoupled from higher level processing to be carried out by a simple controller. \nIt is our view that such a hybrid system is the best way to realise the computational \npotential of artificial neural networks for solving a real world problem such as this \nwithout compromising overall system performance. \n\nA short description of each module is now given. In each case, the general principles \nare first outlined and, where applicable, the results of our preliminary work are then \nreported. \n\n3 PATH PLANNING \n\nThe use ofresistive grids for parallel analog computation was first suggested by Horn \nin the mid-seventies (Horn, 1974) and the idea has since been exploited by Mead and \nco-workers, for example in a silicon retina (Mead and Mahowald, 1988). Although \nthese resistive grids cannot be said to be neural networks in the conventional sense, \nthey also perform parallel analog computation and they have the same advantages, \nin terms of speed and fault-tolerance, as any hardware realisation of neural networks. \n\nWe have taken the resistive grid concept and applied it to the path planning prob(cid:173)\nlem, here taken to be the computation of an obstacle-avoiding path, in a structured \nenvironment, from the robot's initial (or present) position (P) to its goal (G). In our \napproach, the robot's working domain is discretized and mapped onto a resistive \ngrid of hexagonal or rectangular cells - see Figure 1 which shows the test environ(cid:173)\nment for Autonomous Guided Vehicles (AGV's) in the Oxford Robotics Laboratory. \nEach resistor in the grid has a value of flo, unless it is part of a region of the grid \ncorresponding to an obstacle, in which case its resistance is infinite (Roo). \nThe principle of the method is perhaps best understood by considering a continuous \nanalog of the resistive grid (for example, a sheet of material of uniform resistivity in \nwhich holes have been cut to represent the obstacles). The current streamlines re(cid:173)\nsulting from the application of an external source between P and G skirt around the \nobstacles; if we follow one of these streamlines from P to G, we will obtain a guaran(cid:173)\nteed collision-free path since current cannot flow into the obstacles (Tarassenko and \n\n\f424 \n\nTarassenko, Brownlow, Marshall, Tombs, and Murray \n\nBlake, 1991). For simple cases such as circularly symmetric conductivity distribu(cid:173)\ntions in 2D, Laplace's equation can be solved in order to calculate the value of the \npotential V at every point within the workspace. Following a current streamline is \nthen simply a matter of performing gradient descent in V. \n\nFigure 1: The Oxford test environment for AGV's mapped out as a hexagonal \nresistive grid. The resistors corresponding to the four pillars in the middle are open \ncircuits. Note that the pillars are enlarged in their grid representation in order to \ntake into account the mobile robot's finite size. \n\nIt is not possible, however, to solve Laplace's equation analytically for realistic en(cid:173)\nvironments. With the resistive grid, the problem is discretized and mapped onto a \nhardware representation which can be implemented in VLSI. As soon as an external \nsource of power is connected between P and G, the resistive network settles into \nthe state of least power dissipation and the node voltages can be read out (hard(cid:173)\nware computation of Kirchhoff's equations). The path from P to G is computed \nincrementally from local voltage measurements: for each node, the next move is \nidentified by measuring the voltage drop ~ Vn between that node and each of its \nnearest neighbours (n = 6 for a hexagonal grid) and then selecting the node cor(cid:173)\nresponding to (~Vn)max. This is illustrated by the example of a robot in a maze \n(Figure 2). As above, the resistors shown shaded are open circuits whilst all other \nresistors are set to be equal to Ro. The robot is initially placed at the centre of the \nmaze (P) and a path has to be found to the goal in the top left-hand corner (G). The \nsolid line shows the path resulting from a single application of the voltage between \nP and G. The dotted line shows the (optimal) path computed by re-applying the \n\n\fReal-time Autonomous Robot Navigation Using VLSI Neural Networks \n\n425 \n\nvoltage at every node as the robot moves towards the goal. As already indicated, \nthis is actually how we intend to use the resistive grid planner in practice, since \nthis approach also allows us to re-compute the robot's path whenever unexpected \nobstacles appear in the environment (see Section 5) . \n\n.... :~:::.~~::~.::~.~::::~::~~:::~:::.~.::~::~.~::.::~.::::~~::~::~;;':X \n~---;~~~~-*-\" ~I.: .. ' ...... :x. ........ ' \u00b7){ .... ) <\u00b7 .... )< .... \u00b7::x \n,\u00b7\u00b7\u00b7\u00b7\u00b7 .... \u00b7~\u00b7\u00b7 ...... \u00b7x .. \u00b7\u00b7 .. \u00b7\u00b7:~: .. \u00b7\u00b7\u00b7\u00b7\u00b7:~::\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7:~: .. \u00b7\u00b7 .. \u00b7:x \n\nx .......... )E ...... \u00b7 \u00b7~)( .... \u00b7\u00b7\u00b7) (\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7 .. \u00b7x. \n\n. .>ot~\u00b7\u00b7 .... \u00b7:'X': .. \u00b7 .... \u00b7';I( ...... \u00b7:~~~~'\"*-*-'*\u00b7.\u00b7 ..... \u00b7.:X: .. .. \u00b7\u00b7 \nx:\u00b7 \nx;~\u00b7.~:~:~\u00b7:::\u00b7~:~\u00b7:~::\u00b7 .. ~~::~\u00b7:::~:::~:: ...... :~:::.\u00b7~:.::~.::.~:::~:::.~::.:~::~~~~;~:.::.:~:.::~:::~:.::~:::~ .. :x \n\n* ......... ,>0:: . \n\nFigure 2: Path from middle of maze (P) to top left-hand corner (G) \n\n3.1 VLSI IMPLEMENTATION \n\nThe VLSI implementation of the resistive grid method will allow us to solve the path \nplanning for complex environments in real time. MOS switches are ideal implemen(cid:173)\ntations of the binary resistors in the grid. Each transistor can be programmed to \nbe either open (Roo) or closed (Ro) from a RAM cell connected to its gate. With \nthe incremental computation of the path described above, the selection of the next \nmove is a matter of identifying the largest of six voltages. Of course, the nearest \nneighbour voltages and that of the P node could be read out through an AID con(cid:173)\nverter and the decision made off-chip. We favour a full hardware solution instead, \nwhereby the maximum voltage difference is directly identified on-chip. \n\n4 LOCALIZATION \n\nThe autonomous robot should at any time be able to work out its position in \nthe workspace so that the path to the goal can be updated if required. The grid \nrepresentation of the environment used for the path planner can also be employed \n\n\f426 \n\nTarassenko, Brownlow, Marshall, Tombs, and Murray \n\nfor localization purposes, in which case localization becomes, in the first instance, \na matter of identifying the nearest node in the grid at any time during navigation. \n\nThis task can be performed by harnessing the pattern recognition capabilities of \nneural networks. The room environment is learnt by recording a 3600 range scan \nat every node during a training phase prior to navigation. During navigation, the \nnearest node is identified using a minimum-distance classifier implemented on a \nsingle-layer neural network working on dense input data (one range value every 30 , \nsay). In order to solve the localization problem in real-time, we have designed a time(cid:173)\nof-flight optical rangefinder, which uses near infra-red light, amplitude-modulated \nat a frequency of just above 5 MHz, together with a heterodyne mixing technique. \nOur design is capable of resolving phase shifts in the received light signal of the \norder of 0.10 over a 50 dB dynamic range. \n\nThe rotating optical scanner gives a complete 3600 scan approximately every second \nduring navigation. The minimum-distance classifier is used to compare this scan x \nwith the k patterns Uj recorded at each node during training. If we use a Euclidean \nmetric for the comparison, this is equivalent to identifying the pattern Uj for which: \n\nis a minimum. The first term in the above equation is the same for all i and can be \nignored. We can therefore write: \n\n(1) \n\nT \n\n2 \n\nT \n\n1 \n\ngj x) = - '2 ( - 2w j x + Uj) = Wi X + WjQ \n( \n\n(2) \nwhere gj(x) is a linear discriminant function, Wi = Uj and WjQ = -~u;, Thus each \nWj vector is one of the learnt patterns Ui and the discriminant gi(X) matches the \ninput x with Uj, point by point. If we let W j = {Iij} and x = {Vj} and assume \nthat there are n range values in each scan, then we can write: \n\nj=n \n\ngj(x) = E Iij Vj + WiO \n\nj=l \n\n(3) \n\nThus the synaptic weights are an exact copy of the patterns recorded at each grid \npoint during learning and the neurons can be thought of as processors which com(cid:173)\npute distances to those patterns. During navigation, the nearest node is identified \nwith a network of k neurons evaluating k discriminant functions in parallel, followed \nby a ''winner-take-all'' network to pick the maximum gj(x). This is the well-known \nimplementation of the nearest-neighbour classifier on a neural network architecture. \nSince the ui's are analog input vectors, then the synaptic weights Iij will also be \nanalog quantities and this leads to a very efficient use of the pulse-stream analog \nVLSI technology which we have recently developed for the implementation of neural \nnetworks (Murray et ai, 1990). \n\nWith pulse-stream arithmetic, analog computation is performed under digital con(cid:173)\ntrol. The neural states are represented by pulse rates and synaptic multiplica(cid:173)\ntion is achieved by pulse width modulation. This allows very compact, fully-\n\n\fReal-time Autonomous Robot Navigation Using VLSI Neural Networks \n\n427 \n\nprogrammable, synapse circuits to be designed (3 or 4 transistors per synapse). \nWe have already applied one set of our working chips to the nearest-neighbour clas(cid:173)\nsification task described in this Section. They were evaluated on a 24-node test \nenvironment and full results have been reported elsewhere (Brownlow, Tarassenko \nand Murray, 1990). It was found that the E Iij Vi scalar products evaluated by our \nVLSI chips on this test problem were always within 1.2% of those computed on a \nSUN 3/80 workstation. \n\n5 OBSTACLE DETECTION/AVOIDANCE \n\nA more appropriate name for this module may be that of local navigation. The \nmodule will rely on optical flow information derived from a number of fixed optical \nsensors mounted on the robot platform. Each sensor will include a pulsed light \nsource to illuminate the scene locally and the light reflected from nearby objects \nwill be focussed onto a pair of gratings at right angles to each other, before being \ndetected by a photodiode array. From the time derivatives of the received signals, \nit is possible to compute the relative velocities of nearby objects such as moving \nobstacles. We plan to use previous work on structure from motion to pre-process \nthese velocity vectors and derive from them appropriate feature vectors to be used \nas inputs to a low-level neural network for motor control (see Figure 3 below). \n\nun \n\nMeasurement \nflow from \n\nof optic \nsensors \n\nVelocity signal of \napproaching objects. \n\nsensors~ intended path,....\"'\" \n\n\"q' \n\" \n\" \" \n\nw \n\nLow level network \n\nDirect motor \n\ncontrol \n\nFigure 3: Sensory-motor associative network for obstacle avoidance \n\n\f428 \n\nTarassenko, Brownlow, Marshall, Tombs, and Murray \n\nThe obstacle avoidance network will be taught to associate appropriate motor be(cid:173)\nhaviours with different types of sensory input data, for example the taking of the \ncorrect evasive action when a moving object is approaching the robot from a par(cid:173)\nticular direction. This module will therefore be responsible for path adjustment in \nresponse to dynamic obstacles (with a bandwidth of around 100 Hz), but the path \nplanner of Section 3 will continue to deal with path reconfiguration at a much lower \ndata rate (1 Hz), once the dynamic obstacle has been avoided. Our work on this \nmodule has, so far, been mainly concerned with the design of the input sensors and \nassociated electronics. \n\n6 CONCLUSION \n\nWe have implemented the path planning and localization modules described in this \npaper on a SUN 4 workstation and used them to control a mobile robot platform \nvia a radio link. This capability was demonstrated at the NIPS'90 Conference with \na videotape recording of our mobile robot navigating around static obstacles in \na laboratory environment, using real-time infra-red data for localization. It was \npossible to run the path planner in near real-time in simulation because no resistor \nvalue need be changed in a static environment; in order to achieve real-time path \nplanning in a dynamic environment, however, the hardware solution of Section 3 \nwill be mandatory. Our aim remains the implementation of all 3 modules in VLSI \nin order to demonstrate a fully autonomous real-time navigation system with all \nthe sensors and hardware mounted on the robot platform. \n\nAcknowledgements \n\nWe gratefully acknowledge the financial support of UK Science and Engineering \nResearch Council and of the EEC (ESPRIT BRA). We have benefitted greatly \nfrom the help and advice of members of the Robotics Research Group, most notably \nMartin Adams, Gabriel Hamid and Jake Reynolds. \n\nReferences \n\nM.J. Brownlow, L. Tarassenko & A.F. Murray. (1990) Analogue computation using \nVLSI neural network devices. Electronics Letters, 26(16):1297-1299. \n\nB.K.P. Horn. (1974) Determining lightness from an image. Computational Graphics \nfj Image Processing, 3:277-299. \n\nC.A. Mead & M.A. Mahowald. (1988) A silicon model of early visual processing. \nNeural Networks, 1(1 ):91-97. \n\nA.F. Murray, M.J. Brownlow, L. Tarassenko, A. Hamilton, I.S. Han & H.M. Reekie. \n(1990) Pulse-Firing Neural Chips for Hundreds of Neurons. In D.S. Touretzky (ed.), \nAdvances in Neural Information Processing Systems 2, 785-792. San Mateo, CA: \nMorgan Kaufmann. \n\nL. Tarassenko & A. Blake. (1991). Analogue computation of collision-free paths. To \nbe published in: Proceedings of 1991 IEEE Int. Conf. on Robotics fj Automation, \nSacramento, CA: \n\n\f", "award": [], "sourceid": 414, "authors": [{"given_name": "Lionel", "family_name": "Tarassenko", "institution": null}, {"given_name": "Michael", "family_name": "Brownlow", "institution": null}, {"given_name": "Gillian", "family_name": "Marshall", "institution": null}, {"given_name": "Jan", "family_name": "Tombs", "institution": null}, {"given_name": "Alan", "family_name": "Murray", "institution": null}]}