160 likes | 538 Views
On Three-Layer Architecture. Erann Gat Jet Propulsion Laboratory California Institute of Technology. Presentation by: Ekkasit Tiamkaew Date: 09/09/04. Historical Background. Mid 1980’s: SPA architecture Sense-Plan-Act. Then came subsumption architecture Repudiation of plans.
E N D
On Three-Layer Architecture Erann Gat Jet Propulsion Laboratory California Institute of Technology Presentation by: Ekkasit Tiamkaew Date: 09/09/04
Historical Background • Mid 1980’s: SPA architecture • Sense-Plan-Act. • Then came subsumption architecture • Repudiation of plans. • Composing all layers by means of ‘overriding’. • More task-specific • E.g. Herbert. Successful but unreliable.
SPA Shortcomings • Planning and world modeling are difficult • Planning is time-consuming. • Lose sync with reality • Unexpected outcome can cause subsequent plan steps to be executed in an inappropriate context. • “Running Researcher Syndrome”
Shortcomings of Reactive • Not sufficiently modular. • Quick solution: “wire” elimination. • Heavily rely on sensor mechanism • (mirror-like) reflections cause fault readings. • Lack mechanisms to manage complexity • Sometimes internal states are necessary
Alternate Approaches • 1989-1990: Tooth & Rocky III were built • More reliable. • Subsumption architecture with higher layers of computational abstraction. • 3-component architecture • Reactive feedback control system • Deliberative planner • Sequencing mechanism • e.g ATLANTIS & 3T
Internal States in 3 layers • Stateless in the controller • (or skill layer in 3T) • Past memory in the sequencer • (or sequencing layer in 3T) • Future prediction in the deliberator • (or planning layer in 3T)
The Controller • Primitive behaviors: wall-following, collision-avoiding, etc. • Compute a function with constant-bounded time & space complexity • Able to detect a failure • Avoid using internal states • Ok for ephemeral states.
The Sequencer • Select a primitive behavior to be done at a given time under each situation (state) • State enumeration • No robot’s execution history is used. • Sometimes not possible to know its state. • Conditional sequencing • Respond to contingencies. • Manage multiple parallel interacting tasks.
The Deliberator • Time-consuming computations • e.g. Planning, search-based algorithms, etc. • Either • 1) produce plans for the sequencer or • 2) respond to specific queries from the sequencer
Robot “Alfred” • Controller runs on an electronic control board • Sequencer & Deliberator run on a notebook • Multiple sonar sensors, each is 15 degree rotated from its neighbors.
Control Layer in Alfred • obstacle avoidance • Obstacle in soft-left, not in soft-right • Obstacle in soft-left, not in soft-right • Obstacle in front
Control Layer in Alfred (cont’) • wall-finding • Turn towards the sonar with the shortest range reading. • Move forward until an obstacle is in hard region. • wall-alignment • Turn slowly until a discontinuity is seen by the forward sensor.
Control Layer in Alfred (cont’) • wall-following • Keep track of the robot’s heading & odometer reading. • If a sonar reading is much greater than the last known distance, correct the course. • Stop if travels more than 2 meters without valid reading
Sequencing & Deliberative Layers in Alfred • With an obstacle in front, first turn one way, then the other, slowly increasing the angle • Determine its location, move to the room’s center, head towards one of 3 doors • Locate a wall, verify and follow it, trying match the path with the shape of the maze (deliberative layer) • Plan the path (deliberative layer)
Conclusions • Planning alone is insufficient, but not unnecessary • Reactive approach is another extreme idea towards an opposite direction • No One True Architecture. Mix them! • 3-layer architecture still ignores issues like sensor processing and world modeling, which may be needed in the future.