IMPLICIT CROWDS: OPTIMIZATION INTEGRATOR FOR ROBUST CROWD SIMULATION Ioannis Karamouzas 1 , Nick Sohre 2 , Rahul Narain 2 , Stephen J. Guy 2 1 Clemson University 2 University of Minnesota
COLLISION AVOIDANCE IN CROWDS Given desired velocities, how should agents navigate around each other? 2
COLLISION AVOIDANCE IN CROWDS Given desired velocities, how should agents navigate around each other? 3
LOCAL COLLISION AVOIDANCE Adding Realism • Vision-based approaches [ Ondřej et al. 2010, Kapadia et al. 2012, Hughes et al. 2015, Dutra et al. 2017] • Probabilistic approaches [Wolinski et al. 2016] • ….. [ Yu et al. 2012 ] [ Wolinski et al. 2016 ] [ Kapadia et al. 2012 ] 4
LOCAL COLLISION AVOIDANCE Force-based methods [Reynolds 1987, Velocity-based methods [van den Berg et al. 2008, 2011; Pettré et al 2011, … ] 1999; Helbing et al. 2000; Pelechano et al. 2007, …] • Overly conservative behavior • Require very small time steps for stability [8agent/ttc_0.25] ORCA Δ t = 0.1s 5
DESIDERATA We seek a generic technique for multi-agent navigation that • guarantees collision-free motion • is robust to variations in scenario, density, time step • exhibits high-fidelity behavior • can update at footstep rates (0.3-0.5 s) 6
OUR CONTRIBUTIONS 1. General form of collision avoidance behaviors d𝐰 d𝑢 = − 𝜖𝑆 𝐲, 𝐰 𝜖𝐰 supporting optimization-based implicit integration 2. Application to state-of-the-art power law model 𝑆 𝐲, 𝐰 ∝ 𝜐(𝐲, 𝐰) −𝑞 for practical crowd simulations 7
I. OPTIMIZATION INTEGRATOR FOR CROWDS 8
IMPLICIT INTEGRATION 𝐰 𝐲 𝑒 • 𝐰 = 𝐍 −1 𝐠(𝐲, 𝐰) ⟺ 𝑒𝑢 𝐲 𝑜+1 − 𝐲 𝑜 = 𝐰 𝑜+1 ∆𝑢, 𝐍 𝐰 𝑜+1 − 𝐰 𝑜 = 𝐠 𝑜+1 ∆𝑢 • Unconditionally stable, but [Baraff and Witkin, 1998] 9
IMPLICIT INTEGRATION 𝐰 𝐲 𝑒 • 𝐰 = 𝐍 −1 𝐠(𝐲, 𝐰) ⟺ 𝑒𝑢 𝐲 𝑜+1 −𝐲 𝑜 = 𝐰 𝑜+1 ∆𝑢, 𝐍 𝐰 𝑜+1 − 𝐰 𝑜 = 𝐠 𝑜+1 ∆𝑢 • Unconditionally stable, but • Need to solve a non linear system • Slow (but we can use large time steps) [Kaufman et al. 2014] 10
OPTIMIZATION INTEGRATORS As long as forces are conservative : d𝑉 𝐲 𝐠 𝐲 = − d𝐲 , we can express backward Euler in optimization form [Martin et al. 2011; Gast et al. 2015]: [Bouaziz et al. 2014] 1 2 + 𝑉(𝐲) 𝐲 𝑜+1 = arg min 2∆𝑢 2 𝐲 − 𝐲 𝐍 𝐲 [Martin et al. 2011] Interpretation: tradeoff between conserving momentum and reducing potential energy 11
OPTIMIZATION INTEGRATORS As long as forces are conservative : d𝑉 𝐲 𝐠 𝐲 = − d𝐲 , we can express backward Euler in optimization form [Martin et al. 2011; Gast et al. 2015]: [Bouaziz et al. 2014] 1 2 + 𝑉(𝐲) 𝐲 𝑜+1 = arg min 2∆𝑢 2 𝐲 − 𝐲 𝐍 𝐲 [Martin et al. 2011] Interpretation: tradeoff between maintaining velocity and reducing potential energy 12
OPTIMIZATION INTEGRATORS 1 𝐲 𝑜+1 = arg min 2 + 𝑉(𝐲) 2∆𝑢 2 𝐲 − 𝐲 𝐍 𝐲 Why this is good: • Simple and fast algorithms (e.g. gradient descent, Gauss- Seidel) can be given guarantees • Highly nonlinear forces can be used without linearization • Lots of recent advances in optimization for data mining, machine learning, image processing, … [Fratarcangeli et al. 2016] 13
NON-CONSERVATIVE FORCES Conservative potentials 𝑉(𝐲) can only model position-dependent forces 14
NON-CONSERVATIVE FORCES Conservative potentials 𝑉(𝐲) can only model position-dependent forces • Humans anticipate • People anticipate future trajectories of others [ Cutting et al. 2005, Olivier et al. 2012; Karamouzas et al. 2014 ] • Brains have special neurons for estimating collisions [ Gabbiani 2002 ] Crowd forces depend both on positions and velocities! 15
ANTICIPATORY FORCES Hypothesis : Multi-agent interactions can be expressed as 𝐠 𝐲, 𝐰 = − 𝜖𝑆 𝐲, 𝐰 𝜖𝐰 where 𝑆 is an anticipatory potential that drives agents away from high-cost velocities (This is analogous to dissipation potentials [ Goldstein 1980 ] in classical mechanics) 16
OPTIMIZATION INTEGRATOR FOR NON-CONSERVATIVE FORCES Anticipatory forces 2 + 𝑆(𝐲 + 𝐰∆𝑢, 𝐰)∆𝑢 𝐰 𝑜+1 = arg min 1 2 𝐰 − 𝐰 𝐍 𝐰 • First-order accurate, equivalent to previous formula if 𝑆 = 0 • 𝑉(∙) + 𝑆(∙)∆𝑢 is analogous to the “effective interaction potential” in symplectic integrators [ Kane et al. 2000; Kharevych et al. 2006 ] • Simple interpretation: tradeoff between conserving momentum, reducing 𝑉 , and reducing 𝑆 17
OPTIMIZATION INTEGRATOR FOR NON-CONSERVATIVE FORCES Anticipatory + conservative forces 2 + 𝑉(𝐲 + 𝐰∆𝑢) + 𝑆(𝐲 + 𝐰∆𝑢, 𝐰)∆𝑢 𝐰 𝑜+1 = arg min 1 2 𝐰 − 𝐰 𝐍 𝐰 • First-order accurate • 𝑉(∙) + 𝑆(∙)∆𝑢 is analogous to the “effective interaction potential” in symplectic integrators [ Kane et al. 2000; Kharevych et al. 2006 ] • Simple interpretation: tradeoff between maintaining velocity, reducing 𝑉 , and reducing 𝑆 18
SOME EXISTING MODELS Alignment behavior in boids [ Reynolds 1987 ]: 2 𝐠 𝑗𝑘 = −𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = 𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 Velocity obstacles [ van den Berg et al 2011 ]: 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = ቊ∞ if 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 0 otherwise Power law model [ Karamouzas et al 2014 ]: 𝑆 𝑗𝑘 ∝ 𝜐(𝐲 𝑗𝑘 , 𝐰 𝑗𝑘 ) −𝑞 19
SOME EXISTING MODELS Alignment behavior in boids [ Reynolds 1987 ]: 2 𝐠 𝑗𝑘 = −𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = 𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 𝐲 𝑘 VO Velocity obstacles [ Fiorini and Shiller 1998 ]: 𝑤 𝑧 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = ቊ∞ if 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 0 otherwise Power law model [ Karamouzas et al 2014 ]: 𝑤 𝑦 𝑆 𝑗𝑘 ∝ 𝜐(𝐲 𝑗𝑘 , 𝐰 𝑗𝑘 ) −𝑞 𝐲 𝑗 20
SOME EXISTING MODELS Alignment behavior in boids [ Reynolds 1987 ]: 2 𝐠 𝑗𝑘 = −𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = 𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 Velocity obstacles [ Fiorini and Shiller 1998 ]: 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = ቊ∞ if 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 0 otherwise What is 𝑆 𝑗𝑘 for humans? Power law model [ Karamouzas et al 2014 ]
SOME EXISTING MODELS Alignment behavior in boids [ Reynolds 1987 ]: 2 𝐠 𝑗𝑘 = −𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = 𝑥 𝐲 𝑗𝑘 𝐰 𝑗𝑘 Velocity obstacles [ Fiorini and Shiller 1998 ]: 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 ⟺ 𝑆 𝑗𝑘 = ቊ∞ if 𝐰 𝑗𝑘 ∈ VO 𝐲 𝑗𝑘 0 otherwise What is 𝑆 𝑗𝑘 for humans? Power law model [ Karamouzas et al 2014 ]
II. IMPLICIT CROWDS USING THE POWER-LAW MODEL 23
POWER-LAW MODEL [Karamouzas et al. 2014] For each pair of agents: Collisions occurs when • Compute time to collision 𝜐 𝐲, 𝐰 𝐲 𝑗𝑘 + 𝐰 𝑗𝑘 𝜐 = r 𝑗 + r 𝑘 Compute potential 𝑆(𝐲, 𝐰) ∝ 𝜐 𝐲, 𝐰 −𝑞 • 𝐰 𝑗 𝐰 𝑘 𝐲 𝑗 𝐲 𝑘 24
POWER-LAW MODEL [Karamouzas et al. 2014] For each pair of agents: Collisions occurs when • Compute time to collision 𝜐 𝐲, 𝐰 𝐲 𝑗𝑘 + 𝐰 𝑗𝑘 𝜐 = r 𝑗 + r 𝑘 Compute potential 𝑆(𝐲, 𝐰) ∝ 𝜐 𝐲, 𝐰 −𝑞 • 𝐰 𝑗 𝐰 𝑘 𝐲 𝑗 𝐲 𝑘 25
POWER-LAW MODEL [Karamouzas et al. 2014] For each pair of agents: Collisions occurs when • Compute time to collision 𝜐 𝐲, 𝐰 𝐲 𝑗𝑘 + 𝐰 𝑗𝑘 𝜐 = r 𝑗 + r 𝑘 Compute potential 𝑆(𝐲, 𝐰) ∝ 𝜐 𝐲, 𝐰 −𝑞 • 𝐰 𝑗 𝐰 𝑘 𝐲 𝑗 𝐲 𝑘 26
POWER-LAW MODEL [Karamouzas et al. 2014] For each pair of agents: Collisions occurs when • Compute time to collision 𝜐 𝐲, 𝐰 𝐲 𝑗𝑘 + 𝐰 𝑗𝑘 𝜐 = r 𝑗 + r 𝑘 Compute potential 𝑆(𝐲, 𝐰) ∝ 𝜐 𝐲, 𝐰 −𝑞 • 𝐰 𝑗 𝐰 𝑘 𝐲 𝑗 𝐲 𝑘 27
IMPLICIT POWER-LAW CROWDS Problem: Apply power law potential to optimization-based backward Euler R Easy? Not quite … • 𝑆 is discontinuous at boundary of collision cone • 𝑆 becomes infinitely steep as agents graze past Both phenomena cause numerical solvers to “get stuck” 28
IMPLICIT POWER-LAW CROWDS Problem: Apply power law potential to optimization-based backward Euler Easy? Not quite … • 𝑆 is discontinuous at boundary of collision cone • 𝑆 becomes infinitely steep as agents graze past Both phenomena cause numerical solvers to “get stuck”. 29
A CONTINUOUS TTC POTENTIAL Discontinuity due to time to collision (finite if collision predicted, infinite if not) 𝐲 𝑘 𝐲 𝑗 30
A CONTINUOUS TTC POTENTIAL Discontinuity due to time to collision (finite if collision predicted, infinite if not) ∞ 𝐲 𝑘 𝑤 𝑞 0 𝑤 𝑢 𝐲 𝑗 31
A CONTINUOUS TTC POTENTIAL Discontinuity due to time to collision (finite if collision predicted, infinite if not) ∞ R 𝐲 𝑘 𝑤 𝑞 0 𝑤 𝑢 32
Recommend
More recommend