CPS196 - Fall 1999
Subsumption
Reading: Brooks
Background: The subsumption idea is very influential in recent work in
autonomous robotics.
Notes: By Ralph Bodenner
We did demos of robots belonging to Group I
(robot closeup), Group II, Group
III, Group IV, and the remains of Group V (robot
closeup).
LegOS on one NT machine in C:\legos, rotation sensor patch almost
ready (Luis).
Group 2 (web compiler):
- rubber band drive failed, couldn't move wheels fast, since they
slipped
- single back wheel turned well, but stayed stuck turning
- surface-dependent: turns wider or tighter depending on friction
- to turn, reverse works best on the opposite wheel, then brake
Group 4 (NT):
- bottom not secured, it falls out
- applied brake, ran on smooth surfaces
- using rotation sensor would have been best way to make motion
friction-independent
Group 5 (Linux):
- used tank treads, (somewhat) consistent action on different
surfaces
- seemed to go more slowly on each trial, may need new batteries
Group 1 (web compiler):
- stopped after each square side
- geared, large drive wheels in front, Lego piece resting on
surface in rear for balance and turning
- sleep() caused a problem for no good reason, robot would freeze
- must destroy each thread individually
- adding do-nothing loop at the end lets button-press events stay
active so you can kill the robot with a button or a sensor event
- does reset_rom() work?
Group 3 (Linux):
- stuck in loop at end, must remove batteries after each run, then
re-upload program
Ideas:
- passing a message down the hall
- bird flocking
- battles between robots
- laser tag
- robots generally working together
Subsumption (Brooks paper):
- layers of control: sensors to layer 0 control to actuators
(motors, etc.)
- upper levels subsume lower levels (overrule lower levels), take
control of actuators
- good for debugging, but why not just use the highest level?
- modules communicate with each other; for example (Fig. 5) forward
activates/deactivates turn
Modified: Tue Oct 12 09:56:52 EDT 1999
by Michael Littman, mlittman@cs.duke.edu