1 / 29

Multi-Level Direction of Autonomous Creatures for Real-Time Virtual Environments

Multi-Level Direction of Autonomous Creatures for Real-Time Virtual Environments. Bruce M. Blumberg & Tinsley A. Galyean. Presented by Kristen Neal. Overview. We want to create an a behavior system that ‘does the right thing’ The right thing in this case can mean a lot of things

nanda
Download Presentation

Multi-Level Direction of Autonomous Creatures for Real-Time Virtual Environments

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. Multi-Level Direction of Autonomous Creatures for Real-Time Virtual Environments Bruce M. Blumberg & Tinsley A. Galyean Presented by Kristen Neal

  2. Overview • We want to create an a behavior system that ‘does the right thing’ • The right thing in this case can mean a lot of things • More general than what what we’ve looked at before • We want to describe behavior not just movement • Reasons for doing things • Autonomous vs. Controllable. CS 551 - Animation

  3. Multiple Levels of Control Task Level Direct Level Motivational Level just do the right thing “you are hungry” do THIS the right way “go to that tree” do what I tell you “wag your tail” CS 551 - Animation

  4. Incorporating these controls into overall behavior • Layered Architecture • Abstraction • Inheritance • Needs to include • Action selection • Response to external stimuli • Resolution functions (picking between behaviors) • Interactive response CS 551 - Animation

  5. Architecture • 5 layers • 2 abstraction barriers • Each layer ‘controls’ the next layer • Motor System • Unique to each creature • Hides the ‘deals’ of creature • Translates high level behaviors into interactions with the world Behavior Controller Motor System Motor Skill DOF Geometry CS 551 - Animation

  6. Architecture • Geometry • The world the creature interacts with • World geometry / obstacles • Sensory input / vision • General to multiple creatures Behavior Controller Motor System Motor Skill DOF Geometry CS 551 - Animation

  7. Architecture • Degrees of Freedom • The joints that the creature can change • Hierarchy of DOF • Higher level DOF’s control the availably of lower dof’s • Locking Mechanism Behavior Controller Motor System Motor Skill DOF Geometry CS 551 - Animation

  8. Architecture • Motor Skills • The specific actions that the creature can execute • Similar to the various ‘states’ described in the motion capture papers • Walk • Run • Wag Tail • Control the availability of DOF’s resource management Behavior Controller Motor System Motor Skill DOF Geometry CS 551 - Animation

  9. Architecture • Controller • Selects the appropriate motor skill to accomplish a behavior • EX: • MoveForward = Truck.Drive • MoveForward = Dog.Walk Behavior Controller Motor System Motor Skill DOF Geometry CS 551 - Animation

  10. Architecture • Behavior • High level capabilities • “find food and eat” • “go over there” • General to multiple creatures Behavior Controller Motor System Motor Skill DOF Geometry CS 551 - Animation

  11. Motor System Summary • Provides Abstraction • Supports multiple forms of commands • Provides a generic set of commands for all creatures • Provides resource management • Minimizes ‘house keeping’ that the behavior system (or user) must do CS 551 - Animation

  12. Motor Skills Summary • Utilize DOF’s to produce coordinated movement • Spring-Loaded • Drift back to a default ‘rest’ value over time when not specified • Advantage: Behavior system doesn’t need to ‘turn off’ motor skills • Disadvantage: Behavior system must continually direct that a particular skill be used CS 551 - Animation

  13. Controller Overview • Translates behaviors into calls to motor skills • 3 Types of Controls • Primary Commands • “Do this NOW” • Secondary Commands • “Do this now if it doesn’t interfere with the primary” • Meta Commands • “Accomplish another goal in this way….” • Control Blocks CS 551 - Animation

  14. Synthetic Vision • Scene rendered from creature’s viewpoint • Gradient field is calculated from image • Useful for… • Collision Avoidance • Low level movement control • Allows the creature to interact in new environments • No preset world ‘map’ is needed CS 551 - Animation

  15. Behavior System Overview • Goal oriented (Motor skills are not) • Evaluates conflicting goals and chooses between them • Selects the control signals to send to the Motor System at each time step • Provided high-level autonomous action • Chooses when a particular behavior is active (instead of being told) CS 551 - Animation

  16. Behavior System Goals / Motivations External World Internal Variable Sensory System Behavior Internal Variable Releasing Mechanism Level of Interest Inhibition Motor Commands CS 551 - Animation

  17. Behavior System • Pronomes • Similar to ‘pronoun’ in English • Data structure in Behavior System • Allows you to say ‘do IT’ without specifying what ‘it’ exactly is CS 551 - Animation

  18. Behavior System • Sensory System • Synthetic Vision, ect.. • Internal State Variables • Current condition of the system • Autonomous growth and Dampening Rates • Releasing Mechanisms • Filters/detectors that interpret sensory input • Takes strength of external stimuli and internal motivation into account • Weak Stimulus + Strong Motivation • Strong Stimulus + Weak Motivation CS 551 - Animation

  19. Behavior System • Behavior Groups • Group mutually inhibitive (related) behaviors • Hieratical Structure Move Sprint Run Jog Walk Skip CS 551 - Animation

  20. Behavior System Implementation World Releasing Mechanism Pronome: Type closestPt Range Bearing, last stage passed Find: (“is the object of interest within range?” Filter: (“dos x aspect of object pass filter?”) Sensory System Weight: (“how close is object to optimal dist?”) Temporal Filter: Immediate, Latch, Average or Integrate Behavior CS 551 - Animation

  21. Inhibition • Only one mutually exclusive behavior can be active at a time • Dithering • Switching back and forth between two behaviors • Avalanche Effect • Possibility for pathological behavior • Can be unrealistic • Inhibitory Gains / Level of Interest • Temporal aspects of behavior CS 551 - Animation

  22. Algorithm • (1) Update internal variables based on • Previous value • Growth rate • Dampening rate • Feedback effects ivit = ( ivi(t - 1)•dampi) + growthi – Seffectskit k Effectskit = ( modifyGainki • vk(t – 1) CS 551 - Animation

  23. Algorithm • (2) Update level of interest based on • Previous value • Growth rate • Dampening rate • Boredom rate • Clamp between 0 and 1 liit = Clamp ( ( lii(t - 1)•dampi) + growthi – ( vi(t - 1)•bRatei), 0, 1) k CS 551 - Animation

  24. Algorithm • (3) Behaviors compete to become active starting with the top level behavior group • (3.1) Releasing Mechanisms update their values based on sensory input • Result is summed with Behavior’s internal interest variables • Then multiplied by its Level of Interest • (3.2) Inhibition due to other behaviors in the group is found • (3.3) Result is clamped to to mini , maxi rmit = Clamp( TemporalFilter ( t, rmi(t - 1), Find( sit , dMini , dMaxi ) Filter(sit)• Weight(sit , dOpti ), mini , maxi ) k CS 551 - Animation

  25. Algorithm • (4) Update the behavior based on • Level of interest • Releasing Mechanism • Internal Variables vit = Max [ ( liit• Combine,( Srmki,Sivjt) - Snmi •vmt), 0 ] k j m CS 551 - Animation

  26. Algorithm • (5) If more than one behavior > 0 then repeat • The final ‘winning’ behavior becomes the active behavior for that group • (6) Behaviors not active are given a chance to issue secondary or meta commands • (7) If the active behavior is a leaf, it can execute • Else, child becomes active behavior group… CS 551 - Animation

  27. Integration of Directability • Motivational Control • Adjusting internal variables • Changing constituent parts of the behavior system • Action Selection can be initiated at any node • Imaginary Sensory Inputs • External Motor Commands • Primary • Secondary CS 551 - Animation

  28. Implementation • Object oriented C++ (3,000 lines of code) • Silas T. Dog • Responds to ~12 human gestures • 24 dog specific motor skills (2,000 of lines of code) • 70 motor commands • 40 behaviors • 11 behavior groups • 40 releasing mechanisms • 8 internal variables CS 551 - Animation

  29. Comments • Good • Relatively simple structure • Creature can be controlled on different levels • Not much math • Bad • Doesn’t really specify how the motor system is constructed CS 551 - Animation

More Related