Crowd simulation of pedestrians in a virtual city

Size: px
Start display at page:

Download "Crowd simulation of pedestrians in a virtual city"

Transcription

1 Crowd simulation of pedestrians in a virtual city Submitted in partial fulfilment of the requirements of the degree Bachelor of Science (Honours) of Rhodes University Flora Ponjou Tasse November 3, 2008

2 Abstract Crowd simulation is an important aspect of the computer graphics field. Virtual crowds are integrated to film scenes, computer games, architecture, urban modelling and many other areas. Typical implementations simulate battle scenes, emergency situations, safety issues or add content to virtual environments. However few systems simulate autonomous pedestrian crowds in a normal setting desired in virtual environments such as configurations produced by a Text- To-Scene conversion system. We present a crowd simulation behavioural model for simulating identified crowd phenomena in a virtual city such as street flows, crowd formation and road crossings. We propose a three-tier architecture model to produce intentions, perform path planning and control movement. We demonstrate that this model produces the desired behaviour associated with pedestrian navigation in a virtual city, which includes navigation, flow formation, circle creation and passageway crossing.

3 Acknowledgements I would like to thank Kevin Glass and Shaun Bangay for their guidance throughout the research process especially my supervisor Kevin for his inestimable support, the Virtual Reality Interest group members for their feedback and suggestions. Furthermore, I convey my thanks to the Computer Science Department sponsors including Telkom SA, Business Connexion, Comverse SA, Verso Technologies, Stortech, Tellabs, Amatole, Mars Technologies, Bright Ideas Projects 39 and THRIP through the Telkom Centre of Excellence at Rhodes University. I also acknowledge the financial and moral support of my family.

4 Contents 1 Introduction Problem statement Background Overview Related Work Introduction Applications Techniques Decision making Path planning Navigation Motivation for design Evaluation mechanisms Realism Performance Summary Agent-based crowd simulation Introduction Environment representation Agent modelling Global behaviour Local behaviour Basic motion Summary i

5 CONTENTS ii 4 Crowd initialization, simulation and animation Introduction Initialization Simulation Animation Summary Evaluation Introduction Street flows Passage width Number of agents Randomness Passageway crossing African markets Street performances Pedestrian behaviours in an African market Goal-based navigation Performance Summary Conclusion Summary Conclusions Future work Contributions A Crowd simulation plug-in for Blender 53 B Pedestrian crowd simulation films 55

6 List of Figures 2.1 A Voronoi diagram Example of a probabilistic roadmap Steering forces A grid representation of an environment Three components comprising agent structure Generalized Voronoi diagram and Probabilistic roadmap of an agent Social forces Class diagram of an agent Execution time of the local behaviour Animation snap-shots Influence of the width of a passage on the rate Street flows Influence of crowd density on rate Random factor vs rate Passageway crossing Simulation of a crowd attraction to a static performer Simulation of a crowd attraction to a dynamic performer Crowd simulation in an African market Simulation of a virtual city Performance evaluation A.1 Crowd simulation GUI iii

7 List of Tables 3.1 Description of constant values Internal state parameters and intentions iv

8 List of Algorithms 1 Update state Decision making Simulation process of an agent a

9 Chapter 1 Introduction 1.1 Problem statement Our main purpose is to design a system able to simulate a crowd of pedestrians interacting in every-day urban environment conditions. We present an agent-based model that animates a high density crowd in a virtual city with the aim of achieving the following objectives: Simulation of pedestrian crowds in normal circumstances. Procedural animation to reduce the effort of simulating a large number of individuals. Simulation of emergence phenomena present in pedestrian crowds such as street flows. Development of a crowd simulation plug-in for some open-source softwares. Maximizing the visual richness of a Text-to-Scene (TTS) with minimal effort. Providing a unique model that supports the multiplicity of goals unlike existing battle and crowd panic simulations with one single goal for all the crowd members. Several papers are popular for their contribution to the crowd simulation problems. We improve on the following features: realistic pedestrian navigation, pseudo-random configurations, variable pedestrian behaviours, pedestrian autonomy, flexibility and performance. 1.2 Background Creating crowds involves the creation of large number of individuals exhibiting a range of actions. Typically, an animator creates a library of motions for each character which a very time- 2

10 CHAPTER 1. INTRODUCTION 3 consuming task. The complexity of this task increases if the crowd has a high density. Crowd simulation, the procedural animation of large groups of individuals,automate the motion of each individual. The crowd density can be easily be increased without a drastic increase in the timeconsumption. The animator can concentrate on other aspects of the scene other than animating crowds. Crowd simulation is very useful in adding visual richness to virtual generated environments. Outdoor environments such as cities are lifeless if they are not populated. This is even more true for TTS conversion systems where each scene is procedurally generates from a text. A virtual city in a TTS scene is more realistic if it has pedestrians navigating within it and exhibiting believable pedestrian behaviours. Existing crowd systems are used in the following areas: entertainment, urban modelling and safety. In general, these applications require a simulation of crowds under atypical circumstances, such as battle scenes or emergencies. We wish to simulate crowds under non-emergency circumstances, with the aim of achieving normal crowd-based phenomena from large numbers of individuals. Crowd simulation plug-ins have being recently developed for commercial 3D graphics softwares such as Maya [Crowd Maker, 2006] and 3d studio Max [Crowd It, 2006]. These plug-ins are based on Reynold s flocking model initially designed to simulate the collective behaviour of birds [Reynolds, 1999]. We wish to design plug-ins for open-source graphics software such as Blender and hence offer a simple way of creating crowds for the open-source community. 1.3 Overview The rest of this document is structured as follows: Chapter 2 presents the background information relevant to our research and explains the motivations for our application area and design specifications. The limitations of existing evaluation mechanisms are discussed. Chapter 3 analyzes the problem of crowd generation of agents in virtual cities and proposes means of addressing it. Chapter 4 presents issues faced during the coding of the proposed framework and the plug-in implementation for the 3D graphics software Blender. This is followed by an evaluation of the system in Chapter 5 and finally a conclusion in Chapter 6.

11 Chapter 2 Related Work 2.1 Introduction In the last decade, crowd simulation has become a popular concept in virtual reality and several other applications. Multiple techniques have been proposed to produce more believable simulations. In this chapter, we investigate the main applications of crowd simulation, present techniques relevant to our research and the various experimental procedure to evaluate a crowd simulation system. We wish to motivate the application area of this thesis, our proposed framework and the evaluation mechanisms used to evaluate our system. To achieve these goals, main types of crowd simulation applications are explored in Section 2.2. The investigation of state-ofthe-art simulation techniques is presented in Section 2.3. Finally, we discuss existing means of evaluating the success of a crowd simulation system in Section 2.4. Before exploring techniques used in existing crowd systems, we discuss current applications of crowd simulation. 2.2 Applications The simulation of large numbers of dynamic objects is often occurring in 3D computer graphics for entertainment, public safety planning and urban modelling. We are interested in the specific crowd animation applications in these areas and features they have in common. The exploration of application areas of crowd simulation provides insight on how the concept is applied. This insight can be used to design a model applicable to a large range of applications. We explore in detail these applications: 4

12 CHAPTER 2. RELATED WORK 5 Entertainment Crowd simulation is gradually occupying a commendable role in the entertainment community. It is specifically used in the following: Film production: Films usually require scenes with large groups of characters whose appearance and motion seem very real. Several Oscar-winning movies ought their success to the high-end crowd simulation software MASSIVE. The MASSIVE system is specially designed for the generation of battle scenes containing thousands of agents (used in the Lord Of Rings III, 2003 [Massive Software Inc, 2001]). Another less popular crowd simulation system used in film production is ALICE, a Maya based crowd engine (used in the epic movie Troy, 2004 [Alice, 2003]). In existing crowd systems for visual effects in movies, character motion is not limited to flat surfaces. Agents can performed actions such as climbing hills and scaling ladders using artificial intelligence. Game production: Crowds are also integrated into computer games to add life and rich content. Video games need a dense life activity to immerse the player(s). SPIROPS CROWD (used in the game Splinter Cell - Double Agent, 2006 [SpirOps Crowd, 2003]) provides libraries able to manage basic behaviours of every character in a crowd. Similarly to the above systems, SpirOps Crowd uses artificial intelligence to simulate agent motion. Few crowd simulation systems designed for entertainment allow the generation of crowds under normal-life situations and even fewer deal with pedestrian behaviours. Emergency response management Crowd simulation is also used for analyzing behaviour in emergency situations with limited navigable areas [Helbing et al., 2000, Shendarkar et al., 2008], to assist in the design of safe evacuation strategies. Popular applications of crowd animation in this area are: Fire and gas intoxication: Many research papers reproduce emergency situations with high density crowds within a closed environment, subject to serious fire, smoke or a toxic gas [Li et al., 2004, Courty and Musse, 2005]. They evaluate the possible number of injuries and characters able to reach safe zones. These simulations are used to model the number and the positions of safety exits. Over-excited crowds during a big event: Crowd simulation is also used to model crowds with very large number of characters assisting to some event (football game in a stadium, concert in a theater). An emergency parameter is added to the simulation, imitating the dangerous excitement of the crowd or false danger rumours that may cause a crowd to get

13 CHAPTER 2. RELATED WORK 6 out of control [Klüpfel and Meyer-König, 2004, Helbing et al., 2000]. This is also used for safe egress planning. Bomb attack: The simulation of public assembly subject to a bomb attack is also very common [Shendarkar et al., 2006, Usmani et al., 2007]. It evaluates the number of deaths and injuries during a terrorist act and can be used to predict the damage of a potential attack. The above systems commonly attached point particles to the characters and these particles are animated. This is different from the artificial intelligence approach used in crowd scenes for entertainment. Most research papers simulate crowd panic situations for safe egress modelling and techniques presented in Section 2.3 are products of these. Urban modelling Architecture and urban modelling often uses crowd simulation to bring life to models or plans. Common applications are virtual tourism, urban planning, architectural visualization and cultural heritage and they entail populating an urban environment with a large number of individuals. Pedestrian traffic simulation reproduces collective pedestrian behaviour within an urban environment, in normal-life situations. Softwares dealing with pedestrian simulation exist [Micro- Pedsim, 2006, Legion, 2007] but few deal with the decision making and the path planning that are part of any real pedestrian behaviour. Crowd simulation for urban modelling reflects the reality and hence no panic parameter (absent in normal every-day navigation) is added to the crowds. Public safety planning is the most common application of crowd simulation and it is only applicable if agents are in a panic state, causing a disregard of normal collective behaviour. We wish to produce a system able to generate the animation of large number of autonomous and intelligent pedestrians interacting in normal-life situations. They should be able to make decisions in agreement with real-life pedestrian behaviour. After exploring crowd simulation applications, we now investigate the techniques used to design them. 2.3 Techniques In this section, we investigate the various techniques used to model the crowd simulation systems discussed in Section 2.2. A survey of the existing techniques provides insight on their strengths and limitations and hence helps in designing a better model. We believe that crowd behaviour

14 CHAPTER 2. RELATED WORK 7 emerges from individual pedestrian behaviours. Our interest is directed towards agent-based simulation techniques which model crowds as a sets of individuals of with same parameters but different parameter values. [Reynolds, 1999] proposes a hierarchical model for these characters. He distinguishes three layers which we believe reflect pedestrians behaviours: Decision making: In this layer, the character makes decisions by choosing an action or a goal. We detailed the techniques used to handle this layer in Section Path planning: After making a decision, the character computes the sequence of intermediate actions or goals needed to reach its goal. More details on the technical aspects of path planning are presented in Section Navigation: The character is animated and moves to each intermediate goal of its plan and finally reaches the goal selected in the top layer. Navigation approaches are discussed in Section A character in a behavioural system is referred to as an agent. We explore key agent simulation techniques that go beyond crowd simulation. Below, we present means of automating action or goal selection of an arbitrary agent Decision making Decision making is the behavioural component of a crowd simulation system and it determines how realistic agents are in simulating real pedestrians behaviour. An agent behaviour is the set of actions the agent is performing or intends to perform. By selecting a goal, an agent signifies its intention of reaching it. Several means of simulating goal (behaviour) selection can be used in an agent-based simulation: Internal state model Tu and Terzopoulos [1994] present a simulation of artificial fishes. Each fish has an internal state and a vision of its surroundings. The internal state is composed of a list of habit parameters specifying properties such as the fish sex and three mental state variables namely hunger, libido and fear with values within [0,1]. An intention generator tests for collision detection and if there is danger of collision, the intention is avoiding the collision. Depending on the mental state values, the danger represented by the predators in the neighbourhood and the ambient conditions the fish generates an intention. The selected intention will then produce the execution of a sequence of behaviour routines. These routines input information from the environment and computes locomotion parameters that will move the fish one step towards the

15 CHAPTER 2. RELATED WORK 8 fulfillment of its intention. A similar approach is used by Shao and Terzopoulos [2005] to model agent behaviour but the set of rules in the intention generator differs. Hierarchical model This technique assumes some kind of hierarchy in the crowd. Groups of agents represent the elements in the hierarchical structure. Agents derive their goals from the group they belong to and the group gets its goal from a specified crowd goal. This approach is used in the crowd simulation system Vicrowd designed by Musse and Thalmann [2001]. Leader following model A very common technique for automating goal selection is the leader following technique. A crowd has one leader or a set of leaders able to select their next goal. The rest of the crowd either follows or copies the goal selected by the leader(s). We typically find this approach in crowd emergency situations where a few leaders emerges and guide the rest of the crowd to safety [Pelechano and Badler, 2006]. Several non-emergency crowd simulation systems also used this behavioural model [Loscos et al., 2003]. Real life pedestrians make their own decisions and pedestrian crowds do not have leaders. Pedestrians do not follow instructions from another party. We deduce that a model that select goals according to the environment and the internal state of an agent is appropriate for this research. After investigating, decision making techniques, we now present technical aspects of path planning Path planning Based on a given behaviour the agent wants to adopt, it generates a sequence of actions to be performed. If the agent s behaviour entails a change in position, a path is generated, consisting of a sequence of goals to be attained to reach its main target. Path planning determines how an agent moves from its current position to a specified goal. A graph representing the environment is generated for path planning and processed to retrieve a path from the current position to the main target using graph search algorithms such as the shortest path algorithm. Below, we discuss existing graph representations of an environment: Cell decomposition method Pelechano et al. [2005], Pelechano and Badler [2006] derive a cell and portal graph from either a maze-like environment or a floor plan, and for every pair of cells, shortest paths can be generated. The agents explore their environment and whenever a new area or portal is discovered, a corresponding cell is created and added to the cell graph.

16 CHAPTER 2. RELATED WORK 9 Figure 2.1: A Voronoi diagram Generalized Voronoi diagram (GVD) A Voronoi diagram is a type of decomposition for metric spaces, determined by distances to a set of entities in the space. This decomposition is illustrated in Figure 2.1. The edges of a Voronoi diagram represents all points equidistant to a pair of entities and a node is a point equidistant to three or more entities. A Generalized Voronoi diagram is a Voronoi diagram in which entities are sets [Choset and Burdick, 1996]. Several algorithms for generating Voronoi diagrams exist but Fortune s algorithm [Fortune, 1986] is commonly used for its simplicity. Generalized Voronoi diagrams are typically used for robot path planning [Latombe, 1991]. Probabilistic roadmap (PRM) Sung et al. [2004] use the Probabilistic Roadmap technique [Kavraki and Latombe, 1994, Overmars, 1992, Overmars and vsvestka, 1995], which consists of generating a set of randomly distributed way points and linking them together with collision-free paths. Figure 2.2 on page 10 illustrates a path from a current position to a goal by querying the shortest path from a randomly generated roadmap with six nodes and six edges. Dynamic roadmap (DRM) This is a probabilistic roadmap with the additional property that each time an obstacle change is observed in the space, corresponding nodes and edges are revalidated [Kallmann and Matarić, 2004].

17 CHAPTER 2. RELATED WORK 10 current position Shortest Path Invalid path goal Figure 2.2: Example of a probabilistic roadmap Rapidly-exploring Random Tree (RRT) A tree is constructed by adding a collision-free point to the tree and incrementally connecting a random point A in the environment to the closest point B in the tree for which the movement from A to B does not encounter any static obstacle [Kuffner and LaValle, 2000]. Visibility graph: This is a graph whose nodes represent points in the environment and edges represent visible connections between nodes [Overmars and Welzl, 1988]. Probabilistic roadmaps are simple to implement because they only involve generating random nodes, testing for collision paths and connecting nodes. Generalized Voronoi diagrams have complex implementations but they offer maximum clearance paths from static objects. We select both methods for path planning so that it will be possible to generate a simulation using one or the other. We now explore the techniques that model the motion of an agent Navigation Once a path is defined for navigating to a specific goal, the agent must follow this path while avoiding collisions with objects in the environment and other agents. We identify three main models for determining the next position of an agent: social-force, rule-based and cellular automata models.

18 CHAPTER 2. RELATED WORK 11 Seek Separation Alignment current velocity desired velocity seek force goal [H] Figure 2.3: Steering forces Social force model A real life pedestrian wants to move towards a target while avoiding static and dynamic objects around it. Forces can be used to represent these constraints. Social-force models represent the interactions between each agent and its neighbourhood using attractive and repulsive forces [Helbing et al., 2000]. These forces are integrated to derive the motion of each agent at each time-step in the simulation. Helbing et al. [2000] describes three types of forces: Acceleration: acts to reach the desired agent s speed as it avoids obstacles. Repulsion: acts to repulse the agent from other agents, obstacles and edges. Attraction: acts to attract the agent to some agents or objects. Rule-based model Rule-based models define a finite set of behavioural responses to internal and environmental conditions [Reynolds, 1987, 1999]. Reynolds distinguishes three type of behaviours he refers to as steering behaviours ( illustrated in Figure 2.3) : Seeking: acts to push the agent to a specified location. Separation: acts to separate agents from each other. Alignment: acts to align the agent to its neigbours. While often appearing realistic, these systems are limited to the set of rules defined and are not transferable to different scenarios.

19 CHAPTER 2. RELATED WORK 12 Empty cell Occupied cell Figure 2.4: A grid representation of an environment Cellular automata model Used with a maze-like environment or grid representation of the space, this method allows the agents to move from their current cell to an empty adjacent cell [Dijkstra et al., 2000, Pelechano and Badler, 2006]. A cell or portal graph is used to determine which adjacent cell is on the path of the destination. Figure 2.4 illustrates agents navigating in a 2D maze-like environment. This approach is simpler than the physics-based method but only offers discrete navigation i.e. agent motion is represented by steps from cells to cells. Fewer cells will generate an unrealistic motion while a larger number will increase the computation time. Contrary to the cellular automata and ruled-based models, the social force model represent the constraints on the agent navigation using forces. Hence the motion of an agent is not limited by rules or by the number of cells in a cellular automata. Therefore the social force approach is the adequate model for pedestrian locomotion. We now summarize motivations for selecting specific techniques for the modelling of our framework Motivation for design Similar to [Tu and Terzopoulos, 1994, Shao and Terzopoulos, 2005], we believe that agents in an urban environment are characterized by different types of goals. For instance, an agent that is hungry has the goal of seeking a restaurant, while an agent that is bored has the goal of seeking some entertainment. This is unlike simulations of emergency or battle environments, where all the agents have an identical goal. We select two techniques for path planning: probabilistic roadmaps and generalized Voronoi diagrams respectively, for their simplicity and maximum

20 CHAPTER 2. RELATED WORK 13 clearance property. Social force models do not restrict the navigation of the agent to a specific scenario and are more flexible than ruled-based and cellular automata models. For this reason, our approach to agent navigation follows the social forces model. After deriving several design specifications from the survey of existing techniques, we now investigate means of testing the success of a crowd simulation system. 2.4 Evaluation mechanisms In this section, we investigate the different evaluation procedures used by existing crowd simulation papers to test the success of their model. The results of this investigation will be helpful for establishing experiments that will validate the success of the framework proposed in this document. We are interested on experiments for testing: The degree of realism in a generated crowd animation The performance of the system in terms of time complexity We begin our investigation by exploring means of evaluating if indeed a crowd simulation produces the expected result and reproduces real life situations Realism In this section we explore means of comparing real and simulated crowds and thus providing evidence of a successful crowd model. We distinguish two techniques: Animation snap-shots The most common form of experimental results of crowd simulation systems are animation screen-shots. They are used by [Treuille et al., 2006, Pelechano et al., 2007, Shao and Terzopoulos, 2005] to show scenarios where agents perform a believable behaviour. If the visual output seems to exhibit real situations, it is assumed that the system is successful in simulating crowds. In pedestrian crowd simulation, pedestrian data collections are not used to compare the real and the simulated navigation. The disadvantage of this method is the absence of quantitative data that will objectively provide conclusions. Trajectories [Loscos et al., 2003] traces the positions of an agent and provide trajectories of the agent around obstacles, showing that the proposed system is behaving as expected. However this technique does not show interesting crowd behaviours identifiable in a real crowd. Agents

21 CHAPTER 2. RELATED WORK 14 may be able to go around obstacles in a believable fashion but still be unable to simulate crowd behaviours. We believe that the capacity of a crowd system to simulate real life crowds can be tested with qualitative data, in this case generated crowd animations. If features identified in a real crowd are found in a simulated crowd, we deduce that the system is effectively simulating crowds Performance This section presents existing methods for evaluating the performance of a crowd systems. We discuss two approaches to performance evaluation: Computational load [Shao and Terzopoulos, 2005] calculates the computational load of each part of the system as the number of agents increases and presents a pie chart showing how each component affects the overall performance. This experiments compares the performances of components within the system without computing its complexity. Simulation time A popular experiment used to evaluate the performance of a simulation system is the simulation time [Pelechano et al., 2007]. Shao and Terzopoulos [2005] present a graph showing the influence of the number of agents on the simulation time. This method can also be used to evaluate the scalability of the system. This experiment provides quantitative data and allow objective conclusions on the performance of a system. Animation snap-shots are good experimental results but they are not sufficient to provide evidence of realistic behaviours. In addition to simulation screen-shots, we conduct several experiments on street flows and present quantitative results to demonstrate that the crowds exhibit convincing real-life phenomena simulated using our model. We will evaluate the system performance by measuring the execution time as the number of agents increases. 2.5 Summary From this discussion, a set of design decisions is derived for our project by combining various approaches to specific problems in crowd simulation. We use an agent-based simulation where each agent is hierarchically modelled with the following layers: Global behaviour: This component deals with decision making i.e it selects a goal within the environment. Real life pedestrians are autonomous and their decisions are based on

22 CHAPTER 2. RELATED WORK 15 their internal state and the environment. We model an internal state as a set of float values representing values of each desire. Ratio of each desire and the distance to a goal that will satisfy that desire is computed and the goal associated with the greatest is selected. Local behaviour: Path planning is performed in this layer. There are two alternative techniques: probabilistic roadmaps selected for their simplicity and generalized Voronoi diagrams selected because they provide paths with maximum clearance from static objects. Basic motion: This layer deals with the navigation of an agent within the urban environment. Based on the social force model, we represent the tendency of a pedestrian to steer towards its target while avoiding objects near to it by attractive and repulsive forces. Rigid body dynamics is then used to obtain the acceleration, next velocity and position of the agent. The above layers are discussed in detail in Chapter 3. Next, we propose a framework for addressing the problems stated in Section 1.1.

23 Chapter 3 Agent-based crowd simulation 3.1 Introduction Our main aim is to propose a crowd simulation system for addressing the problems stated in Section 1.1. For this research, we describe a crowd as a large group of entities with the same types of parameters. These entities only differ by the value of their parameters. Therefore we use an agent-based model. The crowd is modelled as a large set of agents with the same model. Agents should be able to perceive information from their environment and therefore we need to design the environment in such a way that interaction is possible. The interactions between the agent design and the environment model reflects how pedestrians interact with their surroundings in real-life. The overview of the proposed design is illustrated in Figure Environment representation In order to provide a believable crowd simulation in a virtual city, the urban environment itself should have properties of real life cities. We also believe the representation of the environment has an important influence on pedestrian navigation. Cities are composed of a large number of buildings, road segments and obstacles of different natures. We assume all these environment objects have fixed positions. Building For the purpose of this project, there is no need to examine the intricate structure of a building. We observe that most of the time it will have a rectangular structure and a pedestrian will visit a specific building according to its internal state and what the building has to offer. 16

24 CHAPTER 3. AGENT-BASED CROWD SIMULATION 17 AGENT ENVIRONMENT Internal State parameters: Example: hunger Global Behaviour: * Find the most urgent desire D (ex: hunger) * Determines the next intention (ex: going to a shop) * Determines the next goal point (ex: the closest shop) * Buildings * Roads * Obstacles Update of the initial state parameters once D has being fulfilled Local Behaviour: * Determines the next sequence of subgoals and motions needed to reach the goal and fulfill the desire D Basic Motion: * Performs the given sequence of movements specified by the local behaviour. Figure 3.1: Three components comprising agent structure. Thus we represent it by a rectangle with the following main parameters: its position, its size and its nature i.e. the desire that will be fulfilled by visiting it. Road Road segments are ways between blocks of buildings. In a city, they are usually paved and appear to have a rectangular structure. In this thesis, we assume a road segment has a rectangular form, characterized by its size and dimension. Points are chosen along a road to represent the crossing area. Obstacle Static objects exists in urban environments that are neither buildings nor roads. They are not potential goals but only intervene in collision avoidance. For simplicity, we assume they have a circular form, characterized by their position and radius. Although the environment representation is an important part of a city simulation, the generated city is lifeless and empty unless there are pedestrians navigating within it and appearing to perform believable behaviours.

25 CHAPTER 3. AGENT-BASED CROWD SIMULATION Agent modelling We believe that the navigation decisions taken by a pedestrian are autonomous and pedestrian crowds are simply groups of autonomous agents. As such, we operate at a personal level by individually animating each agent. We use three modules: an intention generator for the agent s global behaviour (specifying goals); a path planner for managing its local behaviour (calculating paths to goals) and a movement controller for basic motion (performing motion and avoiding obstacles). The structure of the modules comprising an agent, and the interactions with the environment are presented in Figure Global behaviour We use a model similar to Tu and Terzopoulos [1994], Shao and Terzopoulos [2005] to design the decision making process for formulating an agent s goal. Decisions are based on a method involving the internal state and the virtual environment. The internal state is represented by a set of predefined parameters representing agent s desires such hunger and thirst. The internal state is a list and hence the number of parameters it can contain is dynamic. An animator can specify the range of desires and intentions at leisure. The values of these parameters are initialized randomly within the range [0,1] and updated over time. The update of the state parameters is done at each time step. Update factors can be specified for each parameters to prevent the same rate of increase. Algorithm 1 presents the function used for changing these values. Combining the values in its internal state with other parameters such as position, the agent will generate an intention (goal) that will satisfy a desire. The ratio of each desire and the distance to the goal (that will satisfy the desire) is calculated, and the greatest is chosen as the goal of the agent. An agent should consistently attempt to reach its goal. Hence it will not generate a new goal unless the current goal is reached. The goal is represented as a coordinate, which is passed to the local behaviour module for formulating a plan to satisfy the desire. The process of decision making is illustrated in Algorithm Local behaviour The local behaviour component performs collision-free path planning for satisfying a goal generated by the global behaviour component. A path is generated consisting of a sequence of in-

26 CHAPTER 3. AGENT-BASED CROWD SIMULATION 19 Algorithm 1 Update state for every desire d assign the update factor of d to fact assign the inverse of the number of frames per second to the power 3 to ts assign the product of fact and ts to a increment the current value of d by a Algorithm 2 Decision making assign to goal a null value assign to ratio a zero value for every desire d assign the nearest goal that will satisfy d to nearestgoal assign the distance from the agent position to nearestgoal to dist assign the value of d divided by dist to r if r>ratio then assign r to ratio and nearestgoal to goal termediate goals leading to the main target. A new path is only generated if all the intermediate goals in the current path are reached. Probabilistic roadmaps One of the techniques used for our path planning module are probabilistic roadmaps [Overmars, 1992]. A graph representing the environment is generated by randomly choosing points in the environment and making connections between these points. Initial nodes are added near each stall and additional random nodes are selected in the environment. An edge is created between two nodes whenever the path from one node to another is collision free. Nodes are also added on each side of a road segment and edges created between them. These edges represent the passageway of the road. By default, the weight of an edge is the distance between the two nodes connected by it. But some edges (such as edges traversing the road) can be given more weights so that agents are discouraged to follow these edges unless they really have to. If the agent needs to find a path from its current position to a goal, a sequence of intermediate nodes is produced using Dijkstra s shortest path algorithm [Dijkstra, 1959]. Generalized Voronoi graphs An alternative to probabilistic road maps is the concept of generalized Voronoi diagrams (GVD), widely used in path planning [Latombe, 1991, Choset and Burdick, 1996]. Every edge of each static object is subdivided in two and the sum of all the

27 CHAPTER 3. AGENT-BASED CROWD SIMULATION 20 (a) Voronoi (b) PRM Figure 3.2: Generalized Voronoi diagram and Probabilistic roadmap of an agent vertexes of all these objects is the set of sites we use to generate a Voronoi diagram. Fortune s algorithm, published by [Fortune, 1986], is used to compute the Voronoi diagram. All edges in the diagram intersecting with at least one static object are deleted. Path finding is also performed with Dijkstra s shortest path algorithm [Dijkstra, 1959]. Edges in generalized Voronoi diagrams represent paths of maximal clearance between static obstacles. However practical solutions using GVDs are complex and the complexity increases as the number of agents and buildings increases [Sud et al., 2007]. A road map of an agent in an environment containing the footprints of a number of buildings is illustrated in Figure 3.2. All the paths in the map are collision free, irrespective of the order or structure with which objects are placed in the environment. Ideally an agent will follow the calculated path directly from its current location to its goal. However, in a multi-agent environment, it is expected that collisions will occur between moving agents. Each intermediate path is passed to the basic motion module, which is responsible for moving the agent in the environment while avoiding collisions Basic motion Navigation is handled by the basic motion module, based on Helbing s social-forces model [Helbing et al., 2000], which was designed for pedestrian navigation. Once agent i determines the next intermediate goal on its path, its acceleration is defined by: dv i (t) dt = f target + j i f ij m i + W f iw m i

28 CHAPTER 3. AGENT-BASED CROWD SIMULATION 21 where v i is the agent s current velocity, m i is its mass, and f target, f ij, f iw are social forces illustrated in Figure 3.3 and detailed below: f target is the attractive force of the intermediate goal defined by: f target = vd i e i v i τ i where v d i is the desired speed of i (for our experiments we use v d i = 1.5), e i is the unit vector from the target to the position of i and τ i is a constant time that ensures that agent speed is not too low even after a collision. f ij is a repulsive force from another agent j defined by: f ij = [A i exp( r ij d ij/bi ) + kg ij ] n ij + Kg ij v ji t ij where d ij is the distance between i and j, r ij is the sum of their radii, n ij is the unit vector pointing from j to i and t ij is the tangential direction. A i,b i, K, k are constant values with meanings described in Table 3.1. The term v ji represents a change in velocity (v j v i )t ij and: 0 d ij > r ij g ij = r ij d ij otherwise f iw is a repulsive force from a border of a building W defined by: f iw = [A i exp ( r i d iw /B i ) + kg iw ] n iw + Kg iw (v i.t iw ) t iw where d iw is the distance to W, r i is the the radius of agent i, n iw is the unit vector perpendicular to the surface of W, t iw is the tangential direction to W, and: 0 d iw > r i g iw = r i d iw otherwise A characteristic of an urban environment is the participation of a large number of people, making the above formulation susceptible to the n-forces problem. This means that each agent must take into account the motion of every other agent, resulting in a complexity of at least O(n 2 ) for each time-step. To mitigate this problem we perform broad-phase spatial partitioning by dividing the environment into a regular grid [Teschner et al., 2003]. At each time step, cell

29 CHAPTER 3. AGENT-BASED CROWD SIMULATION 22 Current velocity Repulsive force Desired velocity Attractive force Building Goal An agent in the neighbourhood Repulsive force (a) Attractive force (b) Repulsive force (c) Repulsive force from a wall Building An agent in the neighbourhood Goal Current velocity Attractive force to the goal Repulsive force from the other agent Repulsive force from a wall of the building Sum of forces Next velocity (d) Sum of forces and velocity Figure 3.3: Social forces Constant Description Value vi d Desired speed of agent i 1.5 τ i Acceleration time of agent i 0.5 A i Weight of a repulsive force on agent i B i Fall-off distance of agent i 0.5 k Pushing weight K Friction weight Table 3.1: Description of constant values.

30 CHAPTER 3. AGENT-BASED CROWD SIMULATION 23 Algorithm 3 Simulation process of an agent a for every frame if agent has no goal find a new goal using globalbehaviour assign the new goal to maingoal if agent path has no intermediate goal find a new path from agent position to maingoal position using localbehaviour assign the new path to path assign the first intermediate goal of path to target find the next position of a towards target using basicmotion if distance from agent position to target is less than 0.01 assign target to agent position remove target from path update internal state parameters contents are updated and an agent need only take into account agents in the same cell and adjacent cells. Changing positions is not sufficient to provide a believable visual appearance of a pedestrian. Pedestrians do not only modify their position and orientation, they also perform two main actions: walk and stand Hence we use motion capture data extracted from real life humans performing these actions and apply them to each member of the crowd. 3.4 Summary We have designed an agent-based model that allows each agent of a crowd to make decisions by choosing a goal that will satisfy their desire, plan a path to that goal and move along the resulting path. This process is illustrated with Algorithm 3. The proposed model is based on the combination of several techniques and allows an animator to specify the range the behaviours. The next chapter covers the implementation issues of this framework from the initialization of the agents, their simulation and their animation.

31 Chapter 4 Crowd initialization, simulation and animation 4.1 Introduction During the research documented in this thesis, several issues occur at the implementation level concerning realism, performance, code simplicity and many other programming aspects. In this chapter, we present these issues and how they are addressed. The implementation language used is Python for the following reasons: it is the scripting language for Blender extensions, is crossplatform, has a minimalist syntax and is well supported by a developer community. The class diagram of an agent is illustrated in Figure 4.1.The following sections discuss the initialization of the virtual environment and the virtual agents, the actual simulation of the agents and finally the animation and rendering stage with different graphics libraries. Before proceeding with issues related to simulation, we discuss those relevant to the creation of the virtual city and the initial configurations of agents. 4.2 Initialization The initialization of the system refers to the initial configuration of buildings, roads and agents. The first parameters that need to be initialized are the number of buildings and agents. These values are input by the user at the beginning of the program to provide a system flexible to the variation of the crowd density. Parameter values are randomly generated for each object in the environment (position, size, colour, internal state parameters for agents) because we want to obtain different configurations 24

32 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION 25 globalbehaviour + findtopdesires(self : string) : string + updatestates(self : string) : string + findintention(self : string, position : string) : string + findgoal() : string + init (self : string) : string 1 road + nearobstacle(self : string, point : string, r : string) : string + linenearobstacle(self : string, other : string) : string + init (self : string, pos : string, 0..* size : string, color : string) : string 1 agent + update_goal(self : string) : string + update_path(self : string) : string + move(self : string) : string + init (self : string, pos : string, rad : string, h : string, color : string, nature : string) : string basicmotion localbehaviour + init (self : string, id : string, pos : string, rad : string, color : string, p : string) : string + attract_target(self : string) : string + repulse_agent(self : string) : string + repulse_wall(self : string) : string + findnearby(self : string) : string + findnearby_ob(self : string) : string + infront(self : string, other : string, angle : string) : string + circleavoid(self : string) : string + lineavoid(self : string) : string + update_position(self : string) : string + generatevoronoi(self : string) : string + add_buildingnodes(self : string) : string + add_roadnodes(self : string) : string + add_randomnodes(self : string, number : string) : string + connect_all(self : string) : string + connect_node(self : string, n1 : string) : string + findpath(self : string, node1 : string, node2 : string) : string + init (self : string) : string 1..* 1..* 0..* 0..* building obstacle + nearobstacle(self : string, point : string, r : string) : string + linenearobstacle(self : string, other : string) : string + init (self : string, pos : string, size : string, color : string) : string + nearobstacle(self : string, point : string, r : string) : string + linenearobstacle(self : string, other : string) : string + init (self : string, pos : string, rad : string, h : string, color : string, nature : string) : string Figure 4.1: Class diagram of an agent

33 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION 26 Desire Description Update factor Intention Hunger Desire to eat 1.5 Go to the restaurant Thirst Desire to drink 1.0 Go to the pub Shopping Desire to shop 1.35 Go to the mall Working Desire to work 1.75 Go to the office Schooling Desire to attend classes Go to school Curiosity Desire to be entertained 1.0 Go to a street performance Table 4.1: Internal state parameters and intentions for each simulation. For flexibility the animator can specify the exact parameters of each object. The state parameters with their description are described in Table 4.1. After discussing the initialization issues and the corresponding solutions, we proceed to the actual simulation of the crowd of pedestrians. 4.3 Simulation The simulation refers to the loop in which agents consistently choose a goal if none exists, plan a path if none exists and move. State parameters that define the internal state of an agent and therefore its behaviour are updated at each time step. The update factors and the behaviour corresponding to each parameter are described in Table 4.1. In addition to the modules created from the system parts discussed in Chapter 3, extra modules such as vector, graph and line are added. The need for additional modules arises from the fact that several parameters such as positions, velocities and forces have vector values and vector operations such as translation, rotation and scaling are used for position updates. A module for line operations is required for the testing of intersections and hence the detection of potential collisions. A graph library is added for the various graph operations such as adding nodes, edges or finding the Dijkstra shortest path used in the local behaviour component for path planning. Another important issue of the simulation implementation is the updating of internal state parameters. In real life the degree at which we want something increases with time if the desire is not satisfied. A function is created for that purpose and is independent of the design of the system. An animator can change the state update function to suit its objectives. In Chapter 3, we discuss the design of the local behaviour component with two different methods: Probabilistic roadmaps (PRM) and Generalized Voronoi diagrams (GVD). By default we used the PRM approach to increase performance because the Voronoi approach is very timeconsuming. The time consumption of PRM and GVD approaches for an agent as the number

34 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION Execution time /[s] Number of buildings Probabilistic roadmap Generalized voronoi diagram Figure 4.2: Execution time of the local behaviour of buildings increases is illustrated in Figure 4.2. When the number of buildings increases, the difference between the execution time of a PRM generation and a GVD generation grows larger. For the construction of a PRM, we select several random nodes around the buildings. The reason for this is the performance enhancement: each building is accessible with fewer points. Because position coordinates of an agent are float values or its movement is fast, the agent may overstep its target and reverse but arithmetically never attain the goal. To solve this problem, the agent s position is set to the goal position if the distance between them is less than a predefined small value. We also observe that agents are always facing the same direction irrespective of their goal. Thus we add a rotation parameter for each pedestrian, computed from its velocity so that an agent will always face the direction it is moving towards. The orientation of agent i in radians about the z axis is defined by: ( ) vi (t) θ i (t) = arccos v i (t) u z where v i (t) is the current velocity of agent i and u z is the unit vector of the z axis. After the computation of its next position and orientation, the agent needs to be animated to appear to be performing a basic motion, such as walking. Skeletons are objects that control

35 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION 28 deformations of a geometric mesh. A skeleton has discrete points of manipulation. The movements of these points are recorded from humans performing actual poses, and applied to skeleton - achieve realistic poses on geometric models. Motion capture data from a real human subject is used to achieve this [Casburn et al., 2006]. The initialization and simulation steps of the implementation are independent of the graphics library used. Hence alternative graphics modules can be supported without the risk of changing the simulation implementation. We output information from the initialization and simulation to two separate data files, that can later be accessed to generate a visual animation of the simulation using a graphics module. We refer to these files as the settings file for the initialization step and the frames file for the simulation of the crowd. After discussing issues relevant to the initialization and the simulation stages of the system implementation, we present the animation of these using specific graphics modules. 4.4 Animation The animation refers to the process of converting data files created through the initialization and simulation processes to a graphical product. First, the raw initial configurations of objects in the virtual environments are extracted from the settings file. This information is then fed into a function that will generate the initial configuration of the scene using an associated graphics module. We selected three graphics modules that are common in that they are open-source, cross-platform and they support the Python programming language. these modules was selected for different purposes: Visualizing movement in 2D We wish to have an easy and fast way of checking the road maps and noticing irregularities. The best way of achieving that is having a 2D top view of the environment. Graphics.py is a 2D object oriented graphics library designed for novices who want to experiment with graphics. This package was programmed by John Zelle as an additional tool to his book [Zelle, 2003] and the latest version is freely available at edu/zelle/python. Graphics.py is selected as one of the graphics libraries for our system for the following reasons: It is easy of use, offers a real time simulation and has a very explicit and extensive documentation.

36 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION 29 Graphics.py provides a 2D top view of the urban environment and hence offers a good visualization of road maps. It makes it easier to spot collisions or find code misbehaviours. Visualizing movement in 3D We wish to observe the crowd simulation easily, in real-time with a 3D view of agent movements. This can be done by representing scene objects with simple polygons (boxes, cylinders,cones) textured with uniform colours. Vpython offers a 3D object-oriented graphics module called Visual implemented by David Scherer. The latest release of Vpython and its extensive documentation are freely available at The reasons of our interest in this package are listed below: Similarly to Graphics.py, Vpython provides real time simulations, is very simple to use and the reference is well documented. Another advantage of this package is the possibility to rotate about any axis or zoom during the simulation. Full simulated animation We wish to fully animate textured and rigged human models within a completely textured virtual city. We also want to render videos of simulated pedestrian crowds. Blender is a 3D content creation suite available for several operating systems, with Python for embedded scripting. The released version used in our implementation is Blender This version is freely downloadable at older-versions/ and its Python API reference is available at org/documentation/245pythondoc. Blender was selected in this research for the following reasons: It is a powerful graphics application, similar in scope and depth to proprietary commercial 3D software such as 3ds Max and Maya. Blender has no crowd simulation plug-in integrated to it as opposed to several other graphics applications. It can be used for modelling, texturing, rigging and animation of scene objects. The urban environment and the agents may be linked to a scene and the scene saved as a blend file. Another advantage of Blender is the possibility of using motion capture data to modify the body of the agents. After setting the environment and animating the crowd, one can add illumination to the world with a camera and finally render a video.

37 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION 30 In addition to the reasons discussed above, we wish to use a graphics system compatible with the TTS conversion system designed by Glass and Bangay [2008]. This system was implemented in Blender and hence it is easier to import pedestrian crowds into a TTS generated city. A limitation of the Blender animation suite is the size of blend files containing a crowd animation. These files get very big with high density crowds. For instance a file containing a crowd of 200 textured, rigged and animated human agents weights 837 Megabytes. The size can be reduced by using simple models such as cones for agents, by removing motion capture data or complex textures. Graphics.py and Vpython do not have limitations attached to the number of simulated agents. A documentation of the developed crowd simulation plug-in for Blender is provided in Appendix A. Screen-shots of a crowd simulation generated with the different graphics modules are presented in Figure 4.3. There are three functions related to each graphics module; after extraction of the settings file and creation of the scene objects, the frame file is extracted and the positions of scene objects representing the pedestrians are graphically updated. 4.5 Summary Several issues arise during the implementation of the framework proposed in this document. We address these issues with solutions that increase the realism of the crowd simulation, the performance and the flexibility of the system. In the next chapter, we present experiments and results that evaluate the success of the proposed system.

38 CHAPTER 4. CROWD INITIALIZATION, SIMULATION AND ANIMATION (a) Graphics.py (b) Vpython (c) Blender Figure 4.3: Animation snap-shots 31

39 Chapter 5 Evaluation 5.1 Introduction In Chapter 2, we discuss existing evaluation mechanisms for crowd simulation. We distinguish between realism and performance evaluation. Two very common experiments are identified: presenting animation snap-shots and computing the execution time of simulations with increasing number of agents. We believe these are not sufficient to make objective conclusions on realism and performance of a crowd system. We evaluate our crowd simulation model by simulating an urban environment, and examining different phenomena that we believe are characteristic of virtual cities: Street flows: We assume passageways between stalls are narrow, making traversal slower as the density of a crowd increases. We believe that in such situations pedestrians tend to form streams in which neighbouring pedestrians line-up and move in the same direction. We investigate if our model produces evidence of these flows. Passageway crossing: A real life pedestrian who has to cross the road will usually move to a specific part of the road before crossing. This is not always true but this behaviour is most recurrent than simply crossing. We investigate if our model is able to simulate this particular behaviour. African markets: We usually find in African cities, local African markets. We investigate the behaviour of pedestrians in this type of environment. A characteristic of African markets are performances on streets. We investigate whether our model is capable of simulating this behaviour. 32

40 CHAPTER 5. EVALUATION 33 Goal-based navigation: We investigate if our model is capable of simulating a crowd in which each individual agent s goals are created and satisfied. The purpose of this chapter is providing answers to the following questions: Are street flows emerging? Are pedestrians crossing roads in a fashion similar to real pedestrians? Can our system simulate African markets with street performances by simply changing state parameters? Does simulated pedestrian navigation reproduce that of real life pedestrians? How well does the system perform in terms of execution time? We conduct several experiments discussed below in order to provide suitable answers. 5.2 Street flows A characteristic of local virtual cities is narrow passages between buildings. We expect a crowd model representing behaviour in such a context to exhibit behaviour associated with these constraints, namely that flows form allowing for faster traversal of agents through a passage. We believe that the presence of flows can be quantitatively identified based on the following parameters: Passage width: If street flows are forming then narrow passages encourage the formation of streams of individuals in opposite directions which convey both crowds efficiently though the gap. Number of agents: If street flows are forming then the emergence property of flows requires that flows start forming only from a certain crowd density. Randomness: If street flows are forming and an agent stops, the speed of the agents behind it on the same flow decreases rapidly and thus the overall speed rate of the crowd drops quickly with an increasing number of stops. Below, we conduct experiment with these parameters and provide evidences that support the existence of flow formation.

41 CHAPTER 5. EVALUATION Passage width We examine the rate of two groups of agents passing through a narrow street in opposite directions. In the absence of flows, we expect plentiful collisions and the rate at which the groups pass through the alley should be proportional to the width of the passage i.e. the wider the passage, the faster the crowd passes through. Our expectation is that this will not be the case if flows form, specifically because flows provide for efficient traversal even through narrow passages. We conducted a simulation with two crowds, each containing 20 agents. Each crowd starts on opposite sides of the passage (where agents are spaced across the full width of the passage). The time taken for both crowds to cross the passage in their entirety is measured for passages of different widths. The rate t (the reciprocal of the time taken to traverse the passage) is plotted in Figure 5.1. We observe that the rate is zero or low for very narrow passages, which is expected as the passage is limited to only one person at a time. The rate increases rapidly as the passage opens up until it reaches a maximum at which point it decreases slowly with increasing passage width. We attribute this to the formation of flows: narrow passages encourage the formation of streams of individuals in opposite directions which convey both crowds efficiently though the gap. As the passage gets wider, individuals break away from the flow when gaps open up and eventually collide with flows in the opposite direction which reduces the overall rate slightly. This hypothesis is supported by visual observation of simulated agents (illustrated in Figure 5.2). The video of this animation is available in Appendix B Number of agents We conduct another simulation of two crowds, fixing the passage width to 3.0 units and increasing the number of agents for each simulation. The rate is plotted in Figure 5.3. We observe that the rate drops with the increase of the number of agents (as expected) but the rate does not drop as rapidly after the number of agents exceeded 3. We attribute this to the emergence of street flows which can only occur once a sufficient number of agents is present Randomness We introduce a random factor r in the motion of all the agents to further validate the existence of flows. At each time step every agent generates a random value and stops if that value is less than r. The rates observed are plotted in Figure 5.4, in which the rate drops rapidly as r increases. This rapid drop is explained by the fact that agents are behind another agent that is stopping, and

42 CHAPTER 5. EVALUATION 35 Figure 5.1: Influence of the width of a passage on the rate.

43 CHAPTER 5. EVALUATION 36 (a) (b) (c) (d) Figure 5.2: Street flows

44 CHAPTER 5. EVALUATION 37 Figure 5.3: Influence of crowd density on rate.

45 CHAPTER 5. EVALUATION 38 Figure 5.4: Random factor vs rate the penalty of the random factor is thus felt on more than a single agent. This means that agents are benefiting from each other i.e. they are not forming paths independently from one another, even though they are designed as autonomous agents. We conclude that our model is capable of producing appropriate street flow behaviour in the context of the narrow passages associated with virtual cities 5.3 Passageway crossing Navigating to a section of a road before crossing is a common phenomena of pedestrian navigation. We model this behaviour by adding specific nodes along the road in the roadmap of the pedestrian and giving edges at those nodes less weights. Hence the pedestrian usually finds it less expensive to move to designed positions on the sides of a road before crossing. Figure 5.5 illustrates a crowd of simulation of 20 agents in a city with two roads. We observe that 75% of the road crossings are done at specific positions along the road. These results provide supportive

46 CHAPTER 5. EVALUATION 39 (a) (b) (c) Figure 5.5: Passageway crossing evidence of passageway crossing simulation. 5.4 African markets An African market can be considered as a special case of a city where buildings are stalls. We provide evidence to support the hypothesis that our system can simulate African markets by simply changing internal state parameters. For this purpose, we conduct two experiments: Street performances: African markets often contain street performers or unusual events, the result of which is a large crowd surrounding the attraction in a circular fashion. We investigate whether our model is capable of simulating this behaviour. Pedestrian behaviours in African market: We investigate if our model is capable of simulating a crowd for an African market in which each agent s goals is created and satisfied. Below, we describe the experiments used to evaluate the above, present and interpret their results Street performances A feature of African markets is the attraction to public street performances or unusual events. By adding a curiosity parameter to the internal state of each agent, we allow agents to follow interesting events occurring in the environment and steer towards them. We create a specialist performer agent that exhibits a larger repulsive radius of influence. Agents are initially placed at random locations.

47 CHAPTER 5. EVALUATION 40 Static performer A crowd simulation of 100 agents attracted to a static agent named performer is illustrated by Figure 5.6. We observe that agents are forming a circular pattern around the performer agent, as is typical with such events in an virtual cities. Agents also tend to space themselves evenly in the area beyond the inner ring. Dynamic performer A crowd simulation of two groups of agents attracted to two agents, a static performer and a dynamic performer is illustrated by Figure 5.7. We observe that the circular structure of the crowd around the dynamic performer is disrupted as the later is moving. We further noticed that a larger percentage of the group is behind the performer as it is moving forward. An animated film illustrating crowd behaviours around street performances is provided in Appendix B. From these results we deduce that different collective behaviours can be achieved without changing the fundamental design of each agent but only by modifying the values in the pedestrian internal state Pedestrian behaviours in an African market We investigate the global behaviour module by simulating an African market in a virtual city. African markets are characterized by their high density crowds and the variety of desires associated with stalls. We simulate a marketplace containing 27 stalls and 200 agents and observe the behaviour of each agent. We classify an agent in a local African market as a buyer or a seller. Sellers can be static or mobile and we assume they specialize in satisfying only one type of desire. 90% of the simulated crowd consists of buyers. The resulting animation is illustrated in Figure 5.8. We observe that the majority of the agents eventually arrive at their goal location. In some instances there are too many agents to reach the stall-front, and groups form that surround the stall. This is a feature that we believe defines a marketplace. These results demonstrate that the goal formation and path-planning components produce behaviour in which agents are capable of having their own desires, and of having these desires satisfied. 5.5 Goal-based navigation In this section we attempt to provide an answer to the following question: Does simulated pedestrian navigation reproduce that of real life pedestrians?

48 CHAPTER 5. EVALUATION 41 (a) Start (b) End Figure 5.6: Simulation of a crowd attraction to a static performer.

49 CHAPTER 5. EVALUATION (a) 42 (b) (c) Figure 5.7: Simulation of a crowd attraction to a dynamic performer. (a) Start of simulation (b) End of simulation Figure 5.8: Crowd simulation in an African market

50 CHAPTER 5. EVALUATION 43 Figure 5.9: Simulation of a virtual city Pedestrians in virtual cities have different desires. We evaluate the path planner and global behaviour components of the crowd model by running two crowd simulations. First, we simulate a virtual city containing 16 buildings and 200 agents (each with individual desires), and observing whether desires are satisfied for each agent. We choose five types of desires ( hunger, thirst, shopping, school and work ) and five types of buildings (restaurant, pub, mall, school and office). Initial values of these desires are randomly chosen for each pedestrian. Snap-shots from the simulated output are presented in Figure 5.9. Our qualitative assessment is that pedestrian behaviour is realistically reproduced. However occasional agents suffers from limitations of Helbing s model such as vibrating agent movement [Pelechano et al., 2007] and agent entrapment in local minima [Sud et al., 2008]. One of the extensions of our research will be the resolution of these problems. The number of blocked agents is very few and therefore we conclude that the majority of crowd behaviour is realistic. A video for demonstrating realistic crowd behaviours is provided in Appendix B. 5.6 Performance We investigate the increase in execution time versus the increase of the crowd density. The following experiment is performed: A virtual environment of size 40x40 is created with eight buildings uniformly spaced. A crowd simulation of 300 frames is generated and the execution time of the generation is computed. The experiment is repeated several times by increasing the

51 CHAPTER 5. EVALUATION Simulation time (s) Agents (a) Performance f(x)=xlog(x) Figure 5.10: Performance evaluation number of agents by 10. The results of this experiment are illustrated in Figure The fitting curve f (x) = x log (x) allow us to conclude that our system scales well, unlike common crowd simulation systems with time complexity O(n 2 ) [Helbing et al., 2000, Reynolds, 1987]. 5.7 Summary Experiments and results are presented that provide supporting evidences for the following statements: Street flows emerges when the crowd density is above a certain threshold value. Movement rate of the crowd benefits from street flow formation.

52 CHAPTER 5. EVALUATION 45 About 75% of pedestrians road crossings are performed at the specified crossing areas of the road. This reflects real life passageway crossing. The proposed system can simulate African markets along with street performances without changing its model but only modifying the agents internal state parameters. Pedestrians are able to make decisions by choosing a goal and planning a path which will satisfy their goals. Therefore the objectives stated in Section 5.1 are attained. We summarize and concludes this document in the next chapter.

53 Chapter 6 Conclusion 6.1 Summary Crowd simulation is with no doubt an important parameter in virtual environments. We propose an agent-based model for simulating crowds in virtual cities and producing behaviours characteristic of real crowds. We draw our inspiration from techniques beyond crowd simulation and combine multiple techniques to produce a unique agent-based model. Three modules are used for agent modelling: an intention generator for the agent s global behaviour (specifying goals); a path planner for managing its local behaviour (calculating paths to goals) and a movement controller for basic motion (performing motion and avoiding obstacles). The system is implemented using Python and open-source graphics softwares and then applied to virtual pedestrians interacting within an urban environment. Several experiments are conducted to evaluate street flow formation, pedestrian passageway crossing, crowd simulations in an African market, crowd behaviours around street performances, agent goal-based navigation in a virtual city and a last experiment is made for measuring the performance of our framework. Ours results reflect the success of our research. 6.2 Conclusions Our model accomplishes the following results: Simulation of pedestrian crowds in every-day normal circumstances i.e simulated crowds exhibit behaviours characteristic of real-life pedestrian crowds. 46

54 CHAPTER 6. CONCLUSION 47 Procedural animation of crowds, reducing the effort of simulating large number of individuals. Simulation of emergence phenomena such as flow formation in narrow passages, aiding in efficient traversal. Development of a crowd simulation plug-in for open-source softwares (Graphics.py, Vpython and Blender). Enhancement of the visual richness of a Text-to-Scene with minimal effort, by simply importing a generated crowd simulation. Design of a unique model that supports multiple goals for multiple agents and hence contrast with existing battle and crowd panic simulations with one single goal for all the crowd members. A time complexity of O(n log n) instead of O(n 2 ). These results bring several contributions to crowd simulation specifically and virtual reality in general. 6.3 Future work Future work includes simulating further emergent features of pedestrian-related crowds, and evaluating the model in more complex environments. A big improvement on this system will be resolving issues such as vibrating agent movement and pedestrians getting stuck in local minima. Other dynamics objects such as cars can be added to enhance the urban content of the environment. More intricate behaviours can be included for adding more character to the crowd members. 6.4 Contributions This research contributes to the domain of crowd simulation by providing a new model for generating realistic motions for pedestrian crowds. We design an innovative three-tier strategy for producing normal crowd behaviour. Another contribution of our research are novel methods for quantitatively evaluating crowd emergent behaviour. The open-source community benefits from crowd simulation plug-ins designed for open-source graphics software. Our agent-based

55 CHAPTER 6. CONCLUSION 48 model can easily simulate other type of crowds, not necessarily pedestrians or others types of environments. Animators can introduce crowds in their scenes with minimal effort. The main contribution of our research is the improvement of visual richness of scenes which will be lifeless without crowds. Pedestrians not only move in a realistic fashion but they can also plan their path and decide what they will do next. Thus interesting collective behaviours can be obtained by changing individual agents state. Finally, the system is very scalable and loosely coupled to the graphics software used. This facilitates maintenance or future additions to the model.

56 Bibliography Alice [Accessed on 29 October 2008]. Ledah Casburn, M. Srinivasan, R. A. Metoyer, and M. J. Quinn. A data-driven model of pedestrian movement. PhD thesis, School of Electrical Engineering and Computer Science, Oregon State University, Corvallis, Oregon, USA, Howie Choset and J. Burdick. Sensor based motion planning: The hierarchical generalized Voronoi graph. In Proceedings of the Workshop on Algorithmic Foundations of Robotics. Toulouse, France, N. Courty and S. R. Musse. Simulation of large crowds in emergency situations including gaseous phenomena. In CGI 05: Proceedings of the Computer Graphics International 2005, pages , Washington, DC, USA, IEEE Computer Society. Crowd It [Accessed on 18 October 2008]. Crowd Maker [Accessed on 18 October 2008]. E. W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1: , J. Dijkstra, Harry J. P. Timmermans, and J. Jessurun. A multi-agent cellular automata system for visualising simulated pedestrian activity. In Proceedings of the Fourth International Conference on Cellular Automata for Research and Industry, pages 29 36, London, UK, Springer-Verlag. Steven Fortune. A sweepline algorithm for voronoi diagrams. In SCG 86: Proceedings of the second annual symposium on Computational geometry, pages , New York, NY, USA, ACM. 49

57 BIBLIOGRAPHY 50 Kevin Glass and Shaun Bangay. Automating the creation of 3D animation from annotated fiction text. In Proceedings of the IADIS International Conference on Computer Graphics and Visualization 2008, pages 3 10, July Best paper award. Dirk Helbing, Illes Farkas, and Tamas Vicsek. Simulating dynamical features of escape panic. Nature, 407: , Marcelo Kallmann and Maja Matarić. Motion planning using dynamic roadmaps. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages , New Orleans, Louisiana, April Lydia Kavraki and Jean-Claude Latombe. Randomized preprocessing of configuration for fast path planning. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 3, pages , San Diego, CA, USA, May IEEE Computer Society. Hubert Klüpfel and Tim Meyer-König. Simulation of the evacuation of a football stadium. In Traffic and Granular Flow 03, pages , Berlin, Germany, Springer. J. Kuffner and S. LaValle. Rrt-connect: An efficient approach to single-query path planning. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA 2000), San Francisco, CA, April Jean-Claude Latombe. Robot Motion Planning. Kluwer Academic Publishers, Norwell, MA, USA, Legion [Accessed on 21 October 2008]. Huibo Li, Wen Tang, and Derek Simpson. Behaviour based motion simulation for fire evacuation procedures. Theory and Practice of Computer Graphics, 0: , doi: ieeecomputersociety.org/ /tpcg Celine Loscos, David Marchal, and Alexandre Meyer. Intuitive crowd behaviour in dense urban environments using local laws. In TPCG 03: Proceedings of the Theory and Practice of Computer Graphics 2003, page 122, Washington, DC, USA, IEEE Computer Society. Massive Software Inc [Accessed on 13 October 2008]. Micro-Pedsim [Accessed on 21 October 2008].

58 BIBLIOGRAPHY 51 Soraia Raupp Musse and Daniel Thalmann. Hierarchical model for real time simulation of virtual human crowds. IEEE Transactions on Visualization and Computer Graphics, 7(2): , M. H. Overmars and E. Welzl. New methods for computing visibility graphs. In SCG 88: Proceedings of the fourth annual symposium on Computational geometry, pages , New York, NY, USA, ACM Press. Mark H. Overmars. A random approach to motion planning. Technical report, Department of Computer Science, Utrecht University, Utrecht, The Netherlands, October Mark H. Overmars and Petr vsvestka. A probabilistic learning approach to motion planning. In WAFR: Proceedings of the workshop on Algorithmic foundations of robotics, pages 19 37, Natick, MA, USA, A. K. Peters, Ltd. N. Pelechano, J. M. Allbeck, and N. I. Badler. Controlling individual agents in high-density crowd simulation. In SCA 07: Proceedings of the 2007 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages , Aire-la-Ville, Switzerland, August Eurographics Association. Nuria Pelechano and Norman I. Badler. Modeling crowd and trained leader behavior during building evacuation. IEEE Computer Graphics and Applications, 26(6):80 86, Nuria Pelechano, Kevin O Brienn, Barry Silverman, and Norman Badler. Crowd simulation incorporating agent psychological models, roles and communication. In Proceedings of the 1st International Workshop on Crowd Simulation, pages 21 30, Craig Reynolds. Steering behaviors for autonomous characters. In Proceedings of the Game Developers Conference 1999, pages , San Jose, USA, Miller Freeman Game Group. Craig W. Reynolds. Flocks, herds and schools: A distributed behavioral model. SIGGRAPH Computer Graphics, 21(4):25 34, Wei Shao and Demetri Terzopoulos. Autonomous pedestrians. In Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 19 28, New York, NY, USA, July ACM Press.

59 BIBLIOGRAPHY 52 Ameya Shendarkar, Karthik Vasudevan, Seungho Lee, and Young-Jun Son. Crowd simulation for emergency response using bdi agent based on virtual reality. In WSC 06: Proceedings of the 38th conference on Winter simulation, pages Winter Simulation Conference, Ameya Shendarkar, Karthik Vasudevan, Seungho Lee, and Young-Jun Son. Crowd simulation for emergency response using bdi agents based on immersive virtual reality. Simulation Modelling Practice and Theory, 16(9): , June SpirOps Crowd [Accessed on 29 October 2008]. Avneesh Sud, Erik Andersen, Sean Curtis, Ming Lin, and Dinesh Manocha. Real-time path planning for virtual agents in dynamic environments. In VR 07: Proceedings of the 2007 Virtual Reality Conference, pages 91 98, Charlotte, USA, IEEE Computer Society Press. Avneesh Sud, Erik Andersen, Sean Curtis, Ming C. Lin, and Dinesh Manocha. Real-time path planning in dynamic virtual environments using multiagent navigation graphs. IEEE Transactions on Visualization and Computer Graphics, 14(3): , Mankyu Sung, Michael Gleicher, and Stephen Chenney. Scalable behaviors for crowd simulation. Computer Graphics Forum, 23(3): , M. Teschner, B. Heidelberger, M. Mueller, D. Pomeranets, and M. Gross. Optimized spatial hashing for collision detection of deformable objects. In VMV 03: Proceedings of Vision, Modeling, Visualization, pages 47 54, Munich, Germany, November Adrien Treuille, Seth Cooper, and Zoran popović. Continuum crowds. ACM Trans. Graph., 25 (3): , Xiaoyuan Tu and Demetri Terzopoulos. Artificial fishes: physics, locomotion, perception, behavior. In SIGGRAPH 94: Proceedings of the 21st annual conference on Computer graphics and interactive techniques, pages 43 50, New York, NY, USA, ACM Press. Zeeshan-ul-hassan Usmani, Andrew English, and Richard Griffith. Modeling the effects of a suicide bombing: Crowd formations. In Proceedings of the Interservice/Industry Training, Simulation, and Education Conference (I/ITSEC) 2007, page 7399, Orlando, FL,USA, published on CD-ROM. John M. Zelle. Python Programming: An Introduction to Computer Science. Franklin Beedle, Wilsonville, OR, USA, 2003.

60 Appendix A Crowd simulation plug-in for Blender In this section, information is provided on how to install and use the crowd simulation plug-in in Blender 2.45 or later. The plug-in was developed for Windows and Linux environments. Installation The following softwares are required before installing the plug-in: Blender 2.45 or later freely available from Python 2.5 or later freely available from Once the system requirements above are met, download the plug-in by following the link www. cs.ru.ac.za/research/g08p6176/pedcrowd.zip. Unzip it (if necessary) in a folder anywhere on your hard drive. Modify the dirpath in the script Universe.py to the folder path. Open Blender and follow the instructions below: Go to User Preferences and select File paths. Change the script path to the the path of the folder containing all the plug-in scripts. Restart Blender Go to File <- Import and you will find Crowd simulation: the installation is successful. 53

61 APPENDIX A. CROWD SIMULATION PLUG-IN FOR BLENDER 54 Figure A.1: Crowd simulation GUI Usage of the crowd simulation plug-in Once the plug-in is installed you can find it at File <- Import <- Crowd simulation. Parameters such as the size of the city and the range of behaviours can be modified in Universe.py. To create a crowd simulation, just click on Crowd simulation and a graphical interface will appear (illustrated in Figure A.1). You can modify the number of agents, the number of buildings and the number of frames. You can also create your own city before running the plug-in. Objects representing buildings should have the term Building in their name and a road object name should contain Road. Press OK and wait. You can observe the progression of the crowd generation at the top right corner of Blender.The crowd simulation is generated and drawn in the 3D view. You can add textures to the city by clicking on File <- Import <- City texturing.

Crowd simulation. Taku Komura

Crowd simulation. Taku Komura Crowd simulation Taku Komura Animating Crowds We have been going through methods to simulate individual characters What if we want to simulate the movement of crowds? Pedestrians in the streets Flock of

More information

Adding Virtual Characters to the Virtual Worlds. Yiorgos Chrysanthou Department of Computer Science University of Cyprus

Adding Virtual Characters to the Virtual Worlds. Yiorgos Chrysanthou Department of Computer Science University of Cyprus Adding Virtual Characters to the Virtual Worlds Yiorgos Chrysanthou Department of Computer Science University of Cyprus Cities need people However realistic the model is, without people it does not have

More information

Collision Avoidance with Unity3d

Collision Avoidance with Unity3d Collision Avoidance with Unity3d Jassiem Ifill September 12, 2013 Abstract The primary goal of the research presented in this paper is to achieve natural crowd simulation and collision avoidance within

More information

Simulation of Agent Movement with a Path Finding Feature Based on Modification of Physical Force Approach

Simulation of Agent Movement with a Path Finding Feature Based on Modification of Physical Force Approach Simulation of Agent Movement with a Path Finding Feature Based on Modification of Physical Force Approach NURULAQILLA KHAMIS Malaysia-Japan International Institute of Technology, Universiti Teknologi Malaysia,

More information

Traffic/Flocking/Crowd AI. Gregory Miranda

Traffic/Flocking/Crowd AI. Gregory Miranda Traffic/Flocking/Crowd AI Gregory Miranda Introduction What is Flocking? Coordinated animal motion such as bird flocks and fish schools Initially described by Craig Reynolds Created boids in 1986, generic

More information

Real-time Path Planning and Navigation for Multi-Agent and Heterogeneous Crowd Simulation

Real-time Path Planning and Navigation for Multi-Agent and Heterogeneous Crowd Simulation Real-time Path Planning and Navigation for Multi-Agent and Heterogeneous Crowd Simulation Ming C. Lin Department of Computer Science University of North Carolina at Chapel Hill lin@cs.unc.edu Joint work

More information

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization M. Shahab Alam, M. Usman Rafique, and M. Umer Khan Abstract Motion planning is a key element of robotics since it empowers

More information

CS 231. Crowd Simulation. Outline. Introduction to Crowd Simulation. Flocking Social Forces 2D Cellular Automaton Continuum Crowds

CS 231. Crowd Simulation. Outline. Introduction to Crowd Simulation. Flocking Social Forces 2D Cellular Automaton Continuum Crowds CS 231 Crowd Simulation Outline Introduction to Crowd Simulation Fields of Study & Applications Visualization vs. Realism Microscopic vs. Macroscopic Flocking Social Forces 2D Cellular Automaton Continuum

More information

Probabilistic Methods for Kinodynamic Path Planning

Probabilistic Methods for Kinodynamic Path Planning 16.412/6.834J Cognitive Robotics February 7 th, 2005 Probabilistic Methods for Kinodynamic Path Planning Based on Past Student Lectures by: Paul Elliott, Aisha Walcott, Nathan Ickes and Stanislav Funiak

More information

Robot Motion Planning

Robot Motion Planning Robot Motion Planning slides by Jan Faigl Department of Computer Science and Engineering Faculty of Electrical Engineering, Czech Technical University in Prague lecture A4M36PAH - Planning and Games Dpt.

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset Questions Where are we? Where do we go? Which is more important? Encoders Encoders Incremental Photodetector Encoder disk LED Photoemitter Encoders - Incremental Encoders -

More information

CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations

CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations Shannon Blyth and Howard J. Hamilton Department of Computer Science University of Regina, Regina, SK, Canada S4S 0A2 {blyth1sh, hamilton}@cs.uregina.ca

More information

Agent Based Intersection Traffic Simulation

Agent Based Intersection Traffic Simulation Agent Based Intersection Traffic Simulation David Wilkie May 7, 2009 Abstract This project focuses on simulating the traffic at an intersection using agent-based planning and behavioral methods. The motivation

More information

Advanced Robotics Path Planning & Navigation

Advanced Robotics Path Planning & Navigation Advanced Robotics Path Planning & Navigation 1 Agenda Motivation Basic Definitions Configuration Space Global Planning Local Planning Obstacle Avoidance ROS Navigation Stack 2 Literature Choset, Lynch,

More information

CS 378: Computer Game Technology

CS 378: Computer Game Technology CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Dynamic Path Planning! What happens when the environment changes

More information

Robot Motion Planning

Robot Motion Planning Robot Motion Planning James Bruce Computer Science Department Carnegie Mellon University April 7, 2004 Agent Planning An agent is a situated entity which can choose and execute actions within in an environment.

More information

Robot-Assisted Crowd Evacuation under Emergency Situations: A Survey

Robot-Assisted Crowd Evacuation under Emergency Situations: A Survey robotics Article Robot-Assisted Crowd Evacuation under Emergency Situations: A Survey Ibraheem Sakour * and Huosheng Hu School of Computer and Electronic Engineering, University of Essex, Colchester CO4

More information

Behavioral Animation in Crowd Simulation. Ying Wei

Behavioral Animation in Crowd Simulation. Ying Wei Behavioral Animation in Crowd Simulation Ying Wei Goal Realistic movement: Emergence of crowd behaviors consistent with real-observed crowds Collision avoidance and response Perception, navigation, learning,

More information

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment Planning and Navigation Where am I going? How do I get there?? Localization "Position" Global Map Cognition Environment Model Local Map Perception Real World Environment Path Motion Control Competencies

More information

11 Behavioural Animation. Chapter 11. Behavioural Animation. Department of Computer Science and Engineering 11-1

11 Behavioural Animation. Chapter 11. Behavioural Animation. Department of Computer Science and Engineering 11-1 Chapter 11 Behavioural Animation 11-1 Behavioral Animation Knowing the environment Aggregate behavior Primitive behavior Intelligent behavior Crowd management 11-2 Behavioral Animation 11-3 Knowing the

More information

Sketch-based Interface for Crowd Animation

Sketch-based Interface for Crowd Animation Sketch-based Interface for Crowd Animation Masaki Oshita 1, Yusuke Ogiwara 1 1 Kyushu Institute of Technology 680-4 Kawazu, Iizuka, Fukuoka, 820-8502, Japan oshita@ces.kyutech.ac.p ogiwara@cg.ces.kyutech.ac.p

More information

Planning: Part 1 Classical Planning

Planning: Part 1 Classical Planning Planning: Part 1 Classical Planning Computer Science 6912 Department of Computer Science Memorial University of Newfoundland July 12, 2016 COMP 6912 (MUN) Planning July 12, 2016 1 / 9 Planning Localization

More information

Generating sparse navigation graphs for microscopic pedestrian simulation models

Generating sparse navigation graphs for microscopic pedestrian simulation models Generating sparse navigation graphs for microscopic pedestrian simulation models Angelika Kneidl 1, André Borrmann 1, Dirk Hartmann 2 1 Computational Modeling and Simulation Group, TU München, Germany

More information

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano   tel: Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

More information

Computer Game Programming Basic Path Finding

Computer Game Programming Basic Path Finding 15-466 Computer Game Programming Basic Path Finding Robotics Institute Path Planning Sven Path Planning needs to be very fast (especially for games with many characters) needs to generate believable paths

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Path Planning for Point Robots Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/mpa Class Objectives Motion planning framework Classic motion planning approaches 2 3 Configuration Space:

More information

PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS. Wentong CAI

PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS. Wentong CAI PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS Wentong CAI Parallel & Distributed Computing Centre School of Computer Engineering Nanyang Technological University Singapore

More information

Unit 5: Part 1 Planning

Unit 5: Part 1 Planning Unit 5: Part 1 Planning Computer Science 4766/6778 Department of Computer Science Memorial University of Newfoundland March 25, 2014 COMP 4766/6778 (MUN) Planning March 25, 2014 1 / 9 Planning Localization

More information

AUTONOMOUS TAWAF CROWD SIMULATION. Ahmad Zakwan Azizul Fata, Mohd Shafry Mohd Rahim, Sarudin Kari

AUTONOMOUS TAWAF CROWD SIMULATION. Ahmad Zakwan Azizul Fata, Mohd Shafry Mohd Rahim, Sarudin Kari BORNEO SCIENCE 36 (2): SEPTEMBER 2015 AUTONOMOUS TAWAF CROWD SIMULATION Ahmad Zakwan Azizul Fata, Mohd Shafry Mohd Rahim, Sarudin Kari MaGIC-X (Media and Games Innonovation Centre of Excellence UTM-IRDA

More information

AN AGENT-BASED APPROACH TO THE SIMULATION OF PEDESTRIAN MOVEMENT AND FACTORS THAT CONTROL IT

AN AGENT-BASED APPROACH TO THE SIMULATION OF PEDESTRIAN MOVEMENT AND FACTORS THAT CONTROL IT AN AGENT-BASED APPROACH TO THE SIMULATION OF PEDESTRIAN MOVEMENT AND FACTORS THAT CONTROL IT 1. Why another model? Planned as part of a modular model able to simulate rent rate / land value / land use

More information

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba 11/21/10

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba   11/21/10 Path Planning Jacky Baltes Autonomous Agents Lab Department of Computer Science University of Manitoba Email: jacky@cs.umanitoba.ca http://www.cs.umanitoba.ca/~jacky Path Planning Jacky Baltes Dept. of

More information

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition Autonomous and Mobile Robotics Prof. Giuseppe Oriolo Motion Planning 1 Retraction and Cell Decomposition motivation robots are expected to perform tasks in workspaces populated by obstacles autonomy requires

More information

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning 6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning Lecture Notes Prepared by Daniela Rus EECS/MIT Spring 2012 Figures by Nancy Amato, Rodney Brooks, Vijay Kumar Reading:

More information

Chapter 3 Implementing Simulations as Individual-Based Models

Chapter 3 Implementing Simulations as Individual-Based Models 24 Chapter 3 Implementing Simulations as Individual-Based Models In order to develop models of such individual behavior and social interaction to understand the complex of an urban environment, we need

More information

Efficient Crowd Simulation for Mobile Games

Efficient Crowd Simulation for Mobile Games 24 Efficient Crowd Simulation for Mobile Games Graham Pentheny 24.1 Introduction 24.2 Grid 24.3 Flow Field 24.4 Generating the Flow Field 24.5 Units 24.6 Adjusting Unit Movement Values 24.7 Mobile Limitations

More information

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

Variable-resolution Velocity Roadmap Generation Considering Safety Constraints for Mobile Robots

Variable-resolution Velocity Roadmap Generation Considering Safety Constraints for Mobile Robots Variable-resolution Velocity Roadmap Generation Considering Safety Constraints for Mobile Robots Jingyu Xiang, Yuichi Tazaki, Tatsuya Suzuki and B. Levedahl Abstract This research develops a new roadmap

More information

Particle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools

Particle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools Particle Systems Controlling Groups of Objects: Particle Systems Flocks and Schools A complex, fuzzy system represented by a large collection of individual elements. Each element has simple behavior and

More information

Master s Thesis. Animal Stampede Simulation

Master s Thesis. Animal Stampede Simulation Master s Thesis Animal Stampede Simulation Akila Lakshminarayanan Brian Tran MSc Computer Animation and Visual Effects, NCCA 2011-2012 Abstract Large crowd scenes with humans and animals are abundant in

More information

Strategies for simulating pedestrian navigation with multiple reinforcement learning agents

Strategies for simulating pedestrian navigation with multiple reinforcement learning agents Strategies for simulating pedestrian navigation with multiple reinforcement learning agents Francisco Martinez-Gil, Miguel Lozano, Fernando Ferna ndez Presented by: Daniel Geschwender 9/29/2016 1 Overview

More information

Sampling-based Planning 2

Sampling-based Planning 2 RBE MOTION PLANNING Sampling-based Planning 2 Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Problem with KD-tree RBE MOTION PLANNING Curse of dimension

More information

Under the Guidance of

Under the Guidance of Presented by Linga Venkatesh (10305085) Deepak Jayanth (10305913) Under the Guidance of Prof. Parag Chaudhuri Flocking/Swarming/Schooling Nature Phenomenon Collective Behaviour by animals of same size

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset What is Motion Planning? What is Motion Planning? Determining where to go Overview The Basics Motion Planning Statement The World and Robot Configuration Space Metrics Algorithms

More information

Expanding Spheres: A Collision Detection Algorithm for Interest Management in Networked Games

Expanding Spheres: A Collision Detection Algorithm for Interest Management in Networked Games Expanding Spheres: A Collision Detection Algorithm for Interest Management in Networked Games Graham Morgan, Kier Storey, Fengyun Lu School of Computing Science Newcastle University, Newcastle upon Tyne,

More information

CS 4649/7649 Robot Intelligence: Planning

CS 4649/7649 Robot Intelligence: Planning CS 4649/7649 Robot Intelligence: Planning Probabilistic Roadmaps Sungmoon Joo School of Interactive Computing College of Computing Georgia Institute of Technology S. Joo (sungmoon.joo@cc.gatech.edu) 1

More information

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017 Geometric Path Planning McGill COMP 765 Oct 12 th, 2017 The Motion Planning Problem Intuition: Find a safe path/trajectory from start to goal More precisely: A path is a series of robot configurations

More information

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization Lana Dalawr Jalal Abstract This paper addresses the problem of offline path planning for

More information

A Memory Model for Autonomous Virtual Humans

A Memory Model for Autonomous Virtual Humans A Memory Model for Autonomous Virtual Humans Christopher Peters Carol O Sullivan Image Synthesis Group, Trinity College, Dublin 2, Republic of Ireland email: {christopher.peters, carol.osullivan}@cs.tcd.ie

More information

High-density Crowds. A masters student s journey to graphics and multi agent systems

High-density Crowds. A masters student s journey to graphics and multi agent systems High-density Crowds A masters student s journey to graphics and multi agent systems Who am I and why am I here? Jack Shabo, student of CDATE, year 2012 Doing a degree project in Crowd Simulations with

More information

Mobile Robot Path Planning in Static Environment

Mobile Robot Path Planning in Static Environment Mobile Robot Path Planning in Static Environment A Thesis Submitted in Partial Fulfilment of the Requirements for the Degree of Bachelor of Technology in Computer Science & Engineering Submitted by: Raman

More information

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning 6.141: Robotics systems and science Lecture 10: Implementing Motion Planning Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2011 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Final Exam Practice Fall Semester, 2012

Final Exam Practice Fall Semester, 2012 COS 495 - Autonomous Robot Navigation Final Exam Practice Fall Semester, 2012 Duration: Total Marks: 70 Closed Book 2 hours Start Time: End Time: By signing this exam, I agree to the honor code Name: Signature:

More information

MODELLING AND SIMULATION OF REALISTIC PEDESTRIAN BEHAVIOURS

MODELLING AND SIMULATION OF REALISTIC PEDESTRIAN BEHAVIOURS MODELLING AND SIMULATION OF REALISTIC PEDESTRIAN BEHAVIOURS KOH WEE LIT School Of Computer Engineering A thesis submitted to the Nanyang Technological University in fulfillment of the requirement for the

More information

ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL

ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY BHARAT SIGINAM IN

More information

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go)

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Class N-2 1. What are some benefits of path networks? 2. Cons of path networks?

More information

Simulating Group Formations Using RVO

Simulating Group Formations Using RVO Simulating Group Formations Using RVO Martin Funkquist martinfu@kth.se Supervisor: Christopher Peters Staffan Sandberg stsand@kth.se May 25, 2016 Figure 1: From left to right. First figure displays a real

More information

Crowd simulation. Summerschool Utrecht: Multidisciplinary Game Research. Dr. Roland Geraerts 23 August 2017

Crowd simulation. Summerschool Utrecht: Multidisciplinary Game Research. Dr. Roland Geraerts 23 August 2017 Crowd simulation Summerschool Utrecht: Multidisciplinary Game Research Dr. Roland Geraerts 23 August 2017 1 Societal relevance of crowd simulation The number of environments with big crowds are growing

More information

Crowd simulation influenced by agent s sociopsychological

Crowd simulation influenced by agent s sociopsychological HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ Crowd simulation influenced by agent s sociopsychological state F. Cherif, and R. Chighoub 48 Abstract The aim our work is to create virtual humans as

More information

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College Approximate path planning Computational Geometry csci3250 Laura Toma Bowdoin College Outline Path planning Combinatorial Approximate Combinatorial path planning Idea: Compute free C-space combinatorially

More information

The Corridor Map Method: Real-Time High-Quality Path Planning

The Corridor Map Method: Real-Time High-Quality Path Planning 27 IEEE International Conference on Robotics and Automation Roma, Italy, 1-14 April 27 WeC11.3 The Corridor Map Method: Real-Time High-Quality Path Planning Roland Geraerts and Mark H. Overmars Abstract

More information

Real-time Crowd Movement On Large Scale Terrains

Real-time Crowd Movement On Large Scale Terrains Real-time Crowd Movement On Large Scale Terrains Wen Tang, Tao Ruan Wan* and Sanket Patel School of Computing and Mathematics, University of Teesside, Middlesbrough, United Kingdom E-mail: w.tang@tees.ac.uk

More information

CHAPTER SIX. the RRM creates small covering roadmaps for all tested environments.

CHAPTER SIX. the RRM creates small covering roadmaps for all tested environments. CHAPTER SIX CREATING SMALL ROADMAPS Many algorithms have been proposed that create a roadmap from which a path for a moving object can be extracted. These algorithms generally do not give guarantees on

More information

Visibility Graph. How does a Mobile Robot get from A to B?

Visibility Graph. How does a Mobile Robot get from A to B? Robot Path Planning Things to Consider: Spatial reasoning/understanding: robots can have many dimensions in space, obstacles can be complicated Global Planning: Do we know the environment apriori? Online

More information

Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1

Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1 Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1 HAI THANH MAI AND MYOUNG HO KIM Department of Computer Science Korea Advanced Institute of Science

More information

NUMB3RS Activity: Follow the Flock. Episode: In Plain Sight

NUMB3RS Activity: Follow the Flock. Episode: In Plain Sight Teacher Page 1 NUMB3RS Activity: Follow the Flock Topic: Introduction to Flock Behavior Grade Level: 8-12 Objective: Use a mathematical model to simulate an aspect of birds flying in a flock Time: 30 minutes

More information

Advanced path planning. ROS RoboCup Rescue Summer School 2012

Advanced path planning. ROS RoboCup Rescue Summer School 2012 Advanced path planning ROS RoboCup Rescue Summer School 2012 Simon Lacroix Toulouse, France Where do I come from? Robotics at LAAS/CNRS, Toulouse, France Research topics Perception, planning and decision-making,

More information

MODELING REALISTIC HIGH DENSITY AUTONOMOUS AGENT CROWD MOVEMENT: SOCIAL FORCES, COMMUNICATION, ROLES AND PSYCHOLOGICAL INFLUENCES A DISSERTATION

MODELING REALISTIC HIGH DENSITY AUTONOMOUS AGENT CROWD MOVEMENT: SOCIAL FORCES, COMMUNICATION, ROLES AND PSYCHOLOGICAL INFLUENCES A DISSERTATION MODELING REALISTIC HIGH DENSITY AUTONOMOUS AGENT CROWD MOVEMENT: SOCIAL FORCES, COMMUNICATION, ROLES AND PSYCHOLOGICAL INFLUENCES NURIA PELECHANO GOMEZ A DISSERTATION in Computer and Information Science

More information

Simulation: Particle Systems

Simulation: Particle Systems Simulation: Particle Systems Course web page: http://goo.gl/eb3aa February 28, 2012 Lecture 5 Particle Systems Definition: Simulation of a set of similar, moving agents in a larger environment Scale usually

More information

6.141: Robotics systems and science Lecture 10: Motion Planning III

6.141: Robotics systems and science Lecture 10: Motion Planning III 6.141: Robotics systems and science Lecture 10: Motion Planning III Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2012 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Clearance for diversity of agents sizes in Navigation Meshes

Clearance for diversity of agents sizes in Navigation Meshes Clearance for diversity of agents sizes in Navigation Meshes Ramon Oliva a,b, Nuria Pelechano a a Virvig, Universitat Politècnica de Catalunya b EventLab, Universitat de Barcelona Abstract There are two

More information

Collaborators. Multiple Agents & Crowd Simulation: training sytems 5/15/2010. Interactive Multi-Robot Planning and Multi-Agent Simulation

Collaborators. Multiple Agents & Crowd Simulation: training sytems 5/15/2010. Interactive Multi-Robot Planning and Multi-Agent Simulation Interactive Multi-Robot Planning and Multi-Agent Simulation Dinesh Manocha UNC Chapel Hill dm@cs.unc.edu http://gamma.cs.unc.edu Collaborators Ming C. Lin Jur van der Berg Sean Curtis Russell Gayle Stephen

More information

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 4: Path Planning Teacher: Gianni A. Di Caro APPLICATION: MOTION PLANNING Path planning: computing a continuous sequence ( a path ) of configurations (states) between an initial configuration

More information

Motion Planning with Dynamics, Physics based Simulations, and Linear Temporal Objectives. Erion Plaku

Motion Planning with Dynamics, Physics based Simulations, and Linear Temporal Objectives. Erion Plaku Motion Planning with Dynamics, Physics based Simulations, and Linear Temporal Objectives Erion Plaku Laboratory for Computational Sensing and Robotics Johns Hopkins University Frontiers of Planning The

More information

Simulation of Optimized Evacuation Processes in Complex Buildings Using Cellular Automata Model

Simulation of Optimized Evacuation Processes in Complex Buildings Using Cellular Automata Model 1428 JOURNAL OF SOFTWARE, VOL. 9, NO. 6, JUNE 2014 Simulation of Optimized Evacuation Processes in Complex Buildings Using Cellular Automata Model Rong Xie International School of Software, Wuhan University,

More information

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot Koren Ward School of Information Technology and Computer Science University of Wollongong koren@uow.edu.au www.uow.edu.au/~koren Abstract

More information

Real-time Simulation and Rendering of Large-scale Crowd Motion

Real-time Simulation and Rendering of Large-scale Crowd Motion Real-time Simulation and Rendering of Large-scale Crowd Motion A thesis submitted in partial fulfilment of the requirements for the Degree of Master of Science in Department of Computer Science by Bo Li

More information

Implementing a Hybrid Space Discretisation Within An Agent Based Evacuation Model

Implementing a Hybrid Space Discretisation Within An Agent Based Evacuation Model Paper presented at PED 2010, NIST, Maryland USA, March 8-10 2010 Implementing a Hybrid Space Discretisation Within An Agent Based Evacuation Model N. Chooramun, P.J. Lawrence and E.R.Galea Fire Safety

More information

GPU-based Distributed Behavior Models with CUDA

GPU-based Distributed Behavior Models with CUDA GPU-based Distributed Behavior Models with CUDA Courtesy: YouTube, ISIS Lab, Universita degli Studi di Salerno Bradly Alicea Introduction Flocking: Reynolds boids algorithm. * models simple local behaviors

More information

Real-Time Rendering of a Scene With Many Pedestrians

Real-Time Rendering of a Scene With Many Pedestrians 2015 http://excel.fit.vutbr.cz Real-Time Rendering of a Scene With Many Pedestrians Va clav Pfudl Abstract The aim of this text was to describe implementation of software that would be able to simulate

More information

Motion Planning, Part III Graph Search, Part I. Howie Choset

Motion Planning, Part III Graph Search, Part I. Howie Choset Motion Planning, Part III Graph Search, Part I Howie Choset Happy President s Day The Configuration Space What it is A set of reachable areas constructed from knowledge of both the robot and the world

More information

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Sören Schwertfeger / 师泽仁 ShanghaiTech University ShanghaiTech University - SIST - 10.05.2017

More information

Toward realistic and efficient virtual crowds. Julien Pettré - June 25, 2015 Habilitation à Diriger des Recherches

Toward realistic and efficient virtual crowds. Julien Pettré - June 25, 2015 Habilitation à Diriger des Recherches Toward realistic and efficient virtual crowds Julien Pettré - June 25, 2015 Habilitation à Diriger des Recherches A short Curriculum 2 2003 PhD degree from the University of Toulouse III Locomotion planning

More information

Exploiting collision information in probabilistic roadmap planning

Exploiting collision information in probabilistic roadmap planning Exploiting collision information in probabilistic roadmap planning Serene W. H. Wong and Michael Jenkin Department of Computer Science and Engineering York University, 4700 Keele Street Toronto, Ontario,

More information

Multi-Agent Simulation of Circular Pedestrian Movements Using Cellular Automata

Multi-Agent Simulation of Circular Pedestrian Movements Using Cellular Automata Second Asia International Conference on Modelling & Simulation Multi-Agent Simulation of Circular Pedestrian Movements Using Cellular Automata Siamak Sarmady, Fazilah Haron and Abdullah Zawawi Hj. Talib

More information

Visual Navigation for Flying Robots. Motion Planning

Visual Navigation for Flying Robots. Motion Planning Computer Vision Group Prof. Daniel Cremers Visual Navigation for Flying Robots Motion Planning Dr. Jürgen Sturm Motivation: Flying Through Forests 3 1 2 Visual Navigation for Flying Robots 2 Motion Planning

More information

SPATIAL GUIDANCE TO RRT PLANNER USING CELL-DECOMPOSITION ALGORITHM

SPATIAL GUIDANCE TO RRT PLANNER USING CELL-DECOMPOSITION ALGORITHM SPATIAL GUIDANCE TO RRT PLANNER USING CELL-DECOMPOSITION ALGORITHM Ahmad Abbadi, Radomil Matousek, Pavel Osmera, Lukas Knispel Brno University of Technology Institute of Automation and Computer Science

More information

Hierarchical Impostors for the Flocking Algorithm in 3D

Hierarchical Impostors for the Flocking Algorithm in 3D Volume 21 (2002), number 4 pp. 723 731 COMPUTER GRAPHICS forum Hierarchical Impostors for the Flocking Algorithm in 3D Noel O Hara Fruition Technologies Ltd, Dublin, Ireland Abstract The availability of

More information

Beyond A*: Speeding up pathfinding through hierarchical abstraction. Daniel Harabor NICTA & The Australian National University

Beyond A*: Speeding up pathfinding through hierarchical abstraction. Daniel Harabor NICTA & The Australian National University Beyond A*: Speeding up pathfinding through hierarchical abstraction Daniel Harabor NICTA & The Australian National University Motivation Myth: Pathfinding is a solved problem. Motivation Myth: Pathfinding

More information

Interactive Design and Visualization of Urban Spaces using Geometrical and Behavioral Modeling

Interactive Design and Visualization of Urban Spaces using Geometrical and Behavioral Modeling Interactive Design and Visualization of Urban Spaces using Geometrical and Behavioral Modeling Carlos Vanegas 1,4,5 Daniel Aliaga 1 Bedřich Beneš 2 Paul Waddell 3 1 Computer Science, Purdue University,

More information

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING THE PATH PLANNING PROBLEM The robot should find out a path enables the continuous motion of a robot from an initial configuration

More information

EE631 Cooperating Autonomous Mobile Robots

EE631 Cooperating Autonomous Mobile Robots EE631 Cooperating Autonomous Mobile Robots Lecture 3: Path Planning Algorithm Prof. Yi Guo ECE Dept. Plan Representing the Space Path Planning Methods A* Search Algorithm D* Search Algorithm Representing

More information

CS 354 R Game Technology

CS 354 R Game Technology CS 354 R Game Technology Particles and Flocking Behavior Fall 2017 Particle Effects 2 General Particle Systems Objects are considered point masses with orientation Simple rules control how the particles

More information

Path Planning for Point Robots. NUS CS 5247 David Hsu

Path Planning for Point Robots. NUS CS 5247 David Hsu Path Planning for Point Robots NUS CS 5247 David Hsu Problem Input Robot represented as a point in the plane Obstacles represented as polygons Initial and goal positions Output A collision-free path between

More information

Cloth Simulation. Tanja Munz. Master of Science Computer Animation and Visual Effects. CGI Techniques Report

Cloth Simulation. Tanja Munz. Master of Science Computer Animation and Visual Effects. CGI Techniques Report Cloth Simulation CGI Techniques Report Tanja Munz Master of Science Computer Animation and Visual Effects 21st November, 2014 Abstract Cloth simulation is a wide and popular area of research. First papers

More information

CS Path Planning

CS Path Planning Why Path Planning? CS 603 - Path Planning Roderic A. Grupen 4/13/15 Robotics 1 4/13/15 Robotics 2 Why Motion Planning? Origins of Motion Planning Virtual Prototyping! Character Animation! Structural Molecular

More information

From geometry to spatial reasoning : automatic structuring of 3D virtual environments

From geometry to spatial reasoning : automatic structuring of 3D virtual environments From geometry to spatial reasoning : automatic structuring of 3D virtual environments Carl-Johan Jorgensen, Fabrice Lamarche Université de Rennes 1 IRISA, UMR CNRS 6074 Université Européenne de Bretagne

More information

University of Nevada, Reno. Dynamic Path Planning and Replanning for Mobile Robot Team Using RRT*

University of Nevada, Reno. Dynamic Path Planning and Replanning for Mobile Robot Team Using RRT* University of Nevada, Reno Dynamic Path Planning and Replanning for Mobile Robot Team Using RRT* A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer

More information

Simulating Flocking Behaviors in Complex Enviroments

Simulating Flocking Behaviors in Complex Enviroments Simulating Flocking Behaviors in Complex Enviroments O. Burchan Bayazit Jyh-Ming Lien Nancy M. Amato Department of Computer Science Texas A&M University {burchanb,neilien,amato}@cs.tamu.edu Abstract Flocking

More information

Configuration Space of a Robot

Configuration Space of a Robot Robot Path Planning Overview: 1. Visibility Graphs 2. Voronoi Graphs 3. Potential Fields 4. Sampling-Based Planners PRM: Probabilistic Roadmap Methods RRTs: Rapidly-exploring Random Trees Configuration

More information

Introduction to Robotics

Introduction to Robotics Jianwei Zhang zhang@informatik.uni-hamburg.de Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Technische Aspekte Multimodaler Systeme 05. July 2013 J. Zhang 1 Task-level

More information