Introduction to AI Robotics (MIT Pres s) Chapter 5: Designing a Reactive Implementati on 1 5 Designing 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. esign Beh. Table Steps ase Study oordination FSA Scripts ummary
40
Embed
5 Introduction to AI Robotics (MIT Press)Chapter 5: Designing a Reactive Implementation1 Designing a Reactive Implementation List the steps involved in.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 1
5 Designing 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.
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 11
5 Case Study and Field Trip:Polar Robotics
• Existing robots– DANTE, DANTE II
– Nomad
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 12
5 DANTE• 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
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 13
5 Lessons 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
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 14
5 Nomad• 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
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 15
5 Nomad Omnivision
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 16
5 Hyperion (really about Mars)• Task
– navigate Arctic
• Environment– Arctic
• Robot– wheeled, uses solar
• Behaviors
• Refine and test
• Test with other behaviors– 2002 success
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 17
5 NASA 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
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 18
5 Case Study in Pfields:Docking
• Needed for marsupial robots
• Note– use of reactivity
– simple perception
– pfields
– improvement over human
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 19
5 Daughter-centric Docking Behavior
Potential field methodology:
orientation, Xbar=
tangent vectoroverall size=
attraction vector(Arkin, Murphy 90)
Silver Bullet:AMD K-6 400MHz
clearance=+/-2cm+/-5 degrees
Bujold: Inuktun mVGTVPan only, color camera,optics at about 2ms,skid steering,no on-board processor
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 20
5 Docking Behavior Results
Pfields weren’tintended to workbehind thegate
Optics dictated 120 deg, 2mApproach Zone
• 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.
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 21
5 Docking Behavior Results: teleoperation
Performance comparison:- 66 data points, 22 teleoperators- paired sample t-test (conf>95%)Communications data:-36 data points, 6 teleoperators
Autonomous vs. Teleoperated Performance
01020304050607080
time
collisions
commands/meter
commands/min
autonomous
teleoperated
Teleoperators did better only at 1,3 where the robot wasn’tsupposed to be able to dock from. Noticed that teleoperators used a different strategy; opportunity for improvement
17% faster 17% faster
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 22
5 Docking 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
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 23
5
Initialvalues
Computeregion
statistics
new values for region
Light insensitive color segmentation
Imprint AdaptExtractregions
Performconnected
components
>15 tries
LUT(time of day,
weather)
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 24
5 Indoor Data Collection and Demonstrations
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 25
5 Outdoor Demonstrations
Imprint at dawn (light mist), return 6 hours later
As expected, mediocre performance from dusk to night (~50%) due to headlight reflection
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 26
5 Additional Case Studies:Commercial Products
• Robomow– cutting grass in residential areas
• My Real Baby– toy dolls
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 27
5 Robomow
• Behaviors?
• Random
• Avoid– Avoid(bump=obstacle)
– Avoid(wire=boundary)
• Stop– Stop(tilt=ON)
• All active www.friendlymachines.com
OverviewHistoryReactive USARSummary
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 28
5 My Real Baby
• Behaviors?
• Touch-> Awake
• Upside down & Awake-> Cry
• Awake & Hungry -> Cry
• Awake & Lonely -> Cry
• Note: can get crying from multiple behaviors
• Note: internal state (countdown timer on Lonely)
www.irobot.com
OverviewHistoryReactive USARSummary
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 29
5 Commercial Case Studies
• Purely reactive
• May not need subsumption or pfields, very straightforward
• State of practice is much less complicated than state of the art!
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 30
5 Design 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.
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 31
5 Behavior Table
Releaser Behavior Motor Schema
Percept Perceptual Schema
Light phototropism move2Light():Attraction
Light: direction & strength
Brightest(dir), atLight()
Range
<tasked level>
Obstacle avoidance
avoid(): turn left or right;
runaway()
proximity Obstacle()
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.
Introduction to AI Robotics (MIT Press) Chapter 5: Designing a Reactive Implementation 40
5 Summary• 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 what’s 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