Subsumption Architecture for AI Robots

loutclankedAI and Robotics

Nov 13, 2013 (3 years and 6 months ago)

57 views

Subsumption Architecture:

Intelligent Robots

Motivations


Previously you have learned

1.
production systems: rules, working memory, and
match
-
then
-
fire control structure

2.
blackboard architecture to layer modules of
production system


Using these two concepts, adding subsumption
idea, we can begin to design AI robots.


Objectives

1.
What is a Robot Architecture?

2.
What is the Subsumption Architecture?

3.
Robotic explorer

4.
Robotic seeker

5.
Robotic forager

6.
Minimal Universal Computer



Ant as robot


Ants are tiny creatures with a set of sophisticated actions.


behaviors: foragers (seek and collect), workers, queens, army
ants, swarm raids.


These behaviors are specified by programs inside the ants.


Consider the size of an ant, the program inside it cannot be that
big.


No robotic ant today.


Neural steps are running in kHz, compared with MHz and GHz
of today's CPUs.


Ants react to changes in its environment in a fraction of a
seconds. Within that time, it can at most perform 1000 primitive
calculations.


Execution in dynamic real
-
time environment (running of the ant
program) cannot be that complicated either.


No sophisticated symbolic (logical) representation in the
program.

To subsume


To subsume is to
contain as a
subordinate or
component element.


General MacArthur's
order was subsumed by
the President Truman's.


President Truman's
order subsumed
(
overruled
) General
MacArthur's.


President

General

Colonel

Major

Captain

Lieutenant

C
hain of commands

What is a robot architecture?


Software and hardware
framework for controlling
the robot


For this course, we focus
on the software


The development of code
modules and the
communication

between
them


For this lecture, we focus
on the communication


Robotic systems are
complex.


They integrate multiple
sensors with effectors


Many degrees of freedom


Hard real
-
time systems


Make decisions in real
-
time.

Input: 12 sensors for sensing the environment

Output: movements driven by mechanical motors

Robot component modules


Each code module of a robot can be represented by
a production system.


Steering module


Sense obstacle dead ahead
→ stop the motor


Sense obstacle on the right
→ steer to the left


Sense obstacle on the left
→ steer to the right


Sense obstacle at
x

degree
→ steer
y

degrees


Acceleration module


Path planning module


Recharging module

3
-
layered (3
-
modules) subsumption architecture

AVOID layer

Obstacles could be stationary or moving in real time in the real environment.

Every second, each of the 12 sensors gives a radial depth measurement.

An instantaneous map is built every second.

Submodule collide decides whether to halt or not.

Submodule feelforce decides whether to avoid or runaway

WANDER

Every 10 s, generate a random
heading for AVOID.


EXPLORE

Look ahead and plan a path
toward the goal.

Every now and then, decides to
turn or go straight, overruling
WANDER.

Unlike state
-
space search, there are no discrete fixed states.
Instead, an instantaneous map is produced continuously every s.

Subsumption architecture


No centralized control


Intelligence requires the
interaction between the agent
and sensing its environment.


Intelligence emerges from
simpler behaviors
incrementally, layer by layer


Higher layer subsumes
(overrules) the immediately
lower layer.


Higher layer, higher
competence


Each layer has simple
purpose and avoids over
-
reaching its purpose.


3 phases of chess game


opening phase


development of pieces to control the center


mid
-
game


exchange of pieces


end
-
game


check mate


At the open phase, if a player plans to
checkmate his opponent, he is complicating
his analysis at this stage of the game.


Player is over
-
reaching. Bad idea.

Subsumption
-
based robots

Genghis navigating
difficult terrain


Herbert picking up a can

5 layers


Wander around MIT Robotics Lab, looking for
empty aluminum drink cans on people's desk.


The layers are minimally dependent and use
minimal communication.


Layers

1.
Recognizing aluminum drink cans

2.
Looking for desks

3.
Explore the environment to find an office

4.
Wander around locally

5.
Avoid obstacles


Foraging Example


Forage: To wander in search of food or provisions.



Foraging:


Robot moves away from home base looking for
attractor objects


When detect attractor object, move toward it, pick it
up, and return it to home base


Repeat until all attractors in environment have been
returned home



High
-
level behaviors required to accomplish foraging:


Wander
: move through world in search of an attractor


Acquire
: move toward attractor when detected


Retrieve
: return the attractor to the home base once
required

Finite state acceptor for foraging

Start

Wander

Retrieve

Acquire

Halt

BEGIN

DETECT

GRAB

RELEASE

DONE

Level of competences for a mobile robot

Level 0: Avoid contact with objects (whether the objects
move or are stationary).

Level 1: Wander aimlessly without hitting things.

Level 2: Explore the world by seeing places in the
distance which look reachable and heading for them.

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

Level 4: Notice changes in the environment.

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

Level 6: Formulate and execute plans which involve
changing the state of the world in a desirable way.

Level 7: Reason about the behavior of objects in the
world and modify plans accordingly.

Layered (incremental) control


Control is layered with
higher level layers
subsuming the roles of
lower layers when they
wish to take control.


The system can be
partitioned at any level,
and the layers below form
a complete operational
control system.


Minimal Universal Computer


Data structure


The only symbols allowed are 1 and 0.


The only data structure is the bit sequence.


Operations

1.
CLEAR x which assign 0s to the bit sequence x.

2.
INCR x which increases the value of x by 1, interpreted as a
binary integer.

3.
DECR x which decrements x by 1.

If x is already 0s, then DECR does nothing.


Control structure


While x is not 0s, perform the operations in the body.

WHILE_NOT_CLEAR (x)





.





body





.


END



Loops can be nested.


Robot architectures and computability


From computational perspective, architectures
are equivalent in their computational
expressiveness.


Similar to choice of programming language


C, C++, Java, LISP, Cobol, Fortran, Pascal, etc.


Since robotic architectures can simulate a
minimum universal machine, they are all
Turing
-
equivalent.

Tenets of the Subsumption Architecture




Complex behavior need not be the product of a complex
control system


The world is its own best model


Simplicity is a virtue


Robots should be cheap


Robustness in the presence of noisy or failing sensors is
a design goal.


All onboard computation is important


Systems should be built incrementally


No representation. No calibration. No complex
computers. No high
-
bandwidth communication.

Conclusion


A subsumption architecture is a way of
decomposing complicated intelligent
behaviours into many "simple" behaviour
modules


The modules are in turn organized into
layers.


Each layer implements a particular goal of the
agent.


Higher layers are increasingly more abstract.


Each layer's goal subsumes that of the
underlying layers in a hierarchical manner.