{"title": "Visual Navigation in a Robot Using Zig-Zag Behavior", "book": "Advances in Neural Information Processing Systems", "page_first": 822, "page_last": 828, "abstract": null, "full_text": "Visual Navigation in a Robot using \n\nZig-Zag Behavior \n\nM. Anthony Lewis \nBeckman Institute \n\n405 N. Mathews Avenue \n\nUniversity of Illinois \nUrbana, lllinois 61801 \n\nAbstract \n\nWe implement a model of obstacle avoidance in flying insects on a small, \nmonocular robot. The result is a system that is capable of rapid navigation \nthrough a dense obstacle field. The key to the system is the use of zigzag \nbehavior to articulate the body during movement. It is shown that this  behavior \ncompensates for a parallax blind spot surrounding the focus of expansion nor(cid:173)\nmally found in systems without parallax behavior. The system models the coop(cid:173)\neration of several behaviors: halteres-ocular response (similar to VOR), \noptomotor response, and the parallax field computation and mapping to motor \nsystem. The resulting system is neurally plausible, very simple, and should be \neasily hosted on a VLSI hardware. \n\n1  INTRODUCTION \n\nSrinivasan and Zhang (1993) describe behavioral evidence for two distinct movement \ndetecting systems in bee: (1) A direction selective pathway with low frequency response \ncharacteristics serving the optomotor response and (2) A non-direction selective move(cid:173)\nment system with higher frequency response serving functions of obstacle avoidance and \nthe  'tunnel centering' response where the animal seeks a flight path along the centerline of \na narrow corridor. Recently, this parallel movement detector view has received support \nfrom anatomical evidence in fly  (Douglass and Strausfeld,  1996). We are concerned here \nwith the implications of using non-direction selective movement detectors for tasks such \nas obstacle avoidance. \nA reasonable model of a non-direction selective pathwa:\u00a5 would be that this pathway is \ncomputing the absolute value of the optic flow,  i.e.  s  = II[x, Y111  where x, y are the \ncomponents of the optic flow field on the retina at the point  [x, y 1 . \nWhat is the effect of using the absolute value of the flow field and throwing away \ndirection information? In section 2 we analyze the effect of a non-direction selective \nmovement field. We understand from this analysis that rotational information, and the \nlimited dynamic range of real sensors contaminates the non-direction selective field and \n\n\fVisual Navigation in a Robot Using Zig-Zag Behavior \n\n823 \n\nprobably prevents the use of this technique in an area around the direction heading of the \nobserver. \nOne technique to compensate for this  'parallax blind spot' is by periodically changing the \ndirection of the observer. Such periodic movements are seen in insects as  well as  lower \nvertebrates and it is suggestive that these movements may compensate for this basic \nproblem. \nIn Section 3,  we describe a robotic implementation using a crude non-direction selective \nmovement detector based on a rectified temporal derivative of luminosity. Each ' neuron' \nin the model retina issues a vote to control the motors of the robot. This system, though \nseemingly naively simple, compares favorably  with other robotic implementations that \nrely on the optic flow or a function of the optic flow (divergence). These techniques \ntypically require a large degree of spatial temporal averaging and seem computationally \ncomplex. In addition, our model agrees better with with the biological evidence. \nFinally, the technique presented here is amenable to implementation in custom aVLSI or \nmixed a VLSIIdVLSI chips. Thus it should be possible to build a subminiature visually \nguided navigation system with several (one?) low-power simple custom chips. \n\n2  ANALYSIS OF NON-DIRECTION SELECTIVE MOVEMENT \nDETECTION SYSTEM \n\nLet us  assume a perspective projection \n\nwhere  A.  is the focal length of the lens,  X,  Y, Z  is the position of a point in the environ(cid:173)\nment, and x, y  is the projection of that point on the retinal plane. The velocity of the image \nof a moving point in the world can be found by differentiating (1) with respect to time: \n\n(1) \n\nIf we assume that objects in the environment are fixed in relation to one-a~-other and that \n\nthe observer is moving with relativT translational velocity  Cv  = [vx  Vy  v J  and relative \ncn  = rrox roy  roJ \nto the environment given in frame  c, a point in the \nrotational velocity \nenvironment has relati~e v~loclty: \n\n(2) \n\nNow substituting in (2): \n\n~ = ~l: ~Jv.+{:> -~~;' j'n. \n\nand taking the absolute value of the optic flow : \n\n(3) \n\n(4) \n\nr;;  =  '~l\"x-~(Xy ... + .. y,x' + 1)+ y\",l)' +~+y+ ~( -.. p' + \\)+xY\"y +x\",l]j  (5) \nwhere we have made the substitution:  [X/2  Y/~ -t [(1  IlJ  (that is, the heading direction). \nWe can see that the terms involving [rox rov rozl  cannot be separated from the  x, y  terms. If \nwe assume that  [rox  roy  roJ  = 0  then we can r~arrange the equation as: \n\n\f824 \n\n.-l() _ITZI_ \ns  -1Zf-\n\nL> \n\nin the case of Z  translation. If ITzl  = 0  then we have: \n\nlsi \n\nAJ[(X-a)2 + (y_~)2J \n\n~ -1(s)  =  1  = \n\nlsi \n\nIZI  AJT  2 + T  2 \ny \n\nx \n\nM. A.  Lewis \n\n(6) \n\n(7) \n\nthis corresponds to  the case of pure lateral translations. Locusts (as well as some verte(cid:173)\nbrates) use peering or side to side movements to gauge distances before jumping. \nWe call the quantity in  (6) inverse relative depth. Under the correct circumstances it is \nequivalent to the reciprocal of time to contact. \nEquation (6) can be restated as:  ~-l(s) = gjS  where  g  is a gain factor that depends on the \ncurrent direction heading and the position in the retina. This gain factor can be imple(cid:173)\nmented neurally as a shunting inhibition, for example. \nThis has the following implications. If the observer is using a non-direction sensitive \nmovement detector then (A) it must rotationally stabilize its eyes (B) it must dynamically \nalter the gain of this infonnation in a pathway between the retinal input and motor output \nor it must always have a constant direction heading and use constant gain factors. \nIn real systems there is likely to  be imperfection in rotational stabilization of the observer \nas well as sensors with limited dynamic range. To understand the effect of these, let us \nassume that there is a base-line noise level  0  and we assume that this defines a minimum \nthreshold substituting s  = 0, we can find a level curve for the minimum detectability of \nan object, i.e.: \n\n(8) \n\nThus, for constant depth and for  0  independent of the spatial position on the retina, the \nlevel curve is  a circle. The circle increases in radius with increasing distance, and noise, \nand decreases with increasing speed. The circle is centered around the direction heading. \nThe solution to the problem of a  'parallax blind spot' is to make periodic changes of \ndirection. This can be accomplished in an open loop fashion or, perhaps, in an image \ndriven fashion as suggested by Sobey (1994). \n\n3  ROBOT MODEL \n\nFigure  la is a photograph of the robot model. The robot's base is  a Khepera Robot. The \nKhepera is a small wheeled robot a little over 2\" in diameter and uses differential drive \nmotors. The robot has been fitted with a solid-state gyro attached to its body. This \ngyroscope senses angular velocities about the body axis and is aligned with the axis of the \ncamera joint. A camera, capable of rotation about an axis perpendicular to the ground \nplane, is also attached. The camera has a field of view of about 90 0  and can swing of \n\u00b190\u00b0 . The angle of the head rotation is sensed by a small potentiometer. \nFor convenience, each visual process is implemented on a separate Workstation (SGI \nIndy) as a heavyweight process. Interprocess communication is via PVM distributed \ncomputing library. Using a distributed processing model, behaviors can be dynamically \nadded and deleted facilitating analysis and debugging. \n\n3.1  ROBOT CONTROL SYSTEM \n\nThe control is divided into control modules as illustrated in Fig 2. At the top of the \ndrawing we see a gaze stabilization pathway. This uses a gyro (imitating a halteres organ) \nfor stabilization of rapid head movements. In addition, a visual pathway, using direction \nselective movement detector (DSMD) maps is used for slower optomotor response. Each \nof the six maps uses correlation type detectors (Borst and Egelhaaf, 1989). Each map is \n\n\fVisual Navigation in a Robot Using  Zig-Zag Behavior \n\n825 \n\nFigure 1.  Physical setup. (A) Modified Khepera Robot with camera and gyro \nmounted. (B) Typical obstacle field run experiment. \n\ntuned to a different horizontal velocity (three for left image translations and three for right \nimage translations). \nThe lower half of the drawing shows the obstacle avoidance pathway. A crude non(cid:173)\ndirection selective movement detector is created using a simple temporal derivative. The \nuse of this as a movement detector was motivated by the desire to eventually replace the \ncamera front end with a Neuromorphic chip. Temporal derivative chips are readily avail(cid:173)\nable (Delbrtick and Mead, 1991). \nNext we reason that the temporal derivative gives a crude estimate of the ~bsolute value of \nthe optic flow. For example if we expect only horizontal flows then: E xX  =  - E t (Horn \nand Shunck, 1981). Here  E,  is  the temporal derivative of the luminosity and  gA;  is  the \nspatial derivative. If we sample over a patch of the image, Ex  will take on a range of \nvalues. If we take the average rectified temporal derivative over a patch then \nIxl  = I-E,I/IExl. Thus the average rectified temporal derivative over a patch will give a \nvelocity proportional the absolute value of the optic flow. \nIn order to make the change to motor commands, we use a voting scheme. Each pixel in \nthe nondirection selective movement detector field (NDSMD) votes on a direction for the \nrobot. The left pixels for a right turn and the right pixels vote for a left turn. The left and \nright votes are summed. In certain experiments described below the difference of the left \nand right votes was used to drive the rotation of the robot. In others a symmetry breaking \nscheme was used. It was observed that with an object dead ahead of the robot, often the \nleft and right activation would have high but nearly equal activation. In the symmetry \nbreaking scheme, the side with the lower activation was further decrease by a factor of \n50%. This admittedly ad hoc solution remarkably improved the performance in the non(cid:173)\nzig-zag case as  noted below. \nThe zig-zag behavior is  implemented as a feedforward command to the motor system and \nis modeled as: \n\nKhepera \nCOZigZag  = stn(cot)K \n\n. \n\nFinally, a constant forward bias is added to each wheel so the robot makes constant \nprogress.  K  is chosen empirically but in principle one should be able to derive it using the \nanalysis in section 2. \nAs described above, the gaze stabilization module has control of head rotation and the zig(cid:173)\nzag behavior and the depth from parallax behavior control the movement of the robot's \nbody. During normal operation, the head may exceed the  \u00b190\u00b0  envelope defined by the \nmechanical system. This problem can be addressed in several ways among them are by \nmaking a body saccade to bring the body under the head or making a head saccade to align \nthe head with the body. We choose the later approach solely because it seemed to work \nbetter in practice. \n\n\f826 \n\nGyro \n\nCamera \n60x80image \n\n-k \n\nM. A. Lewis \n\ne \n\nc \n\nJ \n\nQuick Phase Nystagmus \n\nGaze Stabilillltion \nCmd \n\nl -__  --:-___  L-_~-:_;: Motor  f--__ ~ \n\na,-l(s) \n\nMap \n\nNDSMD \n\nFigure 2. ZigZag Navigation model is composed of a gaze stabilization system \n(top) and an obstacle avoidance system (bottom). See text. \n\n3.2  BIOLOGICAL INSPIRATION FOR MODEL \n\nCourse-grained visual pathways are modeled using inspiration from  insect neurobiology. \nThe model of depth from parallax is  inspired by details given in Srinivasan &  Zhang \n(1993) on work done in bees. Gaze stabilization using a fast channel, mediated by the \nhalteres organs, and a slow optomotor response is  inspired by a description of the blowfly \nCalliphora as reviewed by Hengstenberg (1991). \n\n4  EXPERIMENTS \n\nFour types of experimental setups were used. These are illustrated in Fig 3. In setup 1 the \nrobot must avoid a dense field of obstacles (empty soda cans). This is designed to test the \nbasic competence of this technique. In setup 2, thin dowels are place in the robot's path. \nThis tests the spatial resolving capability of the robot. Likewise setup 3 uses a dense \nobstacle field  with one opening replaced by a lightly textured surface. \nFinally, experimental setup 4 uses a single small object (1cm black patch) and tests the \ndistance at which the robot can 'lock-on' to a target. In this experiment, the avoidance \nfield is sorted for a maximal element over a given threshold. A target cross is placed at this \nmaximal element. The closest object should correspond with this maximal element. If a \nmaximal element over a threshold is identified for a continuous 300ms and the target cross \nis on the correct target, the robot is stopped and its distance to the object is measured. The \nlarger the distance, the better. \n\n5  RESULTS \n\nThe results are described briefly here. In the setup 1 without the use of symmetry break(cid:173)\ning, the scores were ZigZag:  10 Success, 0 Failures and the non-ZigZag: 4 Success and 6 \nFailures. With Symmetry Breaking installed the results were: ZigZag: 49 Success, 3 \nFailures and the non-ZigZag: 44 Success and 9 failures. \nIn the case palisades test: ZigZag: 22 Success, 4 Failures and the non-ZigZag:  14 Success \nand  11  failures. \nIn the false opening case: ZigZag: 8 Success, 2 Failures and the non-ZigZag: 6 Success \nand 4 Failures. \nFinally, in the distance-to-Iock setup, a lock was achieved at an average distance 21.3 CM \n(15 data points) for zigzag and 9.6 cm (15  data points) for the non-zigzag case. \n\n\fVisual Navigation in a Robot Using Zig-ZAg Behavior \n\n827 \n\nDense Obstacle \nField A voidance \n\n~ \n\n\u2022 \u2022 \n\n@ \n\n\u2022 \n\n8 \n\nPalisades Test \n\nFalse Opening A voidance  Distance-To-Lock \n\n\u00a9 \n\n~o \n\nThin Dowels \n\nlightly textured barrier \n\nFigure 3. Illustrations of the four experimental setups. \n\nWe tentatively conclude that zig-zag behavior should improve performance in robot and \nin animal navigation. \n\n6  DISCUSSION \n\nIn  addition to the robotic implementation presented here, there have been many other \ntechniques presented in the literature. Most relevant is Sobey (1994) who uses a zigzag \nbehavior for obstacle avoidance. In this work, optic flow is computed through a process of \ndiscrete movements where 16 frames are collected, the robot stops, and the stored frames \nare analyzed for optic flow. The basic strategy is very clever: Always choose the next \nmove in the direction of an identified object. The reasoning is that since we know the \ndistance to the object in this direction, we can confidently move toward the object, \nstopping before collision. The basic idea of using zig-zag behavior is similar except that \nthe zig-zagging is driven by perceptual input. In addition, the implementation requires \nestimation of the flow field requiring smoothing over numerous images. Finally, Sobey \nuses Optic Flow and we use the absolute value of the Optic Flow as suggested by biology. \nFranceschini et al  (1992) reports an analog implementation that uses elementary move(cid:173)\nment detectors. A unique feature is the non-uniform sampling and the use of three separate \narrays. One array uses a sampling around the circumference. The other two sampling \nsystems are mounted laterally on the robot and concentrate in the 'blind-spot' immediately \nin front of the robot. It is not clear that the strategy of using three sensor arrays, spatially \nseparated, and direction selective movement detectors is in accord with the biological \nconstraints. \nSantos-Victor et al (1995) reports a system using optic flow and having lateral facing \ncameras. Here the authors were reproducing the centering reflex and did not focus on \navoiding obstacles in front of the robot. Coombs and Roberts (1992,1993) use a similar \ntechnique. Weber et al (1996) describe wall following and stopping in front of an obstacle \nusing an optic flow  measure. \nFinally, a number of papers report the use of flow field divergence, apparently first \nsuggested by Nelson and Aloimonos (1989). This requires the computation of higher \nderivatives and requires significant smoothing. Even in this case, there is a problem of a \n'parallax hole.'  See Fig. 3 of that article, for example. In any case they did not implement \ntheir idea on  a mobile robot. However, this approach has been followed up with an \nimplementation in a robot by Camus et al (1996) reporting good results. \nThe system described here presents a physical model of insect like behavior integrated on \na small robotic platform. Using results derived from an analysis of optic flow,  we con(cid:173)\ncluded that a zig-zag behavior in the robot would allow it to detect obstacles in front of the \nrobot by periodically articulating the blind spot. \nThe complexity of the observed behavior and the simplicity of the control is striking. The \nrobot is  able to navigate through a field of obstacles, always searching out a freeway for \nmovement. \n\n\f828 \n\nM. A.  Lewis \n\nThe integrated behavior outlined here should be a good candidate for a neuromorphic \nimplementation. A  multichip (or single chip?) system could be envisioned using a rela(cid:173)\ntively simple non-directional 2-d movement detector. Two arrays of perpendicular  I-d \narray of movement detectors should be sufficient for the optomotor response. This infor(cid:173)\nmation could then be mapped to a circuit comprised of a few op-amp adder circuits and \nthen sent to the head and body motors. Even the hal teres organ could be simulated with a \nsilicon fabricated gyroscope. The results would be an extremely compact robot capable of \nautonomous, visually guided navigation. \n\nFinally, from our analysis of optic flow,  we can make a reasonable prediction abuut the \nneural wiring in flying insects. The estimated depth of objects in the environment depends \non where the object falls on the optic array as well as the ratio of translation to forward \nmovement. Thus a bee or a fly should probably modulate its incoming visual signal to \naccount for this time varying interpretation of the scene. We would predict that there \nshould be motor information, related to the ratio of forward to lateral velocities would be \nprojected to the non-directional selective motion detector array. This would allow a valid \ntime varying interpretation of the scene in a  zig-zagging animal. \nAcknowledgments \nThe author acknowledges the useful critique of this work by Narendra Ahuja, Mark Nelson, John \nHart and Lucia Simo. Special thanks to Garrick Kremesic and Barry Stout who assisted with the \nexperimental setup and the modification of the Khepera.  The author acknowledges the support of \nONR grant NOOOI49610657. The author also acknowledges the loan of the Khepera from UCLA \n(NSF grant CDA-9303148). \nReferences \nA. Borst and M. Egelhaaf (1989), Principles of Visual Motion Detection, Trends in  Neurosciences, \n12(8):297-306 \nT. Camus, D. Coombs, M.  Herman, and T.-H. Hong (1996), \"Real-time Single-Workstation Obsta(cid:173)\ncle Avoidance Using Only Wide-Field Flow Divergence\", Proceedings of the  13th International \nConference on Pattern Recognition. pp. 323-30 vol.3 \nD. Coombs and K.  Roberts (1992), '''Bee-Bot': Using Peripheral Optical Flow to A void Obstacles\" I \nSPIE Vol  1825, Intelligent Robots and Computer Vision XI, pp 714-721. \nD. Coombs and K.  Roberts (1993), \"Centering behavior using peripheral vision\", Proc. 1993 IEEE \nComputer Society Conf. CVPR pp. 440-5,  16 refs. 1993 \nT. Delbriick and C.  A.  Mead (1991), Time-derivative adaptive silicon photoreceptor array. Proc. \nSPIE - Int.  Soc. Opt. Eng. (USA). vol  1541, pp. 92-9. \nJ.  K.  Douglass and N.  1.  Strausfeld (1996), Visual Motion-Detection Circuits in Flies: Parallel \nDirection- and Non-Direction-Sensitive Pathways between the Medulla and Lobula Plate, J. of \nNeuroscience 16(15):4551-4562. \nN. Franceschini, J. M.  Pichon and C. Blanes (1992), \"From Insect Vision to Robot Vision\", Phil. \nTrans. R. Soc Lond. B. 337, pp 283-294. \nR.  Hengstenberg (1991), Gaze Control in the Blowfly Calliphora:  a Multisensory, Two-Stage \nIntegration Process, Seminars, in the Neurosciences, Vol3,pp  19-29. \nB. K. P.  Hom and B. G. Shunck (1981), \"Determining Optic Flow\", Artificial Intelligence, 17(1-\n3):185-204. \nR. C.  Nelson and J. Y. Aloimonos (1989) Obstacle Avoidance Using Flow Field Divergence, IEEE \nTrans. on Pattern Anal. and Mach. Intel. 11(10):1102-1106. \n1.  Santos-Victor, G. Sandini, F.  Curotto and S. Garibaldi (1995), \"Divergent Stereo in Autonomous \nNavigation: From Bees to Robots,\" Int.  J.  of Compo  Vis.  14, pp  159-177. \nP. J.  Sobey (1994), \"Active Navigation With a Monocular Robot\" BioI. Cybern, 71:433-440 \nM. V. Srinivasan and S. W. Zhang (1993), Evidence for Two Distinct Movement-Detecting Mecha(cid:173)\nnisms in Insect Vision, Naturwissenschaften, 80, pp 38-41. \nK. Weber, S. Venkatash and M.V.  Srinivasan (1996), \"Insect Inspired Behaviours for the Autono(cid:173)\nmous Control of Mobile Robots\" Proc. of  ICPR'96, pp 156-160. \n\n\f", "award": [], "sourceid": 1414, "authors": [{"given_name": "M.", "family_name": "Lewis", "institution": null}]}