\thanks{Corresponding author: Civil Security and Traffic, Forschungszentrum Jülich GmbH, E-mails:ar.graf@fz-juelich.de,}
\thanks{Corresponding author: Civil Security and Traffic, Forschungszentrum Jülich GmbH, E-mails:ar.graf@fz-juelich.de,}
\ \ Mohcine Chraibi
\ \ Mohcine Chraibi
\thanks{Civil Security and Traffic, Forschungszentrum Jülich GmbH, E-mails:m.chraibi@fz-juelich.de,}
\thanks{Civil Security and Traffic, Forschungszentrum Jülich GmbH, E-mails:m.chraibi@fz-juelich.de,}
\ \ and Benjamin Schröder
%\ \ and Benjamin Schröder
\thanks{Civil Security and Traffic, Forschungszentrum Jülich GmbH, E-mails:b.schroeder@fz-juelich.de,}
%\thanks{Civil Security and Traffic, Forschungszentrum Jülich GmbH, E-mails:b.schroeder@fz-juelich.de,}
}\maketitle
}\maketitle
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
{\noindent{\bf Abstract.}
{\noindent{\bf Abstract.}
Floor fields as the solution of a well-posed Eikonal equation, are being used in a broad variety of applications, ranging from image processing, computer vision\cite{Sethian1996,Horn1986,Osher2003}, optimal control\cite{Bardi1997}, robotic path planning\cite{Tsitsiklis1995} to pedestrian dynamics.
Floor fields, as the solution of a well-posed Eikonal equation, are being used in a broad variety of applications, ranging from image processing, computer vision\cite{Sethian1996,Horn1986,Osher2003}, optimal control\cite{Bardi1997}, robotic path planning\cite{Tsitsiklis1995} to pedestrian dynamics.
In simulations of pedestrian dynamics, the routing and navigation of agents is an integral part.
In simulations of pedestrian dynamics, the routing and navigation of agents is an integral part.
Routing can be seen as the composition of two aspects: the global path finding throughout a given geometry and the local avoidance of static or dynamic obstacles (like walls or other agents).
Routing can be seen as the composition of two aspects: the global path finding throughout a given geometry and the local avoidance of static or dynamic obstacles (like walls or other agents).
...
@@ -150,7 +150,7 @@ A valid interpretation of $c(\vec{x})$ is the ``time-cost'' of $\vec{x}$, which
...
@@ -150,7 +150,7 @@ A valid interpretation of $c(\vec{x})$ is the ``time-cost'' of $\vec{x}$, which
\end{figure}
\end{figure}
The solution to the Eikonal equation~(\ref{eq:eikonal}) can be used to direct agents to the source of that wave, using a cost-optimal path.
The solution to the Eikonal equation~(\ref{eq:eikonal}) can be used to direct agents to the source of that wave, using a cost-optimal path.
Sethian's fast marching Algorithm gives a fast numeric approximation to the solution by discretizing the spatial domain with a rectangular grid and computing cost-values on these grid-points.
Sethian's fast marching algorithm gives a fast numeric approximation to the solution by discretizing the spatial domain with a rectangular grid and computing cost-values on these grid-points.
This can directly be applied to CA models.
This can directly be applied to CA models.
By refining the grid, the approximation yields results, that justify the use in continuous models.
By refining the grid, the approximation yields results, that justify the use in continuous models.
...
@@ -178,7 +178,7 @@ Grid-points close to walls will receive a time-cost penalty by reducing the \emp
...
@@ -178,7 +178,7 @@ Grid-points close to walls will receive a time-cost penalty by reducing the \emp
The new model uses enhanced navigation but this adds an additional computational cost.
The new model uses enhanced navigation but this adds an additional computational cost.
The calculation of the wall-distance does not come for free.
The calculation of the wall-distance does not come for free.
It is a complete fast-marching calculation of a seperate floor field.
It is a complete fast-marching calculation of a separate floor field.
This additional data holds valuable information.
This additional data holds valuable information.
Each grid-point holds information, that can provide wall-distances to every agent.
Each grid-point holds information, that can provide wall-distances to every agent.
By storing the gradient of $c$, we also get the direction to the closest wall.
By storing the gradient of $c$, we also get the direction to the closest wall.
...
@@ -186,11 +186,11 @@ By storing the gradient of $c$, we also get the direction to the closest wall.
...
@@ -186,11 +186,11 @@ By storing the gradient of $c$, we also get the direction to the closest wall.
A common problem in continuous, microscopic models is agents overlapping with one another~\cite{Guo} or agents overlapping with walls~\cite{Mohcine}.
A common problem in continuous, microscopic models is agents overlapping with one another~\cite{Guo} or agents overlapping with walls~\cite{Mohcine}.
In high-density situations, force-based models are pushed to their limits.
In high-density situations, force-based models are pushed to their limits.
Due to high forces induced by high densities, agents could be accelerated in unrealistic directions.
Due to high forces induced by high densities, agents could be accelerated in unrealistic directions.
This can lead for instance to movements through walls (see figure \ref{fig:lostAgents}).
This can for instance lead to movements through walls (see figure \ref{fig:lostAgents}).
In order to avoid overlapping, the parameters that govern the forces need to be adapted to high density situations.
In order to avoid overlapping, the parameters that govern the forces need to be adapted to high density situations.
Either a model can implement a dynamic set of parameters, that yield best results in any situation or it can implement a constant set of parameters, that favour faster computation, yet represents always a compromise.
Either a model can implement a dynamic set of parameters, that yield best results in any situation or it can implement a constant set of parameters, that favours faster computation, yet represents a compromise.
A compromise that works best in as many scenalios as possible with the risk of producing overlapping in scenarios of extreme densities.
A compromise that works best in as many scenarios as possible with the risk of producing overlapping in scenarios of extreme densities.
\begin{figure}[h!]
\begin{figure}[h!]
\centering
\centering
...
@@ -203,7 +203,6 @@ The Strict-Boundaries-Model focuses on the \emph{pedestrian to wall} interaction
...
@@ -203,7 +203,6 @@ The Strict-Boundaries-Model focuses on the \emph{pedestrian to wall} interaction
Even in high-density situations, when the navigation of agents by the enhanced floor field alone could not guaranty an overlapping-free simulation, an additional mechanic is implemented.
Even in high-density situations, when the navigation of agents by the enhanced floor field alone could not guaranty an overlapping-free simulation, an additional mechanic is implemented.
It will only activate for agents, that are in the close vicinity of a wall and limit the movement.
It will only activate for agents, that are in the close vicinity of a wall and limit the movement.
The check, if this limitation should be activated, imposes no further calculation, as the information is a side-product of the enhanced floor field and already available (see figure \ref{fig:stepusage}).
The check, if this limitation should be activated, imposes no further calculation, as the information is a side-product of the enhanced floor field and already available (see figure \ref{fig:stepusage}).
@@ -214,7 +213,6 @@ The check, if this limitation should be activated, imposes no further calculatio
...
@@ -214,7 +213,6 @@ The check, if this limitation should be activated, imposes no further calculatio
Further on, it is considered, if the agent is geared towards the wall.
Further on, it is considered, if the agent is geared towards the wall.
In this case, the model can choose to redirect the agent to move parallel to the wall in addition to slowing it down.
In this case, the model can choose to redirect the agent to move parallel to the wall in addition to slowing it down.
Again, this mechanic seems to impose significant computational cost, but again, the pre-computed information is reused and the cost of this check is a simple scalar-product per agent (only if the mechanic activates due to small wall-distances).
Again, this mechanic seems to impose significant computational cost, but again, the pre-computed information is reused and the cost of this check is a simple scalar-product per agent (only if the mechanic activates due to small wall-distances).
@@ -222,8 +220,6 @@ Again, this mechanic seems to impose significant computational cost, but again,
...
@@ -222,8 +220,6 @@ Again, this mechanic seems to impose significant computational cost, but again,
\caption{Trajectories of a bottleneck simulation. Above: plain floor field; Below: enhanced floor field, Width: 2 meters, low velocity: red, high velocity: teal.}
\caption{Trajectories of a bottleneck simulation. Above: plain floor field; Below: enhanced floor field, Width: 2 meters, low velocity: red, high velocity: teal.}
\label{fig:traj}
\label{fig:traj}
\end{figure}
\end{figure}
Resulting trajectories are seen in figure \ref{fig:traj}.
Resulting trajectories are seen in figure \ref{fig:traj}.
%\begin{figure}[h!]
%\begin{figure}[h!]
...
@@ -250,13 +246,13 @@ This is a great advantage, as the data never invalidates and can be computed bef
...
@@ -250,13 +246,13 @@ This is a great advantage, as the data never invalidates and can be computed bef
But the potential of floor fields does not end here.
But the potential of floor fields does not end here.
As showed in~\cite{Dietrich} dynamic floor fields could be superposed with static ones,
As showed in~\cite{Dietrich} dynamic floor fields could be superposed with static ones,
by adding pedestrians to the geometry floor field and increasing the grid-point-cost on all grid-points in the radius of each pedestrian.
by adding pedestrians to the geometry floor field and increasing the grid-point-cost on all grid-points in the radius of each pedestrian.
In this way, the optimal path considered neighbouring agents and directed the currently active agent around them.
In this way, the optimal path consideres neighbouring agents and directs the active agent around them.
This, of course, implies multiple computational cost.
This, of course, implies a multiple of the computational cost of static fields.
Theoretically, all factors of pedestrian simulation could be cooked into a floor field, starting from the geometry, to neighbouring agents, to individual preferences (like avoiding walls), to any factor, affecting the movement of an agent.
Theoretically, all factors of pedestrian simulation could be cooked into a floor field, starting from the geometry, to neighbouring agents, to individual preferences (like avoiding walls), to any factor, affecting the movement of an agent.
Currently exploring this aspect, we decided to change the slowness field
Currently exploring this aspect, we decided to change the slowness field. We apply an additional factor or even overwrite the previous slowness value on certain grid-points.
by implying a factor or by dominating the previous aspects through overwriting it.
A prominent example is the effect of congestion in a corridor on the route choice.
A prominent example is the effect of smoke in a corridor on the route choice.
%\section*{Smoke (TODO kann weg)}
%\section*{Smoke (TODO kann weg)}
%
%
...
@@ -268,9 +264,9 @@ A prominent example is the effect of smoke in a corridor on the route choice.
...
@@ -268,9 +264,9 @@ A prominent example is the effect of smoke in a corridor on the route choice.
%Agents would prefer a clear corridor of equal length to one with limited sight due to smoke.
%Agents would prefer a clear corridor of equal length to one with limited sight due to smoke.
\section*{Quickest Path Router}
\section*{Quickest Path Router}
The quickest path router is aiming to route agents in a way, that resembles human behaviour, where humans are to include traffic into their process of route-choice. If a congestion is detected on the current path, the agent should consider alternative routes to improve travel-time (see figure \ref{fig:sim}).
The quickest path router is aiming to route agents in a way, that resembles human behaviour, where humans are to include traffic into their route-choice. If a congestion is detected on the current path, the agent should consider alternative routes to improve travel-time (see figure \ref{fig:sim}).
Currently a quickest path router is investigated using a dynamic floor field.
Currently a quickest path router is investigated using a dynamic floor field.
The interval, that individuals would reassess their situation and possibly change their route is argued to be larger than some seconds.
The interval, that individuals would reassess their situation and possibly change their route is argued to be larger than some seconds (here: 5 seconds).
The larger the update interval of an effect, the more suitable it is for cooking it in a floor field.
The larger the update interval of an effect, the more suitable it is for cooking it in a floor field.
Finding a suitable value will be subject to calibration.
Finding a suitable value will be subject to calibration.
The calibration should aim to find parameters that yield results reproducing observable quantities of empirical data.
The calibration should aim to find parameters that yield results reproducing observable quantities of empirical data.
...
@@ -287,16 +283,15 @@ A model that would have an agent changing back and forth directions in quick suc
...
@@ -287,16 +283,15 @@ A model that would have an agent changing back and forth directions in quick suc
It is achieved by modifying the enhanced floor field of the Strict-Boundary-Model, which already includes walls and wall-avoidance.
It is achieved by modifying the enhanced floor field of the Strict-Boundary-Model, which already includes walls and wall-avoidance.
We reapply the same technique, reducing the \emph{wave}-propagation speed. But this second time, we carefully pick the set of grid points we further modify. Thus the set of grid-points defines the space, in which the \emph{wave}-propagation slows down and therefore penalizes that area.
We reapply the same technique, reducing the \emph{wave}-propagation speed. But this second time, we carefully pick the set of grid points we further modify. Thus the set of grid-points defines the space, in which the \emph{wave}-propagation slows down and therefore penalizes that area.
We modify the slowness field at every pedestrian's position in the size of the pedestrian plus the vacant space, that normally would surround a pedestrian standing in a queue.
We modify the slowness field at every pedestrian's position in the size of the pedestrian plus the vacant space, that normally would surround a pedestrian standing in a queue.
This way, the whole space occupied by a jammed crowd is reduced.
This way, the whole space occupied by a congested crowd is reduced.
\caption{Floor fields of the quickest path router. Left: vacant space around agents also reduces propagation, right: modified space around agents too small; fast wave front can flow around congestion.}
\caption{Floor fields of the quickest path router. Left: vacant space around agents also reduces propagation, right: modified space around agents too small; fast wave front can flow around congestion.}
\label{fig:compFF}
\label{fig:compFF}
\end{figure}
\end{figure}
If we would have just a small corridor of neighbouring grid points with non-penalized slowness field, the resulting floor field would be corrupt and not lead to the behaviour of a quickest path router (see figure \ref{fig:compFF}).
If we would have just a small corridor of neighbouring grid points with non-penalized slowness values, the resulting floor field would be corrupt and not lead to the behaviour of a quickest path router (see figure \ref{fig:compFF}).
The reason for this is obvious: The small corridor would produce a small wave-part with low cost values and these would in turn produce correspondingly small values outside the crowd leading to small values up to any agent in the upwind direction of the crowd. (\emph{Upwind} defines the region of a monotonic increasing function with values greater than the current observation. In our context, the upwind direction is the spacial domain, that is yet to be reached by the wave-front.)
The reason for this is obvious: The small corridor would produce a small wave-part with low cost values and these would in turn produce correspondingly small values outside the crowd leading to small values up to any agent in the upwind direction of the crowd. (\emph{Upwind} defines the region of a monotonic increasing function with values greater than the current observation. In our context, the upwind direction is the spacial domain, that is yet to be reached by the wave-front.)
A standing crowed should by definition induce high cost-values for approaching agents.
A standing crowed should by definition induce high cost-values for approaching agents.
This is a contradiction.
This is a contradiction.
%
%
...
@@ -343,7 +338,7 @@ This is a contradiction.
...
@@ -343,7 +338,7 @@ This is a contradiction.
Next to the size of the area, where we reduce the slowness field, we have to adjust the set of agents, that trigger the reduction.
Next to the size of the area, where we reduce the slowness field, we have to adjust the set of agents, that trigger the reduction.
It is obvious, that agents above a certain walking-speed-threshold should not trigger a field-reduction, as they are not considered being part of a congestion and thus do not negatively effect route choice.
It is obvious, that agents above a certain walking-speed-threshold should not trigger a field-reduction, as they are not considered being part of a congestion and thus do not negatively effect route choice.
%TODO: not considered a jam?
%TODO: not considered a jam?
Human behaviour would rather favour a path on which people \emph{successfully} walk (Herding, \cite{Ding}).
Human behaviour would rather favour a path, on which people \emph{successfully} walk (Herding, \cite{Ding}).
In figure \ref{fig:sim} the results of a simulation using the quickest path router are shown.
In figure \ref{fig:sim} the results of a simulation using the quickest path router are shown.
After 5 seconds, the lower group of pedestrians changes direction because of the jam in front of the upper door.
After 5 seconds, the lower group of pedestrians changes direction because of the jam in front of the upper door.