Robotic holidays 4.0/Allen
SUBSUMPTION ARCHITECTURE
Description
The Subsumption Architecture [Brooks, 1986] is probably the most widely
known mobile robot architecture. In the following section we analyze this
architecture in general terms, extracting its main aportations and drawbacks.
The Subsumption Architecture is designed keeping the following goals in mind:
- Multiple goals. The robot should be able to handle multiple
objectives, possibly conflicting. The control system must be responsive
to high priority goals, while still servicing necessary "low level" goals.
- Multiple sensors. The number and type of the robot's sensor inputs
should be flexible. In particular the robot should be self-calibrating with
respect to its sensors and robust with respect to sensor failures.
- Robustness. When some components of the agent fail, it should be
able to continue using the operational resources.
- Additivity. The architecture should scale well. As more
functionality and sensors are added to the robot, more processing power must
be added to keep the previous functionality at the same level of efficiency.
The Subsumption architecture is built in layers, where every layer has inputs,
some from sensors, some from lower numbered layers, and every layer produces
output that control the robot's action. The higher levels build upon the
lower levels to create more complex behaviors. The behavior of the system as
a whole is the result of many interacting simple behaviors. The layers
operate asynchronously. All layers operate at the same time, in parallel.
There are several robots built with the subsumption architecture. For example:
Allen [Brooks, 1990], Tom and Jerry [Connel, 1987],
Herbert [Brooks et al., 1988], Genghis [Brooks, 1989], etc.
A brief review of all these robots is given in [Brooks, 1990].
Here a brief review of Allen will be given to illustrate the architecture of
subsumption systems:
Allen
The first robot built on the subsumption architecture was
Allen and had sonar range sensors.
Fig.1.: Robot Allen, structure.
Allen had three
layers of competence:
- Avoid: The first layer let the robot avoid both static and dynamic obstacles. The
internal representation used was that every sonar reading represented a repulsive
force. The vector sum of the forces, suitably thresholded, determined in which
direction the robot should move. Additionaly, the robot halted whenever there was
something right in front of it.
- Wander around: The second layer made the robot randomly wander around. This
layer was coupled with the reflex to avoid obstacles by vector addition. The
summed vector suppressed the more primitive obstacle avoidance, but the obstacle
avoidance behavior still operated.
- Explore: The third layer made the robot look (using its sonars) for distant places
and try to head towards them. The generated direction suppressed the direction
desired by the wander layer.
Fig.2.: Allen, realisation of all layers.
Using these behavior Allen was able to wander aimlessly around, without any
specific intention, at the same time avoiding obstacles. Many of the traditional
subsumption robots as in the case for Allen, have no way to be externally guided for
task-achieving purposes. They are, in essence, robots which autonomously perform only
the particular tasks which have been "hard-wired" into them.
Bibliography
- Brooks, R.A., (1986), "A Robust Layered Control System for a Mobile Robot",
IEEE Journal of Robotics and Automation, RA-2, pp.14-23.
- Brooks, R.A., (1989), "A robot that walks: Emergent behavior from a carefully evolved
network", Neural Computation, pp. 235-62.
-
Brooks, R.A., (1990), "Elephants Don't Play Chess", in P.Maes, ed., Designing
Autonomous Agents, the MIT press, pp.3-15.
- Brooks, R.A., Connel, J.A. & Ning, P., (1988), "Herbert: A Second Generation Mobile
Robot", MIT AI, page Meno 1016.
- Connell, J., (1987), "Creature Building with the Subsumption Architecture",
International Journal of Computing and AI, pp. 1124-26.
- Lúčny, A., (2002), "Multiagentové systémy", lecture notes from
2nd Robotic Holidays 2002, Bratislava, [in Slovak].
© 2003 Department of Automation and Control FEI STU
Ilkovičova 3, 812 19 Bratislava, Slovakia
Last update: July, 1, 2003.
Responsible person: Richard Balogh.