`Real-Time Obstacle
`Avoidance for
`Manipulators and
`Mobile Robots
`Oussama Khatib
`Artificial Intelligence Laboratory
`Stanford University
`Stanford, California 94305
`Abstract
`This paper presents a unique real-time obstacle avoidance
`approach for manipulators and mobile robots based on the
`artificial potential field concept. Collision avoidance, tradi-
`tionally considered a high level planning problem, can be
`effectively distributed between different levels of control, al-
`lowing real-time robot operations in a complex environment.
`This method has been extended to moving obstacles by using
`a time-varying artificial potential field. We have applied this
`obstacle avoidance scheme to robot arm mechanisms and
`have used a new approach to the general problem of real-time
`manipulator control. We reformulated the manipulator con-
`trol problem as direct control of manipulator motion in oper-
`ational space—the space in which the task is originally
`described—rather than as control of the task’s corresponding
`joint space motion obtained only after geometric and kine-
`matic transformation. Outside the obstacles’ regions of influ-
`ence, we caused the end effector to move in a straight line
`with an upper speed limit. The artificial potential field ap-
`proach has been extended to collision avoidance for all ma-
`nipulator links. In addition, a joint space artificial potential
`field is used to satisfy the manipulator internal joint con-
`straints. This method has been implemented in the COSMOS
`system for a PUMA 560 robot. Real-time collision avoidance
`demonstrations on moving obstacles have been performed by
`using visual sensing.
`1. Introduction
`In previous research, robot collision avoidance has
`been a component of higher levels of control in hierar-
`chical robot control systems. Collision avoidance has
`been treated as a planning problem, and research in
`this area has focused on the development of collision-
`free path planning algorithms (Lozano-Perez 1980;
`Moravec 1980; Chatila 1981; Brooks 1983). These al-
`gorithms aim at providing the low level control with a
`path that will enable the robot to accomplish its as-
`signed task free from any risk of collision.
`From this perspective, the function of low level
`control is limited to the execution of elementary oper-
`ations for which the paths have been precisely speci-
`fied. The robot’s interaction with its environment is
`then paced by the time cycle of high level control,
`which is generally several orders of magnitude slower
`than the response time of a typical robot. This places
`limits on the robot’s real-time capabilities for precise,
`fast, and highly interactive operations in a cluttered
`and evolving environment. We will show that it is
`possible to extend greatly the function of low level
`control and to carry out more complex operations by
`coupling environment sensing feedback with the low-
`est level of control.
`Increasing the capability of low level control has
`been the impetus for the work on real-time obstacle
`avoidance that we discuss here. Collision avoidance at
`the low level of control is not intended to replace high
`level functions or to solve planning problems. The
`purpose is to make better use of low level control
`capabilities in performing real-time operations. At this
`low level of control, the degree or level of competence
`(Brooks 1984) will remain less than that of higher
`level control.
`The operational space formulation is the basis for
`the application of the potential field approach to robot
`manipulators. This formulation has its roots in the
`work on end-effector motion control and obstacle
`avoidance (Khatib and Le Maitre 1978) that has been
`implemented for an MA23 manipulator at the Labor-
`atoire d’Automatique de Montpellier in 1978. The
`operational space approach has been formalized by
`constructing its basic tool, the equations of motion in
`the operational space of the manipulator end effector.
`Avidbots Ex1006
`Page 1 of 9
`
`
`
`
`
`
`
`91
`Details of this work have been published elsewhere
`(Khatib 1980; Khatib 1983; Khatib 1985). In this
`paper, we review the fundamentals of the operational
`space formulation and the artificial potential field
`concept. We present the integration of this collision
`avoidance approach into the operational space control
`system and its real-time implementation. The exten-
`sion of this work to link collision avoidance is also
`developed.
`2. Operational Space Formulation
`An operational coordinate system is a set x of mo inde-
`pendent parameters describing the manipulator end-
`effector position and orientation in a frame of refer-
`ence l~o. For a nonredundant manipulator, these pa-
`rameters form a set of configuration pa~ ameters in a
`domain of the operational space and constitute a sys-
`tem of generalized coordinates. The kinetic energy of
`the holonomic articulated mechanism is a quadratic
`form of the generalized velocities,
`where A(x) designates the symmetric matrix of the
`quadratic form, i. e., the kinetic energy matrix. Using
`the Lagrangian formalism, the end-effector equations
`of motion are given by
`where the Lagrangian L(x, x) is
`and U(x) represents the potential energy of the gravity.
`The symbol F is the operational force vector. These
`equations can be developed (Khatib 1980; Khatib
`1983) and written in the form,
`where p(x, x) represents the centrifugal and Coriolis
`forces and p(x) the gravity forces.
`The control of manipulators in operational space is
`based on the selection of F as a command vector. In
`order to produce this command, specific forces r must
`be applied with joint-based actuators. The relationship
`between F and the joint forces r is given by
`where q is the vector of the n joint coordinates and
`J(q) the Jacobian matrix.
`The decoupling of the end-effector motion in opera-
`tional space is achieved by using the following struc-
`ture of control,
`where F* represents the command vector of the de-
`coupled end effector that becomes equivalent to a
`single unit mass.
`The extension of the operational space approach to
`redundant manipulator systems is discussed in Khatib
`(1980); Khatib (1983). The integration of active force
`control for assembly operations is presented in Khatib
`(1985).
`3. The Artificial Potential Field Approach
`We present this method in the context of manipulator
`collision avoidance. Its application to mobile robots is
`straightforward. The philosophy of the artificial poten-
`tial field approach can be schematically described as
`follows:
`The manipulator moves in a field of forces. The
`position to be reached is an attractive pole far the
`end effector and obstacles are repulsive surfaces for
`the manipulator parts.
`We first consider the collision avoidance problem of
`a manipulator end effector with a single obstacle O. If
`Xd designates the goal position, the control of the ma-
`nipulator end effector with respect to the obstacle 0
`can be achieved by subjecting it to the artificial poten-
`tial field,
`This leads to the following expression of the potential
`Avidbots Ex1006
`Page 2 of 9
`
`
`
`
`
`
`
`92
`energy in the Lagrangian (Eq. 3),
`where U,(x) represents the gravity potential energy.
`Using Lagrange’s (Eq. 2) and taking into account the
`end-effector dynamic decoupling (Eq. 6), the com-
`mand vector F:rt of the decoupled end effector that
`corresponds to applying the artificial potential field
`Uan (Eq. 7) can be written as
`with
`The symbol Fid is an attractive force allowing the point
`x of the end effector to reach the goal position Xd, and
`F* 0 represents a Force Inducing an Artificial Repulsion
`from the Surface (FIRAS, from the French) of the
`obstacle created by the potential field Uo(x). The sym-
`bol Fid corresponds to the proportional term, i. e.
`-kp(x - x~), in a conventional PD servo where kp is
`the position gain. The attractive potential field U,,,,(x)
`is simply
`t7a(x} is selected such that the artificial potential field
`Ua,~(x} is a positive continuous and differentiable func-
`tion which attains its zero minimum when x =
`Xd-
`The articulated mechanical system subjected to UQ,~(x)
`is stable. Asymptotic stabilization of the system is
`achieved by adding dissipative forces proportional to
`x. Let kv be the velocity gain; the forces contributing to
`the end-effector motion and stabilization are of the
`form,
`This command vector is inadequate to control the
`manipulator for tasks that involve large end-effeetor
`motion toward a goal position without path specifica-
`tion. For such a task, it is better for the end effector to
`move in a straight line with an upper speed limit.
`Rewriting Eq. (12) leads to the following expression,
`which can be interpreted as specifying a desired veloc-
`ity vector in a pure velocity servo-control,
`Let Vmax designate the assigned speed limit. The limi-
`tation of the end-effector velocity magnitude can then
`be obtained (Khatib, Llibre, and Mampey 1978),
`where
`With this scheme, the velocity vector x is controlled to
`be pointed toward the goal position while its magni-
`tude is limited to V,~~ . The end effector will then
`travel at that speed in a straight line, except during the
`acceleration and deceleration segments or when it is
`inside the repulsive potential field regions of influence.
`4. FIRAS Function
`The artificial potential field Uo(x) should be designed
`to meet the manipulator stability condition and to
`create at each point on the obstacle’s surface a poten-
`tial barrier which becomes negligible beyond that sur-
`face. Specifically, Uo(x) should be a nonnegative con-
`tinuous and differentiable function whose value tends
`to infinity as the end effector approaches the obstacle’s
`surface. In order to avoid undesirable perturbing
`forces beyond the obstacle’s vicinity, the influence of
`this potential field must be limited to a given region
`surrounding the obstacle.
`Using analytic equations f(x)
`=
`0 for obstacle de-
`scription, the first artificial potential field function
`used (Khatib and Le Maitre 1978) was based on the
`values of the function f (x),
`Avidbots Ex1006
`Page 3 of 9
`
`
`
`
`
`
`
`93
`The region of influence of this potential field is
`bounded by the surfaces f(x)
`=
`0 and f(x) =f(x,,),
`where xo is a given point in the vicinity of the obstacle
`and 11 a constant gain. This potential function can be
`obtained very simply in real time since it does not
`require any distance calculations. However, this po-
`tential is difficult to use for asymmetric obstacles
`where the separation between an obstacle’s surface
`and equipotential surfaces can vary widely.
`Using the shortest distance to an obstacle 0, we
`have proposed (Khatib 1980) the following artificial
`potential field;
`where po represents the limit distance of the potential
`field influence and p the shortest distance to the obsta-
`cle O. The selection of the distance po will depend on
`the end effector operating speed V and on its decel-
`eration ability. End-effector acceleration characteris-
`tics are discussed in Khatib and Burdick (1985).
`Any point of the robot can be subjected to the artifi-
`cial potential field. The control of a Point Subjected to
`the Potential (PSP) with respect to an obstacle 0 is
`achieved using the FIRAS function,
`where ap denotes the partial derivative vector of theax
`distance from the PSP to the obstacle,
`The joint forces corresponding to F~o,~s~} are obtained
`using the Jacobian matrix associated with this PSP.
`Observing Eqs. (6) and (9), these forces are given by
`Fig. 1. An n-ellipsoid with
`n=4.
`5. Obstacle Geometric Modelling
`Obstacles are described by the composition of primi-
`tives. A typical geometric model base includes primi-
`tives such as a point, line, plane, ellipsoid, parallele-
`piped, cone, and cylinder. The first artificial potential
`field (Eq. 16) requires analytic equations for the de-
`scription of obstacles. We have developed analytic
`equations representing envelopes which best approxi-
`mate the shapes of primitives such as a parallelepiped,
`finite cylinder, and cone.
`The surface, termed an n-ellipsoid, is represented by
`the equation,
`and tends to a parallelepiped of dimensions
`(2a, 2b, 2c) as n tends to infinity. A good approxima-
`tion is obtained with n =
`4, as shown in Fig. 1. A cyl-
`inder of elliptical cross section (2a, 2b) and of length
`2c can be approximated by the so-called n-cylinder
`equation,
`The analytic description of primitives is not neces-
`sary for the artificial potential field (Eq. 17) since the
`Avidbots Ex1006
`Page 4 of 9
`
`
`
`
`
`
`
`94
`continuity and differentiability requirement is on the
`shortest distance to the obstacle. The primitives above,
`and more generally all convex primitives, comply with
`this requirement.
`Determining the orthogonal distance to an n-ellip-
`soid or to an n-cylinder requires the solution of a
`complicated system of equations. A variational proce-
`dure for the distance evaluation has been developed
`that avoids this costly computation. The distance ex-
`pressions for other primitives are presented in Appen-
`dices I through III.
`6. Robot Obstacle Avoidance
`An obstacle O; is described by a set of primitives (Pp}.
`The superposition property (additivity) of potential
`fields enables the control of a given point of the ma-
`nipulator with respect to this obstacle by using the
`sum of the relevant gradients,
`Control of this point for several obstacles is obtained
`using
`It is also feasible to have different points on the
`manipulator controlled with respect to different obsta-
`cles. The resulting joint force vector is given by
`Specifying an adequate number of PSPs enables the
`protection of all of the manipulator’s parts. An exam-
`ple of a dynamic simulation for a redundant 4 dof
`manipulator operating in the plane is shown in the
`display of Fig. 2.
`The artificial potential field approach can be ex-
`tended to moving obstacles since stability of the mech-
`anism persists with a continuously time-varying po-
`tential field.
`The manipulator obstacle avoidance problem has
`been formulated in terms of collision avoidance of
`Fig. 2. Displacement of a 4
`dof manipulator inside an
`enclosure.
`links rather than points. Link collision avoidance is
`achieved by continuously controlling the link’s closest
`point to the obstacle. At most, n PSPs then have to be
`considered. Additional links can be artificially intro-
`duced or the length of the last link can be extended to
`account for the manipulator tool or load. In an articu-
`lated chain, a link can be represented as the line seg-
`ment defined by the Cartesian positions of its two
`neighboring joints. In a frame of reference R, a point
`m(x, y, z) of the link bounded by m1(xl’ yl, Zl) and
`m2(x2, Y2, z2) is described by the parametric equations,
`The problem of obtaining the link’s shortest distance
`to a parallelepiped can be reduced to that of finding
`the link’s closest point to a vertex, edge, or face. The
`analytic expressions of the link’s closest point, the
`distance, and its partial derivatives are given in Ap-
`pendix I. In Appendices II and III these expressions are
`given for a cylinder and a cone, respectively.
`7. Joint Limit Avoidance
`The potential field approach can be used to satisfy the
`manipulator internal joint constraints. Let q, and q-i be
`respectively the minimal and maximal bounds of the
`iih joint coordinate q~. These boundaries can contain q,
`by creating barriers of potential at each of the hyper-
`planes (qt
`=
`q) and (qi
`=
`q-i). The corresponding joint
`Avidbots Ex1006
`Page 5 of 9
`
`
`
`
`
`
`
`95
`forces are
`and,
`where p~to~ and pt~o~ represent the distance limit of the
`potential field influence. The distances p; and p-, are
`defined by
`-
`8. Level of Competence
`The potential field concept is indeed an attractive
`approach to the collision avoidance problem and
`much research has recently been focused on its appli-
`cations to robot control (Kuntze and Schill 1982;
`. Hogan 1984; Krogh 1984). However, the complexity
`of tasks that can be implemented with this approach is
`limited. In a cluttered environment, local minima can
`occur in the resultant potential field. This can lead to
`a stable positioning of the robot before reaching its
`goal. While local procedures can ~be designed to exit
`from such configurations, limitations for complex
`tasks will remain. This is because the approach has a
`local perspective of the robot environment.
`Nevertheless, the resulting potential field does pro-
`vide the global information necessary and a collision-
`free path, if attainable, can be found by linking the
`absolute minima of the potential. Linking these min-
`ima requires a computationally expensive exploration
`of the potential field. This goes beyond the real-time
`control we are concerned with here but can be consid-
`ered as an integrated part of higher level control.
`Work on high level collision-free path planning based
`on the potential field concept has been investigated in
`Buckley (1985).
`9. Real-Time Implementation
`Finally, the global control system integrating the po-
`tential field concept with the operational space ap-
`proach has the following structure:
`where r motion can be developed (Khatib 1983) in the
`form,
`where B(q) and C(q) are the n X n(n - 1)/2 and n X n
`matrices of the joint forces under the mapping into
`joint space of the end-eff’ector Coriolis and centrifugal
`forces. The symbol g(q) is the gravity force vector, and
`the symbolic notations [44] and [42] are for the
`n(n - 1)/2 X 1 and n X 1 column matrices,
`In this control structure, dynamic decoupling of the
`end effector is obtained using the end-effector dy-
`namic parameters (EEDP) A(q), È(q), è(q) and g(q),
`which are configuration dependent. In real time, these
`parameters can be computed at a lower rate than that
`of the servo control. In addition, the integration of an
`operational position and velocity estimator allows a
`reduction in the rate of end-effector position computa-
`tion, which involves evaluations of the manipulator
`geometric model. This leads to a two-level control
`system architecture (Khatib 1985):
`~ A low rate parameter evaluation level that up-
`dates the end-effector dynamic coefficients, the
`Jacobian matrix, and the geometric model.
`~ A high rate servo control level that computes the
`command vector using the estimator and the
`updated dynamic coefficient.
`The control system architecture is shown in Fig. 3
`where np represents the number of PSPs. The Jacobian
`matrices J T (q) have common factors with the end-
`effector Jacobian matrix JT(q). Thus, their evaluation
`does not require significant additional computation.
`Avidbots Ex1006
`Page 6 of 9
`
`
`
`
`
`
`
`96
`Fig. 3. Control system
`architecture.
`10. Applications
`This approach has been implemented in an experi-
`mental manipulator programming system Control in
`Operational Space of a Manipulator-with-Obstacles
`System (COSMOS). Demonstration of real-time colli-
`sion avoidance with links and moving obstacles (Kha-
`tib et al. 1984) have been performed using a PUMA
`560 and a Machine Intelligence Corporation vision
`module.
`We have also demonstrated real-time end-effector
`motion and active force control operations with the
`COSMOS system using wrist and finger sensing. These
`include contact, slide, insertion, and compliance oper-
`ations (Khatib, Burdick, and Armstrong 1985).
`In the current multiprocessor implementation (PDP
`11/45 and PDP 11/60), the rate of the servo control
`level is 225 Hz while the coefficient evaluation level
`runs at 100 Hz.
`11. Summary and Discussion
`We have described the formulation and implementa-
`tion of a real-time obstacle avoidance approach based
`on the artificial potential field concept. Collision
`avoidance, generally treated as high level planning, has
`been demonstrated to be an effective component of
`low level real-time control in this approach. Further,
`we have briefly presented our operational space for-
`mulation of manipulator control that provides the
`basis for this obstacle avoidance approach, and have
`described the two-level architecture designed to in-
`crease the real-time performance of the control system.
`The integration of this low level control approach
`with a high level planning system seems to be one of
`the more promising solutions to the obstacle avoidance
`problem in robot control. With this approach, the
`problem may be treated in two stages:
`~ at high level control, generating a global strategy
`for the manipulator’s path in terms of interme-
`diate goals (rather than finding an accurate
`collision-free path);
`~ at the low level, producing the appropriate
`commands to attain each of these goals, taking
`into account the detailed geometry and motion
`of manipulator and obstacle, and making use of
`real-time obstacle sensing (low level vision and
`proximity sensors).
`By extending low level control capabilities and re-
`ducing the high level path planning burden, the inte-
`gration of this collision avoidance approach into a
`multi-level robot control structure will improve the
`real-time performance of the overall robot control
`system. Potential applications of this control approach
`include moving obstacle avoidance, collision avoid-
`ance in grasping operations, and obstacle avoidance
`problems involving multimanipulators or multifin-
`gered hands.
`Appendix I: Link Distance to a Parallelepiped
`The axes of the frame of reference R are chosen to be
`the parallelepiped axes of symmetry. The link’s length
`is I and the dot product is ( . ).
`DISTANCE TO A VERTEX
`The closest point m of the line (Eq. 26) to the vertex v
`is such that
`Avidbots Ex1006
`Page 7 of 9
`
`
`
`
`
`
`
`97
`The link’s closest point m is identical to m t if A -- 0; it
`is identical to m2 2 if A -- 1 and it is given by Eq. (26)
`otherwise. The shortest distance is therefore,
`where p and P2 are the distance to the vertex from m i
`and m2, respectively. The distance partial derivatives
`are
`DISTANCE TO AN EDGE
`By a projection in the plane perpendicular to the con-
`sidered edge (xoy, yoz, or zox), this problem can be
`reduced to that of finding the distance to a vertex in
`the plane. This leads to expressions similar to those of
`(A1-1)-(A1-3) with a zero partial derivative of the
`distance w. r. t. the axis parallel to the edge.
`DISTANCE TO A FACE
`In this case, the distance can be directly obtained by
`comparing the absolute values of the coordinates of m ~ 1
`and m2 along the axis perpendicular to the face. The
`partial derivative vector is identical to the unit normal
`vector of this face.
`Appendix II: Link Distance to a Cylinder
`The frame of reference R is chosen such that its z-axis
`is the cylinder axis of symmetry and its origin is the
`cylinder center of mass. The cylinder radius and height
`are designated by r and h, respectively.
`DISTANCE TO THE CIRCULAR SURFACE
`The closest point of the link (Eq. 27) to the circular
`surface of the cylinder can be deduced from the dis-
`tance to a vertex considered in the xoy plane and by
`allowing for the radius r.
`DISTANCE TO THE CIRCULAR EDGES
`The closest distance to the cylinder circular edge can
`be obtained from that of the circular surface by taking
`into account the relative z-coordinate of m to the cir-
`cular edge, i.e., (z + h/2) for the base and (z - h/2) for
`the top. The distance partial derivative vector results
`from the torus equation,
`This vector is
`with
`The distance to the planar surfaces is straightforward
`and can be simply obtained as in Appendix I.
`Appendix III: Link Distance to a Cone
`In this case, the frame of reference R is chosen such
`that its z-axis is the cone axis of symmetry and its
`origin is the center of the cone circular base. The cone
`base radius, height and half angle are represented re-
`spectively by r, h, and j3.
`DISTANCE TO THE CONE-SHAPED SURFACE
`The problem of locating m(x, y, z) is identical to that
`for the cylinder case. The distance can be written as
`Avidbots Ex1006
`Page 8 of 9
`
`
`
`
`
`
`
`98
`The partial derivatives come from the equation,
`where
`They are
`The problem of the distance to the cone circular edge
`is identical to that of the cylinder circular edge in Ap-
`pendix II. The distance to the cone vertex is solved as
`in Appendix I.
`Acknowledgments
`.
`Tom Binford and Bernie Roth have encouraged and
`given support for the continuation of this research at
`Stanford University. I thank also Harlyn Baker, Peter
`Blicher, and Jeff Kerr for their help in the preparation
`of the original manuscript.
`REFERENCES
`Brooks, R. 1983. Solving the find-path problem by good
`representation of free space. IEEE Sys., Man Cyber. SMC-
`13:190-197.
`Brooks, R. 1984 Aug. 20-23, Kyoto, Japan. Aspects of
`mobile robot visual map making. 2nd Int. Symp. Robotics
`Res.
`Buckley, C. 1985. The application of continuum methods to
`path planning. Ph.D. Thesis (in progress). Stanford Uni-
`versity, Department of Mechanical Engineering.
`Chatila, R. 1981. Système de navigation pour un robot mo-
`bile autonome: modélisation et processus décisionnels.
`Thèse de Docteur-Ingénieur. Université Paul Sabatier.
`Toulouse, France.
`Hogan, N. 1984 June 6-8, San Diego, California. Imped-
`ance control: an approach to manipulation. 1984 Amer.
`Control Conf.
`Khatib, O., Llibre, M. and Mampey, R. 1978. Fonction
`decision-commande d’un robot manipulateur. Rapport
`No. 2/7156. DERA/CERT. Toulouse, France.
`Khatib, O. and Le Maitre, J. F. 1978 September 12-15,
`Udine, Italy. Dynamic control of manipulators operating
`in a complex environment. Proc. 3rd CISM-IFToMM
`Symp. Theory Practice Robots Manipulators, 267-282. El-
`sevier. 1979.
`Khatib, O. 1980. Commande dynamique dans l’espace opér-
`ationnel des robots manipulateurs en présence d’obstacles.
`These de Docteur-Ingénieur. École Nationale Supérieure
`de l’Aéronautique et de I’Espace (ENSAE). Toulouse,
`France.
`Khatib, O. 1983 December 15-20, New Delhi. Dynamic
`control of manipulators in operational space. 6th CISM-
`IFToMM Congress Theory Machines Mechanisms, 1128 -
`1131.
`Khatib, O., et al. 1984 June, Robotics in three acts (Film).
`Stanford University. Artificial Intelligence Laboratory.
`Khatib, O. 1985 September 11-13, Tokyo. The operational
`space formulation in robot manipulators control. 15th Int.
`Symp. Indust. Robots.
`Khatib, O. and Burdick, J. 1985 November, Miami, Florida.
`Dynamic optimization in manipulator design: the opera-
`tional space formulation. ASME Winter Annual Meeting.
`Khatib, O., Burdick, J., and Armstrong, B. 1985. Robotics in
`three acts-Part II (Film). Stanford University, Artificial
`Intelligence Laboratory.
`Krogh, B. 1984 August, Bethlehem, Pennsylvania. A gener-
`alized potential field approach to obstacle avoidance con-
`trol. SME Canf. Proc. Robotics Research: The Next Five
`Years and Beyond.
`Kuntze, H. B., and Schill, W. 1982 June 9-11, Paris.
`Methods for collision avoidance in computer controlled
`industrial robots. 12th ISIR.
`Lozano-Perez, T. 1980. Spatial planning: a configuration
`space approach. AI Memo 605. Cambridge, Mass. MIT
`Artificial Intelligence Laboratory.
`Moravec, H. P. 1980. Obstacle avoidance and navigation in
`the real world by a seeing robot rover. Ph.D. Thesis. Stan-
`ford University, Artificial Intelligence Laboratory.
`Avidbots Ex1006
`Page 9 of 9
`
`
`
`
`
`
`
`



