Académique Documents
Professionnel Documents
Culture Documents
Subsumption Architecture
DARSHAN INGLE
Prepared by Prof. Darshan Ingle.
Reactive Paradigm
Sense-act type of organization.
The robot has multiple instances of Sense-Act couplings.
The SENSE-ACT organisation does not specify how the behaviors
are coordinated and controlled.
So each behavior has its own dedicated sensing which results in
more than one behavior taking the same output from the sensor and
process it differently(via behaviors perceptual schema).
Thus, one behavior does not know what another behavior is doing
or perceiving.
Hierarchical Paradigm
The robot operates in a top-down fashion, heavy on
planning.
The robot senses the world, plans the next action, acts;
at each step the robot explicitly plans the next move.
All the sensing data tends to be gathered into one global
world model.
Reference(Biological Intelligence)
To gather information requires senses, or sensors and the ability to
attach labels to the sensed perceptions and to manipulate these
labels to make predictions (algorithms, thinking).
Biological intelligence evolves out of multi-cellular bodies with
senses, nervous systems or brains (wet-ware).
Non-biological forms of intelligence require sensors, electrical
networks or computer brains (hardware).
Although various reactive systems may or may not strictly adhere to
the principles of biological intelligence, they generally mimic some
aspect of biology.
Sensors
Extract
Features
SENSE
Combine
Features
into
Model
Plan
Tasks
Task
Execution
PLAN
Motor
Control
Actuators
ACT
Vertical Decomposition
1.
2.
3.
4.
5.
Vertical Decomposition
Vertical decomposition of tasks into a S-A Organisation, associated with
the Reactive Paradigm
Build maps
explore
Sensors
Actuators
wander
Avoid Collisions
SENSE
ACT
SENSE
ACT
SENSE
ACT
SENSE
ACT
10
11
Behaviour
Behaviour
SENSE
ACT
Behaviour
SENSE
ACT
Behaviour
SENSE
ACT
SENSE
ACT
12
Characteristics of Reactive
Behaviours
1)
13
14
15
16
17
Subsumption Architecture
Rodney Brooks Subsumption Architecture is the most influential of
the purely Reactive Paradigm systems.
These robots look like shoe-box sized insects (6 legs and antennae)
Implementations quite often have the behaviours embedded directly
in the hardware or small micro processors allowing the robots to
have all on-board computing.
Robots could now walk, avoid collisions and climb over obstacles
without the move-think-move-think pauses of Shakey.
A behaviour is a network of sensing and acting modules which
accomplish a task.
The modules are Augmented Finite State Machines (AFSM), or finite
state machines which have registers, timers & other enhancements
to permit them to be interfaced with other modules.
Prepared by Prof. Darshan Ingle.
18
20
Sensor: A SONAR module that gives the distance to the objects in polar
coordinates.
Internal Modules
COLLIDE detects if front obstacle is too close (i.e. halt signal)
FEELFORCE it treats sensor reading acts as repulsive force field.It
can be thought of as summing the vectors from each of thesonar
readings.This results in a new vector.
RUNAWAY provides direction to move
Actuators
TURN provides motor output to turn robot.It splits off the direction to
turn and passes it to steering actuators. It also passes it to the
FORWARD module which uses magnitude to determine the magnitude
of next forward motion(how far/how fast)
FORWARD switches forward motion on or off
21
7
1
6
2
3
22
23
24
Level 1 (Contd)
Consider a robot which actually wandered around instead of sitting
motionless, but was still able to avoid obstacles.
This is achieved using WANDER module
-which computes the random headings(vector) every n seconds
-pass it to TURN and FORWARD module
But, it cannot be passed to TURN module directly since TURN
accepts only one input.
One solution is to add another module in level 1, AVOID, which
combines FEELFORCE vector with WANDER vector.
This also offers an opportunity to create a more sophisticated
response to obstacles.
AVOID combines the direction of force of avoidance with desired
heading which results in actual heading being mostly in right
direction.This is now fed to TURN module.
Note:AVOID module was able to EAVESDROP on components of
next lower layer.
Prepared by Prof. Darshan Ingle.
25
Level 1 (Contd)
The issue now appers to be when to accept the heading vector from
which layer.
Subsumption makes it simple: the o/p from the higher layer
subsumes the o/p from the lower layer
This is done in one of the two ways:
1. Inhibition
O/P of subsuming module is connected to O/P of another
module.
If O/P of subsuming module is ON/has any value-> O/P of
subsumed moduleis blocked/turned OFF.
2. Suppression
O/P of subsuming module is connected to I/P of another
module.
If O/P of subsuming module is ON,it replaces normal I/P to
subsumed module.
Prepared by Prof. Darshan Ingle.
26
Level 1 (Contd)
27
28
Level 2 (Contd)
Third layer is used to permit a behavior move down the corridor.
LOOK module-> examines the sonar polar plot & identifies the
corridor.
LOOK module isnt included in the lower layer since identifying the
corridor is more computationally expensive than just extracting
range data.Thus it would have taken longer time to execute at lower
layer.
STAYIN MIDDLE module-> LOOK passes the vector representing
the direction of middle to STAYIN MIDDLE module.
Now this STAYIN MIDDLE module subsumes the WANDER module
and delivers the o/p to AVOID module.
Thus the robot can now swerve around obstacles.
How does the robot get back on course if the LOOK module has not
computed a new direction?The solution is INTEGRATE module
29
Level 2 (Contd)
INTEGRATE module->observes the robots actual motions from
shaft encoders in actuators.This gives an estimate of how far the
robot has travelled since the last update by LOOK.
Thus INTEGRATE module supplies a dangerous internal state i.e. it
substitites for the feedback from the real world.
If for some reason , the LOOK module never updates,then the robot
would operate without any sensor data forever/atleast until it is
crashed.
So subsumption style systems include time constants on supression
& inhibition.
If the supression from STAYINMIDDLE ran for longer than n
seconds without a new update, the supression would cease.
The robot would then begin to wander, and hopefully whatever
problem(like the corridor being totally blocked) that had led to the
loss of signal would fix itself.
30
31
32
33
2.
3.
Uniform:
Here , the robot would feel the same force no matter where it is.
From any position or orientation, the robot would align itself to the
direction the arrow points and will move in that direction at a
velocity proportional to the length of the arrow.
Perpendicular:
Here, the robot is oriented perpendicular to the object/wall/border.
The field is directed away from gray wall, but perpendicular field
can be pointed towards the object as well.
Attractive:
Here, whereever the robot is, it will feel a force relative to the
object.
It is usually used when the agent is literaly attracted to
light/food/goal.
34
5.
Repulsive:
Opposite of attractive field
These are normally associated with obstacles/things that the agent
should avoid.
Closer the robot is to the object,stronger the repulsive force,180
degree away from it.
Tangential:
This field is tangent around the object.
They can spin either clockwise/anti clockwise.
They are useful for directing the robot to go around the
obstacle/having a robot investigate something.
35
Magnitude Profiles
Notice slide
33(fig c & fig
e),length of
the arrow
get smaller
closer to the
object.
The way of
changing of
this
magnitude
of the
vectors is
called
magnitude
profile.
Prepared by Prof. Darshan Ingle.
36
Magnitude Profiles(Contd)
1.
2.
3.
Constant magnitude:
When a robot encounters a robot a obstacle, it either tries to run
away from it or stops there.
This whole process is happening at a constant speed,which leads
to jerky motion.
Linear drop off:
When a robot encounters a robot encounters a obstacle,it will turn
and move quickly towards it ,then slow up to keep from over
shooting & hitting the object.
Exponential drop off:
Here, the drop off is proportional to the square of the distance.
Thus, for every unit of the distance away from the object, the force
on the robot drops in half.
37
The first attribute of true potential field methodology is that it requires all
behaviors to be implemented as potential fields.
The second attribute is that it combines behaviors by vector summation.
Now, how are this behaviors implemented & combined?
38
39
5.
6.
7.
40
41
42
43
44
45
46
47
48
49
50
51
1.
2.
3.
4.
5.
Docking behavior:
Docking is when a robot moves to a specific
location& orientation relative to docking
station.
This is useful for robots performing material
handling in industry.
So in order to accept a piece of material to
carry,the robot has to be close enough to the
correct side of the end of conveyer and
facing the right way(i.e. in right position &
orientation)
So we go for selective attraction field. It
makes the robot feel the attractive forces
when it is within certain angular range of
docking station.
However , it does not cover the case of when
the robot approaches from behind or to the
side.
Prepared by Prof. Darshan Ingle.
52
7.
So we go for
tangential field.It
makes the robot
orbit the dock until it
gets the selective
attraction area.
This combination of
the 2 motor
schemas produces
very smooth field
which keeps the
robot in correct
position &
orientation.
53
54
5.
55
1.
2.
56
57
THANK YOU.
Prepared by Prof.
58 Darshan Ingle.
Designing a Reactive
Implementation
DARSHAN INGLE
Prepared by Prof. Darshan Ingle.
59
Overview
By this time, the sheer simplicity & elegance of reactive robots incite
people to start designing and implementing their own robots.
Several kits(Lego Mindstorms, Rug Warrior) permit the rapid
coupling of sensors & actuators, enabling users to build reactive
behaviors.
However new issues are how to program more intelligence into
software and how to exploit better sensors than those which come
with kits.
Unfortunately, good intentions in robot programming are often
frustrated by two deficits:
1.
2.
60
Overview (Contd)
Emergent behavior-> When a small set of behaviors are combined
internally to produce an overall behavior.
Series of behavior-> Here, behaviors are operating in a recognizable
sequence.
This chapter attempts to aid the novice designer in constructing a
reactive robot system by addressing each of these two deficits:
1. An object oriented approach to designing behaviors is
introduced.
2. Two techniques for managing behaviors of robot are
introduced:
61
62
63
64
65
66
67
68
69
70
71
follow_wall(left)
follow_wall(right)
Each instance of follow_wall would receive the sonar polar plot and
extract the relevant wall as shown in the associated class
diagram on slide no. 74 fig 5.2 b
In both the behaviors , motor schema ran continously and the
vectors were summed internally in order to produce a single o/p
vector.
Since there were multiple motor schemas, the coordinated control
program for follow_corridor behavior is not null as it was for
move_to_goal.
Thus the vector summation & the concurrency form the conceptual
coordinated control program
in this case.
Prepared by Prof. Darshan Ingle.
72
73
74
76
77
78
79
Assemblages Of Behaviors
There are three common wys of representing how a sequence of
behaviors: finite state automata, scripts & skills.
Finite state automata and scripts are logically equivalent, but they
differ slightly in their implementation way.
Skills collect behavior-like primitives called Reaction-Action
Packages(RAPs) into a sketchy plan which can be filled in as the
robot executes.
80
81
82
83
84
85
86
Abstract Behaviors
FSA are useful tool for expressing the coordinated control program
of an abstract behavior.They fall short as a programming tool for
abstract behaviors in a number of ways.
First in many cases,the assemblages of behavior represents a
prototypical sequence of events that should be slightly adapted to
different situations i.e. a TEMPLATE or a ABSTRACT BEHAVIOR.
Eg: In the Pick Up The Trash event, recycling the coke cans was not
the only the part of task,the robots were also supposed to pick up
white Styrofoam cups and deposit them into yellow trash
cans.These behaviors represented by the FSA could be collected
into an abstract behavior:
pick-up-the-trash( trash-color, trash can-color, size-trash can)
Second, templates need to handle different initialization conditions.
Eg: In the start state itself, the robot is facing a bale/obstacle.
87
88
Scripts
Abstract behaviors often use scripts, or a related construct called
skills, to create generic templates of assemblages of behavior.
Scripts encourage the designer to think of the robot and the task
literally in terms of screen play.
Scripts were originally used in Natural Language Processing (NLPs)
to help the audience(a computer) understand actors (people talking
to the computers or writing summaries of what they did).
In case of robots, actors are the robots reading the scripts.
The script has more room for improvisation though, if the robot
encounters an unexpected condition, the robot begins with the subscript . This main sequence of events is called as the casual chain.
In programming robots, we often abbreviate the routine portions of
control and concentrate on representing and debugging the
important sequence of events.
FSA force the designer to consider and enumerate every possible
transition, while Scripts simplify the specification.
Prepared by Prof. Darshan Ingle.
89
THANK YOU.
Prepared by Prof.
90 Darshan Ingle.