# Situationally Sensitive Path Planning
###### Abstract  
We examine how site-based path planning algorithms for enclosed spaces can be enhanced with situational detail. Addressing this question has led to value propositions in facility design, where there is often a call to match, map, and merge infrastructure considerations and configurations with potential implications for individual, group, and crowd flow through enclosed spaces. Responding to this question also invokes computational propositions, as facility design software is often computationally conservative with few resources devoted to simulation. We show that situational factors--the peculiarities and momentarily fleeting shifts in an individualized context that embody people in their movement through spaces--can be embedded into traditional, computationally lean path planning heuristics in ways that are actionable in widely used facility design software. We achieve this with algorithmic expansion of well-known planning algorithms using node-based architectures that permit the inclusion detail if, when, and where needed in a hyper-localized situational context that nests within site considerations. We demonstrate a proof of concept for use in the popular _Unity 3D_ modeling platform, showing that situationally sensitive path planning can be achieved during the simulation run time of prototypical design scenarios for enclosed spaces with moving individuals, groups, and crowds. path planning; computer aided design; agent-based model; movement +
Footnote †: journal:  
0000-0001-5000-0000-0000-0000-0000-0000-0000-0000-0000-00000-0000-00000-00000-0000-0000-00000-00000-00000-00000-00000-00000-00000-000  
the provision of pedestrian modeling tools that can work with design software. Existing software tools for the design of enclosed spaces essentially mimic the traditional manual design process. A designer will construct a facility design in silico, in the cyberspace of the software, as an inert space. Considerations of how the design might influence pedestrian flow under given motion behaviors are proposed through the expertise and knowledge base of the designer and perhaps by building codes that dictate ingress and egress distances and occupancy-based density constraints, if available. Tools for quickly matching pedestrian flows to designs are relatively limited in popular computer-aided design and drafting (CAD) packages. Generally, designers rely on shortest path planning heuristics that can rapidly deliver moving pedestrians along heuristic journeys through designed spaces. These algorithms take a given design, convert it into a graph traversal space, and model the set of shortest paths that are available given a design scenario. This is generally achieved through greedy search [16]: a planning algorithm will traverse the graph from a pedestrian's trip origin to a destination, returning graph nodes that are required for that trip and offloading those that are not, and then will assess the level of effort required to cover the remaining space through a combination of minimizing the total distance to the goal and the step-by-step traversal required (Figure 2). This search space can be swept by the heuristic for every possible source and sink, essentially providing a path map that pedestrians can draw from as they encounter each node sub-space in the graph, either online (during the run time of a simulation scenario) or offline (as a stored set of instructions to be loaded at the onset of a trip). Shortest path (and least-effort) pedestrian planning has a theoretical basis in anchor-based navigation and wayfinding [17], which posits that at a high level of cognition (that is, by rote memory, habit, routine, or with relatively little attention to the environment), people will move by the minimal distance between a source and a sink. Sources and sinks can be matched to design features such as entryways and exits, for example. Path planning algorithms [18] are graph-based, which means that they can straightforwardly accept designed features as path-avoidance obstacles embedded in the graph.