A Velocity-Based Approach for Simulating Human Collision Avoidance Ioannis Karamouzas and Mark Overmars Games and Virtual Worlds, Utrecht University, The Netherlands {ioannis,markov}@cs.uu.nl Abstract. We present a velocity-based model for realistic collision avoidance among virtual characters. Our approach is elaborated from experimental data and is based on the simple hypothesis that an individual tries to resolve collisions long in advance by slightly adapting its motion.

1

Introduction

In this paper, we address the problem of visually compelling and natural looking avoidance behaviour between interacting virtual characters. We first exploit publicly available motion capture data to gain more understanding into how humans solve interactions in real-life. Based on our analysis and some known facts about human locomotion, we propose a model for realistic collision avoidance. In our approach, each character anticipates future collisions and tries to resolve them in advance by slightly adapting its orientation and/or speed. Consequently, the characters avoid all collisions as early as possible and with minimal effort which results in a smooth and optimal flow. Experiments show that our model exhibits emergent phenomena, like lane formation, that have been observed in real crowds. The technique is relatively easy to implement and can be used to simulate crowds of thousands of characters at real-time frame rates. Since we use the velocity space to plan the avoidance maneuvers of each virtual character, our approach is similar in nature to the methods that are based on the Velocity Obstacle formulation [1,2]. However, we significantly reduce the set of admissible velocities by taking into account how imminent potential collisions are. Our method bears also some resemblance to the model proposed by Pettr´e et al. [3], as we use their experimental study to elaborate our collision avoidance algorithm. Our analysis, though, focuses on the predicted time to collision between interacting participants and the deviation from their desired velocities, whereas they studied the effect that the minimum predicted distance has on the participants’ accelerations.

2

Experimental Analysis

30 subjects participated in the experiment and in total 429 trials were recorded. Each trial consists of two participants crossing paths orthogonally while walking J. Allbeck et al. (Eds.): IVA 2010, LNAI 6356, pp. 180–186, 2010. c Springer-Verlag Berlin Heidelberg 2010 

A Velocity-Based Approach for Simulating Human Collision Avoidance 0.18

0.25

Maximum Average

0.16

pref

0.1

Δu

des

0.12

Δθ

Maximum Average

0.2

0.14

0.08

181

0.15 0.1

0.06

0.05

0.04 0.02

0

0 0

0.2

0.4

0.6

0.8

1

0

1.2

0.2

0.4

0.6

0.8

1

1.2

tcn

tcn

Fig. 1. left : maximum and average deviation from the desired orientation as a function of the normalized time to collision, right : maximum and average deviation from the preferred speed as a function of the normalized time to collision.

toward the opposite corners of a square area. We refer the reader to [3] for a detailed explanation of the experimental protocol. In each trial, similar to [3], the interaction starts at time ts when the two participants can see each other and ends at time tf when the distance between the participants is minimal. During the interaction period, ts < t < tf , we estimate the future motions of the two participants by linearly extrapolating their current trajectories. Then, we can determine whether and when the participant P1 will collide with P2 as follows: (x2 + tv2 ) − (x1 + tv1 ) = r1 + r2 ,

(1)

where x defines the position of the participant’s trunk, approximated by interpolating the two shoulder markers of the participant and r denotes the radius of a participant derived from the distance between the two markers. The participant’s velocity v is calculated using forward finite difference, i.e. v = dx/dt. Solving the above equation, we can predict the time to collision tc(t) between P1 and P2 at time t. To be able to run comparisons over all trials, the predicted time to collision for any time ts < t < tf is normalized as follows: tcn (t) =

tc(t) max {tc(t)}

(2)

t∈[ts ,tf ]

tcn (t) ranges from 0 to 1, where 0 indicates that the two participants are already colliding and 1 corresponds to the maximum time to collision between the two participants for the current trial. Time to collision and desired orientation. Fig. 1 (left) plots the participants’ deviations from their desired orientations as a function of the normalized time to collision. We grouped the tcn into 10 clusters of equal length and then, we determined the maximum and average deviation angle per cluster. As can be inferred from the figure, the maximum deviation angle is quite small for predicted collisions that will take place in the far future, tcn ≥ 0.9. After a small

182

I. Karamouzas and M. Overmars

3000

1

2500

0.8

2000

0.6

1500

0.4

1000

0.2

500

1

2

3

4

5

Time to Collision

6

7

8

Deviation from the desired velocity

Deviation from the desired velocity

3500 1.2

1.2

250

1

200

0.8 150 0.6 100 0.4 50

0.2

0

1

2

3

4

5

6

7

8

Time to Collision

Fig. 2. Density of the deviation from the desired velocity as a function of the predicted time to collision. left : participants that cross paths orthogonally, right : participants that have to avoid head-on collisions.

increase, the max deviation angle remains more or less constant for a long period, 0.5 ≤ tcn ≤ 0.8. As soon as potential collisions starts to become imminent (tcn < 0.4), the deviation angle increases reaching to a peak when the tcn tends to 0. Similar trend is also observed when looking at the evolution of the average deviation angle with respect to tcn . Time to collision and preferred speed. During the interaction period, we define the preferred speed of a participant by taking the average speed over this period. Compared to the orientation deviation, the deviation from the preferred speed remains constant for a longer period of time, tcn ≥ 0.2, as shown in Fig. 1 (right). Note also the abrupt increase of the maximum deviation at tcn < 0.2, which allows the participants to successfully resolve threatening collisions by refining their speed. Discussion. To obtain a clear overview of how participants solve interactions, we also cumulated all pairs of predicted collision times and corresponding deviation velocities Δvdes for all trials, where Δvides (t) = vi (t) − vides  and the desired velocity vides is determined by the participant’s preferred speed and orientation. Fig. 2 (left) shows the density plot of the corresponding bivariate data. As can be seen, in most of the trials the majority of the participants prefer to solve interactions in advance, that is when 2.0 ≤ tc ≤ 4.0, favouring small changes in their velocities. Note also that very rarely participants have to adapt their motions at imminent collision times which shows the ability of people to efficiently predict and avoid collisions. In conclusion, our analysis have shown that individuals resolve collisions long in advance by slightly adjusting their motions. Note that the current study focuses on participants that have perpendicular trajectories. Another challenging case is when interacting participants have to avoid head-on collisions. For that reason, we have recently conducted an experimental study [4] similar to the one proposed by Pettr´e et al. Preliminary analysis of the corresponding interactions data seems to support our current observations (see Fig. 2, right). Note, though, that due to the fact that the participants have exactly opposite desired directions,

A Velocity-Based Approach for Simulating Human Collision Avoidance

183

some miscommunication on how they pass each other might be detected. Thus, as can be seen in the figure, there are cases that collisions are resolved at the last moment.

3

Collision Avoidance

In our problem setting, we are given a virtual environment in which n heterogeneous agents A1 , ...An have to navigate without colliding with the environment and with each other. For simplicity we assume that each agent moves on the 2D plane and is modeled as a disc with radius ri . At a fixed time t, the agent Ai is at position xi , defined by the center of the disc, and moves with velocity vi . . Furthermore, at The motion of the agent is limited by a maximum speed umax i every time step of the simulation, the agent has a desired velocity vides that is directed towards the agent’s goal position gi and has magnitude equal to the . agent’s preferred speed upref i Then, the agent Ai solves interaction with the other agents in three steps: Step 1 - Retrieve the set of colliding agents. In the first step of our algorithm, we compute the set CAi of first N agents that are on collision course with the agent Ai . We first extrapolate the future position of Ai based on its desired velocity vides . Similarly, we predict the future motions of all the nearest agents that Ai can see by linearly extrapolating their current velocities (Ai can only estimate the actual velocities of the other agents and not their desired ones). Based on the predicted trajectories, we can now determine whether the agent Ai will collide with another agent Aj . We assume that a collision occurs when Aj lies inside or touches the personal space of Ai , resulting in the following equation: (3) (xj + vj t) − (xi + vides t) ≤ rj + (ri + μi ), where ri +μi denotes the size of Ai ’s personal space (default value of the minimum security distance μ is set to μ = 0.8m). Solving the above equation for t, we can deduct the possible collision time tcij between Ai and Aj . If tcij ≥ 0, the agent Aj is inserted into the set of the agents that are on collision course with Ai . We sort this set in order of increasing collision time and keep the first N agents. Experiments have indicated that this number can be kept small (default value is N = 5). This not only reduces the running time of our algorithm, but also reflects natural human behaviour. In real-life, an individual takes into account a limited number of other walkers, usually those that are on collision course with him/her in the coming short time. Step 2 - Determine the set of admissible orientations and speeds. In the second step of the algorithm, we retrieve the set of candidate orientations Oi ∈ R2 and speeds Ui ∈ R that the agent Ai can select in order to resolve the collisions with the agents that belong to the set CAi . First, we determine the collision time tc with the most threatening agent, that is the agent in the set CAi with which Ai will collide first. Then, based on our analysis in Section 2, we compute the

184

I. Karamouzas and M. Overmars Δθmax (tc) δmax

δmid

tcmin tc

tcmid

tcmax

Fig. 3. Maximum orientation deviation for an agent, as a function of the predicted time to collision

maximum angle that the agent Ai can deviate from its desired velocity. The maximum deviation angle Δθimax is approximated by a piecewise function (see Fig. 3) as depicted in Fig. 3. In the figure, the tcmax defines the maximum time that Ai anticipates a collision. Note that, in the experimental analysis, the maximum collision time averaged over all experiments is 4.2s. However, in our simulations, each agent has to simultaneously solve interactions with multiple agents. Thus, a higher anticipation time is used ensuring smooth avoidance behaviour (default value is tcmax = 8s). The threshold tcmid regulates the start of the constant part of the function, whereas the tcmin defines collisions that are imminent to Ai leading to higher deviation angles (default values are tcmid = 6s, tcmin = 2.5s). The parameter δmax determines the maximum admissible angle the Ai can deviate from its desired direction of motion. In our simulations, we assume that virtual characters cannot backtrack and thus, δmax = π/2. Finally, the parameter δmid defines the deviation angle during the constant interval of the function (default value is δmid = π/6). Having retrieved the maximum deviation angle Δθimax , we determine the agent’s admissible orientation domain Oi as follows: Oi = { nθ | θ ∈ [θdes − Δθimax , θdes + Δθimax ] }, T

(4) des

where nθ = [cos θ, sin θ] is the unit vector pointing in direction θ and θ is the orientation derived from Ai ’s desired velocity. A similar approach is also used to determine the admissible speed domain Ui of the agent Ai . Based on the speed deviation plot, shown in Fig. 1, the Ui is approximated as follows: ⎧ max ⎪ ], if 0 ≤ tc ≤ tcmin ⎨u | u ∈ [0, u pref pref max Ui = u | u ∈ [u (5) ,u ± Δui ], if tcmin < tc ≤ tcmax ⎪ ⎩ pref u , if tcmax < tc holds that Δumax ≤ min(umax − where for the maximum speed deviation Δumax i i pref pref max u ,u ). In our simulations, we set the default value of Δui to Δumax = i max max 0.4m/s, whereas the default value for u is set to u = 2.4m/s.

A Velocity-Based Approach for Simulating Human Collision Avoidance

185

Step 3 - Select an optimal solution velocity. In the final step of the algorithm, we compute an optimal solution velocity for the agent Ai . First, we deduce the set of feasible avoidance velocities F AVi from the agent’s admissible orientation and speed domains as follows: F AVi = {u nθ | u ∈ Ui ∧ nθ ∈ Oi }

(6)

In practice, an infinite number of feasible velocities exist. Thus, we restrict the Oi domain into a discrete set of orientation samples (default size of the discretization step is set to 0.13 radians). Similarly, we discretize the Ui domain into a set of adjacent speed samples (default distance between adjacent samples is set to 0.1). Next, we select the agent’s a new velocity vinew from the set of feasible velocities. Among the candidate velocities vcand , we retain the solution minimizing the kinetic energy of the agent, the risk of collisions with the other agents and the deviation from the agent’s desired velocity: Energy 





vcand  − v

cos(Δφ) − tc vcand − vides  tc new = argmin {α(1 − +γ + δ max } )+β vi max 2 u 2umax tcmax cand v ∈F AVi       Deviation Collisions 

where Δφ defines the angle between the agent’s current velocity vector and vcand . Consequently, the energy expenditure in our cost function is approximated by taking into account changes both in the speed and the direction of the agent. Regarding the collision cost, tc denotes the minimum predicted collision time between the agent Ai and the agents in the set CAi , assuming that Ai selects a velocity vcand ; note that tc is upper bounded by tcmax . The constants α, β, γ, δ define the weights of the specific cost terms and can vary among the agents to simulate a wide variety of avoidance behaviours (default values are α = 5, β = 0.5, γ = δ = 1). Having retrieved the new velocity vinew , the agent advances to its new position new as follows: x xnew = xi + vinew Δt, (7) i where Δt is the time step of the simulation. During each simulation cycle, we also update the orientation of the agent. The energy term in our cost function does not allow the agent to abruptly change its direction, ensuring smooth avoidance motions. Thus, the new orientation θinew of the agent is directly inferred from the solution velocity, that is θinew = arctan(vinew ).

4

Experimetal Results

We evaluated the quality of our approach against a wide range of test-case scenarios. These scenarios range from simple interactions between pairs of agents to more challenging and large test cases. We refer the reader to http://people.cs.uu.nl/ioannis/interactions for the resulting simulations. In all of our simulations, the agents smoothly evade

186

I. Karamouzas and M. Overmars

collisions with other agents and static obstacles. In addition, our approach exhibits emergent phenomena that have been observed in real crowds, such as the dynamic formation of lanes, queuing behaviour, as well as the emergence of slowing down and stopping behaviour to efficiently resolve imminent collisions. We have also run comparisons with the Reciprocal Velocity Obstacle method [2]. We choose the rvo because of its increased popularity among the methods that are based on the vo formulation, and its many existing variants. The main difference between our approach and vo methods is that in the latter, at every simulation step, each agent tries to find an optimal collision-free velocity. Consequently, in rather confined and crowded environments, the agent may not be able to find such a velocity and thus, the only solution would be to abruptly adjust its direction or change its speed and stop. In contrast, our approach favours small changes in the velocity of each agent, even though such changes may lead to a collision in the (far) future. Assuming that the other agents will also slightly adapt their motions, collisions are resolved in advance with minimal effort. Besides the quality, we are also interested in the performance of our proposed approach. To test its usability in real-time applications, we selected a varying number of agents and placed them randomly across an environment filled with small-sized obstacles. Each agent had to advance toward a random goal position avoiding collisions with the obstacles and the other moving agents; when it had reached its destination, a new goal was chosen. The running time of our method on a 2.4 ghz Core 2 Duo cpu (on a single thread) scaled almost linearly with the number of agents. Even for 3000 agents, it took 129 ms per simulation step to compute the three steps of our collision avoidance algorithm. Since, in our system, the velocities of the agents were updated at 5 f ps, it is clear that our approach can simulate thousands of virtual characters at interactive rates.

Acknowledgments This research has been supported by the gate project, funded by the Netherlands Organization for Scientific Research (nwo) and the Netherlands ict Research and Innovation Authority (ict Regie).

References 1. Fiorini, P., Shiller, Z.: Motion planning in dynamic environments using velocity obstacles. International Journal of Robotics Research 17, 760–772 (1998) 2. van den Berg, J.P., Lin, M., Manocha, D.: Reciprocal velocity obstacles for real-time multi-agent navigation. In: Proc. of IEEE Conference on Robotics and Automation, pp. 1928–1935 (2008) 3. Pettr´e, J., Ondrej, J., Olivier, A.-H., Cr´etual, A., Donikian, S.: Experiment-based modeling, simulation and validation of interactions between virtual walkers. In: SCA 2009: ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 189–198 (2009) 4. van Basten, B.J.H., Jansen, S.E.M., Karamouzas, I.: Exploiting motion capture to enhance avoidance behaviour in games. In: Proc. of Motion in Games, pp. 29–40 (2009)

A Velocity-Based Approach for Simulating Human ... - Springer Link

ing avoidance behaviour between interacting virtual characters. We first exploit ..... In: Proc. of IEEE Conference on Robotics and Automation, pp. 1928–1935 ...

228KB Sizes 5 Downloads 350 Views

Recommend Documents

A path-disjoint approach for blocking probability ... - Springer Link
Mar 20, 2009 - in hybrid dynamic wavelength routed WDM grooming networks ...... [44] Roy, K., Naskar, M.K.: A heuristic solution to SONET ADM min-.

A Fuzzy-Interval Based Approach for Explicit Graph ... - Springer Link
number of edges, node degrees, the attributes of nodes and the attributes of edges in ... The website [2] for the 20th International Conference on Pattern Recognition. (ICPR2010) ... Graph embedding, in this sense, is a real bridge joining the.

A Fuzzy-Interval Based Approach for Explicit Graph ... - Springer Link
Computer Vision Center, Universitat Autónoma de Barcelona, Spain. {mluqman ... number of edges, node degrees, the attributes of nodes and the attributes.

Endophenotype Approach to Developmental ... - Springer Link
research. Keywords Intermediate phenotype Æ Cognitive development Æ Autism Æ Asperger syndrome Æ. Theory of mind Æ Mentalising Æ Central coherence.

Conscience online learning: an efficient approach for ... - Springer Link
May 24, 2011 - as computer science, medical science, social science, and economics ...... ics in 2008 and M.Sc. degree in computer science in 2010 from Sun.

A NOVEL APPROACH TO SIMULATING POWER ELECTRONIC ...
method for inserting a matlab-based controller directly into a Saber circuit simulation, which ... M-file can be compiled into a C function and a Saber template can call the foreign C function. ... International Conference on Energy Conversion and Ap

Topic-aware pivot language approach for statistical ... - Springer Link
Journal of Zhejiang University-SCIENCE C (Computers & Electronics). ISSN 1869-1951 (Print); ISSN 1869-196X (Online) www.zju.edu.cn/jzus; www.springerlink.com. E-mail: [email protected]. Topic-aware pivot language approach for statistical machine transl

A divide-and-conquer direct differentiation approach ... - Springer Link
Received: 29 October 2006 / Revised: 26 February 2007 / Accepted: 25 March 2007 / Published online: 18 July 2007 ... namics systems, sensitivity analysis is a critical tool for ...... Pre-multiplying (46) by (DJk )T and calling on the or-.

HUMAN DIETS AND ANIMAL WELFARE - Springer Link
KEY WORDS: animal welfare, farm animals, utilitarianism, vegetarianism, wildlife. It may be a credit to vegetarian diets that ethical arguments against them are.

An Approach for the Local Exploration of Discrete ... - Springer Link
Optimization Problems. Oliver Cuate1(B), Bilel Derbel2,3, Arnaud Liefooghe2,3, El-Ghazali Talbi2,3, and Oliver Schütze1. 1. Computer Science Department ...

A Bayesian approach to object detection using ... - Springer Link
using receiver operating characteristic (ROC) analysis on several representative ... PCA Ж Bayesian approach Ж Non-Gaussian models Ж. M-estimators Ж ...

An experimental approach for investigating consumers ... - Springer Link
Feb 10, 2000 - service encounter satisfaction, overall service quality, ... and monitoring [5,7,8]. ...... Regimens," in Applications of Social Science to Clinical.

A divide-and-conquer direct differentiation approach ... - Springer Link
Jul 18, 2007 - sensitivity data in linear and logarithmic complexities for serial and parallel ... methods. These analytical methods have been used in ...

A Process Semantics for BPMN - Springer Link
Business Process Modelling Notation (BPMN), developed by the Business ..... In this paper we call both sequence flows and exception flows 'transitions'; states are linked ...... International Conference on Integrated Formal Methods, pp. 77–96 ...

Measuring Human-Robots Interactions - Springer Link
Published online: 3 May 2012. © Springer Science & Business Media BV 2012 ... should be intuitive and easy: these two key characteristics strongly define the ...

A Process Semantics for BPMN - Springer Link
to formally analyse and compare BPMN diagrams. A simple example of a ... assist the development process of complex software systems has become increas-.

Prizes for basic research: Human capital, economic ... - Springer Link
Aug 15, 2007 - information to study the degree to which scale or threshold effects account ..... since 1978); the Kyoto Prize in advanced technology and basic.

Simulating the Human Brain - Cordis
Understand the brain at all levels of organization (genes to whole brain); simulate the brain ... Build software applications to model, simulate, visualize and diagnose biologically ... ICT methods for pharmaceutical companies. (disease and drug ...

Simulating the Human Brain - Cordis
Build a suite of analytics applications to process brain data. (signal analytics, visual analytics, real-time analytics, auto- analytics); build data display applications ...

Evolutionary Approach to Quantum and Reversible ... - Springer Link
method of reversible circuits are closer to those of the classical digital CAD ...... of gates created by adding only Feynman gates to a seed composed of other ...... the signature correspond respectively to the following options: fitness type,.

On the “Matrix Approach” to ... - Springer Link
the same space, SW| is an element of the dual space. So SW| A |VT is ... We now look for a stationary solution of the master equation. |P(t)P. ·. =H |P(t)P .... 9. Unfortu- nately algebras of degree higher than two are very difficult to handle (see,

Wigner-Boltzmann Monte Carlo approach to ... - Springer Link
Aug 19, 2009 - Quantum and semiclassical approaches are compared for transistor simulation. ... The simplest way to model the statistics of a quantum ..... Heisenberg inequalities, such excitations, that we will call ..... pean Solid State Device Res