140 likes | 452 Views
A Robust Layered Control System for a Mobile Robot. Rodney A. Brooks Presenter: Michael Vidal. Requirements. Multiple Goals Multiple Sensors Robustness Extensibility. Starting Assumptions. Complex behavior need not be reflected by a complex control system Things should be simple
E N D
A Robust Layered Control System for a Mobile Robot Rodney A. Brooks Presenter: Michael Vidal
Requirements • Multiple Goals • Multiple Sensors • Robustness • Extensibility
Starting Assumptions • Complex behavior need not be reflected by a complex control system • Things should be simple • Map making is of critical importance • A robot must model in 3 dimensions • Relational maps are more useful • Build no artificial environment for the robot
Starting Assumptions • Visual data allows for intelligent interaction with the world • Processing steps should be self-calibrating • Robots should be self-sustaining
Levels of Competence • Typical composition of robotic functions includes 5 sections: • Sensing • Mapping • Planning • Task execution • Motor Control • This division represents a solution based on the internal functionality of the robot
Levels of Competence • Proposed approach creates levels based on expected external functionality • Avoid contact with objects • Wander around aimlessly (without hitting things) • “Explore” the world • Build a map of the world to plan routes • Notice changes in the “static” environment • Reason about the world and perform tasks • Formulate and execute plans to change the world • Reason about the behavior of objects and modify plans accordingly
Layers of Control • Layers of control directly map to layers of confidence • Subsumption architecture • Build and debug a control layer with level 0 confidence • Level 0 layer should never be altered • Add one layer of control at a time to previous layers • A layer may examine the data of the layer below it • A layer may interfere with the layer below it
Layers of Control • This approach naturally lends itself to meeting the stated requirements • Multiple Goals: Individual layers may work on individual goals concurrently • Multiple Sensors: Sensors need not feed data into some central representation • Robustness: Lower layers continue to function when higher layers fail • Extensibility: Each layer can run on its own processor
Layer Structure • Each layer (module) an individual processor • Each module has some number of inputs and outputs • Modules connected by “wires” • “Wires” generally connect a layer’s output to the input of the layer below • Messages passed are unreliable
Implementation • 0-Level Layer: “Avoid” • Ensures that the robot does not come in contact with other objects • Will avoid stationary objects • Will flee from moving obstacles • Consists of a number of mini-modules, including “sonar”, “collide”, “feelforce”, “runaway”, “turn”, and “forward” • The latter two interact directly with the robot
Implementation • Level 1 Layer – “Wander” • Creates a new destination for the robot every few seconds • Relies on 0-level functionality to avoid obstacles • Adds two mini-modules to the system: “Wander”, and “Avoid”
Implementation • Level 3 Layer: “Explore” • Allows the robot to seek out interesting places to visit • Adds the mini-modules “Stereo”, “Look”, “Pathplan”, “Integrate”, and “Whenlook” • Impedes output of level 1 layer to reach its goal