1 / 25

Reactive Pedestrian Path Following from Examples

Reactive Pedestrian Path Following from Examples. Computer Animation and Social Agents 2003 Ronald A. Metoyer Jessica K. Hodgins. Introduction. Need a system to model the movement of many people walking and interacting Want to maintain control over the path each individual takes

haruko
Download Presentation

Reactive Pedestrian Path Following from Examples

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. Reactive Pedestrian Path Following from Examples Computer Animation and Social Agents 2003 Ronald A. Metoyer Jessica K. Hodgins

  2. Introduction • Need a system to model the movement of many people walking and interacting • Want to maintain control over the path each individual takes • Hard to deal with collision avoidance with many characters • Easy to use

  3. Previous Work • Reynolds • Boid Model for flocks, schools, and herds • Pedestrian Models • Fluid flow model • Inter-pedestrian interaction models (Helbing and Molnar) • Social interaction based on + and – potential fields • Lane formation in halls, queuing, turn taking

  4. 2D Character Intelligence • Exploit fact that humans have to move on a 2D plane (for the most part) • Basic level of intelligence • Reactive path following, obstacles, other pedestrians • Social Forces Model • Reactive control utilizes potential fields • Obstacles are repulsive • Goals are attractive

  5. Potential Fields

  6. Modeling • Point mass dynamics • Update equation is: • Where the force fx is obtained from the potential field • dt is the simulation steps • m is the mass of the character • Although goal locations can be specified, it is desirable to allow a definable path for the character to follow • People are experts in drawing a path through a scene in the absence of moving obstacles • Can also be generated through automatic process

  7. Path Diagram • User draws a spline path for character to follow • The path is converted into forces by the following: • Character will attempt to follow the direction of the path, but as it gets more off track, it’ll be pulled back stronger

  8. Direction Primitives • Intelligence model will produce correct 2D animation in terms of obstacle avoidance, but not necessarily natural looking • Alert user to potential collisions and ask how to resolve them • Navigation Primitives • Yield, Cut-in-front, Go-around-right, Go-around-left, No-action • Chosen based on traffic planning research

  9. Direction Primitives (Cont.) • Focus on two tasks a pedestrian performs • Monitoring • Observing other pedestrians in the area to determine their navigational intents • Yielding • Act of adjusting velocity (Magnitude or Direction) to avoid a potential collision

  10. Learning • Use previous direction primitive choices to aid the user in future decisions • Direction Primitive • Feature vector that describes current scene • Is the path around left blocked by other pedestrians or obstacles (Y or N) • Is the path around right blocked by other pedestrians or obstacles (Y or N) • Relative speed of the colliding pedestrian (5) • Approach direction of the colliding pedestrian (8) • Colliding pedestrian’s distance to collision (5) • Pedestrian’s distance to collision (5) • Desired travel direction (3)

  11. Learning (Cont.) • Naïve Bayes Classifier • Five primitives are hypotheses • Seven variables are inputs • Potential collisions are classified into one of the 5 primitives • Advantages • Outperforms neural networks and machine learning algorithms in most real life cases • Disadvantages • Limited by the fact that it can only deal with discrete data

  12. 3D Motion Generation • Use motion capture • Create a directed graph of poses to get a probability matrix for transitions from one pose to another

  13. Results • Compared the Naïve Bayes algorithm to actual choices made by users • Claim 72% accuracy as opposed to a random choice which would be 20% naturally • This doesn’t mean much, because all it is really testing is their ability to train a Bayes classifier

  14. Limitations • Requires (utilizes) a lot of human intervention • There is no motion capture data of a person stopped, so it appears the person is spinning around when standing still

  15. Videos

  16. Basic System U/I Desired State State Controller Dynamics Torques State State Torques Integrator Renderer State

  17. Cart / Pole

  18. Cart / Pole • Apply torque to cart’s wheels • Balance pole • Accomplish desired location • Accomplish desired velocity • Extra Credit • Swing-up task

  19. Basic input file for Cart / Pole • language = C • gravity = 0 0 -9.80665 • prefix = cartpole • # cart is a truck-sized object, 20 x 4 x 3 feet = 6x1.5x1 meters • # with car-like density of 170 kg / m^3 • # therefore, truck-like mass of 1800kg = 4000 lbs

  20. body = cart joint = slider jname = pos • mass = 1530 • inertia = 414.37500000 4717.50000000 4876.87500000 • bodyToJoint = 0 0 0 • pin = 1 0 0

  21. # A 300 lb = 136 kg ladder that is roughly # 15 x 1.5 x 0.5 feet = 4.6x.45x.15 meters • body = ladder inboard = cart joint = pin jname = theta • mass = 52.785 • inertia = 0.98971875 93.17652187 93.96829687 • bodyTojoint = -2.3 0 0 • inbToJoint = -3.0 0 0.75 • pin = 0 1 0

  22. Swinger • More complicated simulation of girl on a swing • Hands are rigidly attached to rope • Butt is rigidly attached to seat • You control torques at shoulder, elbow, hips, and knee

  23. Swinger • State machine • Swinging has discrete modes, or states • Define when they begin and end • Define what movements are required for each state

  24. Discrete event simulations • Very important!!! • Each simulation has a simulation timestep, DT • Smaller timestep required for larger forces • Numerical imprecision of integrator • Make sure your simulations are precise by dropping DT by an order of magnitude and confirm behavior is the same

More Related