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 : 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 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.