Table of Contents generated with DocToc
Several operational models are implemented in jpscore
.
An operational model defines how pedestrians moves from one time step to the next.
In the definition of agent’s properties it is mandatory to precise the number of the model to be used e.g.:
<agents operational_model_id="n">
where n
is 1, 2, 3, 4 or 5.
The definition of any model parameter is composed of two different sections:
<solver>euler</solver>
<stepsize>0.001</stepsize>
:
10^{-2}
$ and $10^{-3}
$ s.
For first-order models, a value of 0.05 s should be OK.
A larger time step leads to faster simulations, however it is too risky and can lead to
numerical instability, collisions and overlapping among pedestrians.<periodic>0</periodic>
<exit_crossing_strategy>3</exit_crossing_strategy>
[1, 9]
$. See Direction strategies for the definition of the strategies.<linkedcells enabled="true" cell_size="2"/>
The agent parameters are mostly identical for all models. Exceptions will be mentioned explicitly.
The parameters that can be specified in this section are Gauss distributed (default value are given).
<v0 mu="1.2" sigma="0.0" />
<v0_upstairs mu="0.6" sigma="0.167" />
<v0_downstairs mu="0.6" sigma="0.188" />
<v0_idle_escalator_upstairs mu="0.6" sigma="0.0" />
<v0_idle_escalator_downstairs mu="0.6" sigma="0.0" />
Pedestrians are modeled as ellipses with two semi-axes: $a
$ and $b
$, where
$
a= a_{min} + a_{\tau}v,
$
and
$
b = b_{max} - (b_{max}-b_{min})\frac{v}{v^0}.
$
$v
$ is the peed of a pedestrian.
<bmax mu="0.15" sigma="0.0" />
<bmin mu="0.15" sigma="0.0" />
<amin mu="0.15" sigma="0.0" />
v=0
$.<atau mu="0." sigma="0.0" />
Other parameters in this section are:
<tau mu="0.5" sigma="0.0" />
\rightarrow
$ instantaneous acceleration.<T mu="1" sigma="0.0" />
Generalized Centrifugal Force Model is a force-based model.
Usage:
<model operational_model_id="1" description="gcfm">
Gompertz Model is a force-based model.
Usage:
<model operational_model_id="2" description="gompertz">
Collision-free speed model is a velocity-based model. See also this talk for more details about the model.
Usage:
<model operational_model_id="3" description="Tordeux2015">
Besides the options defined in Mode_parameters the following options are necessary for this model:
<force_ped a="5" D="0.2"/>
a
$ and $D
$ where $a
$ is the strength if the interaction and $D
$ gives its range. The naming may be misleading, since the model is not force-based, but velocity-based.<force_wall a="5" D="0.02"/>
:
a
$ and $D
$ where $a
$ is the strength if the interaction and $D
$ gives its range. A larger value of $D
$ may lead to blockades, especially when passing narrow bottlenecks.The names of the aforementioned parameters might be misleading, since the model is not force-based. The naming will be changed in the future.
Actually, this model assumes circular pedestrian’s shape, therefore the parameter for the semi-axes Agent_parameters should be chosen, such that circles with constant radius can be obtained. For example:
<bmax mu="0.15" sigma="0.0" />
<bmin mu="0.15" sigma="0.0" />
<amin mu="0.15" sigma="0.0" />
<atau mu="0." sigma="0.0" />
This defines circles with radius 15 cm.
In summary the relevant section for this model could look like:
<model operational_model_id="3" description="Tordeux2015">
<model_parameters>
<solver>euler</solver>
<stepsize>0.05</stepsize>
<exit_crossing_strategy>3</exit_crossing_strategy>
<linkedcells enabled="true" cell_size="2"/>
<force_ped a="5" D="0.2"/>
<force_wall a="5" D="0.02"/>
</model_parameters>
<agent_parameters agent_parameter_id="1">
<v0 mu="1.34" sigma="0.0" />
<v0_upstairs mu="0.668" sigma="0.167" />
<v0_downstairs mu="0.750" sigma="0.188" />
<v0_idle_escalator_upstairs mu="0.5" sigma="0.0" />
<v0_idle_escalator_downstairs mu="0.5" sigma="0.0" />
<bmax mu="0.15" sigma="0.0" />
<bmin mu="0.15" sigma="0.0" />
<amin mu="0.15" sigma="0.0" />
<atau mu="0." sigma="0.0" />
<tau mu="0.5" sigma="0.0" />
<T mu="1" sigma="0.0" />
</agent_parameters>
</model>
Wall-avoidance model is a velocity-based model. The Wall-Avoidance Model focuses on valid pedestrian positions. The interaction of agents with walls takes precedence over the agent-to-agent interaction. There are two key aspects:
In the vicinity to walls, agents take on a different behaviour, slowing them down (parameter: slowdowndistance)
Agents follow special floorfields, directing them to the targets/goals, which will have them avoid walls if possible (free space)
Valid exit strategies are {6, 8, 9}. Please see details below.
(Sample) Usage:
<model operational_model_id="4" description="gradnav">
<model_parameters>
<solver>euler</solver>
<stepsize>0.01</stepsize>
<exit_crossing_strategy>9</exit_crossing_strategy>
<floorfield delta_h="0.0625" wall_avoid_distance="0.4"
use_wall_avoidance="true" />
<linkedcells enabled="true" cell_size="4.2" />
<force_ped nu="3" b="1.0" c="3.0" />
<force_wall nu="1" b="0.70" c="3.0" />
<anti_clipping slow_down_distance=".2" />
</model_parameters>
<agent_parameters agent_parameter_id="0">
<v0 mu="1.5" sigma="0.0" />
<bmax mu="0.25" sigma="0.001" />
<bmin mu="0.20" sigma="0.001" />
<amin mu="0.18" sigma="0.001" />
<tau mu="0.5" sigma="0.001" />
<atau mu="0.23" sigma="0.001" />
</agent_parameters>
</model>
<exit_crossing_strategy>[6, 8, 9]</exit_crossing_strategy>
The strategies 6, 8 and 9 differ only in the way the floorfield is created:
<floorfield delta_h="0.0625" wall_avoid_distance="0.4" use_wall_avoidance="true" />
<linkedcells enabled="true" cell_size="4.2" />
The Generalized Centrifugal Force Model with lateral swaying is mostly identical to the GCFM Model,
but instead of a variable semi-axis $b
$ of the ellipse simulating the pedestrian, pedestrians perform an oscillation perpendicular to their direction of motion.
As a consequence the parameter Bmax
is ignored.
Usage:
<model operational_model_id="5" description="krausz">
Four Parameters can be passed to control the lateral swaying, for example:
<sway ampA="-0.14" ampB="0.21" freqA="0.44" freqB="0.35" />
ampA
and ampB
determine the amplitude of the oscillation according to the linear relation
$A = \texttt{ampA} \cdot \| v_i \| + \texttt{ampB}
$.
freqA
and freqB
determine the frequency of the oscillation according to
$f = \texttt{freqA} \cdot \| v_i \| + \texttt{freqB}
$.
Setting ampA
and ampB
to 0 disables lateral swaying. If not specified, the empirical values given in Krausz, 2012 are used, that is:
ampA
= -0.14, ampB
= 0.21 andfreqA
= 0.44, freqB
= 0.25.