Subsumption Architecture

Subsumption architecture is a reactive architecture 20210711201545, where to build complex systems we will use an incremental approach, were we will start from the simple parts and we will build up in the hierarchy to the complex parts by using already existing components.

The architecture will be build on modules/layers, where every layer is responsible of achieving a certain task, and work similarly as Finite State Machines do. For example, we will build first layer 0, which is responsible of moving the robot, and then we will build layer 1, that makes the robot avoid obstacles, reusing components of layer 0. The upper layers, as they are more complex and take many things in consideration, an disable inferior layers in order to achieve the robot goals.

There is not an specific answer about how the layers have to be designed, as many approaches can be taken with good results.

PRINCIPLES: - Systems are built from bottom-up, in layers of competence

  • Components are task-achieving - Components can be executed in parallel
  • Components are organized in layers - Upper layers can subsume/override output from lower layers - Lower layers handle basic task - Newly added layers use existing ones - No internal model

Subsumption architecture can be effectively designed using behaviors 20211217202757. Usually, layers are composed by many different behaviors who accomplish a task, and they work as an abstract behavior.

Notes References

20210711201545 Robotics Basics - Reactive Paradigm

20211217202757 Robot behaviors

20210514183815 INDEX - Robotics

References

(Murphy 2000)

Murphy, Robin. 2000. Introduction to AI Robotics. Intelligent Robotics and Autonomous Agents. Cambridge, Mass: MIT Press.