Mobile Robot Control Architectures “A Robust Layered Control System for a Mobile Robot” -- Brooks 1986 “On Three-Layer Architectures” -- Gat 1998? Presented to CS547 September 29, 1999 Jeremy Elson mobile robot controllers • The “brains” behind a mobile, autonomous robot (using the “lite” definition of autonomous) – Even though the controller is sometimes not physically on the robot • We’ll talk about – The Old School: Sense-Plan-Act – The Brooks School: Subsumption – The Modern School: Three-Layer a typical robot Processor Sensors Actuators Sensors sense - plan - act • Consists of 3 linear, repeated steps: – Sense your environment – Plan what to do next by building a world model through sensor fusion, and taking all goals into account -- both short term and long term – Execute the plan through the actuators • The predominant robot control mechanism through 1985 robots have many goals I need to inspect these railroad spikes I want to take a nap A train is about to hit me I just want to be loved I am about to fall over A goal’s priority naturally will change based on context slicing the problem: spa Task Execution Motor Control Perception Modeling Sensors Planning Actuators All goals are known at each stage, and affect the computation problems with spa (sense-plan-act) • Its monolithic design makes it slow – At each step, we have to do sensor fusion, world modeling, and planning for all goals • Slow means we almost never can plan at the rate the environment is changing • We end up doing “open-loop plan execution” - inadequate in the fact of uncertainty and unpredictability new architecture: subsumption • Introduced in Brooks’ seminal 1986 paper • Consists of layered behaviors, from simple to complex, with simple interfaces • Layers can “override” each other • Each layer has a control program that is capable of working at the speed of environmental change • Each layer now can do the appropriate model building, sensor fusion, etc. slicing the problem: subsumption reason about object behavior plan changes to the world Sensors monitor changes build maps explore wander avoid objects Actuators subsumption details • Each layer has one function, conceptually • Lower layers tend to be more “reactive” – closed loop controls – inputs tightly coupled to outputs • Higher layers are more “deliberative” – do higher-level sensor fusion & modeling – keep more state – planning further in the future • Layers can fake the inputs or outputs of other layers subsumption advantages • • (according to brooks) Provides a way to incrementally build and test a complex mobile robot control system Supports parallel computation in a straightforward, intuitive way Avoids centralized control; relies on selfcentered and autonomous modules Leads to more emergent behavior -- “Complex (and useful) behavior may simply be the reflection of a complex environment” – • • Compare with SPA - intelligence is entirely in the design of the planner (the programmer) subsumption successes • Brooks originally implemented – Level 0, object avoidance – Level 1, wandering – Level 2, explore (simulated only) • Early efforts were a dramatic success, zipping around like R2D2 instead of pondering their plans • “Pinnacle” (according to Gat) was Herbert, who found soda cans in an office ...and failures? • Herbert didn’t work very repeatably • According to Gat, no subsumption-based robot since Herbert -- or is there? • Is “classical subsumption” still in use? – Gat says Cog is based on subsumption – Brooks’ publications, however, mainly describe imitation of human cognitive models and do not explicitly mention “subsumption” – But, these models also stress non-monolithic control; subsumption might be there implicitly three-layer architectures • “Response” to subsumption, simultaneously and independently developed by >3 groups • TLA design seems to implicitly: – Agree that different processing models are needed to react to events on different time scales – Agree with loose asynchronous interfaces – Disagree with the “infinite regression” of layers – Disagree with the subsumption mechanism itself -- i.e. overriding of inputs/outputs • But is this the essence of subsumption? the role of state • SPA: – Uses extensive internal state – Plans slowly and infrequently – Gets into trouble when its internal state loses sync with the world • Reactive: – – – – “The World is its Own Best Model” No internal state Tight sensor to actuator coupling Runs headlong into the problem of extracting state information from the world using sensors • Hybrid/Three Layer – Can’t we all just get along? the three-layer architecture • Consists of (surprise!) 3 layers – Reactive layer (Controller) • Stateless, sensor-based • Short time scale actions – “Glue” Layer (Sequencer) • Has a memory of the past • Selects primitive behaviors for Controller – Planning Layer (Deliberator) • Plans for the future • Time-consuming operations (search, complex vision, etc.) what is subsumption? • Subsumption modifies inputs and outputs of other layers -- requires understanding of internals – Instead, comm is higher level; more explicit • However, Gat calls this the “fundamental tenant of subsumption” – Is it?