Vision Processing for Robo Learning Ulrich Nehmzow Deparmen of Compuer Science Mancheser Universiy Mancheser M 9PL, UK ulrich@cs.man.ac.uk Absrac Robo learning be i unsupervised, supervised or selfsupervised is one mehod of dealing wih noisy, inconsisen, or conradicory daa ha has proven useful in mobile roboics. In all bu he simples cases of robo learning, raw sensor daa canno be used direcly as inpu o he learning process. Insead, some \meaningful" preprocessing has o be applied o he raw daa, before he learning conroller can use he sensory percepions as inpu. In his paper, wo insances of supervised and unsupervised robo learning experimens using vision inpu are presened. The vision sensor signal preprocessing necessary o achieve successful learning is also discussed. Background By virue of heir abiliy o change locaion, mobile robos are exposed o noisy, inconsisen, or conradicory sensory percepions, o a larger degree han, for insance, saionary robos. Any sensor signal processing mechanism ha can cope wih such daa is herefore paricularly suiable for mobile robo conrol. Aricial neural neworks have been shown o be a suiable mechanism for his purpose (e.g. [Nehmzow 9, Zalzala & Morris 9]). In his paper, we discuss wo experimenal scenarios, in which a Nomad 00 mobile robo (see gure ) acquires fundamenal sensorymoor compeences hrough neural nework learning, using inpu from a CCD camera. In he rs example, supervised eaching is used o rain he robo o avoid obsacles, follow walls and raverse corridors. Robo raining is a fas and reliable conrol mehod ([Nehmzow 9b]), and he experimen presened here demonsraes ha i can successfully be applied o vision daa. In he second experimen, vision daa is clusered auonomously by he robo, using unsupervised neural nework learning, o diereniae beween images conaining boxes and hose no conaining boxes. Boh experimens share similar image preprocessing procedures, and would mos probably no have succeeded wihou hose preprocessing mehods. The paper discusses hese vision daa preprocessing mehods in deail. Experimenal Scenario. The Mancheser Mobile Robo ForyTwo All experimens repored here were conduced a Mancheser Universiy, using a Nomad 00 mobile robo called ForyTwo (see gure ). The robo is a hexagonal robo, 0 cm in diameer and 0 cm high (weigh 9 kg). I is equipped wih sixeen sonar range nding sensors (range cm o.0 m), sixeen infrared J. Indusrial Robo, Vol., No., pp. 0, 999.
Figure : The Mancheser Mobile Robo ForyTwo. proximiy sensors (acive range, depending on surface colour, approximaely 0 cm), weny acile bumper sensors and a monochrome camera (90 x pixels) wih frame grabber. The robo is conrolled by a disribued conroller, he maser being a PC ( MHz, 0 MIPS). Sensor modules are conrolled by a HCF microprocessor. Turre and base roaion in ForyTwo are independen, he maximum speed of he robo is 0: ms?. Acquiring sensor moor compeences from vision inpu, using supervised learning. Moivaion Provided mahemaical models of a plan ha is o be conrolled are available, classical conrol mehods or adapive conrol can successfully be applied (see, for insance, [Asrom 9]). Speed conrol, orieniaion conrol and force conrol are bu hree examples ha come o mind. If, on he oher hand, robos are o be used in unsrucured environmens, if models of robo and environmen are only parially or no a all available, reinforcemen learning echniques provide a viable, if no necessary alernaive ([Baro 9, Suon 9]. Earlier experimens have demonsraed ha such echniques enable robos o learn from reinforcemen, successfully and in real ime ([Nehmzow 9, Nehmzow 9a]). The following experimens have aken our previous approach o robo conrol ([Nehmzow 9]) auonomous compeence acquisiion by means of connecionis compuing furher: feedback for he reinforcemen learning process is provided by he user, allowing he robo o acquire ask achieving compeences hrough observaion of a human operaor. This approach is advanageous for indusrial applicaions. Because he robo can very quickly be rained o perform he desired ask, he same robo can be used for a variey of dieren asks wihou he need for (expensive) reprogramming, hus reducing seup coss. Conrary o reinforcemen learning archiecures enabling auonomous compeence acquisiion (for example [Mahadevan & Connell 9, Kaelbling 9, Nehmzow 9]), learning here is supervised by a human operaor, an aspec ha can be relevan regarding safey aspecs of indusrial applicaions.. Learning hrough Supervision The cenral elemen of he conroller used in he experimens presened here is an associaive memory (see gure ), implemened by means of an aricial neural nework. I associaes incoming (possibly preprocessed) sensor signals (inpu vecor ~{) wih he robo's moor acions (oupus oj):
oj = ~wj ~{; () wih ~wj being he weigh vecor of oupu uni j. Training his nework is achieved hrough a supervised learning process, in which he operaor's commands (issued by joysick conrol) are used o generae he necessary eaching signal (see equaion ). ~wj( + ) = ~wj() + ()(j? oj)~{: () () is he learning rae (or \gain"), specifying he degree of change applied a each learning sep ( was iniially se o 0. in our experimens, and reduced by % each learning sep). As a resul of he raining process, meaningful associaions beween he robo's sensory inpu and is acuaor responses develop. The generalisaion propery of aricial neural neworks is exploied here: he developing links generae meaningful response paerns of he robo even in siuaions no encounered before.. Vision Daa Preprocessing Previous experimens in supervised learning wih he conroller shown in gure (e.g. [Nehmzow 9b]) have shown ha he robo is able o acquire fundamenal sensormoor compeences such as obsacle avoidance, wall following, box pushing, box clearing and oor cleaning, using sonar, infrared or acile sensors. We were now ineresed o acquire such compeences using vision daa, which is more complex han he range daa obained from eiher sonar or infrared sensors. Sensor Signals gg Associaive gggggg Memory Q QQQ aac @@ a cc aa g @ HHhhhhhh QQa P PPPP H @ Hc @! H!!!! cch P@,, % %,,, % %, w, j % %,,, o j Translaion Roaion User Inpu (Joysick) Figure : The General Conroller Archiecure The informaion conen of visual daa, regarding fundamenal asks like obsacle avoidance, is far less accessible han ha of, for insance, sonar range daa. Whils he laer provides direc indicaions as o he presence and disance of objecs, he former merely supplies a disribuion of grey level values over he visual eld of he camera. In order o overcome his fundamenal problem of image processing, he informaion coming from he CCD camera was preprocessed before being used as inpu o he aricial neural nework. These preprocessing sages, some of which have counerpars in biological vision sysems (for example edge deecion ([Marr & Hildreh 0]) and orienaional seleciviy ([Campbell & Robson ])), are described in he following secions. The complee vision preprocessing sysem is shown in gure, sample images resuling from he vision daa preprocessing are shown in gure.
Grey Level Image Region Selecion Edge Deecion Difference Image Recepive Fields CCD Camera To Nework Conroller Figure : The vision preprocessing sysem... Narrowing he Field of View In he rs sage, he amoun of daa is reduced by limiing he eld of view (see, for example, [Dickmanns & Graefe ] for an applicaion of his o vehicle conrol). We assumed here ha he robo operaes in environmens conaining all objecs, raher han small objecs on he oor or objecs suspended from he ceiling a jusied assumpion for environmens conaining walls, doors, furniure and people. This allows he eld of view o be limied o he cenral 0% of he image, discarding he op and boom 0% of he daa supplied by he CCD camera. The resuling image size is 0 x 0 pixels. Obviously, for some applicaions (like he deecion of descending sairs) oher windows may have o be chosen... Deecing Verical Edges To conrol robo moion, exure and shade of objecs are less useful han posiion and size of objecs. Therefore, in a second sage of visual daa preprocessing exure and shade informaion are discarded, and verical edges in he image only are reained. This is achieved by applying an edge deecing operaor as shown in gure 9. Based on he assumpion ha every objec ha is o be deeced by he vision sysem has some verical edges (boxes, people, ables, chairs, doors and walls all fulll his assumpion), no only exure and shade informaion are eliminaed, bu also informaion abou horizonal edges, which furher reduces he amoun of daa o be processed... Diereniaion For applicaions of compuer vision o robo conrol disance informaion is he mos useful. The opical ow, i.e. he movemen of pixels resuling from robo moion, can be used o compue disance o an objec provided he correspondence problem (idenifying he pixel belonging o he same objec in subsequen frames) is solved (see, for insance, [Marr, p.]). This, however, is dicul, paricularly if he environmen he robo is operaing in is (parially) unknown. As a vision preprocessing sysem, generaing sensor informaion for he aricial neural nework used in he conroller, however, opical ow can be used wihou having solved he correspondence problem. By compuing he dierence beween subsequen frames (whils he robo is in forward moion) changes in he image will correspond wih disance o objecs (far away objecs will generae lile opical ow, whils nearby objecs will generae a large one). This informaion is sucien for he nework o acquire useful sensormoor couplings. Therefore, a diereniaion is performed in he following manner: If he dierence beween pixel grey levels in subsequen frames exceeds a hreshold of eigh, he respecive pixel is se o `', oherwise se o `0' (he hreshold value of eigh was arrived a by experimenaion, and chosen such ha small ucuaions due o camera noise fall below he hreshold). This provides sucien immuniy agains background noise whils sill deecing changes beween subsequen frames reliably... Recepive Fields The nal inpu vecor o he conrol sysem is generaed by dividing he image of 0 x 0 pixels ino recepive elds of 0 x 0 pixels each. The number of `' pixels in each recepive eld is deermined (see gure ), he whole inpu vecor (consising of ineger values) is hen normalised and presened o he robo conroller (gure ).
Iniial Image and image afer forward move Edge deecion Difference image Seleced image window 00 0 00 0 Freq. Recepive fields Figure : Resuling images afer each sep of vision daa processing (cf. fig ). One imporan propery of he vision preprocessing sysem discussed here is ha i is compuaionally cheap and can successfully be used on a PC, in real ime. The maximum speed of he robo, under visual guidance, was cms?. (Kosaka and Kak, for example, repor mobile roboics experimens on vision and model based reasoning for landmark recogniion, in which he robo ravels a cms? ([Kosaka & Kak 9])).. Obsacle Avoidance The following experimens were conduced in a room wih whie walls, which were covered wih dark verical srips a approximaely 0 cm inervals, o allow visual deecion. In he obsacle avoidance experimen, he camera was mouned facing he direcion of ravel, poining downwards a an angle of abou 0 degrees. The camera was focussed a approximaely cm. Only preprocessed vision daa (see gures and ) was used in his experimen, infrared and sonar sensors were no used. The robo was rained o approach an obsacle (a sack of cardboard boxes) and o pass i eiher on he lef or he righ hand side (see gure ). The robo learned o perform his ask auonomously afer abou 0 learning seps. Because vision inpu is only generaed when subsequen frames dier, he robo learned o perform addiional roaional movemens as well as ranslaional ones when approaching an obsacle. This emergen moion would generae suiable visual simuli for he vision preprocessing sysem o generae inpu vecors o he nework. Once he objec was sucienly clearly siuaed on one side of he robo, ForyTwo would pass i using ranslaional movemens only. Depending on he sensory simuli received, ForyTwo moved a varying speeds whils approaching and avoiding he obsacle, he average speed being abou cms? and he maximum speed being cms? (he robo rarely ravelled a his speed).
0 0 Wall Pos Box A A A A B A A B B B B B.9 m Wall Po Figure : Obsacle Avoidance, using opical inpu. Disances shown are in meres. m 0 Pos 0 Door Ladder 0..0.. Wall Following Figure : Wallfollowing, using opical inpu. In his experimen, he camera was placed poining abou 0 degrees downwards, and abou 0 degrees o he lef of he cener of he robo. The oher camera parameers were se as before. The robo was rained o mainain a disance of abou 0 cm o a lefhand wall, using preprocessed visual daa only. The robo acquired his compeence afer abou 0 learning seps and was hen able o move and remain parallel o he wall. However, if he visual inpu changed considerably from ha observed during raining (i.e. a sideways view of he wall) no successful wall following was possible. In one of he experimens he robo began o face he wall direcly, and became unable o resume a parallel pah o he wall (see gure ). This was due o he fac ha he robo had no been rained o avoid headon collisions, bu only o say parallel o a lefhand wall. Depending on he sensory simuli received, ForyTwo moved a varying speeds whils following a lef hand wall. The average speed was approximaely cms?, he maximum speed 9 cms?.
.m Wall Boxes Figure : Corridorfollowing, using opical inpu. `' indicaes locaions where eaching occurred.. Corridor following Using he same vision preprocessing as described in secion., he robo learned o move down a corridor formed by a wall on one side, and boxes on he oher. The widh of he corridor was.m, and he camera was focused a approximaely cm. Using an auonomous learning procedure (as described in [Nehmzow 9b]), he robo acquired he corridor following behaviour in learning seps. Some ypical rajecories are shown in gure. Clusering and concep formaion, using unsupervised learning on vision daa For many roboics applicaions, for example hose of objec idenicaion and objec rerieval, i is necessary o use inernal represenaions of hese objecs. These models absraced (i.e. simplied) represenaions of he original (i.e. he aspec of he environmen ha is o be modelled) are o capure he essenial properies of he original, bu o eliminae unnecessary deail. The \essenial properies" of he original are no always direcly available o he designer of an objec recogniion sysem, nor is i always clear wha consiues unnecessary deail. We conend ha in hese cases he only feasible mehod is ha of model acquisiion, raher han model insallaion. In a second series of experimens, herefore, we used a selforganising srucure ha acquired models in an unsupervised way hrough roboenvironmen ineracion. User predeniion was kep a a minimum. In his paricular insance, a mobile robo's ask was o idenify boxes wihin is visual eld of view, and o move owards hem. No generic model of hese boxes was used, insead a model was acquired hrough a process of unsupervised learning in an aricial neural nework.. Experimenal Scenario In he experimens, he robo's ask was o deermine wheher or no a box was presen in is visual eld, and, if presen, o move owards he box. The camera was he only sensor used. The boxes carried no paricular disinguishing feaures; boxes were chosen as arge objecs for experimenal reasons only, raher han for any of heir specic properies.
A rainable objec recogniion sysem, based on a selforganising feaure map, was used o achieve his... Vision Daa Preprocessing Sysem The complee vision daa preprocessing sysem is shown in gure. Figure : The enire Box Recogniion Sysem. As a rs processing sep, he raw grey level image of 0 by 00 pixels was reduced o 0 by 0 pixels by selecing an appropriae window ha would show he arge objec a a disance of abou m. The reduced grey level image was hen subjeced o a convoluion wih he edgedeecing emplae shown in gure 9, where each new pixel value is deermined by equaion. 0 a b c 0 0 d e f g h i Figure 9: Edge deecing emplae. pixel = j(c + f + i)? (a + d + g)j () The edgedeeced image was hen coarse coded by averaging he pixel values of a x square, yielding an image of 0 by 0 pixels. Following he coarse coding sage, we compued he average pixel value of he enire image, and used his value o generae a binary image (such as he one shown in gure 0) by hresholding. Finally, by compuing he hisogram along he verical and horizonal axis of he binary image, we obained a 0+0 elemen long inpu vecor, which was used as inpu o our box deecion algorihm. One such inpu vecor is shown in gure.
Figure 0: Binary image. Verical Hisogram Horizonal Hisogram Figure : Inpu o he boxdeecing sysem.. The Box Deecion Algorihm, using Visual Inpu We hen used he 00elemen long inpu vecor described above as an inpu o a selforganizing feaure map (SOFM) of 0 by 0 unis ([Kohonen ]). The SOFM is an Aricial Neural Nework ha performs a opological clusering of is inpu daa using an unsupervised learning mechanism. The nework consiss of one layer of cells ypically arranged as ' a wo dimensional grid. Figure shows he $ basic srucure of such a nework. # & ww w w w" w w Inpu vecor ~{ w Example Neighbourhood Region ~{ j XXz o j = ~{ ~w j ~wj Figure : Srucure of he SOFM % Each uni of he nework receives he same inpu paern (in his case consising of preprocessed vision daa). This paern is presened o he nework as a vecor: ~{ = [i ; i ; :::; in] These inpus are generaed as he robo is exploring is environmen. The weighs on he connecions o a single oupu uni are given by: ~wj = [wj; wj; :::; wjn] where j idenies uni j wihin he oupu layer and n is he nh elemen of he inpu vecor. These weigh vecors are normalised o uni lengh (see [Kohonen ]). To nd he oupu oj of uni j we calculae he weighed sum of is inpus: 9
nx k= wjkik = ~wj ~{ () wih n being he number of elemens in he inpu vecor. In is iniial sae each cell of he nework has a unique se of weighs. Therefore, when presened wih an inpu vecor, one cell will respond more srongly han he ohers. The weigh vecor of his \winning" uni along wih is eigh neighbours is updaed according o equaion : and wjk = (ik? wjk) wjk( + ) = wjk() + wjk; () where is he learning rae parameer. The learning rae in our experimens was se o 0. for he rs en learning seps, afer ha o 0. for he enire remaining raining period. Weigh vecors were normalised again afer being adjused. As his process coninues he nework organises ino a sae whereby dissimilar inpu vecors/paerns map ono dieren regions of he nework, whils similar paerns are clusered ogeher in groups. In using he SOFM o process he robo's sensor signals, disinc sensory percepions (wih disinc `percepual signaures' he sensory paerns represened in he inpu vecors) will map ono disinc regions of he nework, wih similar percepual paerns clusering ogeher in a region. In his way, regions of he nework can be seen as represening sensory percepions wihin he robo's environmen.. Experimenal Resuls A es se of sixy images (hiry wih boxes, hiry wihou see gure ) was used o rain he nework, and evaluae he sysem's abiliy o diereniae beween images conaining boxes, and hose no conaining boxes. As can be seen in gure, he nework's response in boh cases is similar, bu no idenical. The dierence in nework response can be used o classify an image. Fify images of aligned boxes were used for he raining phase of he nework, of he remaining en es images all were correcly classied by he sysem. In a second se of experimens, boxes were placed in various posiions and angles. The raining se consised of 00 images, he es se conained 0 images. In he case of images showing boxes, 0% of all es images were classied correcly, 0% were wrong, and 0% were \no classied". Of he images no showing boxes, 0% were classied correcly, 0% were incorrecly classied and 0% were no classied. To assess he abiliy of he sysem o classify images under more \realisic" siuaions, we conduced a hird se of experimens, in which images were used ha were similar o hose in he previous experimen, i.e. hey conained images of boxes in varying posiions and angles. In addiion o his, images of sairs, doors and oher objecs ha had similariies wih boxes were included (\dicul" images). The raining se consised of 0 images, he es se comprised 0 images. 0% of all \box" images were classied correcly, 0% were incorrecly classied and 0% were no classied a all. Of he \no box" images, 0% were classied correcly, % were incorrecly classied as \box" and % were no classied.. Associaing Percepion wih Acion Having esablished ha he sysem is indeed able o disinguish saic images conaining boxes from hose no conaining boxes, we were ineresed o use he sysem o guide he robo owards boxes, if any were idenied wihin he image. This neighbourhood was saic hroughou he enire raining period. 0
Figure : Two example images and he nework's response o hem. The colour coding indicaes he srengh of a uni's acivaion. In SOFMs, his can be achieved by exending he inpu vecor (as described above) by adding an acion componen o i. The enire inpu vecor (and herefore he weigh vecor of each uni of he SOFM) now conains a percepionacion pair. In he raining phase, he robo is driven manually owards a box in is eld of view. Inpu vecors are generaed by combining he preprocessed vision inpu and he usersupplied moor command. In he recall phase, he robo is hen able o move owards a box auonomously, by deermining he winning uni of he SOFM (i.e. ha uni ha resembles he curren visual percepion mos closely), and performing he moor acion associaed wih ha uni. Our observaion was ha ForyTwo was well able o move oward a single box in is eld of view, regardless of orienaion of he box, or iniial orienaion of he robo. As he robo approached he box, laeral movemens of he robo decreased, and he approach became faser and more focussed, unil he box lled he enire eld of view, and hus became invisible o he sysem. The robo approached boxes reliably under hese condiions. However, he robo could ge confused by oher boxlike objecs in he eld of view (like he sairs in our roboics laboraory). In his case, he robo would approach he misleading objec in quesion, o abandon i laer when he error was deeced. A his sage, however, he robo was ofen no longer able o deec he original box, because i had moved oo far o he direc approach roue. Conclusions The experimens described in his paper are examples of machine learning applicaions in mobile roboics, using vision inpu. They demonsrae ha a robo can be augh fundamenal sensor moor compeences such as obsacle avoidance, wall following or corridor following, using inpu from a CCD camera. They also demonsrae ha hrough an unsupervised learning process (i.e. wihou user inervenion) he robo is able o cluser images ino appropriae caegories in our case \box" and \no box". These percepual conceps can subsequenly be used for moion conrol. Boh examples of machine learning applicaions o mobile roboics show ha vision daa
preprocessing is necessary, before he learning sage can be enered. In boh experimens we applied similar mehods o reduce he amoun of vision daa: selecing a suiable eld of view, deecing edges (because hese are he relevan asppecs for mos sensormoor behaviours), coarse coding, and nally hisogram consrucion. Using hese vision processing mehods, we reduced he amoun of inpu daa from 000 o and 00 values respecively, wihou compromising he robo's abiliy o perform he respecive asks. Furher o he undersanding of video image processing necessary o make learning algorihms succeed, he experimens presened here (and elsewhere see, for insance [Nehmzow 9b, Nehmzow 9b]) demonsrae ha robo learning is a fas and successful mehod of esablishing fundamenal sensormoor compeences in mobile robos. Our second se of experimens demonsraes ha, provided suiable image preprocessing is applied, self organising neural neworks can be used o learn simple conceps such as \box" and \no box". Wheher his approach can be exended o more complex conceps (e.g. \people") is subjec o ongoing research. Acknowledgmens The experimenal work described in secion was conduced by Paul Marin, he experimens described in secion were conduced by James Elson. I hank boh for heir conribuion. References [Asrom 9] Karl Johan Asrom, Toward Inelligen Conrol, IEEE Conrol Sysems Magazine, April 99. [Baro 9] A. Baro, Connecionis Learning for Conrol: An Overview, Deparmen of Compuer and Informaion Science, Universiy of Massachuses a Amhers, COINS echnical repor 99. [Campbell & Robson ] F.W.C. Campbell and J. Robson, Applicaion of Fourier analysis o he visibiliy of graings, J. Physiol. (London) 9,. [Dickmanns & Graefe ] Erns Dieer Dickmanns and Volker Graefe, Dynamic monocular machine vision, Universia der Bundeswehr Munchen, Technical Repor UniBwM/LRT/WE /FB/. [Kohonen ] Kohonen, T., Self Organisaion and Associaive Memory, Springer Verlag, Berlin, Heidelberg, 9. [Kosaka & Kak 9] Akio Kosaka and Avinash Kak, Fas VisionGuided Mobile Robo Navigaion Using ModelBased Reasoning and Predicion of Uncerainies, CVGIP: Image Undersanding, Vol No., pp. 9, 99. [Kaelbling 9] Leslie Kaelbling, An Adapable Mobile Robo, in F. Varela and P. Bourgine, Toward a pracice of auonomous sysems, MIT Press 99, pp.. [Mahadevan & Connell 9] Sridhar Mahadevan and Jonahan Connell, Auomaic Programming of BehaviorBased Robos using Reinforcemen Learning, AAAI 99. [Marr & Hildreh 0] D. Marr and E. Hildreh, Theory of edge deecion, Proc. R. Soc. Lond. B 0, (afer [Marr ]). [Marr ] David Marr, Vision, W.H. Freeman and Company, San Francisco 9. [Nehmzow 9] Ulrich Nehmzow, Experimens in Compeence Acquisiion for Auonomous Mobile Robos, PhD hesis, Universiy of Edinburgh 99. [Nehmzow 9] U. Nehmzow, Acquisiion of Smooh, Coninuous Obsacle Avoidance in Mobile Robos, in H. Cruse, H. Rier and J. Dean (eds.). Proc. Workshop \Preraional Inelligence in Roboics", ZIF, Universiy of Bielefeld, 99, pp. 90.
[Nehmzow 9b] Ulrich Nehmzow, Auonomous Acquisiion of SensorMoor Couplings in Robos, Technical Repor UMCS9, Deparmen of Compuer Science, Mancheser Universiy. [Nehmzow 9a] U. Nehmzow, Flexible Conrol of Mobile Robos hrough Auonomous Compeence Acquisiion, Trans. Insiue for Measuremen and Conrol (IMC), /99, pp.. [Nehmzow 9b] Ulrich Nehmzow, Applicaions of Robo Training: Clearing, Cleaning, Surveillance, Proc. Inernaional Workshop on Advanced Roboics and Inelligen Machines, Salford, UK,...9. [Suon 9] R. Suon, Reinforcemen Learning Archiecures for Animas, in J.A. Meyer and S. Wilson (eds), From Animals o Animas, MIT Press 99, pp. 9. [Zalzala & Morris 9] A. Zalzala and A. Morris, Neural Neworks for Roboic Conrol, Ellis Horwood, Hemel Hempsead 99.