This title appears in the Scientific Report :
2023
Please use the identifier:
http://dx.doi.org/10.5281/ZENODO.10033230 in citations.
JuPedSim
JuPedSim
JuPedSim JuPedSim has come a long way since its inception in 2010. Originally designed to simulate and analyze pedestrian dynamics across different scenarios, it stood as a testament to the evolving needs and challenges of the field. As it grew with every project, every Master's, and PhD thesis...
Saved in:
Personal Name(s): | Chraibi, Mohcine (Corresponding author) |
---|---|
Kratz, Kai / Schrödter, Tobias | |
Contributing Institute: |
Zivile Sicherheitsforschung; IAS-7 |
Imprint: |
2023
|
DOI: |
10.5281/ZENODO.10033230 |
Document Type: |
Software |
Research Program: |
Domain-Specific Simulation & Data Life Cycle Labs (SDLs) and Research Groups |
Edition: | 1.0.0 |
Subject (ZB): | |
Publikationsportal JuSER |
JuPedSim JuPedSim has come a long way since its inception in 2010. Originally designed to simulate and analyze pedestrian dynamics across different scenarios, it stood as a testament to the evolving needs and challenges of the field. As it grew with every project, every Master's, and PhD thesis, the software began to show its age - becoming cumbersome for prototyping. In response to these complex challenges, an extensive remodeling effort was undertaken to completely reconstruct JuPedSim. The outcome of this endeavor is a redesigned and improved version of the software that is more efficient and user-friendly. This article provides a brief glimpse into the process of transformation. Balancing performance and Complexity with C++ Central to the new JuPedSim is its architecture. Revising the architectural choices, we've transitioned from a singular focus on performance to a more balanced perspective. Instead of multithreading, JuPedSim now operates single-threaded, relegating only performanc-critical segments to C++. This decision stems from recognizing that excessive complexity can deter users. While we acklowdege there's room for further enhancements, especially regarding the integration of new models, the primary aim of this release was not solely performance but to strike a harmony between speed and user-friendliness. Core functionalities of JuPedSim have been implemented as essential components in C++. This includes operative models describing pedestrian movement, as well as routing and navigation algorithms. While individually fundamental, when assembled, these components, much like Lego pieces, can be orchestrated to construct comprehensive, intricate systems, fostering the creation of meaningful and large-scale simulations and analyses in pedestrian dynamics. Empowering with Python-API The previous version of JuPedSim operated primarily through the command-line interface and required navigating complex XML configurations, which could be quite intricate for users. However, as time passed and users adapted to the tool, a trend emerged towards automatic configuration generation using Python. Bridging the gap between core functionality and user interaction, JuPedSim introduces a lightweight and expressive Python API. This interface allows users to easily craft simulation scenarios, prototype complex behaviors, and harness the power of the core 'primitive' components. The enhanced version of JuPedSim adopts a novel approach by operating as a library based on Python. This new architecture greatly enhances the versatility in configuring simulations. For instance, one can easily define dynamically chanching behaviors such as arranging pedestrians in spiral formations and having individuals depart from the formation every 3 seconds. This Python API provides users with a familiar and intuitive programming language, enabling them to efficiently manipulate and analyze data, customize simulation parameters, and visualize results. This transition not only aligns with changing user practices but also takes advantage of the widespread familiarity with Python, making JuPedSim more accessible and engaging for users. These scenarios can now be effortlessly communicated using Python scripting while allowing JuPedSim to focus on agent positioning and actions. Unlike its previous iteration, which constrained users to predefined configurations, this updated version offers substantial creative freedom in simulation design. Moreover, with this API, the JuPedSIm offers other software, like SUMO, the possibility to integrate and communicate seamlessly, expanding the software's capabilities and versatility. Driving Research Forward The significant advantage of the new JuPedSim lies in its potential for academic research. Previously, researchers had to deal with the complexities of implementing low-level details. However, now they can easily conceptualize, prototype, and evaluate new theories in pedestrian dynamics. The capability to adjust agent behaviors, direct their movements, or alter their states in real-time allows for rapid iterations and thorough experimentation. This level of flexibility is unparalleled and offers numerous opportunities for comprehending pedestrian dynamics in complex environments. To give an example, in this study, motivation among agents is represented by the parameter $T$. Higher motivation, like in jostling situations, correlates with a smaller $T$ value, causing pedestrians to quickly close gaps. For example, highly motivated agents might have $T=0.1s$, while less motivated ones might sit at $T=1.3s$. But what if the motivation of people varies with time and space? Consider an exit scenario: those closer to an exit in a crowd are more motivated than those far behind, indicating a need for $T$ to be dynamic. This is where the new JuPedSim shines — it can adjust this 'motivation behavior' in real-time during a simulation, providing a nuanced, adaptive, and accurate depiction of pedestrian behaviors as they shift and evolve. |