Top Banner
Software and Hardware Architecture of a Mobile Robot for Manufacturing Michael Brady and Huosheng Hu Department of Engineering Science University of Oxford Oxford OX1 3PJ England Abstract We discussthe questions posed for the workshop in light of our experience gained over the past seven years developing a succession of implemented mobile robots for application in industry, most notablyin manufacturing. We also discuss mobile robotprojects that seem realistic overthe next five to ten years. Introduction To be fully autonomous, mobile robots should be able to navigate their environment,build or update maps, plan and execute actions, and adapt their behaviour to environmental changes. They should also be able to cooperate with other robots and humanoperators, as well as learn something newfrom their experience. To perform these complex tasks in a real world, especially in real time, demands not only substantial high computing powerbut also computing power of the right sort; that is, a concurrent hardware and software architecture. More generally, architectural issues are key to the design and construction of real robots, just as they are for any computer-controlledcomplex system that is subject to hard (eg time) constraints. Considered from several points view, (mobile) robots pose a tough challenge: ¯ Robots are fast, multi-degree of freedom devices for which the plant kinematics changes as fast as the de- vice moves. This is particularly challenging for robot arm control, but is non-trivial for vehicle control too. ¯ it is necessary to sense the environment in order to deter- mine howto act. The key advantage of mobile robotics is that they can potentially operate in an environment that is variable and uncertain, hencesensing is vital. Because practically important environments vary, it is rarely the case that any single sensor suffices for all situations, so that sensor data-fusion is necessary (Brady et al. 1990). Because sensor data is intrinsically noisy, and the range, reflectance, and other parametersof real sensors are lim- ited, the control system must be able to deal with uncertain information about the environment. Sensors typically have high bandwidths, and there is inevitable processing latency, reducingand jeopardising the stability margin of the control. ¯ Practically useful mobilerobots mustoperate in real time. It is useful to distinguish a number of control layers, which in turn poses the challenge of a multirate, multi- level system. Typically, a control loop operates at about 25Hz.Atrajectory planner needsto be able to deliver set points to the lowlevel control, and be able to perform re- planningof trajectories in case obstacles are encountered: a typical trajectory planner might operate at 1-5 Hz. A path planner needs to be able to propose reasonable paths within a reasonable period. The ability to re-plan or repair a plan that seems almost right is much more useful than an optimal path planner. Optimal path planners typically degrade disgracefully when they are subject to noise and the need to replan (which is almost always the case in practice). ¯ Systems that are fielded in practice must be fail-safe, hence have redundant sensing, processing and actuation. By processing, we meanreasoning, planning, recogni- tion, and modeling. To be fail-safe, it is well to make processingdistributed. ¯ Real systems are judged by performancenot by papers. Over the past decade there has beena great deal of interest in mobile robotics, and a great deal of rhetoric about issues such as representation and architecture. Though it is true that "when all is said and done, a great deal more is said than done", a number of actual mobile robots have been constructed, some of which worked, some fewer of which appear to have workedwell, and far fewer of which were actually transferred into regular practical use. If our views have merit, it is because we belong to the latter group. Overthe past seven years, wehave built a series of mobile robots for practical application, in close collaboration with industry. Nevertheless, our work has always been aimed at addressing generic research issues. Our perspective on the questions posed for the workshop reflect this background. Motivations Clearly, there are many motivations for working on mobile robots in particular, and robotics more generally. First, as in our case, one might approacha problemfrom the standpoint of engineeringscience. In that case, one starts with a range of specifications of actual practical problems, for example 35 From: AAAI Technical Report SS-95-02. Compilation copyright © 1995, AAAI (www.aaai.org). All rights reserved.
9

Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

Apr 14, 2018

Download

Documents

vuonghanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

Software and Hardware Architectureof a Mobile Robot for Manufacturing

Michael Brady and Huosheng HuDepartment of Engineering Science

University of OxfordOxford OX1 3PJ

England

Abstract

We discuss the questions posed for the workshop in light ofour experience gained over the past seven years developinga succession of implemented mobile robots for applicationin industry, most notably in manufacturing. We also discussmobile robot projects that seem realistic over the next five toten years.

IntroductionTo be fully autonomous, mobile robots should be able tonavigate their environment, build or update maps, plan andexecute actions, and adapt their behaviour to environmentalchanges. They should also be able to cooperate with otherrobots and human operators, as well as learn somethingnew from their experience. To perform these complex tasksin a real world, especially in real time, demands not onlysubstantial high computing power but also computing powerof the right sort; that is, a concurrent hardware and softwarearchitecture.

More generally, architectural issues are key to the designand construction of real robots, just as they are for anycomputer-controlled complex system that is subject to hard(eg time) constraints. Considered from several points view, (mobile) robots pose a tough challenge:

¯ Robots are fast, multi-degree of freedom devices forwhich the plant kinematics changes as fast as the de-vice moves. This is particularly challenging for robotarm control, but is non-trivial for vehicle control too.

¯ it is necessary to sense the environment in order to deter-mine how to act. The key advantage of mobile roboticsis that they can potentially operate in an environment thatis variable and uncertain, hence sensing is vital. Becausepractically important environments vary, it is rarely thecase that any single sensor suffices for all situations, sothat sensor data-fusion is necessary (Brady et al. 1990).Because sensor data is intrinsically noisy, and the range,reflectance, and other parameters of real sensors are lim-ited, the control system must be able to deal with uncertaininformation about the environment. Sensors typicallyhave high bandwidths, and there is inevitable processinglatency, reducing and jeopardising the stability margin ofthe control.

¯ Practically useful mobile robots must operate in real time.It is useful to distinguish a number of control layers,which in turn poses the challenge of a multirate, multi-level system. Typically, a control loop operates at about25Hz. A trajectory planner needs to be able to deliver setpoints to the low level control, and be able to perform re-planning of trajectories in case obstacles are encountered:a typical trajectory planner might operate at 1-5 Hz. Apath planner needs to be able to propose reasonable pathswithin a reasonable period. The ability to re-plan or repaira plan that seems almost right is much more useful thanan optimal path planner. Optimal path planners typicallydegrade disgracefully when they are subject to noise andthe need to replan (which is almost always the case inpractice).

¯ Systems that are fielded in practice must be fail-safe,hence have redundant sensing, processing and actuation.By processing, we mean reasoning, planning, recogni-tion, and modeling. To be fail-safe, it is well to makeprocessing distributed.

¯ Real systems are judged by performance not by papers.

Over the past decade there has been a great deal of interestin mobile robotics, and a great deal of rhetoric about issuessuch as representation and architecture. Though it is truethat "when all is said and done, a great deal more is saidthan done", a number of actual mobile robots have beenconstructed, some of which worked, some fewer of whichappear to have worked well, and far fewer of which wereactually transferred into regular practical use. If our viewshave merit, it is because we belong to the latter group.Over the past seven years, we have built a series of mobilerobots for practical application, in close collaboration withindustry. Nevertheless, our work has always been aimed ataddressing generic research issues. Our perspective on thequestions posed for the workshop reflect this background.

MotivationsClearly, there are many motivations for working on mobilerobots in particular, and robotics more generally. First, as inour case, one might approach a problem from the standpointof engineering science. In that case, one starts with a rangeof specifications of actual practical problems, for example

35

From: AAAI Technical Report SS-95-02. Compilation copyright © 1995, AAAI (www.aaai.org). All rights reserved.

Page 2: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

cleaning a baggage handling area at an airport, acquiringpalletised objects in the loading bay of a factory, etc, andsets about defining a system that can meet the specifications.Primarily, success is judged by whether or not one’s systemmeets the specifications and, assuming that it does, to whatextent it can cope with likely problems, is easily fixed, iscosted attractively, and can be adapted to similar problems.A second motivation may be to shed some light on humancognition. Such work may be considered good if it providesan explanation of certain observed cognitive behaviour, forexample dealing with conflicts in reasoning or goals, andmore importantly if it leads to testable predictions whoseresults are not known in advance but which turn out to be aspredicted. Other motivations we have encountered includethe desire to study control systems, and the desire to studyartificial intelligence.

We are sure that there is very good work, entirely sitedwithin the study of human intelligence, and which is basedon mobile robots, or components of such systems. For ex-ample, there has been some superb research on the controlof attention and eye movements by motor physiologists, andsome excellent work on motion perception by psychophysi-cists. Our difficulty is certainly not with such work, but withsystems that claim or advocate a close relationship betweenengineering and studies of humans. The limiting factor inthe design of real robot systems turns out to be humble com-ponents such as motors, transmission elements, gear boxes,and sensors such as TV cameras. The human eye controllerhas many degrees of freedom actuated by a mass of musclesthat transmit power through tendons bathed in sinovial fluid.Unfortunately, no motor currently available, or likely to beavailable for many years to come, even remotely matchesthe performance of muscles, and sinovial fluid, being al-most frictionless, has a coefficient of friction a tiny fractionof that of WD40. From an engineering standpoint, it isfolly to build systems with more than a minimal numberof degrees of freedom, in order to maximise stiffness, min-imise friction loss, and maximise the parameters (eg accel-eration, torque) that determine the usefulness of the system.This fundamental difference is inevitably reflected in higherlevel functions such as trajectory planners, path planners,and mission planners. Examples abound. Exactly similarcomments apply to sensors: theTV camera is nowhere nearthe performance of the human eye, nor will it be for manyyears. In turn, the peculiar characteristics of TV cameras, egpoor dynamic range, low speed, anisotropy, uniformity, yetlinearity, predetermine strategies for motion computation,intensity change detection, and ultimately stereo and recog-nition. Of course, there have been useful interactions at thelevel of stereo, most notably the PMF algorithm, but thatembodies a geometric constraint (disparity gradient limit)not a peculiar aspect of human vision.

SimulationSimulation in robotics, control theory, and AI has mostlybeen a complete waste of time. Of course, there are certaincases in which simulation is inevitable, for example becauseit involves designing a system to operate in conditions that

cannot, or one hopes will not, obtain in practice. Theseinclude designing a system to operate on a planet, say Mars,or in a hostile environment such as a battle, or in an abnor-mally operating nuclear power station. Even in such casesit is never necessary nor wise to rely on simulation alone.There are many landscapes on earth that resemble that onMars, and systems may be asked to operate in a fallen downbuilding to simulate the power station. Equally, it is ofcourse a good idea to use simulations in the development ofa system, eg to help debug hardware or programs: what isat issue is whether results "demonstrated" only using simu-lation should be accorded worth. We think not.

Why has simulation proved to be of such little use inpractice? Simply because it turns out to be very difficult in-deed to simulate to any reasonable degree of approximationthe real world. Much better to immerse a system in the realworld. Simulated sensors rarely if ever behave like real sen-sors, simulated obstacles and simulated objects populatingthe simulated world rarely resemble real objects. Simulatedrobots tend not to have friction, stiction, or to slip. To besure, it is much easier to build simulated systems that liveentirely inside the comfortable world of a workstation. Forthis reason, simulations have flourished but have not addedmuch to the stock of knowledge of robotics.

Structure and coordinationAny robot system or autonomous mobile robot needs con-stantly to process large amounts of sensory data in orderto build a representation of its environment and to deter-mine meaningful actions. The extent to which a controlarchitecture can support this enormous processing task in atimely manner is affected significantly by the organisationof information pathways within the architecture. The flowof information from sensing to action should be maximisedto provide minimal delay in responding to the dynamicallychanging environment. A distributed processing architec-ture offers a number of advantages for coping with the sig-nificant design and implementation complexity inherent insophisticated robot systems. First, it is often cheaper andmore resilient than alternative uniprocessor designs. Moresignificantly, multiple, possibly redundant, processors offerthe opportunity to take advantage of parallelism for im-proved throughput and for fault tolerance. Note that wedistinguish the design of a processing structure (architec-ture) from its realisation in hardware and/or software.

Over the past two decades, a good deal of thought andeffort has been dedicated to the design of architectures totame complexity and achieve new heights of performance.Two principal designs have been adopted: functional andbehaviou.ral decomposition. Functional decomposition fol-lows the classical top-down approach to build systems. Theentire control task of a mobile robot is divided into subtaskswhich are then implemented by separate modules. Thesefunctional modules form a chain through which informationflows from the robot’s environment, via the sensors, throughthe robot and back to the environment via actuators, closingthe feedback loop. Most previous mobile robots have beenbased on this approach, including, for example, hierarchi-

36

Page 3: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

Vision head Laser scanner

LEP

LICAs

controller

I Sona r ~ ~

Figure 1: Structure of our mobile robot

cal (Daily & et al 1988) and blackboard (Harmon 1987)architectures; but both of these have inherent limitations,including poor use of sensory information, reduced band-width causing bottlenecks, and difficulty in dealing withuncertainty.

In contrast, behavioural decomposition is a bottom-up ap-proach to building a system. A behaviour encapsulates theperception, explore, avoidance, planning, and task execu-tion capabilities necessary to achieve one specific aspect ofrobot control. That is, each is capable of producing mean-ingful action, and several such can be combined to formincreasing levels of competence (Brooks 1986). In otherwords, each of them realises an individual connection be-tween some kind of sensor data and actuation. The systemis built step by step from a very low level, say from loco-motion, to obstacle avoidance, to wandering. Successivelevels can be added incrementally in order to enhance thefunctionality of the robot.

This design method has grown in popularity recently andseveral proponents of such systems will be at the workshop.In the subsumption architecture, for example, control is dis-tributed among those task-achieving behaviours that operateasynchronously. Lower layers can subsume the operationof the higher ones when necessary, only one layer actuallycontrolling the robot at any one time. Since each layerachieves a limited task, it requires only that informationwhich is useful for its operation. It is claimed that the con-trol system can respond rapidly to dynamic changes in theenvironment without the delays imposed by sensor fusion.But the implementation of higher layers of competence stillposes a problem. More careful initial design in specifyingthe communications and modularity is required. Moreover,the higher levels often rely on the internal structure of lowerlevels, thus sacrificing modularity.

Neither of these approaches suffices, since the control ofa mobile robot is so complex that one cannot strictly adhereto one decomposition scheme while completely ignoring theother. Each has benefits and drawbacks. We have developedand implemented an architecture that is, we contend, a blendof the best features of each. It consists of a distributedcommunity of sensing, action and reasoning nodes. Each ofthem has sufficient expertise to achieve a specific subtask,following a hierarchical decomposition scheme. Few ofthem are composed of a single task-achieving behaviour asin a behavioural decomposition scheme. The key point isthat the control task of the mobile robot is distributed amonga set of behaviour experts that tightly couple sensing andaction, but which are also loosely coupled to each other. Inthis way, sensor data can be used directly in a correspondinglayered control task to form a task-achieving behaviour.This differs from the functional decomposition in which thecombination of subtasks is a single processing chain. Tofunction effectively, each layer requires a significant amountof self-knowledge to allow it to decide what information itcan supply to others; how best to recover from local errors;as well as what to do if no information is sent from otherlayers.

Basically, there are two subsystems in our design: a lay-ered perception system and a layered control system (Hu,Brady, & Probert 1993). The layered perception system isused for active sensor control and distributed sensor fusionto support a layered control strategy. The layers processraw sensor data from internal sensors (tachometer, encoder,resolver) and external sensors (sonar, vision, laser scanner,LEP sensor) to build up models in a bottom-up manner. Fig-ure 1 shows the current structure of our mobile robot withmultiple sensors. All the sensing layers operate indepen-dently and are loosely coupled. Communication betweenthem is used to realise sensor data fusion. The design ofthe layered controller is based primarily on the observa-tion that different response times are demanded by differ-ent tasks. The lower levels perform simple, general taskssuch as smooth path guidance and avoiding obstacles forfast reactivity. The higher levels perform more complex,situation-specific tasks such as path planning and monitor-ing. All layers operate in parallel.

Each layer of our distributed real-time architecture con-sists of a control node and a sensing node. Each sensingnode delivers a representation, which, in the context of agiven task, causes a corresponding control node to generatecommands. Here, we try to avoid a centralised and compli-cated model for a dynamic environment since it needs moretime to compute, thereby reducing the system’s responsespeed. Instead, we are employing several simple models,each tuned to a different range and resolution of situationsfor different tasks. In other words, this multi-model controlarchitecture takes the real-time capability and the expectedtask-achieving behaviours into account.

There are several issues that concern the realisation inhardware or software of distributed architectures such asthose described above. For example, one key issue is gran-ularity: a fine-grained architecture is generally considered

37

Page 4: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

From/ToLICA

External Device

11t t

t t

Camp

LICAs

(.) (b)

Figure 2: Diagram of LICA concept

to comprise many thousands of individual processing el-ements, while a coarse-grain architecture comprises justa few tens or hundreds. In every case, there is a trade-off between computation and communication. Granular-ity greatly influences software design. We have adopted acoarse granularity because there is a well developed theoryof inter-process communication (Hoare 1985) and commer-cially available processors to implement it (transputers).Our design is based on a module called LICA (Locally In-telligent Control Agent), as we now describe.

LICA Concept

As noted above, we have fixed on a modular architecturethat we call a Locally Intelligent ControlAgent (LICA), andwhich is based on the concept shown in Figure 2. The LICAdesign is independent of any particular processor. Centralto such a design is the concept of Communication Sequen-tial Processes (CSP) which was developed by Hoare (Hoare1985). Although we have already implemented the LICAconcept using transputer technology (Limited 1988), have begun to investigate the applications of other proces-sors such as SIEMENS 80C166, PowerPC, and DEC alphaprocessors into the LICA architecture.

The transputer was designed to execute CSP efficientlyand specifically for dedicated applications in embedded real-time systems. Its high speed serial links (up to 20MBit/s forT8 transputer) provide a convenient way to build a parallelprocessing computer architecture. It has outstanding capa-bility for input and output, and an efficient response to theinterrupts. These features are supported by a timesharing(multi-programming) operating system which is built intothe chip. An application program can therefore be struc-tured naturally as a collection of loosely coupled parallelprocesses, modelling the parallel structure of the environ-ment in which they are inbedded.

Dozens of LICAs have been built for a variety of pur-poses, including high level planning functions, low levelvehicle control, and for sensor data interpretation and fusion.Figure 2(a) shows the logical functions of a typical LICAwhich includes drive interface to external sensors and mo-tors, computing power and memory, as well as high speed

Figure 3: A LICA-based system architecture for our mobilerobot

serial links. We have built a range of different interfacemodules, such as a sonar TRAM, a linear camera TRAM,an A/D, a D/A, a digital I/O, a RS232, a counter/timer orany combination of these modules (Hu 1992).

Each LICA is an expert in its own localised functionand contains its own localised knowledge source, as shownin figure 2(b). Each LICA uses high speed serial linksto communicate directly with other LICAs. There is noshared memory. The LICAs run independently, monitoringtheir input lines, and sending messages on their output lines.Once a LICA has input data to work on, the data is processedand the results are held for a certain predefined time for otherLICAs to read. If no valid data is available, the LICA givesup its input process and continues with other processing.

A Modular ArchitectureThe LICA encourages a modular approach to building com-plex control systems for intelligent mobile robots to enablethem to perform navigation, planning, and control tasks inreal time. The LICA-based modularity offers flexibilityin changing the system configuration between the differentapplications by exploiting serial link communications. Itprovides a degree of robustness and reliability, as well asa cost-effective solution to problems of designing complexrobot systems. Figure 3 shows that the control system isbuilt from 23 LICA boards. Note that the number of LICAsfor each task-achieving behaviour such as path planningand obstacle avoidance is flexible, and depends upon theparticular sensor and the system time constraints.

Figure 4 shows the corresponding software structure. Itis implemented by INMOS C which is a special configu-ration language able to distribute processes over a networkof transputers and to create a multi-processor system veryquickly. Note that there are eight main processes in Figure4. Each of them in turn consists of many subprocesses. All

Page 5: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

Figure 4: Software structure for the control system

the processes are correspondingly mapped into the LICA-based transputer network shown in Figure 3, and operate inparallel. A typical mapping for the active stereo vision headonto the LICA architecture is sketched in the next section.The mapping for other sensors and the layered controllercan be found in (Hu, Brady, & Probert 1993).

The LICA-based Active Vision Head

To enhance the visual navigation capabilities of the systemwhen it is confronted by a dynamic environment and inorder to explore the potential of using active vision forvisual navigation, a locally-developed, LICA-based activevision system (Du & Brady 1992), named Neuto, has beenincorporated onto the vehicle.

Using the four degree-of-freedom stereo robot head, thevision system is able to actively change its geometry to adaptto the task requirements and is able to plan and executeaccurate camera motions (Du & Brady 1994). Figure shows that the system has several functional blocks, namely:

¯ The robot head and its real-time motion controller areresponsible for carrying out the desired joint motions.

¯ The gaze controller is responsible for generating and con-trolling a set of useful behaviours which are important forvisual information processing.

¯ The low level image processing is generally task inde-pendent. It provides on demand a set of low level visualfeatures and an estimate of visual motion, and transmitsthem to high level image processing and the gaze con-troller.

¯ The high level image processing is used to interpret theinformation according to the task requirements. Head-

The LICA-based Control PlatformStereo Head

To Vehicle Controller

Figure 5: The active vision subsystem

Table 1: The performance of the head.

Joint Verges Elevation Pan

Resolution 0.00360 0.0018o 0.0036o

Max. joint acc. 7000°/S2 lO00°/s2 2000°/82Max. joint rate 530°/s 200° / s 450°/s300 slew time 0.14s 0.34 s 0.23 s900 slew time 0.25 s 0.4 sPosition error < lcount < 2count < 2countDead time < 5ms < lOres < lOresRepeatability 0.00750 0.130 0.00750Min. speed < 0.1°/s < 0.1°/s < O.l°/sMotion Range 4-60o 4-750 4-900

vehicle coordination controls the overall behaviour ofthe active vision system and information exchange be-tween vision and the vehicle controller. It must initialiseappropriate behaviours and image processing algorithms.to achieve its current purpose.

The joint motion control of the robot head is basedon a compact, high performance, real-time joint mo-tion controller (which is implemented on a 6U Eurocard,(160 x 230mm~). The real-time joint motion is controlledby PID controllers working at 2.93kHz. The performanceof the head is summarised in Table 1.

The computing/control platform of the active vision sys-tem is implemented using a network of 32 T800 trans-puters on 9 LICA boards. To maintain compactness, twotransputer-based frame grabbers are used to capture the im-ages. The architecture of the vision system is shown inFigure 6. That is, the network topology can be changedboth locally and globally to implement specific tasks. Forlow level image processing (monocular image processingfor the left and right cameras) short length pipelines and in-tensive parallelism are used to provide high sample-rate andshort latency. These are key to achieve the real-time controlof actions (head motions). The data fusion represents mid-dle level image processing and the perception corresponds

39

Page 6: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

kalear .................

Figure 6: The architecture of the vision system.

to the high level reasoning and image understanding. Thisarchitecture enables us to integrate various strategies andalgorithms into the system.

The maximum tracking speed achieved by the stereo headin our experiments is about 500 per second. In a typicalexperiment, a torch held by a person is moving at a speed ofabout I 0cm/s. The vision head tracks its light and locates itsposition and angle relative to itself. Then such informationis used to calculate the moving speed and steering for theAGV to pursue it. The AGV will follow the spot lightwithin a certain distance, and will backtrack if the torch istoo close (within 1.5m safe distance).

Representation and planningPlanning is central to purposive behaviour. To plan is toformulate a strategy to achieve a desired state of affairs,in the jargon, to attain a goal. An inability to plan im-plies purely reflexive responses, with an agent stumblingaimlessly about in response to unexpected external events.However, planning has traditionally been treated as a purelypredictive process where complete knowledge is assumeda priori about the environment either in the form of a qual-itative or a quantitative model. A complete sequence ofsteps that solve a problem or reach a goal are determinedbefore taking any action. Recovering from error and dealingwith unexpected events is usually left as a subsequent exe-cution stage. As a result, traditional planning systems areinherently open-loop and unable to handle unmodelled dis-turbances in the real world. Recently, research on planninghas focussed on a planner’s ability to cope with a dynamicenvironment, under the name of reactive planning. This isbecause unforeseen changes in the world, coupled with un-

certainty and imperfect sensory information, force an agent(or a robot system) to plan and react effectively under timeconstraints. In other words, planning must evolve over time,through cycles of sensing, planning, and action, updating itsinternal model dynamically when new information becomesavailable.

Planning embraces a broad range of abilities, and for ourpresent purposes it is useful to distinguish four: missionplanning is the process of determining the requirements andconstraints for the global tasks and obtaining an optimalschedule for multiple goals. Global path planning aimsto find a collision-free path (a set of intermediate points)for a mobile robot to follow from the start position to thegoal position. In contrast, local path planning generatesrelatively local detours around sensed obstacles while fol-lowing a globally planned path. Finally, trajectory planninggenerates a nominal motion plan consisting of a geometricalpath and a velocity profile along it in terms of the kinematicsof the individual robot.

What we call mission planning is what is normally calledplanning in cognitive AI. For example, planning a journeyto Koh Samui, subject to constraints (eg to get there withina week), probably involves flying via Bangkok rather thanwalking. Planning the assembly of a complex device such asa car engine inevitably involves hierarchical decompositioninto substructures, each planned separately but respectinginterfaces. Military mission planning involves the disposi-tion of forces, continually monitoring enemy movements,and anticipating then countering threats.

Global path planning for a mobile robot in a known envi-ronment with known static objects has been studied exten-sively. Graph searching and potential field methods are thetwo main approaches used to solve the path-finding prob-lem. The main feature of both methods is that the entireenvironment is modeled geometrically before the motiontakes place. In the graph searching approach, a graph is cre-ated that shows the free spaces and forbidden spaces in therobot’s environment. A path is then generated by piecingtogether the free spaces or by tracing around the forbid-den area. In contrast, the potential field approach uses ascalar function to describe both objects and free space. Thenegative gradient of the potential field precisely gives the di-rection to move to avoid obstacles. It offers a relatively fastand effective way to solve for safe paths around obstacles.

However, a robot’s environment is not always static. Dy-namic changes may be due to the motion of the robot, theappearance and disappearance of objects, and to object mo-tion. If the changes are predictable, they can be taken intoaccount when the robot plans its optimal path. But, if theworld changes unpredictably, the robot has to plan and re-plan a collision-free path dynamically. This is the problemof planning under uncertainty. In such a case, a robot hasto rely on its sensors to detect unexpected events and thenadapt its path accordingly.

In real life, in both mission planning and global pathplanning, we need to react to unforeseen events, modify ourplans accordingly, contending all the while with uncertaininformation, and do so against constraints such as time. In

Page 7: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

every instance of planning in the real world, the best laidplans do indeed "gang aft a-gley".

The earliest influential planning system, STRIPS (Fikes& Nilsson 1972), planned a sequence of moves througha set of rooms to reach a desired location. Unlike mostsubsequent planners, STRIPS was connected to a plan exe-cution software module, PLANEX, which orchestrated theexecution of the planned path devised by STRIPS on asensing mobile robot SHAKEY. SHAKEY’s sensors coulddetect unexpected obstacles, causing PLANEX to suspendits script, halting the robot, so that STRIPS could be invokedafresh in the new situation. In this way, Shakey’s behaviouralternated mindless script following and long periods ofplanning, which was regarded as a form of reasoning.

Recent work in planning has aimed to overcome this lim-itation. A variety of proposals have been made to developthe idea of a situated agent (Arge & Rosenschein to appear1995), a software object that is intended to be in contin-uous interaction with the world. Sadly, the vast majorityof situated agents only inhabit a simulated world in whichthe problems of noise, uncertainty, and clutter are absent(but see Rosenschein (Rosenschein & Kaelbling 1986) a notable exception).

Our work has concentrated on path planning for a mo-bile robot. The first issue being addressed is how to modelthe dynamic, uncertain environment in a manner that makesit possible to provide a solution for an optimal path con-strained by the real world. Most approaches use activeon-board sensors for the acquisition of information aboutthe robot’s surroundings, for which various grid represen-tations of the environment have been proposed. In suchapproaches, probabilistic models are built based on gridcells and updated dynamically using sensor data. A path isthen found by minimising the probability of encounteringobstacles. However, such methods require enormous com-putation to set up different grids to map the environment,forcing the robot to deal with huge amounts of data. More-over, if the kinematics and dynamics of a non-holonomicmobile robot are taken into account, the method is diffi-cult to implement. Since there is not complete informationabout the robot’s environment during planning, the methodsachieve a suboptimal solution in most cases.

We have proposed a probabilistic approach to address theproblem of path planning with uncertainty for mobile robots.Instead of using an uncertainty grid, we use a topologicalgraph to represent the free space of the robot’s environment,weighted by scalar cost functions. The statistical models arebuilt to quantify uncertainty, forming uncertainty costs forunexpected events. These uncertainty costs are updated byavailable sensor data when the robot moves around. Anoptimal path is then found from the topological graph usingcost functions and dynamic programming.

Analogous to the comment made earlier about missionplanners, in traditional planning systems, global path plan-ning and local path planning are sequential processes. Inother words, the local planner is idle when the global plan-ner is busy, and vice versa. This causes a delay for the wholesystem, since the local planner, whenever a preplanned path

is blocked, triggers the global planner and then has to waitfor an alternative path. Concurrent processing of both plan-ners is crucial for avoiding delays. In our design, however,the global planner generates alternative subgoals dynami-cally when the robot is travelling along a preplanned optimalpath. In other words, it is always assumed that the next nodeof the preplanned path may be blocked by unexpected ob-stacles. If this turns out to be true, the local planner canbacktrack along these subgoals without delay. However,if nothing happens when the robot is approaching the nextnode, the alternative subgoals provided by the global plan-ner will be ignored. The system has been implementedand performs real-time local and global path planning andobstacle avoidance. Dynamic replanning is performed asnecessary based on the decisions that are rooted in sensoryinformation.

Any robot or animate system that operates continuouslyin the real world must rely on information provided by itssensors. It is not possible, regardless of how many sensorsare used or how discriminating they are, to observe directlyeverything of interest, all the time, and with complete accu-racy: the sensors available may not be able to make directobservations of everything of interest. As we noted above,there is always a limit to the temporal sampling; and allsensors are subject to noise and error. Therefore, a planningsystem is not able to maintain a complete picture of theenvironment with complete certainty.

A system which plans under uncertainty must maintainmultiple possibilities for the state of the world, and associatewith each some degree of belief. Some alternative worldstates will be more likely than others; for example the sys-tem must allow for the possibility that the sensor data isincorrect. New sensor data about the world must be usedto update these possibilities and beliefs; some alternativesmay be ruled out, new alternatives generated, while othersmay become more or less likely.

Let us suppose, for example, that a mobile robot is com-manded to travel along a path generated by a global pathplanner. While traversing the path, an unexpected obstacleappears and the possibility of a collision arises. Since sen-sors inevitably have limitations on their range and accuracy,they may not be able to tell exactly whether the gap be-tween the obstacle and a known object is wide enough for asidestep manoeuvre when the mobile robot is some distanceaway. A decision is required as to whether the robot shouldcontinue its motion along the path, to make further obser-vations to maneuver (at a certain cost), or, alternatively, follow a different path and incur a certain loss. If the cost ofdoing extra sensing is less than the cost of taking the alter-native path, it may be worth persevering along the originalpath. But the robot may eventually find the gap impassable,incurring an overall cost greater than immediately abandon-ing the planned path and following the alternative. Hu andBrady (Hu & Brady 1994) adopt a Bayesian decision theo-retic approach to this problem. First, a probabilistic modelis formulated of the (sonar) sensory information availableto the robot. A loss function is defined that provides theoutcome of an action (eg sidestep) given the path state (eg

Page 8: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

passable). Then that action is chosen which minimises theBayes risk.

The Bayesian framework is but one of a number of ap-proaches to uncertainty that has been explored in AI. Pearl(Pearl 1988) makes the following classification of AI ap-proaches to uncertainty: Iogicist, neo-calculist, and neo-probabilist. Logicist approaches use non- numerical tech-niques for dealing with uncertainty, mainly non-monotoniclogics. Neo-calculist approaches use a numerical represen-tation of uncertainty, but invent new calculi, consideringthe traditional probability calculus inadequate; examplesare Dempster-Shafer calculus, fuzzy logic, certainty factors(see (Nicholson 1992) for references). The neo-probabilistschool, which includes our work, remains within the tradi-tional Bayesian framework of probability theory but addsthe computational facilities required by AI tasks.

There have been many objections by the AI commu-nity to the use of probability, including the observation thatpeople seem to be bad probability estimators. When theplanning/navigating system asserts that "The chances thatan object in region X at time T will move to region Y isp", the important thing is not the precise magnitude of p,so much as the specific reason for this belief (the sensordata, its schedule, or its previous movement), the context orassumptions under which the belief should be firmly held,and the information which would lead to this being revised.

Belief networks allow the representation of causal rela-tionships, and provide a mechanism for integrating logicalinference with Bayesian probability. Belief networks aredirected acyclic graphs, where nodes correspond to randomvariables, say world states or sensor observations. The rela-tionship between any set of state variables can be specifiedby a joint probability distribution. Evidence can be pro-vided about the state of any of the nodes in the network.This evidence is propagated through the network using abidirectional (message passing) mechanism, affecting theoverall joint distribution.

We return to belief networks soon, but first we pause toconsider an extremely useful first cousin, the Kalman filter.The Kalman filter maintains an estimate of the state x of asystem and a covariance estimate P of its uncertainty. BarShalom and Fortmann (Bar-Shalom & Fortmann 1988) pro-vide a lucid introduction to the theory of Kalman filtering.The application of the Kalman filter to sensor-guided controlis used to reduce the discrepancy between the planned andactual states of a robot vehicle which increase, as does thestate uncertainty, when no sensor measurements are made.Suppose, however, that the vehicle senses a planar surface.Consistent with our intuitions, the uncertainty orthogonal tothe wall decreases sharply; but continues to increase in thedirection tangential to the wall. If a second wall is sensed,the state uncertainty is sharply reduced.

The Kalman filter assumes that the dynamics of the sys-tem can be linearised, so that the transformation from thestate at the kth time step to the k -I- lth are given by a matrix(linear) operation on the state, but corrupted by noise. In itssimplest form, the Kalman filter algorithm proceeds as fol-lows (see, for example, page 61 (Bar-Shalom & Fortmann

1988)): (i) the state and uncertainty are predicted at k + 1 on the basis of the system dynamics and previousstates; (ii) measurements of the state are then taken. It is ex-pected that these will be corrupted by noise. (iii) finally, theestimate of the state and uncertainty at time k + 1 is formedby a linear combination of the prediction and measurement,the exact combination being controlled by the uncertainty,as a measure of the extent to which the predicted state andmeasured state are to be believed. The Kalman filter hasthe property that, under certain reasonable assumptions, itis the optimal state estimator. Not that it is without prob-lems in practice. Among the more severe of these are (i)the difficulty of computing a good initial state estimate;(ii) the difficulty of determining appropriate gain matrices;and (iii) the difficulty of identifying and approximating realplants in the simple form shown. The Kalman filter hasbeen much used at Oxford (and elsewhere) to guide robotvehicles, track moving shapes, and compute egomotion.

The Kalman filter is related to the distributed process-ing discussed in the previous section. In a typical fieldedsystem, a set of sensors make independent measurementsof components of the state and report them, at each step,to a central processor that runs the Kalman filter. If oneof the sensors ceases to operate, the system continues torun, albeit it with increased state uncertainty. If, however,the central processor ceases to operate, the whole systemfails. An obvious alternative design is to distribute theKalman filter amongst the sensors (in the current parlancethis makes them "smart" sensors) and enable them to com-municate their state estimates amongst themselves. Rao,Durrant-Whyte, and Sheen (Rao, Durrant-Whyte, & Sheen1993) have shown that the equations of the Kalman filtercan be partitioned so that such a fully decentralised systemconverges to the same global optimum as the centralisedsystem. The system degrades gracefully as "smart" sensorscease to operate, and upgrades gracefully as new "smart"sensors are introduced into the system.

Dickson (Dickson 1991) notes "The correspondence be-tween Bayesian networks and Kalman filters should comeas no surprise, as both are rigorous applications of Bayes’theorem, each in their particular domain. While the Kalmanfilter gains its power and efficiency from the theory of lin-ear transformation, no such simple mapping is availablebetween the nodes of the Pearl network... The condition in-dependence which is the centrepiece of Bayesian networksis of more ancillary importance to the application (but notthe theory) of Kalman Filters". Nicholson (Nicholson 1992)has explored methods for constructing a predict - measure- update cycle, analogous to a Kalman filter, but liberatedfrom the latter’s dependence upon a linear algebraic repre-sentation of state and state change. The choice of belief net-works is well-founded since the connection between themand Kalman filters has been established by Kenley (Kenley1986).

LearningOf course, the ability to learn is important in practice fora mobile robot. First, the robot itself changes, not least

Page 9: Software and Hardware Architecture of a Mobile Robot for ... · Software and Hardware Architecture of a Mobile Robot for ... the desire to study control ... Software and Hardware

if it picks up objects for delivery or disposal. There is awell-developed theory of system identification and adap-tive control, which has been applied to robots by Holler-bach, Atkeson, and An. Equally, the robot’s environmentmay change: to take a familiar example, the road betweenone’s home and work may be subject to repair and trafficto unacceptable delays. We have built in to our Bayesiandecision system the ability to update its environment modelto cope with such changes, and to gradually forget them soas to try the original route once more. It is, in fact, desir-able that the robot should learn its environment model, forat least two reasons. First, it is tedious to specify a modelof even a moderately complex environment. Second, andmore significantly, the environment model is determined bythe sensors. A typical model of an indoor laboratory used incurrent mobile robotics imagines ideal planar walls. How-ever, walls are rarely ideal planes; more usually there areholes in the wall surface, for example for electricity sockets.A mobile robot equipped with a sonar sensor will typically"hear" such holes absolutely repeatedly and reliably, hencethey can, and should, appear in the environmental model.Integrating such sensor models for a variety of sensors is alargely open problem.

Where next?The use of mobile robotics for parts handling and deliveryis increasingly common in manufacturing industry. Thereare hundreds of fielded systems. Nearly all of them aretracked or line following, because currently such systemsare far more accurate than "free ranging" systems that lo-cate their position using retroreflecting beacons. Majorapplication opportunities are opening up in outdoor mobilerobotics: (i) stockyard parts acquisition and delivery; (ii)subsea; (iii) dockside automation; (iv) inshore navigation;(v) civil construction; and (vi) parts delivery inside nuclearpower stations. All of these are characterised by imper-fect information generated by application specific sensorsfrom which decisions must be made in real time. In eachcase, a fixed environmental model suffices, with occasionalupdates. Cases (i), (ii) and (iii) predominantly require vances in sensing and sensor-based obstacle avoidance; case(iv) primarily sensor data-fusion; and case (v) high accu-racy (typically 5mm over a range of 100m. Applicationsthat are often talked about, but which seem to have verylimited likelihood of being fielded over the next decade, in-clude object delivery in hospitals and offices; robot "guidedogs", and sentries, eg in prisons. It is fun to imagine farout applications: measurable progress will come from workon real problems.

AcknowledgementsWe wish to thank GEC Fast for the original loan of theAGV, the staff at GCS for their continuing help and en-couragement, Penny Probert and Hugh Durrant-Whyte formany insightful conversations, and many people within theOxford Robotics Research Group for contributing towardsthe project. Thanks also to the SERC ACME for their finan-cial support under grants GR/G37361 and GR/K39844,

as well as to the Epidaure project at INRIA Sophia Antipolisfor hosting JMB on sabbatical leave.

ReferencesArge, P., and Rosenschein, S. to appear, 1995. Special Issue ofArtificial Intelligence. Elsevier Science B.V.Bar-Shalom, Y., and Fortmann, T. 1988. Tracking and DataAssociation. Academic Press.Brady, J.; Durrant-White, H.; Hu, H.; Leonard, J.; Probert, P.;and Rao, B. 1990. Sensor-based control of AGVs. lEE Journalof Computing and Control Engineering 64-70.Brooks, R. 1986. A robust layered control system for a mobilerobot. IEEE J. Robotics and Automation 2:14.Daily, M., and et al. 1988. Autonomous cross-country navigationwith the alv. In Proc. 1EEE Int. Conf. Robotics and Automation,718-726.Dickson, W. 1991. Image Structure and Model-based Vision.Ph.D. Dissertation, University of Oxford.Du, E, and Brady, M. 1992. Real-time gaze control for a robothead. In Int. Conf. on Automation, Robotics, and ComputerVision.Du, E, and Brady, M. 1994. A four degree-of-freedom robot headfor active vision. International Journal of Pattern Recognitionand Artificial Intelligence 8(6).Fikes, R., and Nilsson, N. 1972. Strips: a new approach tothe applicationof theorem proving to problem solving. ArtificialIntelligence 3.Harmon, S. 1987. The ground surveillance robot (gsr): autonomous vehicle designed to transit unknown terrain. IEEEJ. Robotics and Automation 266--279.

Hoare, C. 1985. Communication Sequential Processes. London,England: Prentice Hail.Hu, H., and Brady, J. 1994. A bayesian approach to real-timeobstacle avoidance for an intelligent mobile robot. Int. Journalof Autonomous Robots 1(1):67-102.Hu, H.; Brady, J.; and Probert, P. 1993. Transputer architecturefor seneor-guided control of mobile robots. In Proc. of WormTransputer Congress’93.Hu, H. 1992. Dynamic Planning and Real-time Control for aMobile Robot. Ph.D. Dissertation, University of Oxford.Kenley, C. 1986. Influence Diagram Model with ContinuousVariables. Ph.D. Dissertation, Dept. of Engineering-EconomicSystems, Standford University, California.Limited, I. 1988. Communicating Process Architecture. Hert-fordshire, U.K.: Prentice Hall Intemational(UK) Limited.Nicholson, A. 1992. Monitoring Discrete Environments usingDynamic Belief Network. Ph.D. Dissertation, University of Ox-ford.Pearl, J. 1988. Probabilistic reasoning in intelligent systems.Morgan Kaufman.Rao, B.; Durrant-Whyte, H.; and Sheen, J. 1993. A fully decen-tralised multi-sensor system for tracking and surveillance. Int. J.Robotics Research 1 (12).Rosenschein, S., and Kaelbling, L. 1986. The synthesis of digitalmachines with provable epistemic properties. Morgan KaufmannPublishing Company.