Reactive Pedestrian Path Following from Examples Computer Animation and Social Agents 2003 Ronald A. Metoyer Jessica K. Hodgins Computer Animation and.

Slides:



Advertisements
Similar presentations
Introduction to Work. Where we have been Previously we used Newtons Laws to analyze motion of objects Previously we used Newtons Laws to analyze motion.
Advertisements

Controlling Individual Agents in High Density Crowd Simulation N. Pelechano, J.M. Allbeck and N.I. Badler (2007)
Newton’s 1st Law Lab Activities
Mechatronics 1 Weeks 5,6, & 7. Learning Outcomes By the end of week 5-7 session, students will understand the dynamics of industrial robots.
Flocks, Herds and Schools Modeling and Analytic Approaches.
Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor.
Crowd Simulation Sai-Keung Wong. Crowd Simulation A process of simulating the movement of a large number of entities or characters. While simulating these.
1 Reactive Pedestrian Path Following from Examples Ronald A. Metoyer Jessica K. Hodgins Presented by Stephen Allen.
Blind Spots at Intersections and Crosswalks
Path Following & Motion Control Stephen J. Guy Stephen J. Guy.
1Notes  Assignment 2 is out  Flocking references  Reynolds, “Flocks, Herds, and Schools…”, SIGGRAPH’87  Tu and Terzopoulos, “Artificial Fishes…”, SIGGRAPH’94.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
Presenter: Robin van Olst. Prof. Dr. Dirk Helbing Heads two divisions of the German Physical Society of the ETH Zurich Ph.D. Péter Molnár Associate Professor.
KAIST CS780 Topics in Interactive Computer Graphics : Crowd Simulation A Task Definition Language for Virtual Agents WSCG’03 Spyros Vosinakis, Themis Panayiotopoulos.
Crowds Andrew Kaufman Michael Welsman-Dinelle. What is a crowd? A group of agents performing actions. Agents can affect each other. Agent actions may.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Chapter 5: Newton’s Laws: Force and Motion
Crowd Simulations Guest Instructor - Stephen J. Guy.
Ioannis Karamouzas, Roland Geraerts, Mark Overmars Indicative Routes for Path Planning and Crowd Simulation.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
1 Animation & Java3D ©Anthony Steed Overview n Introduction to Animation Kinematics Dynamics Boids n Java3D Scene graph Animation Vehicles.
Adapting Simulated Behaviors For New Characters Jessica K. Hodgins and Nancy S. Pollard presentation by Barış Aksan.
Newton’s Laws of Motion Now that we have learned how to describe motion, how do we cause the motion that we want? We apply forces on an object! But what.
Smoothed Particle Hydrodynamics (SPH) Fluid dynamics The fluid is represented by a particle system Some particle properties are determined by taking an.
Physics C-5.  Objects at rest tend to stay at rest.  Objects in motion tend to stay in motion.  Also called the Law of Inertia.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Department of Electrical Engineering, Southern Taiwan University Robotic Interaction Learning Lab 1 The optimization of the application of fuzzy ant colony.
 The First Law: Force and Inertia  The Second Law: Force, Mass and Acceleration  The Third Law: Action and Reaction.
Motion in 1D. Forces  Remember that an imbalance in forces results in an acceleration  If all forces are balanced we get a constant velocity  Because.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Uniform Circular Motion
Forces and the Laws of Motion Changes in Motion Chapter 4:Section 1.
Chapter 4 The Laws of Motion. Classes of Forces Contact forces involve physical contact between two objects Field forces act through empty space No physical.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
Adrian Treuille, Seth Cooper, Zoran Popović 2006 Walter Kerrebijn
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
Online Control of Simulated Humanoids Using Particle Belief Propagation.
Controlling Individual Agents in High-Density Crowd Simulation
Learning to Navigate Through Crowded Environments Peter Henry 1, Christian Vollmer 2, Brian Ferris 1, Dieter Fox 1 Tuesday, May 4, University of.
CSC321: Neural Networks Lecture 16: Hidden Markov Models
Unit 4, 5, and 6 Review. Newton’s Law of Universal Gravitation is based on two points First: As distance between two objects increases, gravitational.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Crowd Self-Organization, Streaming and Short Path Smoothing 學號: 姓名:邱欣怡 日期: 2007/1/2 Stylianou Soteris & Chrysanthou Yiorgos.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
FORCES OF MOTION Georgia Shared Resources. STANDARDS.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Rick Parent - CIS682 Rigid Body Dynamics simulate basic physics of an object subject to forces Keyframing can be tedious - especially to get ‘realism’
MECHANICS Ms. Peace Introduction. Sequence 1.1 What is Mechanics? 1.1 What is Mechanics? 1.2 Fundamental Concepts and Principles 1.2 Fundamental Concepts.
Simulating Crowds Simulating Dynamical Features of Escape Panic & Self-Organization Phenomena in Pedestrian Crowds Papers by Helbing.
A force is It is the cause of an acceleration, or the change in an object's velocity. A force can cause an object to: -- Forces -- Changes in Motion tart.
3D Animation 3. Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Chapter 2 Motion in One Dimension. Kinematics Describes motion while ignoring the external agents that might have caused or modified the motion (Dynamics.
Unity 3D Rolfe Bozier 24-Apr-2017
Animating Human Locomotion
Computer Animation Algorithms and Techniques
What is statics? Lecture 1
Blind Spots at Intersections and Crosswalks
Roland Geraerts and Mark Overmars CASA’08
Navigation In Dynamic Environment
Mon. Mar. 31 Do Now If you graph speed vs. time, does speed or time go on the x-axis? Does the dependent or independent variable go on the x-axis?
Balanced and Unbalanced Forces
WELCOME.
Synthesizing Realistic Human Motion
Balanced and Unbalanced Forces
Computer Graphics Lecture 15.
Emir Zeylan Stylianos Filippou
Chapter 4 . Trajectory planning and Inverse kinematics
ME321 Kinematics and Dynamics of Machines
Presentation transcript:

Reactive Pedestrian Path Following from Examples Computer Animation and Social Agents 2003 Ronald A. Metoyer Jessica K. Hodgins 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 Hard to deal with collision avoidance with many characters Easy to use 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

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

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 pedestriansReactive path following, obstacles, other pedestrians Social Forces Model Reactive control utilizes potential fieldsReactive control utilizes potential fields Obstacles are repulsiveObstacles are repulsive Goals are attractiveGoals are attractive Exploit fact that humans have to move on a 2D plane (for the most part) Basic level of intelligence Reactive path following, obstacles, other pedestriansReactive path following, obstacles, other pedestrians Social Forces Model Reactive control utilizes potential fieldsReactive control utilizes potential fields Obstacles are repulsiveObstacles are repulsive Goals are attractiveGoals are attractive

Potential Fields

Modeling Point mass dynamics Update equation is:Update equation is: Where the force f x is obtained from the potential fieldWhere the force f x is obtained from the potential field dt is the simulation stepsdt is the simulation steps m is the mass of the characterm 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 obstaclesPeople are experts in drawing a path through a scene in the absence of moving obstacles Can also be generated through automatic processCan also be generated through automatic process Point mass dynamics Update equation is:Update equation is: Where the force f x is obtained from the potential fieldWhere the force f x is obtained from the potential field dt is the simulation stepsdt is the simulation steps m is the mass of the characterm 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 obstaclesPeople are experts in drawing a path through a scene in the absence of moving obstacles Can also be generated through automatic processCan also be generated through automatic process

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

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-actionYield, Cut-in-front, Go-around-right, Go-around-left, No-action Chosen based on traffic planning researchChosen based on traffic planning research 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-actionYield, Cut-in-front, Go-around-right, Go-around-left, No-action Chosen based on traffic planning researchChosen based on traffic planning research

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

Learning Use previous direction primitive choices to aid the user in future decisions Direction PrimitiveDirection Primitive Feature vector that describes current sceneFeature 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) Use previous direction primitive choices to aid the user in future decisions Direction PrimitiveDirection Primitive Feature vector that describes current sceneFeature 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)

Learning (Cont.) Naïve Bayes Classifier Five primitives are hypothesesFive primitives are hypotheses Seven variables are inputsSeven variables are inputs Potential collisions are classified into one of the 5 primitivesPotential collisions are classified into one of the 5 primitivesAdvantages Outperforms neural networks and machine learning algorithms in most real life casesOutperforms neural networks and machine learning algorithms in most real life casesDisadvantages Limited by the fact that it can only deal with discrete dataLimited by the fact that it can only deal with discrete data Naïve Bayes Classifier Five primitives are hypothesesFive primitives are hypotheses Seven variables are inputsSeven variables are inputs Potential collisions are classified into one of the 5 primitivesPotential collisions are classified into one of the 5 primitivesAdvantages Outperforms neural networks and machine learning algorithms in most real life casesOutperforms neural networks and machine learning algorithms in most real life casesDisadvantages Limited by the fact that it can only deal with discrete dataLimited by the fact that it can only deal with discrete data

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

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% naturallyClaim 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 classifierThis doesn’t mean much, because all it is really testing is their ability to train a Bayes classifier 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% naturallyClaim 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 classifierThis doesn’t mean much, because all it is really testing is their ability to train a Bayes classifier

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 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

Videos

Basic System Renderer DynamicsController Integrator U/I State Torques Desired State State Torques

Cart / Pole

Apply torque to cart’s wheels Balance poleBalance pole Accomplish desired locationAccomplish desired location Accomplish desired velocityAccomplish desired velocity Extra Credit Swing-up taskSwing-up task Apply torque to cart’s wheels Balance poleBalance pole Accomplish desired locationAccomplish desired location Accomplish desired velocityAccomplish desired velocity Extra Credit Swing-up taskSwing-up task

Basic input file for Cart / Pole language = C gravity = 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 language = C gravity = 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

body = cart joint = slider jname = pos mass = 1530 mass = 1530 inertia = inertia = bodyToJoint = bodyToJoint = pin = pin = body = cart joint = slider jname = pos mass = 1530 mass = 1530 inertia = inertia = bodyToJoint = bodyToJoint = pin = pin = 1 0 0

# 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 = mass = inertia = inertia = bodyTojoint = bodyTojoint = inbToJoint = inbToJoint = pin = pin = # 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 = mass = inertia = inertia = bodyTojoint = bodyTojoint = inbToJoint = inbToJoint = pin = pin = 0 1 0

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

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

Discrete event simulations Very important!!! Each simulation has a simulation timestep, DTEach simulation has a simulation timestep, DT Smaller timestep required for larger forcesSmaller 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 sameMake sure your simulations are precise by dropping DT by an order of magnitude and confirm behavior is the same Very important!!! Each simulation has a simulation timestep, DTEach simulation has a simulation timestep, DT Smaller timestep required for larger forcesSmaller 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 sameMake sure your simulations are precise by dropping DT by an order of magnitude and confirm behavior is the same