| Abstract | p. V |
| Acknowledgements | p. IX |
| List of Figures | p. XV |
| Introduction | p. 1 |
| The Approach | p. 3 |
| Technical Challenges | p. 6 |
| Introductory Example | p. 8 |
| Motivation | p. 11 |
| Relevance for Autonomous Robot Control | p. 11 |
| Relevance for AI Planning | p. 12 |
| The Computational Problem and Its Solution | p. 13 |
| The Computational Problem | p. 13 |
| The Computational Model | p. 14 |
| Contributions | p. 15 |
| Outline of the Book | p. 19 |
| Reactivity | p. 21 |
| The DeliveryWorld | p. 22 |
| The World | p. 22 |
| Commands and Jobs | p. 25 |
| The Robot | p. 26 |
| Justification of the DeliveryWorld | p. 27 |
| The Implementation of Routine Activities | p. 28 |
| Plan Steps vs. Concurrent Control Processes | p. 29 |
| Interfacing Continuous Control Processes | p. 31 |
| Coordinating Control Processes | p. 33 |
| Synchronization of Concurrent Control Threads | p. 35 |
| Failure Recovery | p. 36 |
| Perception | p. 37 |
| State, Memory, and World Models | p. 37 |
| The Structure of Routine Activities | p. 39 |
| The Structured Reactive Controller | p. 40 |
| Behavior and Planning Modules | p. 41 |
| The Body of the Structured Reactive Controller | p. 42 |
| Global Fluents, Variables, and the Plan Library | p. 43 |
| The RPL Runtime System | p. 43 |
| Summary and Discussion | p. 44 |
| Planning | p. 47 |
| The Structured Reactive Plan | p. 47 |
| Plans as Syntactic Objects | p. 48 |
| RPL as a Plan Language | p. 50 |
| The Computational Structure | p. 53 |
| The "Criticize-Revise" Cycle | p. 53 |
| The "Criticize" Step | p. 55 |
| The "Revise" Step | p. 66 |
| The XFRM Planning Framework | p. 66 |
| Anticipation and Forestalling of Behavior Flaws | p. 67 |
| The Detection of Behavior Flaws | p. 68 |
| Behavior Flaws and Plan Revisions | p. 68 |
| The Diagnosis of Behavior Flaws | p. 69 |
| Summary and Discussion | p. 72 |
| Transparent Reactive Plans | p. 75 |
| Declarative Statements | p. 75 |
| RPL Construct Descriptions | p. 78 |
| Achievement Goals | p. 81 |
| Perceptions | p. 83 |
| Beliefs | p. 84 |
| Other Declarative Statements | p. 85 |
| Using Declarative Statements | p. 86 |
| Routine Plans | p. 88 |
| The Plan Library | p. 93 |
| Behavior Modules | p. 93 |
| Low-level Plans | p. 93 |
| High-level Plans | p. 95 |
| Discussion | p. 97 |
| Representing Plan Revisions | p. 99 |
| Conceptualization | p. 101 |
| Making Inferences | p. 105 |
| Some Examples | p. 107 |
| Accessing Code Trees | p. 108 |
| Predicates on Plan Interpretations | p. 110 |
| Predicates on Timelines | p. 111 |
| Timelines and Plan Interpretation | p. 112 |
| Expressing Plan Revisions | p. 114 |
| XFRML - The Implementation | p. 116 |
| Discussion | p. 117 |
| Forestalling Behavior Flaws | p. 121 |
| FAUST | p. 121 |
| The Behavior Critic | p. 121 |
| Detecting Behavior Flaws: Implementation | p. 123 |
| Diagnosing the Causes of Behavior Flaws: Implementation | p. 128 |
| The Bug Class "Behavior-Specification Violation" | p. 134 |
| The Elimination of Behavior Flaws | p. 135 |
| The Plan Revisions for the Example | p. 135 |
| Some Behavior Flaws and Their Revisions | p. 140 |
| Perceptual Confusion | p. 141 |
| Missed Deadlines | p. 142 |
| Summary and Discussion | p. 144 |
| Planning Ongoing Activities | p. 147 |
| Extending RPL | p. 149 |
| The RUNTIME-PLAN Statement | p. 151 |
| Plan Swapping | p. 154 |
| Making Planning Assumptions | p. 156 |
| Deliberative Controllers | p. 158 |
| Improving Iterative Plans by Local Planning | p. 158 |
| Plan Execution a la Shakey | p. 158 |
| Execution Monitoring and Replanning | p. 159 |
| Recovering from Execution Failures | p. 160 |
| Some Robot Control Architectures | p. 161 |
| The Controller in the Experiment | p. 163 |
| Discussion | p. 164 |
| Evaluation | p. 167 |
| Analysis of the Problem | p. 167 |
| Assessment of the Method | p. 170 |
| Description of the Method | p. 170 |
| Evaluation of the Method | p. 170 |
| Demonstration | p. 176 |
| Evaluating SRCs in Standard Situations | p. 176 |
| Comparing SRCs with the Appropriate Fixed Controller179 | |
| Problems that Require SRCs | p. 181 |
| Related Work | p. 189 |
| Control Architectures for Competent Physical Agents | p. 189 |
| Control Languages for Reactive Control | p. 194 |
| Robot Planning | p. 195 |
| Conclusion | p. 201 |
| What Do Structured Reactive Controllers Do? | p. 201 |
| Why Do Structured Reactive Controllers Work? | p. 202 |
| Do Structured Reactive Controllers Work for Real Robots? | p. 204 |
| References | p. 205 |
| Table of Contents provided by Publisher. All Rights Reserved. |