1 / 46

Designing a Reactive Implementation

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.

hasad
Download Presentation

Designing a Reactive Implementation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  2. Steps in Designing a Reactive Behavioral System Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  3. CSM 1994 UGV Competition • Fully autonomous vehicle, all on-board, navigate a course 10ft wide, about 800ft long • Obstacles • Carry a 20 pound payload (this is from 1996, but it’s a way better picture) Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  4. 1-3. Describe the Task, Robot, Environment Camcorder on a Panning mast, going to A framegrabber • Have to use computer vision… black &white, slow processor speeds (didn’t 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 33MHz 486 PC running Lynx (commercial unix) Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Sonar on a panning mast Chapter 5: Designing a Reactive Implementation

  5. 4. 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 Chapter 5: Designing a Reactive Implementation

  6. 5-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 Chapter 5: Designing a Reactive Implementation

  7. 7 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, it’s a bale, so go straight Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  8. Final 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 Chapter 5: Designing a Reactive Implementation

  9. Main Points • Let the WORLD BE ITS OWN BEST REPRESENTATION and CONTROL STRUCTURE • “line” wasn’t 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 Chapter 5: Designing a Reactive Implementation

  10. Other Lessons Learned • Don’t count on getting much work done in the field! Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary “A river runs through it…” Chapter 5: Designing a Reactive Implementation

  11. Case Study and Field Trip:Polar Robotics • Existing robots • DANTE, DANTE II • Nomad Chapter 5: Designing a Reactive Implementation

  12. 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 Chapter 5: Designing a Reactive Implementation

  13. 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 Chapter 5: Designing a Reactive Implementation

  14. Nomad • Task • search for and analyze metorities • Environment • Antarctica • Robot • hybrid mobility, LADAR, omnivision, sample sensors • Behaviors • search an area using GPS, avoid negative/positive obstacles, stop at possible metorities and alert user. Can be controlled by human • Refine and Test • Test with other behaviors • 1999 • 2000 success Chapter 5: Designing a Reactive Implementation

  15. Nomad Omnivision Chapter 5: Designing a Reactive Implementation

  16. Hyperion (really about Mars) • Task • navigate Arctic • Environment • Arctic • Robot • wheeled, uses solar • Behaviors • Refine and test • Test with other behaviors • 2002 success Chapter 5: Designing a Reactive Implementation

  17. 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 Chapter 5: Designing a Reactive Implementation

  18. Field Trip • (this can be substituted for worksheet for chapter 5) • Define a task for a fully autonomous robot(s) to perform in a polar environment • Describe the ideal robot, including sensors. • Describe the environment. Describe what it affords the task. • Describe how you would test the robot to reach a NASA TRL 6 • What are the “unknowns” where you might encounter problems and time delays? Chapter 5: Designing a Reactive Implementation

  19. Case Study in Pfields:Docking • Needed for marsupial robots • Note • use of reactivity • simple perception • pfields • improvement over human Chapter 5: Designing a Reactive Implementation

  20. Daughter-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 Chapter 5: Designing a Reactive Implementation

  21. Pfields weren’t intended to work behind the gate Docking 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 Chapter 5: Designing a Reactive Implementation

  22. Docking Behavior Results: teleoperation 17% faster Performance comparison: - 66 data points, 22 teleoperators - paired sample t-test (conf>95%) Communications data: -36 data points, 6 teleoperators Teleoperators did better only at 1,3 where the robot wasn’t supposed to be able to dock from. Noticed that teleoperators used a different strategy; opportunity for improvement Chapter 5: Designing a Reactive Implementation

  23. 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 Chapter 5: Designing a Reactive Implementation

  24. Light insensitive color segmentation LUT (time of day, weather) >15 tries Compute region statistics Perform connected components Initial values Extract regions Imprint Adapt new values for region Chapter 5: Designing a Reactive Implementation

  25. Indoor Data Collection and Demonstrations Chapter 5: Designing a Reactive Implementation

  26. Outdoor Demonstrations Imprint at dawn (light mist), return 6 hours later As expected, mediocre performance from dusk to night (~50%) due to headlight reflection Chapter 5: Designing a Reactive Implementation

  27. Additional Case Studies:Commercial Products • Robomow • cutting grass in residential areas • My Real Baby • toy dolls Chapter 5: Designing a Reactive Implementation

  28. www.friendlymachines.com Robomow • Behaviors? • Random • Avoid • Avoid(bump=obstacle) • Avoid(wire=boundary) • Stop • Stop(tilt=ON) • All active Overview History Reactive USAR Summary Chapter 5: Designing a Reactive Implementation

  29. www.irobot.com 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) Overview History Reactive USAR Summary Chapter 5: Designing a Reactive Implementation

  30. Commercial Case Studies • Purely reactive • May not need subsumption or pfields, very straightforward • State of practice is much less complicated than state of art! Chapter 5: Designing a Reactive Implementation

  31. 1. photropism 2. Obstacle avoidance 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. Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  32. 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 Chapter 5: Designing a Reactive Implementation

  33. Robomow Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  34. My Real Baby Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  35. Assemblages of Behaviors • What to do if 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 Chapter 5: Designing a Reactive Implementation

  36. Example of a Sequence:Catch Suzy! Chapter 5: Designing a Reactive Implementation

  37. Example 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 Chapter 5: Designing a Reactive Implementation

  38. FSA: M={K,S,d,s,F} • 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 Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  39. Class Exercise:Catch Suzy Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  40. Class Exercise:Pick Up Trash Chapter 5: Designing a Reactive Implementation

  41. FSA Summary • “State” doesn’t mean “state of world” (bad); it means more “where the innate releasing mechanism is currently at” (good) • 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 Chapter 5: Designing a Reactive Implementation

  42. Scripts • UGV competition really didn’t 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 Chapter 5: Designing a Reactive Implementation

  43. Scripts Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  44. Scripts Summary • Will see more of it in Ch10: Topological Navigation • 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 Chapter 5: Designing a Reactive Implementation

  45. Summary • Design of reactive systems is identical to design of object-oriented software systems • Highly modular, can test behaviors independentl • 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 Design -Beh. Table -Steps Case Study Coordination -FSA -Scripts Summary Chapter 5: Designing a Reactive Implementation

  46. Thought Question • Should Moore’s Law factor into reactive design? If had more processor speed, should a different approach been used for the UGV competition? Chapter 5: Designing a Reactive Implementation

More Related