120 likes | 144 Views
A detailed presentation outlines the design considerations, assumptions, levels of competence, layers of control, and module structures for a mobile robot control system. It emphasizes simplicity, robustness, and extensibility. The approach involves creating multiple layers of control, each responsible for specific tasks, interconnected to achieve complex behaviors. The implementation includes levels for obstacle avoidance, wandering, and exploration.
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