Title: Designing a Reactive Implementation
1Designing a Reactive Implementation
- List the steps involved in designing a reactive
behavioral system. - Use schema theory to program behaviors using
object-oriented programming principles. - Design a complete behavioral system, including
coordinating and controlling multiple concurrent
behaviors. - Describe the two methods for assembling primitive
behaviors into abstract behaviors finite state
machines and scripts.
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
2Steps in Designing a Reactive Behavioral System
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
3CSM 1994 UGV Competition
(this is from 1996, but its a way better picture)
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
- Fully autonomous vehicle, all on-board, navigate
a course 10ft wide, about 800ft long - Obstacles
- Carry a 20 pound payload
41-3. Describe the Task, Robot, Environment
Camcorder on a Panning mast, going to A
framegrabber
33MHz 486 PC running Lynx (commercial unix)
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
Sonar on a panning mast
- Have to use computer vision black white, slow
processor speeds (didnt get to design the robot) - White (bright) should be in the center of the
image - Reflections on grass are white, but random so
average out - If stay in middle, never encounter an obstacle!
- 150ms update rate needed for steering to stay in
control at 1.5mph
54. Describe how robot should act
- Follow the line and stay in the middle
- Follow-line
- Only need the Camcorder!
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
65-6 Refine and test each behavior
- Follow-line
- Worked with toilet paper (indoors),
- Worked with athletic line tape (outdoor)
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
77 Test with other behaviors
- Full dress rehearsal
- Oops, bales of hay are bright compared to grass,
change the centroid to cause collision - Go back to step 4
- Follow line until see an obstacle, then just go
straight until things return to normal - Hard to do visually in real time
- Sonar! Look to the side and when something is
close, its a bale, so go straight
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
8Final System
- Round 1
- OOPS sonar connection off so it hit the bale
- Round 2
- White shoes and dandelions, plus Killer Bale
- Demo round
- Hill vs. implicit flat earth assumption
- Round 3
- Trapped by sand, but 5K richer!
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
9Main Points
- Let the WORLD BE ITS OWN BEST REPRESENTATION and
CONTROL STRUCTURE - line wasnt a line just centroid of brightest
pixels in the image - Pick up trash if can is in gripper, then go to
the recycle bin - Design process was iterative rarely get a
workable emergent behavior on the first try - There is no single right answer
- Could have been done with subsumption, pfields,
rules, whatever
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
10Other Lessons Learned
- Dont count on getting much work done in the
field!
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
A river runs through it
11Case Study and Field TripPolar Robotics
- Existing robots
- DANTE, DANTE II
- Nomad
12DANTE
- Task
- explore volcanoes in Antarctica (reduce risk to
vulcanologists) - Environment
- steep, rocky slopes
- Robot
- legged framewalker
- Behaviors
- rappel down
- Refine and test
- Test with other behaviors
- 1997 South America, failed
- 1998 Antarctica, med. success
13Lessons to Be Learned
- A robot is part of a system, must design system
- example tether breaking
- Testing and evaluation really does take 30 of
the time allocated (just like software
engineering) - and more to fix the problem
- NASA technical readiness levels
- Level 1 just an idea
- Level 6 demonstrated on a realistic test bed
- Level 9 has flown, fully operational
14Nomad
- Task
- search for and analyze meteorities
- Environment
- Antarctica
- Robot
- hybrid mobility, LADAR, omnivision, sample
sensors - Behaviors
- search an area using GPS, avoid obstacles, stop
at possible meteorities and alert user. Can be
controlled by human - Refine and Test
- Test with other behaviors
- 1999
- 2000 success
15Nomad Omnivision
16Hyperion (really about Mars)
- Task
- navigate Arctic
- Environment
- Arctic
- Robot
- wheeled, uses solar
- Behaviors
- Refine and test
- Test with other behaviors
- 2002 success
17NASA HMP / Mars Society Flashline Project
Robotics Support
- Confined space inspection of Mars habitat
- Marsupial deployment for fault identification
- Human robot team for collaborative exploration
of - hazardous areas narrow fissures in search of
micro-organisms
18Case Study in PfieldsDocking
- Needed for marsupial robots
- Note
- use of reactivity
- simple perception
- pfields
- improvement over human
19Daughter-centric Docking Behavior
Potential field methodology orientation,
Xbar tangent vector overall size attraction
vector (Arkin, Murphy 90)
Silver Bullet AMD K-6 400MHz clearance/-2cm /-
5 degrees
Bujold Inuktun mVGTV Pan only, color
camera, optics at about 2ms, skid steering, no
on-board processor
20Docking Behavior Results
- 48 data points (3 per 16 stations) on time to
completion - by angle
- by radial position
- Larger angles, the slower, and farther away the
slower - 2 failures 3, 7
- Fastest 26 sec.
- Slowest 81 sec.
Optics dictated 120 deg, 2m Approach Zone
21Docking Behavior Results teleoperation
17 faster
Performance comparison - 66 data points, 22
teleoperators - paired sample t-test
(confgt95) Communications data -36 data points,
6 teleoperators
Teleoperators did better only at 1,3 where the
robot wasnt supposed to be able to dock from.
Noticed that teleoperators used a different
strategy opportunity for improvement
22Docking Vision
- Spherical Coordinate Transform space instead of
HSV, RGB - Biomimetic vision gradient, looming
- O(m x n) lighting insensitive color segmentation
- 8-10 frames/sec on commercial hardware vs. 30
frames/sec for Cognachrome hardware - Robust algorithm
- 2-colored landmark to prevent confusion
- imprinting and time of day look up tables (LUT)
- if time-out, mother moves
a color is a circle on the plane
23Light insensitive color segmentation
LUT (time of day, weather)
gt15 tries
Compute region statistics
Perform connected components
Initial values
Extract regions
Imprint
Adapt
new values for region
24Indoor Data Collection and Demonstrations
25Outdoor Demonstrations
Imprint at dawn (light mist), return 6 hours later
As expected, mediocre performance from dusk to
night (50) due to headlight reflection
26Additional Case StudiesCommercial Products
- Robomow
- cutting grass in residential areas
- My Real Baby
- toy dolls
27Robomow
- Behaviors?
- Random
- Avoid
- Avoid(bumpobstacle)
- Avoid(wireboundary)
- Stop
- Stop(tiltON)
- All active
Overview History Reactive USAR Summary
28My Real Baby
- Behaviors?
- Touch-gt Awake
- Upside down Awake-gt Cry
- Awake Hungry -gt Cry
- Awake Lonely -gt Cry
- Note can get crying from multiple behaviors
- Note internal state (countdown timer on Lonely)
Overview History Reactive USAR Summary
29Commercial Case Studies
- Purely reactive
- May not need subsumption or pfields, very
straightforward - State of practice is much less complicated than
state of the art!
30Design Tool Behavior Table
An agent is attracted to light. If it sees light,
it heads in that direction. If it encounters an
obstacle, it turns either left or right, favoring
the direction of the light. If there is no
light, it sits and waits. But if an obstacle
appears, the agent runs away.
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
31Behavior Table
An agent is attracted to light. If it sees light,
it heads in that direction. If it encounters an
obstacle, it turns either left or right, favoring
the direction of the light. If there is no
light, it sits and waits. But if an obstacle
appears, the agent runs away.
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
Releaser Behavior Motor Schema Percept Perceptual Schema
Light phototropism move2Light()Attraction Light direction strength Brightest(dir), atLight()
Range lttasked levelgt Obstacle avoidance avoid() turn left or right runaway() proximity Obstacle()
32Assemblages of Behaviors
- What to do if you have a SEQUENCE of behaviors
as well as CONCURRENCY? - Two equivalent methods
- Finite state automata (FSA)
- Scripts
- (other ways too)
- Two approaches
- Stuff the coordination mechanism into a separate
controlling program (like a main()) - Hurts portability, adding new behaviors on top
- Stuff the coordination mechanism into a
meta-behavior or abstract behavior using
recursive-ness of schemas - Coordination mechanism is the coordinated control
program part of the behavioral schema
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
33Example of a SequenceCatch Suzy!
34Example Continued
- Tracking Phase
- move to goal
- avoid obstacle
- Pick up Phase
- fine position
- pick up
- Return Home Phase
- move to goal
- avoid obstacle
same behaviors, just DIFFERENT INSTANTIATION OF
GOAL
35FSA MK,S,d,s,F
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
- K all the states, each is q- behaviors
- d transition function, d(q,s) new behavior
- S inputs that agent can see, each is s
stimulus/affordances - q0 Start state(s)- part of K
- F Terminating state(s)- part of K
36FSA Summary
- State doesnt mean state of world (bad) it
means more where the innate releasing mechanism
is currently at - Advantages
- Formal mechanism
- Have to fill in the table, so a way of spotting
unforseen effects - Disadvantages
- Hard to keep up with implicit behaviors
- Ex. Avoid obstacle is often running throughout
ALL states, gets tedious to express it formally - Tend to add explicit variable for transitions,
rather than rely on emergent behavior from
environment
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
37Scripts
- UGV competition really didnt have a sequence of
behaviors, just toggling back and forth - USAR victim detection has more of a typical
sequence or order of behaviors (like digger wasps
mating) - Imagine trying to do an FSA for the USAR task
- Scripts are equivalent to FSA but may be more
natural or readable for sequences
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
38Scripts
Script Behavior Analog Examples
Goal Task Find victims in rubble
Places Environment, applicability or taskability for new tasks Collapsed buildings
Actors Behaviors explore(), dance(), avoid(), crawl, move2void, move2victim
Props, cues Percepts Voids Dark, concave Victims heat, motion, color
Causal Chain Sequence of behavior Explore, dance, move2void, crawl, move2victim, dropRadio
Subscripts Exception handling If lose communications, return home
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
39Scripts Summary
- Advantages
- A more storyboard like way of thinking about the
behaviors - If-then, switch style of programming like FSA
- Since a Script is in a behavior, other
behaviors such as avoid can be running
concurrently without having to appear in the
script - Exception handling is a big plus in Real Life
- Disadvantages
- Can be a bit of overkill for simple sequences,
especially with C
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary
40Summary
- Design of reactive systems is similar to design
of object-oriented software systems - Highly modular, can test behaviors independently
- Follows the basic steps in the Waterfall
Lifecycle - Describe task, robot, environment, how robot
should act, refine behaviors, test independently,
test together. - Except lots more iteration, making it more like
Spiral - Behavior tables can help keep track of whats a
behavior and its releasers and percepts - Sequences of behaviors, rather than combinations,
can be controlled by a separate routine or by
adding a routine to the coordinated control
program in the behavioral schema - FSA and Scripts are two main methods
Design -Beh. Table -Steps Case Study Coordination
-FSA -Scripts Summary