Behavior coordination using multiple-objective decision ... - CiteSeerX

66 downloads 0 Views 373KB Size Report
Lorenz and Niko Tinbergen2) and behavioral psychologists (e.g., Ivan P. Pavlov and Edward L. Thorndike3) the development of robot behaviors was motivated.
Behavior coordination using multiple-objective decision making Paolo Pirjaniana and Henrik I. Christensenb a Laboratory of Image Analysis, Aalborg University, DK-9220 Aalborg, Denmark b Centre for Autonomous Systems, Royal Institute of Technology, S-100 44 Stockholm, Sweden

ABSTRACT

In this paper we demonstrate how principles of Multiple Objective Decision Making (MODM) can be used to analysis, design and implement multiple behavior based systems. A structured methodology is achieved where each system objective, such as obstacle avoidance or convoying, is modeled as a behavior. Using MODM we formulate mechanisms for integrating such behaviors into more complex ones. A mobile robot navigation example is given where the principles of MODM are demonstrated. Simulated as well as real-world experiments show that a smooth blending of behaviors according to the principles of MODM enables coherent robot behavior. Keywords: action-selection mechanisms, multiple-objective decision making, behavior-based, obstacle avoidance, mobile robotics

1. INTRODUCTION

A fundamental problem for autonomous agents, e.g. intelligent robotic systems, is to decide what to do next. This problem is in the literature denoted the action selection problem. The following is a de nition of the Action Selection Problem (ASP) given by Maes in1 : \How can an agent select `the most appropriate' or `the most relevant' next action to take at a particular moment, when facing a particular situation?"

I.e., given a set of actions X = fx1 ; :::; xn g the agent has to decide which one to chose. In most cases when deciding what next action to take, multiple con icting objectives should be considered simultaneously, subject to certain constrains dictated by the physical agent's limitations such as maximum speed and/or acceleration. A major issue in the design of systems for control of autonomous mobile agents is formulation of e ective mechanisms for combination of multiple objectives into strategies for rational and coherent behavior. Several principled methods have been investigated for planning actions for autonomous mobile robots. These methods range from symbolic AI planners to the more successful and increasingly popular behavior-based approaches. This methodology has in the recent years displayed a signi cant success in the eld of robotics due to several reasons outlined in the following. The behavior-based approach proposes techniques which allow exploration of architectures to control physically embodied mobile robots. Through studies of animal behavior by ethologists (e.g., Konrad Lorenz and Niko Tinbergen2) and behavioral psychologists (e.g., Ivan P. Pavlov and Edward L. Thorndike3) the development of robot behaviors was motivated. In behavior-based systems, intelligent behavior is achieved through combining a set of goal-directed units, called behaviors. Each behavior is responsible for controlling the robot to achieve or maintain a particular objective such as following a target or avoiding obstacles. A major problem of this approach is concerned with the coordination of multiple behaviors to achieve more complex ones. Numerous coordination mechanisms can be found in the literature. Figure 1 shows a classi cation of coordination mechanisms suggested in.4 The classi cation divides coordination mechanisms into state-based and continuous. In a given state or context only a relevant subset of the robot's behavior repertoire needs to be activated. Statebased coordination mechanisms select a set of behaviors that is adequately competent of handling the situation corresponding to the given state. This further leads to ecient use of sparse system resources. The authors of4 further Other author information P. Pirjanian (correspondence): Email: [email protected]; WWW: http://vision.auc.dk/~paolo H. I. Christensen: Email: [email protected]; WWW: http://www.nada.kth.se/~hic

Coordination Classes

State-Based

Competetive

Continuous

Temporal Sequencing

Cooperative

Figure 1. Classes of coordination modules. Taken from.

4

divide state-based coordination mechanisms into temporal sequencing and competitive. Architectures using temporal sequencing include the Discrete Event Systems formalism5 and a similar method called temporal sequencing described in.6 Examples of competitive methods are the activation network approach7 and the subsumption architecture.8 To ensure a coherent behavior, continuous coordination mechanisms must coordinate the set of behaviors that are active simultaneously in the present state. Examples of cooperative mechanisms are the potential- eld method,9 vector summation used in,10 blending of fuzzy behaviors,11 the dynamic systems approach12 and voting mechanisms.13 In this paper we describe a continuous coordination mechanisms based on principles from the Multiple Objective Decision Making (MODM) formalism.14,15 In a nutshell, each behavior calculates an objective function over a set of permissible actions. The action that maximizes  the objective function corresponds to the action which best satis es that objective. Multiple behaviors are blended into a single more complex behavior that seeks to select the action that satis es simultaneously all the objectives as good as possible. We show that using the MODM formalism a methodology is achieved for structured design and implementation of multiple behavior based systems. We describe an example where three navigation behaviors, each representing an objective, are implemented and blended to form a more complex behavior that can attain the conjunction of the particular objectives. The characteristics of the resulting behavior is investigated through a set of simulated as well as preliminary real-world experiments.

2. COMBINATION OF MULTIPLE OBJECTIVES

Each navigation context or state imposes di erent requirements on the strategy of navigation. In other words, in order to accomplish the given task satisfactorily a number of objectives should be satis ed. However, these multiple objectives can be competitive and con icting: i.e. the improvement in one of them can be (and often is) associated with a deterioration in another. Nonetheless, in a given circumstance including system resource limitation we seek the solution or solutions (control parameters) that best satisfy all the given objectives simultaneously. In our approach we propose to formulate the coordination of multiple behaviors as the optimization of a number of relevant objective functions simultaneously. The approach consists of the following steps: 1. Analysis and design: Given a set of system goals we formulate a set of speci c objectives and corresponding operational attributes, which are indicators of objective satisfaction. Then we formulate objective functions oi (x) for i = 1; :::; n, where x 2 X is an N -dimensional control variable x = (x1 ; x2 ; :::; xN ), and X is a set of possible alternative actions (control parameters). Thus each objective function evaluates the desirability for each x 2 X . 2. Implementation: Given the design, we implement behaviors that can estimate the attributes for each objective. The estimation of the attribute values can be based on direct sensing, explicit geometrical reasoning, planning based on prior knowledge or any other appropriate method. 3. Action selection: From the set of possible actions X , an action x^ 2 X should be chosen that best satis es all objective functions. This is formulated in the following way:

x^ = argmax x  Or

[o1 (x); o2 (x); :::; on (x)] subject to x 2 X;

the action that minimizes the objective function, depending on the way the objective function is formulated.

(1)

where X is the set of permissible control variables that somehow (explained later) constrain the optimization process. The selected control parameters x^ optimize the multiple objective system (1). In the following sections we describe in some detail each step of the approach.

2.1. Analysis and design

In this section we discuss how to go from a high-level goal description to an operational set of objective functions. That is, formulation of objective functions that can actually be evaluated given (attributes provided by) the capabilities or prior knowledge of the intended agent or robotic system. As we will see, this process consists of a top-down analysis of task objectives and the design of a set of attributes that are indicators of those objectives. An understanding of the meaning, structure and properties of the terms objectives and attributes is crucial to capture the essence of the multiple objective optimization problem. The following de nition of the term objective is given in14 : \ ... Objectives are statements of \wants" and thus may or may not be achievable. ... they are standards against which the quality or performance of a given alternative may be evaluated."

And the following de nition of the term attribute is given14: \An attribute is a measurable quantity whose (measured) value re ects the degree of achievement for a particular objective (to which the attribute is ascribed)."

Thus an attribute is used to evaluate the performance or desirability of each alternative (i.e., x 2 X ) relative to an objective. An objective is operational if there is a way to assess its degree of achievement. The particular objectives are thus associated with measurable attributes. To illustrate the ideas consider a simple example, where a mobile robot system has the goal to escape from an oce safely and as fast as possible. In order to escape the oce the robot should go through a doorway as fast as possible while avoiding potential hazards on its way. Through an analysis we can identify the objectives and associated attributes depicted in gure 2. Escape office

Move to doorway

Ensure safety

Escape as fast as possible

heading direction to doorway Avoid obstacles

Avoid staircase

Move fast

Take shortest way out

obstacle positions

staircase locations

speed

shortest path

Figure 2. The breakdown of the `escape from the oce' example task into speci c operational objectives. Each

speci c objective is assigned a measurable attribute whose value re ects the degree of achievement of the objective. As shown in the gure the goal of the robot is expanded into three speci c objectives, two of which are further expanded into two more speci c objectives. To make these objectives operational, appropriate and measurable attributes are assigned to them. Note that expanding a task to speci c objectives and thus to attributes is a creative process, which requires a detailed analysis and understanding of the problem, the system and its environment. This process can be compared with methods for structured software analysis and design. During the design certain properties should be satis ed for the objective functions and in particular the attributes that estimate them. See16 for a discussion of such properties.

1.5 1

1

0.9 0.8

0.5 y [m]

0.7

−−>

0

0.6 0.5

−0.5

0.4 0.3

−1

0.2 0.1

−1.5 −1.5

−1

−0.5

0 x [m]

0.5

1

1.5 0

(a)

−π/2

(b) heading

π/2

Figure 3. (a)Con guration of mobile robot and obstacles surrounding it. The *'s indicate obstacle positions.

The robot is centered at the origin and facing forward. Then for each heading direction, as indicated, the robot calculates the minimum distance to obstacles. The 'best' heading direction, which maximizes the minimum distance to obstacles, is indicated by the direction of the arrow. (b) The obstacle avoidance objective function calculated over possible robot headings in the con guration depicted to the left.

2.2. Implementation: behaviors

Given the relevant attributes identi ed through the analysis it is required to de ne behaviors that can measure/calculate the objective function for the set of alternative actions (or control parameters). We formalize a behavior, o, as a mapping from an action space, X , to the interval [0; 1]:

o : X ! [0; 1]:

(2)

The action space, X = fx1 ; x2 ; :::; xn g, is de ned to be a nite set of alternative actions. The mapping assigns to each action x 2 X a preference, where the most appropriate actions are assigned 1 and undesired/illegal actions are assigned 0. For example the obstacle avoidance objective can be estimated by a reactive behavior. Based on range readings the behavior calculates for each heading direction the desirability of moving in that direction (see gure 3).

2.3. Action selection: optimization of multiple objective functions

Once the objective functions are speci ed and made operational through the design and implementation of corresponding behaviors one has to select the action (control parameter) that satis es the objectives as good as possible. This is formulated as the multiple objective decision problem given in (1), where oi (x) for i = 1; :::; n are the objective functions estimated by particular behaviors and x is an N -dimensional control variable (x1 ; x2 ; :::; xN ). Further X  RN is the constrained action space described in section 2.2. The action space is constrained due to various physical and geometrical properties such as a set of non-holonomical constraints imposed by the mechanical construction of the robot. Using such constraints the action space is con ned to a subset of feasible (e.g., physically possible) actions. An essential problem in multi objective decision making is deciding how best to trade o increased value on one objective for lower value on another. For this purpose there are a number of methods described in the literature each with its advantages and disadvantages. These methods can be divided into two main categories: methods based on utility theory and those based on vector optimization theory. See14,15 or16 for an overview. Methods based on multi-attribute utility theory attempt to assess the decision maker's preference structure to come up with a single utility function that encompasses all objectives. Usually under assumptions of additive independence etc. the utility function is assessed for each single objective and then composed by super imposition to form the overall utility function. In the second category techniques from optimization theory are used to nd solutions of equation (1). These techniques provide theoretical tools that allow a more formalized analysis and characterization of the optimization system and its solutions.

A solution is optimal if it results in the maximum value of each of the objective functions simultaneously. That is, x^ is an optimal solution to equation (1) i o(x^)  o(x) for all x 2 X , where o(x) = [o1 (x); o2 (x); :::; on (x)]. Since the objectives might be con icting, usually there is no optimal solution to equation (1). In this case the solutions of equation (1) are referred to in the literature as noninferior, ecient, Pareto-optimal and nondominated solutions. A nondominated solution is one in which no one objective function can be improved without a simultaneous deterioration of at least one of the other objectives.17 That is, x^ is a nondominated solution to equation (1) i there does not exist any x 2 X such that oi (x^)  oi (x) for all i and oj (x^) < oj (x) for at least one j . In many cases a set, X^ of nondominated solutions might exist, in which case the nal solution, known as a preferred solution, is chosen by additional criteria such as preference imposed by the decision maker. In this work we investigate two methods for generating nondominated solutions: weighting characterization and lexicographic method. These are describe in the following section.

3. MOBILE ROBOT NAVIGATION EXAMPLE

In this section we demonstrate the principles of the proposed approach, by considering a fairly simple example consisting of three objectives. In the example we consider the task of navigation for a mobile robot in environments similar to the ones depicted in gure 4. The robot is placed at some arbitrary location and commanded to go to a goal position, indicated by the cross.

Figure 4. Example environments for the task of navigation. The circle represents the mobile platform and its heading is indicated by the line from its center to the periphery of the circle. The cross represents the commanded target point.

The parameters we chose for controlling the mobile base are the translation velocity v and the angular velocity !, i.e., x = (v; !). An analysis of the intended task enables us to identify three objectives and relevant (measurable) attributes associated with each objective. The breakdown of the task is depicted in gure 5. It should be noted that the choice of the objectives and corresponding attributes is not unique for a given task. It's a matter of design. Navigate to target

move to target

avoid obstacles

move fast forward

target heading

distance to obstacles

speed

Figure 5. Decomposition of navigation task into operational objectives.

3.1. Behaviors

Each objective function is estimated by an associated behavior over possible control parameters x 2 X  R  R. The holonomical constraints of the robot are used to de ne the following feasible set of control parameters:

1

1

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0 20

0 20

0.35 0.3 0.25 0.2

50

15 10

0

5 v [inch/s]

0 −50

(a)

w [degree/s]

0.15 0.1 0.05 20

50

15 10 v [inch/s]

50

15 10

0

5 0 −50

(b)

w [degree/s]

0

5 v [inch/s]

0 −50

(c)

w [degree/s]

(d)

Figure 6. (a) Move fast forward objective function. (b) Move to target objective function. In this case the robot is heading directly towards the target. (c) Avoid obstacle objective function. In this case the robot environment is as depicted in gure (d). X = f(v; !)j v 2 [vmin ; vmax ] ^ ! 2 [?!max; !max]g;

(3)

where vmin ; vmax and ?!max; !max are the limitations on the translation and angular velocities respectively. In a similar fashion, the feasible set can be further constrained by taking into consideration the maximum acceleration of the robot (see18 ). In order to simplify the implementation of the behaviors to achieve eciency we assume that the trajectory of the robot can be approximated with piecewise circular arcs. If the time between generation of control commands to the robot is suciently small this approximation converges to the general motion equations of a synchro-drive robot as shown in.18

3.1.1. Move fast forward

This is the simplest of the behaviors and its objective is to make sure that the robot achieves its task as fast as possible. The objective function can be formulated as a linear function of the translation velocity:

mff (v; w) = a v v + b; max

(4)

where a and b in our case are chosen to 1 and 0 respectively. The objective function is further normalized and its values are in the interval [0; 1]. Figure 6(a) is a plot of this objective function over discrete values of v and !.

3.1.2. Move to target

The move to target behavior has the objective to move the robot towards a given target position:

mtt(v; w) =

1

; 1 + pred (v;! )?target

(5)

where pred (v; !) = 0 + !T is the predicted robot heading for control parameters (v; !), 0 is the current robot heading and T is the time-constant determined by command generation frequency. A plot of the objective function is depicted in gure 6(b).

3.1.3. Avoid obstacle

The objective of this behavior is to move the robot at a safe distance from obstacles. Sonar range readings, provided by the sonar ring, are used to detect obstacles. Then the obstacle avoidance behavior calculates for each path determined by the pair of control parameters (v; !) the shortest distance to the obstacles on its path. Formally the objective function is given by:

ao(v; !) = minfFar(d)jd = dist(v; !; o) 8 o 2 Obsg;

(6)

where Far : R ! [0; 1] is a S-function that maps the distances into the interval [0; 1]. Obs is the set of detected obstacle positions o = (x; y) and

8 v < p! dist(v; !; o) = : xo + yo 1 2

2

if ! 6= 0 and (x ? x0 )2 + (y ? y0 )2 = ( !v )2 ; if ! = 0 and x = 0; otherwise,

(7)

c = (x0 ; y0 ) is the center of the circular path and is the angle between the line from c to robot position and the line from c to o. Figure 6(c) is a plot of the objective function for the example depicted in gure 6(d). Note that the objective function expresses the desire to make a sharp left or right turn (in order to avoid the obstacle).

3.2. Behavior coordination methods

In the following we describe two methods for generating nondominated solutions.

3.2.1. Weighting method

This method is based on scalar vector optimization and is formulated in the following way:

x^ = argmax

P

x2X

n X i=1

wi oi (x) = wT o(x);

(8)

where wi are weights normalized so that ni=1 wi = 1. According to theorem 4.6 in,14 we can claim that x^ is a nondominated solution if x^ is a unique solution of (8) or if wi > 0 for all i. By selecting wi > 0 for all i we thus ensure that any solution of the following equation will generate a nondominated solution. (^v ; !^ ) = argmax v;!)2X

(

[0:1mff (v; !) + 0:1mtt(v; !) + 0:8ao(v; !)] :

(9)

3.2.2. Lexicographic method

In the lexicographic method it is required to rank order the importance of all objectives. Assume that the objectives are ranked in decreasing order of importance, o1 ; o2 ; :::; on . Then a sequential elimination process is started by solving the following sequence of problems until either a unique solution is found or all the problems are solved:

P1 : max o1 (x); x2X P2 : xmax o2 (x); 2X1 ::: Pi : x2max oi (x); Xi?1 = fxjx solves Pi?1 g; i = 2; :::; n + 1; Xi?1 :::

(10)

0.4

0.2

0.35

0.15

0.3 0.1 0.25 0.05

0.2 0.15 20

0 20 50

15 10

50

15 10

0

5 v [inch/s]

0

−50

w [degree/s]

(a) Weighting method

0

5 v [inch/s]

0

−50

w [degree/s]

(b) Lexicographic method

Figure 7. The objective functions and their combination according to the (a) weighting method and (b) the

lexicographic method. The (v; !) that maximize these objective functions belong to the set of nondominated solutions.

The basic idea is that the rst objective is used to screen the solutions of the second objective and so on. In our case we rank order the objectives in the following decreasing order: ao; mtt; mff . Thus obstacle avoidance has the highest priority followed by move to target and move fast forward is assigned the lowest priority. Thus the following set of problems have to be solved:

P1 : (v;! max )2X P2 : (v;! max 0 )2X P3 : (v;!max )2X 00

ao(v; !); mtt(v; !); X 0 = f(v; !)j(v; !) solves P1 g mff (v; !); X 00 = f(v; !)j(v; !) solves P2 g

(11)

Figures 7(a) and (b) show the resulting objective functions according to the weighting and the lexicographic methods respectively. The control parameter that best satis es all the objectives is selected by maximizing the objective function depicted in the gure, which correspond to nondominated solutions.

4. EXPERIMENTAL INVESTIGATION

In this section we describe some experimental results that highlight the characteristics and potential pitfalls of coordinating behaviors using the proposed approach. First we present some simulation results and investigate the behavior of the system in controlled settings with perfect perception and actuation. However, perception and actuation are far from perfect in practice why it is necessary to conduct real-world experiments. Experiments in realistic settings will enable us to assess the feasibility of the approach for real-world applications.

4.1. Simulation experiments

The simulation experiments are carried out on a simulator, which simulates a synchro-drive Nomad200 mobile robot and its sensors. The sensors used in the experiments are a ring of 16 ultrasonic sensors for obstacle detection, and position encoders for calculation of robot position. In gure 8 and 9 each of the methods are tested in fairly simple scenarios. However, the scenarios are designed so to highlight certain properties of the methods, such as occurrence of deadlocks and other properties that can lead to the failure of the task. As it can be seen only the lexicographic method can handle all situations. Using the lexicographic method the robot seeks the target as soon as obstacle clearance has been achieved whereas using the weighting method it oscillates between turning right and left and consequently gets stuck at the same location short of the target point. Generally it is observed that the robot moves directly towards the target while avoiding obstacles on its way, thus achieving a smooth blending of its behaviors. This is because all the objectives are taken into consideration simultaneously.

Figure 8. Simulated results for example navigation task. (top row) Weighting method. (bottom row) Lexicographic method.

Figure 9. Simulated results for example navigation task. This map is a oor map of our laboratory. (top row) Weighting method. (bottom row) Lexicographic method.

In a more challenging scenario, gure 10, the limitations of the methods are pushed to the extreme. The methods perform surprisingly well, however, several important points should be mentioned. The experiments show that the weighting method comes into a deadlock in the situation depicted in the fourth column. This is similar to a local minimum in the potential- eld methods. The same situation leads to a deadlock of the lexicographic method, where the robot circles around itself. The robot seeks towards the target point, then detects that the path is obstructed and turns away subsequently it turns towards the target point and thus ends up in a cyclic behavior. The main reasons for the occurrences of such situations are attributed to the following: lack of global spatial information, lack of memory and absence of temporal reasoning capabilities. Since the robot in this case reacts on local sonar information it is not able to detect such situations. However, it is very important to be able to detect such deadlocks and to ensure that the robot can resume its task achievement. This issue is discussed in the Discussion section.

Figure 10. Simulated results for example navigation task in complex settings. (top row) Weighting method. (bottom row) Lexicographic method.

4.2. Real-world experiments

The simulated experiments described earlier are repeated on a real robot in structured indoor laboratory environments. In the Nomad200 simulator it is possible to run the same code to control the real Nomad200 robot, if one is available at your lab. We do not have a Nomad200 robot but the people at the CVAP lab in Sweden permitted us to run our code, developed on the simulator in Denmark, on their Nomad. Only a few minor changes in the code were necessary before the robot started roaming around and avoiding obstacles. Some of the runs are shown in gure 11. The black boxes indicate the approximate position of the laboratory walls (the gap at the left is a door). The gray dots are the obstacle position detected by the ultrasonic sensors accumulated during the path. Approximate positions of several obstacles (which we had planted intentionally) are indicated by overlaying line drawings on the map. It can be seen in the gures that the robot smoothly negotiates obstacles on its way to the target point. The average speed during the experiments was about 8 inches/s.

Figure 11. Few samples of the experimental runs with the Nomad200 platform. The gure is created by grabbing the world view of the robot from the graphical user interface. The dots indicate obstacle positions detected by the sonars and obstacle positions are overlayed as line drawings.

As one would expect, using only sonars allows the robot to detect fairly structured obstacles thus we had placed such obstacles on the robot's path. We agree that more powerful sensing capabilities are necessary, nonetheless, the

experiments illustrate that using the proposed approach we can successfully combine a set of navigational objectives to form a more complex and coherent behavior.

5. DISCUSSION

In this document we demonstrated how principles of Multiple Objective Decision Making (MODM) can be used to analysis, design and implement multiple behavior based systems. A structured methodology is achieved where each objective function is modeled by a behavior and each behavior is isolated from internal state or knowledge of other behaviors. This enables a modular and evolutionary system construction. Simulated and real-world experiments show that using the proposed approach a set of behaviors can be blended to form more complex and coherent behaviors. By considering all system objectives simultaneously these methods enable a smooth blending of several behaviors. However, the experimental investigation and analysis revealed two problems that should be addressed. First, in the real world experiments it way pointed out that reliable behaviors are necessary for operation in unstructured environments. We have addressed this problem in,19,20 where we investigate how voting algorithms can be used to improve the reliability of purposive modules or behaviors. A method is developed for designing reliable behaviors by a suitable integration of a set of less reliable ones using voting schemes. Additionally the experimental studies casted light on a major problem, namely deadlocks. It is very important to address the deadlock problem in a structured manner. In the literature we nd several works that address this issue, where basically two approaches are employed. Generally both types of approaches assume a more global knowledge than is provided by reactive behavior-based approaches. The rst class of approaches are based on error detection and recovery. The basic idea is that certain modules monitor task execution at run-time and upon detection of certain patterns (such as no progress) a recovery strategy is employed. Examples of this technique are the TCA architecture21 and conditional sequencing.22 The second class of approaches are based on contextdependent activation and coordination of behaviors. The general idea is that the behaviors of the system are activated according to the context in which the robot is. These techniques require robust ways of determining the current context. Examples using this technique can be found in11 where each behavior is weighed according to how well it is suited for a given context. A method based on a similar idea is described in,12 where the weighting of behaviors depends on its competitive advantage and its competitive interaction with other behaviors. Competitive advantage is determined from the current context. A case-based model selection is proposed in.23 The basic idea is that a strategy is used to determine the context the robot is currently in and then select the system parameters best suited for the corresponding context. For future work we intend to investigate how the proposed approach scales to more complex systems. A relevant set of behaviors will be implemented and integrated using the approach. The structure of the problem suggests that the complexity of composition of objective functions using MODM methods is liner in the number of objectives. So our anticipation is that these methods can scale nicely. Another issue which we are investigating is how to interface such behaviors with higher level planners. A complete oce navigation system will be implemented where the reactive layer constructed using the proposed approach will be integrated with a high-level planner similar to the one used in AMOR (an Autonomous MObile Robot).24

ACKNOWLEDGEMENTS

We wish to thank Mr. Jim Slater, president of Nomadic Technologies Inc. for providing a license for the simulator software and manuals used in the experiments presented in this document. Thanks to the people at the Computational Vision and Active Perception Laboratory, Royal Institute of Technology, Sweden for helping with practical stu which made it easier to conduct experiments on their Nomad200 mobile platform. Special thanks are due to Prof. Erik Granum and Ass. Prof. Claus B. Madsen from the Laboratory of Image Analysis, Aalborg University for useful discussions and comments on this work.

REFERENCES

1. P. Maes, \How To Do the Right Thing," Tech. Rep. NE 43 - 836, AI-Laboratory, Massachusetts Institute of Technology, 545 Technology Square, Cambridge, MA 02139, USA, 1989.

2. T. L. Anderson and M. Donath, \Animal Behavior as a Paradigm for Developing Robot Autonomy," Robotics and Autonomous Systems 6, pp. 145{168, June 1990. 3. B. Schwartz and H. Lacey, Behaviorism, Science, and Human Nature, W.W. Norton & Company, W.W. Norton & Company Ltd., 37 Great Russell Street, London WCLB 3NU, 1 ed., 1982. 4. D. C. Mackenzie, R. C. Arkin, and J. M. Cameron, \Speci cation and Execution of Multiagent Missions," Autonomous Robots 4, Januray 1997. 5. J. Ko^secka and R. Bajcsy, \Discrete Event Systems for Autonomous Mobile Agents. ," Proceedings Intelligent Robotic Systems '93 Zakopane , pp. 21{31, July 1993. 6. R. C. Arkin, \Integrating Behavioral, Perceptual and World Knowledge in Reactive Navigation," Robotics and Autonomous Systems 6, pp. 105{122, June 1990. 7. P. Maes, \Situated agents can have goals," in Designing Autonomous Agents, P. Maes, ed., pp. 49{70, MIT/Elsevier, The MIT Press, Cambridge, Massachusetts, London, England, 1990. 8. R. A. Brooks, \A Robust Layered Control System for a Mobile Robot," Autonomous Mobile Robots , pp. 152{161, 1990. 9. O. Khatib, \Real-Time Obstacle Avoidance for Manipulators and Mobile Robots," The International Journal of Robotics Research 5(1), pp. 90 { 98, 1986. 10. R. C. Arkin, \Towards the Uni cation of Navigational Planning and Reactive Control," AAAI Spring Symposium on Robot Navigation , March 1989. 11. A. Saotti, K. Konolige, and E. H. Ruspini, \A multivalued logic approach to integrating planning and control," Arti cial Intelligence 76, pp. 481{526, March 1995. 12. E. W. Large, H. I. Christensen, and R. Bajcsy, \Scaling the Dynamic Approach to Path Planning and Control: Competition among Behavioral Constraints," to appear in International Journal of Robotics Research , 1997. 13. J. K. Rosenblatt, \DAMN: A Distributed Architecture for Mobile Navigation," in AAAI Spring Symposium on Lessons Learned from Implemented Software Architectures for Physical Agents, Stanford, CA., AAAI Press, Menlo Park, CA., March 1995. 14. V. Chankong and Y. Y. Haimes, Multiobjective Decision Making - Theory and Methodology, vol. 8, NorthHolland, 1983. 15. M. K. Starr and M. Zeleny, \MCDM-State and Future of the Arts," in Multiple Criteria Decision Making, M. K. Starr and M. Zeleny, eds., vol. 6 of Studies in the management sceiences, pp. 5{30, North-Holland Publishing Company, 1977. 16. R. T. Clemen, Making Hard Decisions - An introduction to decision analysis, Duxbury Press, 1991. 17. C.-L. Hwang and A. S. M. Masud, Multiple Objective Decision Making - Methods and Applications, vol. 164, Lecture Notes in Economics and Mathematical Systems, Springer-Verlag, 1971. 18. D. Fox, W. Burgard, and S. Thrun, \The Dynamic Window Approach to Collision Avoidance," IEEE Robotics and Automation Magazine 4, pp. 23 { 33, March 1997. 19. P. Pirjanian, \Reliable Reaction," IEEE Int. Conf. on Multisensor Fusion and Integration for Intelligent Systems , December 1996. 20. P. Pirjanian, H. I. Christensen, and J. A. Fayman, \Experimental Investigation of Voting Schemes for Fusion of Redundant Purposive Modules," in 5th Symposium for Intelligent Robotics Systems, Stockholm, Sweden, pp. 131 { 138, July 1997. 21. R. G. Simmons, \Structured Control for Autonomous Robots," IEEE Trans. on Robotics and Automation 10, pp. 34{43, February 1994. 22. E. Gat and G. Dorais, \Robot Navigation by Conditional Sequencing," IEEE Int. Conf. on Robotics and Automation 2, pp. 1293{1299, 1994. 23. A. Ram, R. C. Arkin, et al., \Case-based reactive navigation: A method for on-line selection and adaptation of reactive robotic control parameters," IEEE Transactions on Systems, Man, and Cybernetics 27, pp. 376 { 394, June 1997. 24. P. Pirjanian and H. Blaasvr, \AMOR: An Autonomous Mobile Robot Navigation System." Master's Thesis, Laboratory of Image Analysis, Institute of Electronic Systems, Aalborg University, Denmark, 6 1994.

Suggest Documents