You are on page 1of 39

Subsumption and Genghis

CPSC 472/572 – Intelligent Robotics


Brian Scassellati
Traditional Robot Design:
Design via Introspection

sense perception

modelling
Sense-
Think-Act
planning
Cycle
task execution

motor control act

Shakey (SRI)
Differences in Design
Sense-Think-Act Cycle Behavior-Based
(reactive) model
sense perception
Modify the World

modelling
Create Maps

actuators
sensors
planning
Explore

task execution
Avoid obstacles

motor control act


Move around
Finite State Machines
other not-at-start •  State dictates
action to take
all-poles- •  Transitions based
compete Find-
Start Next-
found Return- on sensory data
To-Start
Pole •  Special start state
timeout

no-pole- at-start •  Finite set of


found
states, transitions
Move- Random •  Transitions are
Halt
To-Pole Move deterministic (in
traditional
models)
not-at-pole time-not-up all
Behaviors as
Augmented Finite State Machines
•  Multiple inputs and
Wander Behavior outputs
•  Addition of a local
timer

outputs
inputs

Finite State •  Inputs are buffered in


Machine
registers
•  Feedback can be
achieved through the
registers
Subsumption Architecture: Wiring

•  Inhibition : prevents a message from being passed


•  Suppression : replaces a message with a new message
•  Defaulting : same as suppression with wires switched
Inhibition

•  Inhibition : prevents a message from being passed


Suppression

•  Suppression : replaces a message with a new message


Defaulting

•  Suppression : replaces a message with a new message

•  Defaulting : same as suppression with wires switched


Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Back-out-of-tight
Situations Layer Lost
Collide

Reverse

Explore
Wander Go I Layer
Sensors

Forward D Motors
S
Turn away
S Breaks
Avoid-Objects Layer

i Inhibition : prevents a message from being passed


s Suppression : replaces a message with a new message
d Defaulting : same as suppression with wires switched
Subsumption Architecture
Features
•  Behaviors are inherently modular
•  Messages are asynchronous
–  No need for global coordination
•  Higher level layers subsume lower level
ones
•  Layering allows for sub-division by
processor
–  Limited communications between layers
Genghis
•  35cm long, 25cm leg span
•  Six legs, each with 2 model airplane
servos
–  α : advance (front to back)
–  β: balance (up and down)
•  Sensors
–  2 feelers
–  Two 4-bit inclinometers (pitch & roll)
–  6 pyro sensors
–  Force measurement (from servo Roboticists involved in the
error signal) for each leg construction of Genghis:
•  4 8-bit microprocessors on-board •  Rodney Brooks
•  62.5 kbaud Token ring •  Grinnell Moore (Mechanical)
•  Colin Angle (Electronics)
•  ~1k RAM, 10k EPROM
Genghis
•  35cm long, 25cm leg span
•  Six legs, each with 2 model airplane
servos
–  α : advance (front to back)
–  β: balance (up and down)
•  Sensors
–  2 feelers
–  Two 4-bit inclinometers (pitch & roll)
–  6 pyro sensors
–  Force measurement (from servo Roboticists involved in the
error signal) for each leg construction of Genghis:
•  4 8-bit microprocessors on-board •  Rodney Brooks
•  62.5 kbaud Token ring •  Grinnell Moore (Mechanical)
•  Colin Angle (Electronics)
•  ~1k RAM, 10k EPROM
Genghis
•  35cm long, 25cm leg span
•  Six legs, each with 2 model airplane
servos
–  α : advance (front to back)
–  β: balance (up and down)
•  Sensors
–  2 feelers
–  Two 4-bit inclinometers (pitch & roll)
–  6 pyro sensors
–  Force measurement (from servo Roboticists involved in the
error signal) for each leg construction of Genghis:
•  4 8-bit microprocessors on-board •  Rodney Brooks
•  62.5 kbaud Token ring •  Grinnell Moore (Mechanical)
•  Colin Angle (Electronics)
•  ~1k RAM, 10k EPROM
Behavior i s d

tied to
actuator Standing Up
tied to Six legs, each with 2 servos
sensor
α : advance (front to back)
•  Rectangle (R) : behavior with β: balance (up and down)
AFSM
•  R + Green triangle in lower
right : behavior that is tied to
an actuator
•  R + Red triangle in upper left
corner : behavior that is tied to
a sensor Beta
Position
•  Circle with i: inhibits (no output
from either)
Internal register holds
•  Circle with s: suppress set position for each leg Alpha
Position
(replace output) that causes the robot to
stand when power
•  Circle with d: defaults comes on
Simple Walking
Suppress Leg Down
signal and replace
Trigger a walk by with Up Leg Trigger
triggering legs to signal when present Suppress
lift in some Lift a leg the Alpha
specific order whenever Balance
cued signal and
replace
Whenever the with Alpha
Up Leg leg is up, swing
Walk Advance
Trigger it forward signal
Attempts to put when
the leg down Leg Beta Alpha present
Down
s Position Advance
whenever it isn’t

Alpha
Sums Alpha
Balance
s Alpha
Positions of all Position
legs to maintain
balance
Walk AFSM: Changing the Gait
Ripple Gait Tripod Gait

1 4 1 2

2 5 2 1

3 6 1 2

•  Requires changing only one behavior


Walk FASM: Changing the Gait
Genghis’ First Steps
Simple Walking

Up Leg
Walk
Trigger

Leg Beta Alpha


Down
s Position Advance

Alpha
Balance
s Alpha
Position
Force Balancing
Read in the force
applied to the Lift the leg when the force
beta (up-down) is too high (when you hit
motor. an obstacle)

Beta Beta
Default behavior is to follow
Force Balance
the Beta Balance signal, but
will be replaced when Up Leg
Up Leg Trigger signal is present
Walk
Trigger
d (override).

Leg Beta Alpha


Down
s Position Advance

Alpha
Balance
s Alpha
Position
Leg Lifting
Trade-off between lifting the
leg high to move over
obstacles and speed of
walking When you
hit
Beta Beta something
Force Balance while
advancing
the leg
Up Leg Alpha
Walk
Trigger
d Collide
forward,
then lift the
leg higher
Leg Beta Alpha
Down
s Position Advance

Alpha
Balance
s Alpha
Position
Walking over Obstacles
Leg Lifting

Beta Beta
Force Balance

Up Leg Alpha
Walk
Trigger
d Collide

Leg Beta Alpha


Down
s Position Advance

Alpha
Balance
s Alpha
Position
Whiskers Can also trigger this
leg lifting behavior
Read in the when the feelers
sensor values of contact something in
the 2 feelers. front of the robot…
a pre-emptive
Feeler movement
Beta Beta
Force Balance
s
Up Leg Alpha
Walk
Trigger
d Collide

Leg Beta Alpha


Down
s Position Advance
2 feelers

Alpha
Balance
s Alpha
Position
Pitch Stabilization
Read sensor When the pitch is high, the load on
values for 2 the legs is high, but should not trigger
inclinometers a balance adjustment. Inhibit all
For/back
output signals.
Pitch
Feeler
Beta Beta
Force Balance
i
s
Up Leg Alpha
Walk
Trigger
d Collide

2 inclinometers Leg Beta Alpha


(pitch & roll) Down
s Position Advance

Up Leg Trigger Alpha


signal propagates Balance
s Alpha
anyway since the Position
inhibited output is on
the inferior wire
6 pyro sensors
Monitor IR sensors.

Prowling
Walk only if moving
heat-source is detected.
Signal high if none
found.

IR For/back
Prowl
Sensors Pitch
Feeler
Beta Beta
Force Balance
i
s
Up Leg Alpha
Walk i Trigger
d Collide

Leg Beta Alpha


Down
s Position Advance

Normally inhibit the walking


mechanism until a heat- Alpha
Balance
s Alpha
source appears. Causes the
Position
robot to remain motionless
until someone appears, then
walk forward normally
Steered Prowling
Steer toward the heat
IR For/back source by changing the
Prowl forward travel of each
Sensors Pitch
leg
Feeler
Beta Beta
Force Balance
i
s
Up Leg Alpha
Walk i Trigger
d Collide

Leg Beta Alpha


Down
s Position Advance

Alpha
Balance
s Alpha
Position
Steer
Following People
Complete Behavior System
IR
Prowl
For/back Total of 57 AFSMs
Sensors Pitch
Distributed over 4
Feeler
processors
Beta Beta
Force Balance
i
s
Up Leg Alpha
Walk i Trigger
d Collide

Leg Beta Alpha


Down
s Position Advance

Alpha
Balance
s Alpha
Position
Steer
Conclusions
•  A demonstration of how complex
behaviors, such as walking, can be
constructed from a network of relatively
simple reflexes with little central control
–  No central area for sensor fusion
–  Addition of more complex behaviors is tightly
integrated with the low-level behaviors
•  Results in systems that are difficult to predict
•  But these systems also can produce complex,
interesting behavior from simple additions
Administrivia
•  Up next: Subsumption meets machine
learning
–  Reading: Arkin, p. 305-316
•  PS#1 out now

You might also like