Path Following & Motion Control Stephen J. Guy Stephen J. Guy.

Slides:



Advertisements
Similar presentations
A Fast Estimation of SRAM Failure Rate Using Probability Collectives Fang Gong Electrical Engineering Department, UCLA Collaborators:
Advertisements

CPSC 502, Lecture 15Slide 1 Introduction to Artificial Intelligence (AI) Computer Science cpsc502, Lecture 15 Nov, 1, 2011 Slide credit: C. Conati, S.
Monte Carlo Methods and Statistical Physics
Exact Inference in Bayes Nets
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
DARPA Mobile Autonomous Robot SoftwareMay Adaptive Intelligent Mobile Robotics William D. Smart, Presenter Leslie Pack Kaelbling, PI Artificial.
Real-Time Human Pose Recognition in Parts from Single Depth Images Presented by: Mohammad A. Gowayyed.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/ What is Cluster Analysis? l Finding groups of objects such that the objects in a group will.
Iterative Relaxation of Constraints (IRC) Can’t solve originalCan solve relaxed PRMs sample randomly but… start goal C-obst difficult to sample points.
1 Reactive Pedestrian Path Following from Examples Ronald A. Metoyer Jessica K. Hodgins Presented by Stephen Allen.
11 - Markov Chains Jim Vallandingham.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
SES 2007 A Multiresolution Approach for Statistical Mobility Prediction of Unmanned Ground Vehicles 44 th Annual Technical Meeting of the Society of Engineering.
Understand the football simulation source code. Understand the football simulation source code. Learn all the technical specifications of the system components.
Machine Learning CUNY Graduate Center Lecture 7b: Sampling.
Ant Colonies As Logistic Processes Optimizers
Today Introduction to MCMC Particle filters and MCMC
Interactive Hairstyle Modeling Using a Sketching Interface Xiaoyang Mao Kouichi Kashio Hiroyuki Kato Atsumi Imamiya CGGM 2002.
Continuum Crowds Adrien Treuille, Siggraph 王上文.
End of Chapter 8 Neil Weisenfeld March 28, 2005.
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Jacinto C. Nascimento, Member, IEEE, and Jorge S. Marques
Robert M. Saltzman © DS 851: 4 Main Components 1.Applications The more you see, the better 2.Probability & Statistics Computer does most of the work.
Monte Carlo Methods in Partial Differential Equations.
Radial Basis Function Networks
Crowd Simulations Guest Instructor - Stephen J. Guy.
1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Animation CS 551 / 651 Chenney/Forsyth Paper Chenney & Forsyth, 2000.
Topics on Final Perceptrons SVMs Precision/Recall/ROC Decision Trees Naive Bayes Bayesian networks Adaboost Genetic algorithms Q learning Not on the final:
M ULTIFRAME P OINT C ORRESPONDENCE By Naseem Mahajna & Muhammad Zoabi.
Machine Learning1 Machine Learning: Summary Greg Grudic CSCI-4830.
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations – Monte.
From Bayesian Filtering to Particle Filters Dieter Fox University of Washington Joint work with W. Burgard, F. Dellaert, C. Kwok, S. Thrun.
Machine Learning Lecture 23: Statistical Estimation with Sampling Iain Murray’s MLSS lecture on videolectures.net:
Bayesian networks Classification, segmentation, time series prediction and more. Website: Twitter:
Markov Decision Processes1 Definitions; Stationary policies; Value improvement algorithm, Policy improvement algorithm, and linear programming for discounted.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
MURI: Integrated Fusion, Performance Prediction, and Sensor Management for Automatic Target Exploitation 1 Dynamic Sensor Resource Management for ATE MURI.
Center for Radiative Shock Hydrodynamics Fall 2011 Review Assessment of predictive capability Derek Bingham 1.
Suppressing Random Walks in Markov Chain Monte Carlo Using Ordered Overrelaxation Radford M. Neal 발표자 : 장 정 호.
Reactive Pedestrian Path Following from Examples Computer Animation and Social Agents 2003 Ronald A. Metoyer Jessica K. Hodgins Computer Animation and.
Tracking Multiple Cells By Correspondence Resolution In A Sequential Bayesian Framework Nilanjan Ray Gang Dong Scott T. Acton C.L. Brown Department of.
Chenney/Forsyth Paper Chenney & Forsyth, 2000 AI CS 416.
Project by: Cirill Aizenberg, Dima Altshuler Supervisor: Erez Berkovich.
Presented by: Sandeep Chittal Minimum-Effort Driven Dynamic Faceted Search in Structured Databases Authors: Senjuti Basu Roy, Haidong Wang, Gautam Das,
Stephen Chenney, University of WisconsinPlausible Simulation Uncertainty, Efficiency, and Desired Outcomes Stephen Chenney University of Wisconsin.
Learning Integrated Symbolic and Continuous Action Models Joseph Xu & John Laird May 29, 2013.
Fast Query-Optimized Kernel Machine Classification Via Incremental Approximate Nearest Support Vectors by Dennis DeCoste and Dominic Mazzoni International.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
Lecture 5: Statistical Methods for Classification CAP 5415: Computer Vision Fall 2006.
Planning Tracking Motions for an Intelligent Virtual Camera Tsai-Yen Li & Tzong-Hann Yu Presented by Chris Varma May 22, 2002.
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
Physically-Based Motion Synthesis in Computer Graphics
Bayesian Neural Networks
Markov chain monte carlo
Randomized Algorithms CS648
WELCOME.
Clustering Wei Wang.
Computer Graphics Lecture 15.
CS 416 Artificial Intelligence
Presentation transcript:

Path Following & Motion Control Stephen J. Guy Stephen J. Guy

One Theme – Two paper ► Pedestrian path following  Control using physics ► Controlling Physical Simulations  Control of physics

Reactive Pedestrian Dynamics

► Premise:  Building visualizations are more compelling with moving people  Need a simple to place moving virtual people in models ► Approach: 1.Let users specify path 2.Make agents follow it naturally Reactive Pedestrian Path Following from Examples, Ronal Metoyer Oregon State, Jessica Hodgins CMU (2004)

Agent Model ► Create “Intelligent” Agents to follow path ► Intelligence comes from force models in the environment and on other agents ► Example forces:

User Defined Paths ► Exploits humans’ natural ability to general realistic paths ► Convert paths into forces:  f(s) – Unit vector along path (at nearest point)  f(d  max) – unit vector perpendicular to f(s)  p  – the perpendicular distance to the path  d  – max is the largest allowed distance  k p – the path gain

Path Following Diag. ► Example application of forces  Note the direction of force changes with distance from path

Hazard’s of Potential Based Models ► The authors state: “The intelligence model alone should produce correct 2D motion in terms of avoiding the defined obstacles and reaching goals, but will not necessarily produce natural motion for navigating complex scenes.” ► Reading between the lines:  Our approach (like any potential based method) can mess up when two dynamic agents are involved ► Solution – Let the user fix it  User warned of collisions and asked how to handle: ► Yield ► Cut in front ► Go-around-right (or left) ► No action

Implementing Avoidance Primitives ► Cut-In Front and Yield:  Change the agent’s speed to avoid collision ► Go Around Right:  Change the agent’s direction to avoid collision

Automating Avoidance Primitive ► Somehow we’ve moved away from our goal of an automatic system for path following ► Key Idea - Learn from previous user corrections (Machine Learning/AI) ► Record data needed to repeat user decisions:  Layout of scene  Position of agents  Speed of agents

Training ► Build a naïve Bayes classifier ► Inputs:  Is the path around left blocked (Y or N)  Is the path around right blocked (Y or N)  Relative speed of the colliding pedestrians (5)  Approach direction of the colliding pedestrians (8)  Colliding pedestrian’s distance to collision (5)  Pedestrian’s distance to collision (5)  Desired travel direction (3) ► Outputs:  Yield  Cut in front  Go-around-right (or left)  No action ► a j – j th action ► h i – i th avoidance technique ► H – set of all avoidance techniques ► n hi – number of times user selected h i ► |N| – total number of user selections

Results ► No videos (dead links  ) ► Simulation snapshot --> ► Bayes Classification

Sampling Plausible Solutions to Multi-body Constraint Problems

Solution Sampling for Constraint Satisfaction ► Premise  Extreme sensitivity makes multi-body simulations difficult to control  Users general want a goal, more than the care how the goal is achieved ► Approach  Allow users to specify constraints (goals)  Explore simulation space  Return animations which likely satisfied constrains Chenney, S., and Forsyth, D. A Sampling plausible solutions to multi-body constraint problems. In Proceedings of ACM SIGGRAPH 2000, 219–228.

Simulation Randomness ► Simulation needs randomness for this technique to work  Needs variations in simulations to explore ► Authors argue randomness is good anyway  Models small variations in otherwise flat surfaces  Closer to real world  Closer to user expectation

Incorporating Uncertainty ► Define function p w (A) (prob. of animation A) which is low for unlikely As and high for likely As ► Consider a bouncing ball (2D) ► A is collection of normals  i ► Vertical normals likely:

Constraints Satisfaction ► We want p w (A | C) ‘s distribution in A  Return animations with high likely in p w ► Example Constraints  Ball must go from here to there  Ball much have final velocity of foo  Ball must bounce through hoop ► Finding p w (A|C) is not (generally) possible

Constrain Approximation ► Can’t use p w (A|C) ► Instead use p(A) = p w (A)*p c (A)  p c (A) depends on how well A satisfies constraints ► For ball example (d is target distance form center) ► And ► Sample according to p(a)  Mainly likely events  Occasionally unlikely events

Defining Plausibility ► Moves past “it it looks right to me its right” ► Plausibility is statistically defined be P(A) ► Possible to validate important parts of P(A) against a real world model ► But there are other approaches  (See next paper)

Markov Chain Monte Carlo (MCMC) ► Markov Chain Model  Given a sequence of events, next state is dependant only on current state ► Monte Carlo Algorithms  Using random numbers to help (probably) solve problems ► MCMC  Generate sequence of animations: A 1, A 2, A 3, …  An dependant only on An-1  A is distributed following p(A)

Algorithm 1. initialize(A 0 ) 2. simulate(A 0 ) 3. Repeat 4. propose(A c, A i ) 5. simulate(A c ) 6. u <- random(0,1) 7. if u < min(1, ) 8. A i+1 <- A c 9. else 10. A i+1 <- A i q(X | Y) is probability of transitioning from X to Y

Example – 2D Ball ► Generating A i+1 :  50% of adding between -5 and 5 degrees to each normal of the previous animation ► q(X|Y): ► Choosing  d is tricky  Too small – no variation  Too large – constraints aren’t well satisfied

Example - Bowling ► Rank resulting pin-condition with Gibbs distribution  p c (A) = k+m ► > 1 ► k number of correct pins ► m number of undisturbed pins ► has the same constraints as  d did before  Author’s claim less sensitivity ► Proposing new A i  Sample new values for all variables  Change the radius, density, or initial conditions of the ball  Change the initial position of some pins

Bowling – Videos (1/2) ► 3 Different strike animations  Was easy to get strikes given simulations

Bowling – Videos (2/2)

Bowling 7-10 split

Example – Spelling Balls ► Similar to bowling  Gibbs distribution  Similar Parameters varied ► Spelling “Hi”  “A few hours” on an Pentium 200 MHz

Example - Dice ► Approach from simple ball example won’t work  Need a smooth change in normals ► Create “surface” using b-splines ► Vary control points of b-spline ► ~ 1 hour per die

Future Work ► ► Issues   Not real time   Not interactive (is this an issue?)   Very slow   Unclear how to best build p(A|C) (std. dev issues)   Unclear how to best build the proposal function ► ► “Multi-body constraint problems are good candidates for a Design Galleries interface, in which a user browses through sample solutions to locate the one they prefer. Our work addresses the sampling aspect …, but we do not consider other aspects of the interface.”

Many-Worlds Browsing for Control of Dynamics Simulations

Many-Worlds Browsing for Control ► Premise  Passive physical simulations are great…  But artists often need more control  Existing techniques are basically 1. Convert user’s goals to a function 2. Minimize this function numerically  This is slow on non-linear simulations ► Approach  Leverage human flexibility  Provide user options at interesting points Christopher D. Twigg and Doug L. James. Many-worlds browsing for control of multibody dynamics. ACM Transactions on Graphics (SIGGRAPH 2007), 26(3), August 2007.

Keeping the User in the Loop ► Previous work used offline Markov Chain Monte Carlo to reach goals (Chenney and Forsyth) ► Authors argue it’s good to keep the user in the loop  Gives feedback on the simulation  Even w/ ideal optimizations, user would need to give feedback on simulation setup

Basic Technique 1. Specify initial simulation state 2. Create various physical simulations, until a collision 3. Report various results/options to user 4. Allow user to choose path 5. Allow user to insert new objects 6. Repeat ► It’s important to return a variety of results, but they all need to be plausible

Plausibility ► Studies have been performed on how much users notice wrong results [O’Sullivan] ► Variations users don’t mind/notice are considered plausible ► Users were unable to detect distortions of up to:  40% in magnitude of linear velocity  20 degrees in direction of linear velocity  20% in angular velocity ► Assumes that chains of plausible actions are also plausible

Practicalities ► Parallelization  Running multiple simulations is slow  Each simulation is independent  Split over a cluster! ► Data transfer  Simulation from each comp. needs to be sent to user  Need efficient representation (or lots of bandwidth) ► Represent the position as a piecewise quadratic spline ► Represent the rotation as a piecewise linear skew- symmetric matrix

User Interaction ► Spatial queries  Allow the user to section areas where the chosen objects should or should not go through ► Ranking metrics – allows the user to specity additional metrics to sort valid queries by  Angular velocity, running time, collisions, orientation, desired constraints ► Refinement – allow user updates in realtime

Results ► UI was vary fast, able to show user over 1,500 simulation results at once screen ► Creating interesting simulations was quick  Refrigerator Toy – 5½ minutes  Spelling SIGGRAPH – 1 hour (w/ backtracking)  Spiral Staircase – 25 minutes  Trebuchet – Simulation took 14 hours so no realtime refinement was possible

Result ► SIGGRAPH Video ► Live Demo

Comparison ► The three control techniques were radically different ► The first – worked to follow users path (with a physically inspired model) ► The second – gave user several options which fit their constraints ► The third – allowed the user to naturally explore physically based options ► Some similarities  Leverage user input when it makes sense  Physics! (making life better)

Questions ?

References Ronald Metoyer, and Jessica Hodgins, Reactive Pedestrian Path Following from Examples, (2004). Christopher D. Twigg and Doug L. James. Many-worlds browsing for control of multibody dynamics. ACM Transactions on Graphics (SIGGRAPH 2007), 26(3), August Chenney, S., and Forsyth, D. A Sampling plausible solutions to multi-body constraint problems. In Proceedings of ACM SIGGRAPH 2000, 219–228. O’Sullivan, C., Dingliana, J., Giang, T., And Kaiser, M. K Evaluating the visual fidelity of physically based animations. ACM Transactions on Graphics 22, 3 (July), 527–536.