Skip to content

Releases: PedestrianDynamics/jupedsim

v1.2.1

30 Apr 13:02
c62ec59
Compare
Choose a tag to compare

What's Changed

  • Fixed WaitingSet: In specific cases the wrong waiting position was returned, this should work as expected now.
  • Fixed serialisation issue: The serialisation is writing out a bounding box over the union of all geometries, min/max values had been swapped.

v1.2.0

23 Apr 19:53
479d0a5
Compare
Choose a tag to compare

This release contains two new features

New Model - Social Force Model

JuPedSim now implements another microscopic model, the Social Force Model as described by Helbing, D., Farkas, I., Vicsek, T. (2000). Simulating dynamical features of escape panic.

New route planning method - Direct Steering

Direct Steering allows the user to set each agents target individually and at any time. Agents will then use normal way findig to navigate to the set position. This should allow for rapid prototyping of high level agent behaviour such as waiting or queueing. The intention here is that user will be able to use their own logic written in python to do route planning. While this needs extra coding and might be runtime intensive it allows full flexibility.

v1.1.1

26 Mar 07:56
Compare
Choose a tag to compare

What's Changed

  • The SQL output does now properly include all geometry variants when geometries are switched at runtime.

v1.1.0

12 Mar 12:43
e14fc8b
Compare
Choose a tag to compare

What's Changed

  • Add possibility to switch geometry at runtime.
  • Add new iteration of the Collision Free Speed Model (CollisionFreeSpeedModelV2), in this update formerly global repulsion parameters have become agent specific parameters. Thus allowing to model individual agents to react with different strength to geometry / neighbouring agents.

v1.0.6

06 Feb 08:38
Compare
Choose a tag to compare

This is a bugfix release:

  • Fix typo in documentation
  • Address address sanitiser finding when freeing memory for journeys

v1.0.5

30 Nov 14:05
0dc80d8
Compare
Choose a tag to compare

Changes

  • Update dependencies
  • Add support for Python 3.12

v1.0.4

14 Nov 13:14
d5415ec
Compare
Choose a tag to compare

Changes

  • Check if added stages are inside walkable area by
  • Allow v0 to be zero
  • Explicitly mark supported Python versions

Documentation fixes

  • Add missing queues notebook
  • Improve online documentation
  • Some editing of routing page

v1.0.3

25 Oct 14:43
Compare
Choose a tag to compare

Changes

  • x86_64 wheels for macOS are now published to pypi
  • Fixed missing file in source distribution
  • Lowered minimum required macOS version to 11

Documentation Fixes

  • Fix broken link to GitHub repository
  • Fix link to Zenodo, now links to JuPedSim concept

v1.0.0

23 Oct 08:58
68dc7b9
Compare
Choose a tag to compare

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.

v0.9.6

19 Apr 15:23
Compare
Choose a tag to compare
  • Windows installer now allows adding jpscore to PATH