a robust layered control system for a mobile robot, rodney a. brooks; a software engineering...

24
A Robust Layered Control System for a Mobile Robot By Rodney A. Brooks A Software Engineering Perspective By Kato Mivule Computer Science Department Bowie State University AI Agents - COSC 897 Fall 2012

Upload: kato-mivule

Post on 18-Nov-2014

1.090 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot By Rodney A. Brooks

A Software Engineering Perspective By Kato Mivule

Computer Science DepartmentBowie State University

AI Agents - COSC 897 Fall 2012

Page 2: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Agenda

• Introduction• Software Engineering Principles• Robot Functional Units• Requirements• Starting Assumptions• Physical Robot• Conclusion• Limitations• References

Page 3: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Introduction

• In Software Engineering, complexity can be handled via:

• Abstraction

• Decomposition

• Hierarchy

Page 4: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Hierarchy

In this paper Brooks (1986) describes a new architecture for controlling mobile robots, first, by using the Hierarchy approach:

• Layers of control system are built to let the robot operate at increasing levels of competence.

• Layers are made up of asynchronous modules which communicate over low bandwidth channels.

• Each module is an instance of a fairly simple computational machine.

Page 5: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Hierarchy

Brooks (1986) Hierarchy approach: (Continued)

• Higher level layers can subsume the roles of lower levels by suppressing their outputs.

• However, lower levels continue to function as higher levels are added.

• The result is a robust and flexible robot control system.

• The intended ‘Brooks robot’ was supposed to move around the laboratory and build maps of its surroundings.

Page 6: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Decomposition:

• Brooks (1986) then focuses on decomposition - a process of breaking down the complex problem into smaller and simpler manageable pieces.

• Brooks (1986) suggests a breakdown of the layered control system into the following components:

• Perception

• Modeling

• Planning

• Task execution

• Motor control

Page 7: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Decomposition (Vertical) of a Layered Control System:

Fig 1: A Traditional decomposition of a mobile robot control system into functional modules as adapted from Brooks (1986).

Page 8: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Decomposition (Horizontal) of a Layered Control System:

Fig 2: A decomposition of a mobile robot control system based on task achieving behavior as adapted from Brooks (1996).

Page 9: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Abstract Functional Requirements:

• Brooks notes that a control system for a completely autonomous mobile robot must do the following:

• Perform many complex information processing tasks in real time.

• Operate in an environment where the boundary conditions are changing rapidly.

• Determination of those boundary conditions is done over very noisy channels since there is no straightforward mapping between sensors (e.g. TV cameras) and the form required of the boundary conditions.

Page 10: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Robot Functional Units:

• Brooks notes that the usual approach to building control systems for such robots is to decompose the problem into a series of functional units below:

• Perception

• Modeling

• Planning

• Task execution

• Motor control

Page 11: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Robot Functional Units:

• According to Brooks after analyzing the computational requirements, task achieving behaviors as a primary decomposition of the problem in conjunction with the Robots Sensors and Actuators are used:

• Reason about behavior of objects• Plan changes to the world• Identify objects• Monitor changes• Build maps• Explore• Wander• Avoid objects

• Brooks notes that as with a functional decomposition, each task is implemented explicitly and then combined to form a robot control system.

Page 12: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Requirements:

Brooks points out that a number of requirements (constraints) of a control system for an intelligent autonomous mobile robot can be identified as follows:

• Multiple Goals: Often the robot will have multiple goals, some conflicting, including avoiding obstacles to reach a goal.

• Multiple Sensors: The robot will most likely have multiple sensors e.g. TV cameras, encoders on steering and drive mechanisms, etc.

• Robustness: The robot ought to be robust. When some sensors fail it should be able to adapt and cope by relying on those still functional.

• Additivity: As more sensors and capabilities are added to a robot it needs more processing power; otherwise the original capabilities of the robot will be impaired relative to the How of time.

Page 13: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Starting Assumptions:• Brooks’ proposed design decisions for mobile robot are based on nine dogmatic

principles:

• Complexity in Simplicity: Complex behavior need not necessarily be a product of an extremely complex control system.

• Things should be simple. Brooks notes that this principle has two underlying principles: • Keep Interfaces Simple: Interfaces should be kept simple.• Don’t solve unstable problems: Robot should not dwell on solving

unstable problems.

• Cheap Robots: Robots should be inexpensive to build but can wander around human inhabited space with no human intervention, advice or control and at the same time do useful work.

Page 14: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Starting Assumptions:

Brooks’ proposed design decisions for mobile robot are based on nine dogmatic principles: (Continued)

• Three Dimensional Robot: Since the human world is three dimensional, robots must model the world as three dimensional space as humans.

• Avoid Absolute Coordinate systems: Absolute coordinate systems for a robot are the source of large cumulative errors and therefore relational maps are more useful.

• Avoid Artificial Environments: Brooks suggests that artificial environments should be avoided so robots move and train in the real world environment.

• Utilize Visual Data: Brooks also suggests utilizing visual data rather than sonar data, because visual data is richer in description of the environment.

Page 15: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Starting Assumptions

• Brooks’ proposed design decisions for mobile robot are based on nine dogmatic principles: (Continued)

• Self-Calibrating For Robustness: Brooks points out that for robustness sake: • The robot must be able to perform when one of its sensors fails.• The recovery should be quick. • Built-in self-calibration must be occurring at all times.

• Self-Sustaining Robots: Finally, Brooks suggests that the goal should be:• To build artificial beings. • To build robots which can survive for long periods of time without human

assistance in a dynamic complex environment. • To build self-sustaining robots.

Page 16: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Physical Robot - Levels and layers

• Brooks (1986) notes that previous robotic design approaches dealt with complexity in the following order:

1. Decomposition2. Hierarchy3. Abstraction

• However, Brooks (1986) suggested altering this systematic approach in dealing with complexity.

Page 17: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Physical Robot - Levels of Competence • Traditionally, mobile robot builders decomposed the complexity problem into the

following Horizontal decomposition:

• Sensing

• Mapping sensor data

• Planning

• Task execution

• Motor control

Page 18: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Physical Robot - Levels of Competence

• Brooks (1986) proposed to decompose the problem vertically as a primary way of slicing up the problem.

• A number of levels of competence for an autonomous mobile robot where then proposed.

• A level of competence is an informal specification of a desired class of behaviors for a robot over all environments it will encounter.

• A higher level of competence implies a more specific desired class of behaviors

Page 19: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Physical Robot - Levels of Competence 0) Avoid contact with objects (whether the objects move or

1) Wander aimlessly around without hitting things.

2) Explore the world by seeing places in the distance that look reachable and heading for them.

3) Build a map of the environment and plan routes from one place to another.

4) Notice changes in the “static” environment.

5) Reason about the world in terms of identifiable objects and perform tasks related to certain objects.

6) Formulate and execute plans that involve changing the state of the world in some desirable way.

7) Reason about the behavior of objects in the world and modify plans accordingly. Notice that each level of competence includes as a subset each earlier level of competence.

Page 20: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Physical Robot - Layers of Control

The key idea of levels of competence is to build layers of a control system corresponding to each level of competence and simply add a new layer to an existing set to move to the next higher level of overall competence.

A Robust Layered Control System for a Mobile Robot in which control is layered with higher level layers subsuming the roles of lower level layers when they wish to take control (Brooks 1986).

Page 21: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Physical Robot - Subsumption Architecture

• Brooks (1986) started by building a complete robot control system that achieves level 0 competence (zeroth-level control system).

• Brooks (1986) then proceeded to build the next control layer, the first-level control system.

• This level examined data from the level 0 system and was also permitted to inject data into the internal interfaces of level 0 suppressing the normal data flow.

• This layer, with the aid of the zeroth, achieves level 1 competence.

• The zeroth layer continues to run unaware of the layer above it which sometimes interferes with its data paths.

• The same process is repeated to achieve higher levels of competence.

• Brooks (1986) called this architecture subsumption architecture.

Page 22: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Limitations of this approach:

• Brooks notes that one of the limitation of this approach is a demonstration with a real robot.

• How to realize the full control system.

• How to realize separation between Robot Control algorithms and implementations mediums.

Page 23: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

Conclusion:

• Brooks focuses on decomposition - a process of breaking down the complex problem into smaller and simpler manageable pieces.

• Brooks points out the following key ideas in conclusion:

• The robot control problem can be handled via decomposition in terms of behavior rather than in terms of functional modules.

• This approach provides an incremental way to build complex robot systems from fairly simple systems.

• There is no need for central control module in this type of mobile robot.

• The control system is viewed as a system of agents each busy with their own solipsist world - each simple robot completing its own simple task.

Page 24: A Robust Layered Control System for a Mobile Robot, Rodney A. Brooks; A Software Engineering Perspective

A Robust Layered Control System for a Mobile Robot by Rodney A. Brooks

References:[1] Brooks, R., "A robust layered control system for a mobile robot," Robotics and Automation, IEEE Journal of , vol.2, no.1, pp. 14- 23, Mar 1986. doi: 10.1109/JRA.1986.1087032URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1087032&isnumber=23631