180 likes | 451 Views
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.
E N D
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
Sensors Sensors Sensors Actuators a typical robot Processor
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 am about to fall over I just want to be loved A goal’s priority naturally will change based on context
Perception Sensors Actuators Modeling Planning Task Execution Motor Control slicing the problem: spa 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.
reason about object behavior Sensors Actuators plan changes to the world monitor changes build maps explore wander avoid objects slicing the problem: subsumption
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 self-centered 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?