Graph-based approaches for simulating pedestrian dynamics in building models

This paper presents different path-finding algorithms for simulating pedestrian dynamics in building models. Starting from a given model (scenario), we show how to automatically derive a visibility graph. This graph is used as the underlying structure for routing pedestrians from their sources to their destinations. Based on this graph, we search for fastest routes by means of a conventional Dijkstra algorithm where we assign dynamically changing travel times as edge weights. To update the shortest paths due to changing edge weights, we introduce a heuristic A* algorithm, which is faster in finding optimal paths. We compare the results of our approach to a variant where we assign Euclidean distances as static edge weights. Additionally, we show that the A* algorithm has a better performance in finding the shortest path for most cases. In detail, the orientation point is placed midway of the shortest distance vector between the cutting edge and the corner (see Fig. 2). Fig. 1. Graph derivation from the scenario topography. Fig. 2. Repositioning of orientation points. To avoid orientation points that are too close to each other, we prune these redundant points by melting these neighboring points into one new point as shown in Fig. 3. Fig. 3. Melting of two adjacent orientation points. Finally, the resulting orientation points represent the graph nodes. Second, we start connecting these graph nodes with each other subsequently. Two orientation points are connected by means of a graph edge, if they are in sight of each other. In addition, they are connected to sources and destinations in the same manner. After the graph generation we perform a check for dispensable edges to achieve a most efficient navigation process. For individual routing, there are only edges necessary leading around the obstacle corners. This characteristic can be detected with a so-called corner related sight criterion illustrated in Fig. 4. The obstacle corner is connected to a sight crossing area bounded by the imaginary sight lines placed along the two corner sides. We define an edge as necessary if it leads from the orientation point out of the sight crossing area. If this criterion is not fulfilled, the edge will be disconnected. In this manner, up to 75 percent of the initial edges can be reduced. Fig. 4. Graph edge reduction. The resulting graph (as shown in Fig. 1 bottom) can be used for the routing algorithms defining at least one path between the sources and destinations if it exists. This follows directly from the construction procedure. 4 ROUTING ALGORITHMS We apply different algorithms, which are based on the developed visibility graph, to route the pedestrians from their sources to their destinations. More precisely, we combined two different routing strategies: The first one is a common shortest path finding algorithm [Dijkstra 1959] with dynamic edge weight variation. The second one is a heuristic algorithm according to [Russel and Norvig 2003], which is able to find as well an optimal shortest path, but in most cases more efficiently – depending on the heuristic values. We start with the description of the common Dijkstra algorithm with adaptation to our problem, followed by the A* algorithm with the heuristics we used. 4.1 Dijkstra algorithm with dynamic edge weights Since the Dijkstra algorithm considers edge weights to compare two edges while traversing the graph from a given node (source) to a designated node (destination), we focus on determining the edge weights to match pedestrian behavior. Our approach is to take travel times as edge weights instead of Euclidean distances. The travel time is derived as follows: For each edge, we define an area associated with it (see Fig. 5). Then, we count the number of pedestrians that are traversing along that edge. From the number of pedestrians in relation to the whole accessible size of the area, we derive the density factor as in (1): area edge accessible s pedestrian of number factor density _ _ _ _ _ = (1) As edge areas can overlap, we have to associate pedestrians not only to one edge area but to all surrounding edges whose areas are affected. Fig. 5. Construction of an area to measure density on an edge: The edge is rotated by 90° to define the corner points of the area. According to [Weidmann 1993], there exists a relation between density and velocity for pedestrians (see Fig. 6). We take this proposed relation to obtain a deceleration factor for the pedestrians. 0 0,2 0,4 0,6 0,8 1 1,2 1,4 0 1 2 3 4 5 V el o ci ty [ m /s ] Density [Pers/m2] Velocity-Density Relation Fig. 6. Velocity-Density Relation for pedestrians, as proposed in [Weidmann 1993]. More precisely, we take the density factor of an area and derive the corresponding velocity. Multiplying this velocity with the Euclidean distance of the edge, the expected travel time is computed as: