Videos and data

Goal: model

Main lines of the model

  • 2 groups

heading to the food

heading to the nest

g_i = -1
g_i = 1
  • agents \(i\) with position \(X_i \in \mathbb{R}^2\) and velocity \(V_i \in \mathbb{R}^2\)
V_i
X_i
\times
  • Model of evolution :
\dot{X}_i = V_i \\ \dot{V}_i = \textcolor{blue}{F_{\text{self-prop}}} + \textcolor{red}{F_{\text{drive}}} + \textcolor{orange}{F_{\text{interact}}} \; \tiny{(+ \textcolor{brown}{F_{\text{walls}}})}
\dot{X}_i = V_i \\ \dot{V}_i = \sum F
  • Visual field \(\mathcal{V}_i\)
+
\Theta_i
\mathcal{V}_i = \{j,\ell\}

Visual field \(\mathcal{V}_i\)

i
\Theta_i = \frac{V_i}{|V_i|}

orientation

j
k
\ell
m

Forces

\dot{X}_i = V_i \\ \dot{V}_i = \textcolor{blue}{F_{\text{self-prop}}} + \textcolor{red}{F_{\text{drive}}} + \textcolor{orange}{F_{\text{interact}}}
\textcolor{blue}{F_{\text{self-prop}}} = \nu \, (\xi -| V_i|) \Theta_i

1. Self-propulsion

\textcolor{orange}{F_{\text{interact}}} = \textcolor{orange}{F_{\text{same group}}} + \textcolor{orange}{F_{\text{other group}}}
\textcolor{red}{F_{\text{drive}}} = c_{\text{drive}} \, \begin{pmatrix} g_i \\ 0 \end{pmatrix}

\(\nu > 0\)  strength of the force

\(\xi > 0\)  target velocity magnitude

3. Interaction

2. Drive

drives to the right if \(g_i = 1\)

drives to the left if \(g_i = -1\)

controls the velocity magnitude

drives towards the objective

deals with the other agents

\Theta_i = \frac{V_i}{|V_i|}

Forces

\dot{X}_i = V_i \\ \dot{V}_i = \textcolor{blue}{F_{\text{self-prop}}} + \textcolor{red}{F_{\text{drive}}} + \textcolor{orange}{F_{\text{interact}}}
\textcolor{blue}{F_{\text{self-prop}}} = \nu \, (\xi -| V_i|) \Theta_i

1. Self-propulsion

\(\nu > 0\)  strength of the force

\(\xi > 0\)  target velocity magnitude

controls the velocity magnitude

drives towards the objective

deals with the other agents

\Theta_i = \frac{V_i}{|V_i|}

Force self-propulsion

\textcolor{blue}{F_{\text{self-prop}}} = \nu \, (|V_i| - \xi) \Theta_i

The parameters \(\nu\) and \(\xi\) chosen according to the situation:

depends on the visual field \(\mathcal{V}_i\)

1. No obstacles

\nu = \nu_{\text{cruise}} \; \; \scriptsize{(\sim 15)}
\xi = \xi_{\text{cruise}} \; \; \scriptsize{(\sim 8)}

2. Head-on contact with another agent

\nu = \nu_{\text{brake}} \; \; \scriptsize{(\sim 100)}
\xi = \xi_{\text{brake}} \; \; \scriptsize{(\sim 0.1)}
\leqslant d_{\text{contact}} \;\scriptsize{(\sim 2.4)}

3. Generic contact with another agent

\nu = \lambda \nu_{\text{brake}} + (1 - \lambda) \nu_{\text{cruise}}
\leqslant d_{\text{contact}}
\xi = \lambda \xi_{\text{brake}} + (1 - \lambda) \xi_{\text{cruise}}

cruising

braking

sliding

\lambda = \left|\Theta_i \cdot \frac{X_j-X_i}{|X_j-X_i|} \right|^{\alpha_{\text{sp}}}

or

Forces

\dot{X}_i = V_i \\ \dot{V}_i = \textcolor{blue}{F_{\text{self-prop}}} + \textcolor{red}{F_{\text{drive}}} + \textcolor{orange}{F_{\text{interact}}}
\textcolor{blue}{F_{\text{self-prop}}} = \nu \, (|V_i| - \xi) \Theta_i

1. Self-propulsion

\textcolor{orange}{F_{\text{interact}}} = \textcolor{orange}{F_{\text{same group}}} + \textcolor{orange}{F_{\text{other group}}}
\textcolor{red}{F_{\text{drive}}} = c_{\text{drive}} \, \begin{pmatrix} g_i \\ 0 \end{pmatrix}

\(\nu > 0\)  strength of the force

\(\xi > 0\)  target velocity magnitude

3. Interaction

2. Drive

drives to the right if \(g_i = 1\)

drives to the left if \(g_i = -1\)

controls the velocity magnitude

drives towards the objective

deals with the other agents

\Theta_i = \frac{V_i}{|V_i|}

Force \(F_{\text{interact}}\)

\textcolor{orange}{F_{\text{interact}}} = \textcolor{orange}{F_{\text{same group}}} + \textcolor{orange}{F_{\text{other group}}}

Depends on the visual field \(\mathcal{V}_i\)

\(\mathrm{I}\). Same group

attraction 

repulsion

\(\mathrm{II}\). Other group

attraction

steer (avoid)

1/2

d_{\text{ref},1}
d_{\text{ref},2}
d_{\text{contact}}

nothing

Force \(F_{\text{interact}}\)

\textcolor{orange}{F_{\text{interact}}} = \textcolor{orange}{F_{\text{same group}}} + \textcolor{orange}{F_{\text{other group}}}

Depends on the visual field \(\mathcal{V}_i\)

\(\mathrm{I}\). Same group

\textcolor{orange}{F_{\text{same group}}} = c_{\text{same}} \underset{g_j = g_i}{\sum_{j \in \mathcal{V}_i}} \left(\frac{d_{\text{ref},1}}{|X_j - X_i|} \right)^{\alpha_{\text{same}}} \; \log \left(\frac{d_{\text{ref},1}}{|X_j - X_i|} \right) \; \frac{X_j - X_i}{|X_j - X_i|}

attraction if

\(|X_j - X_i|> d_{\text{ref}}\)

repulsion if

\(|X_j - X_i|< d_{\text{ref}}\)

\(\mathrm{II}\). Other group

\textcolor{orange}{F_{\text{other group}}} = \underset{g_j \neq g_i}{\sum_{j \in \mathcal{V}_i}} c_{\text{other}} \, \mathbf{1}_{d_{\text{contact}} < |X_j - X_i| < d_{\text{ref},2}} \, \frac{X_j - X_i}{|X_j - X_i|} \; \; + \; \; \mathbf{1}_{|X_j - X_i| < d_{\text{contact}}} \, \textcolor{purple}{F_{ij}^{\text{steer}}}

attraction

steer (avoid)

2/2

+
X_i
\Theta_i
+
X_j
\sigma
\sigma^{\perp}_+
\sigma^{\perp}_-
\Theta_j

If \(\Theta_j \cdot \sigma^{\perp}_+ \leq 0 \) :

+
X_i
\Theta_i
+
X_j
\sigma
\sigma^{\perp}_+
\sigma^{\perp}_-
\Theta_j
\sigma^\perp = \sigma^\perp_+

Then

\(\sigma^\perp_+\) chosen such that

\(\Theta_i \cdot \sigma^{\perp}_+ \geq 0\)

If \(\Theta_j \cdot \sigma^{\perp}_+ \geq 0 \) :

\sigma^\perp = \sigma^\perp_-

If \(|\Theta_i \cdot \sigma| \geq |\Theta_j \cdot \sigma|\) then

Else

\sigma^\perp = \sigma^\perp_+
\textcolor{purple}{F_{\text{steer}}} = c_{\text{steer}} \; |\Theta_i \cdot \sigma|^{\alpha_{\text{steer}}} \times \sigma^\perp

Steering force \(F_{\text{steer}}\)

\sigma = \frac{X_j-X_i}{|X_j-X_i|}

Videos

Quantitative properties: velocity magnitudes

Comparison with data

Experimental data:

Simulation:

Sim 2 : smaller \(\nu_{\text{cruise}}\)

Reference simulation

Sim 3 : smaller \(\nu_{\text{cruise}}\) and bigger steering force

Quantitative properties

Two-phase flow?

Simulated flow

Experimental flow

(Experimental investigation of ant traffic
under crowded conditions)

* En fait la fourmi aime le bord. Suivi de bord "thygmotactisme"
https://fr.wikipedia.org/wiki/Thigmotactisme
Seul à 5, 10 mm, on ne voyait pas trop le bord. A 20 mm, on n'a jamais réussi à avoir un flux suffisant pour occuper tout le pont.

* Elle aime bien l'idée d'une vitesse de croisière. Peu de variabilité individuelle.

* Champ visuel plus large (un peu plus de 180°). (différent du cône de la phéromone qui est plutôt de 60°)
Les fourmis "oscillent" --> osmothropotaxie

* Faible flux: interaction douce, attraction (elles vont l'une vers l'autre, les deux modifient leurs trajectoires) [attraction plutôt 2 fourmis]
Fort traffic: interaction non choisie, contact, arrêt brusque (il y en a une qui finit par se pousser)

Finteract: répulsion que quand elles sont vraiment proches, attraction à une longueur de 2 fourmis

--> La force d'interaction entre fourmis du même groupe est à revoir...

* Analyse spatiale du flux
That would bring some novelty on this data set
"Ces flux bidirectionnels qui se rencontrent, c'est assez rare: fourmis et piétons"

Quel est le modèle minimal qui donne le même résultat

Dirk Helbing Mehdi Moussaid
http://www.mehdimoussaid.com/laRecherche0311.pdf
https://www.complexity-explorables.org/explorables/the-walking-head/
Fouloscopie

Notes réu Tony

1 - Gestion des murs

Les murs seraient plutôt attractifs que répulsifs, avec une no-flux BC (projection de l'orientation).    cf thigmotactisme

2 - Champ visuel

- le cône est bien adapté aux mouvements de détection avec antennes (osmotropotaxie)
- le champ visuel est très large mais très court et très flou

d_ref,same ~ 2 longueurs de fourmi
d_ref,other  ~ 3 longueurs de fourmi

3 - Types de contacts

Choisis (attraction puis freinage smooth) ou non choisis (freinage brusque). À voir si on l’inclut dans le modèle.

4 - Analyse du modèle et utilité

Biologistes intéressés par l’analyse spatiale du flux / à voir si l’on peut trouver une sorte de loi sur les données, et comparer avec les simulations.

—> comprendre l’organisation spatiale.

Notes réu Thomas

Model

\dot{X}_i = V_i,
V_i = u_i \; \hat{\Theta}_i,
\hat{\Theta}_i = \begin{pmatrix} \cos \theta_i \\ \sin \theta_i \end{pmatrix},
\mathrm{d} u_i = (\nu_{\rm c} + \textcolor{grey}{\nu_{\rm b}}) \left( \frac{\nu_{\rm c}}{\nu_{\rm c} + \textcolor{grey}{\nu_{\rm b}}} \, \xi - u_i \right) \mathrm{d} t,
\mathrm{d} \theta_i = \left(\textcolor{grey}{A} \cos \theta_i + (\textcolor{grey}{B} - g_i \, k) \, \sin \theta_i \right) \mathrm{d}t + \sqrt{2 \sigma} \; \mathrm{d} B_t^i
g_i \in \{-1,1\}
\xi, \nu_c > 0

constant

cruising

k > 0

constant

drive

\textcolor{grey}{\nu_{\rm b}}

not constant

braking

\textcolor{grey}{A,B}

not constant

attraction and steering

\sigma \geqslant 0

constant

noise

Expression of \(\nu_b\)

\dot{u}_i = (\nu_{\rm c} + \textcolor{grey}{\nu_{\rm b}}) \left( \frac{\nu_{\rm c}}{\nu_{\rm c} + \textcolor{grey}{\nu_{\rm b}}} \, \xi - u_i \right),
\textcolor{grey}{\nu_{\rm b}} = \sum_{j \in \mathcal{V}_i} c_{\rm brake} |\hat{\Theta}_i \cdot \sigma_{ij}|^{p_{\rm brake}} \times |V_i-V_j| \times \exp(-\frac{|X_i - X_j|}{l_{\rm size}} ) \times \mathbf{1}_{|X_i - X_j| \leqslant l_{\rm brake} }
\neq
+
X_i
\hat{\Theta}_i
+
\sigma_{ij} = \frac{X_j - X_i}{|X_j - X_i|}
X_j
l_{\rm size}
\epsilon_{\min} = 10^{-2}

Cruising and braking

2 (+2) parameters

l_{\rm brake}, \, c_{\rm brake} \;(+\epsilon_{\min} + p_{\rm brake})
p_{\rm brake} = 16

Observed use of each term

\dot{u}_i = (\nu_{\rm c} + \textcolor{grey}{\nu_{\rm b}}) \left( \frac{\nu_{\rm c}}{\nu_{\rm c} + \textcolor{grey}{\nu_{\rm b}}} \, \xi - u_i \right)
\textcolor{grey}{\nu_{\rm b}} = \sum_{j \in \mathcal{V}_i} c_{\rm brake} |\hat{\Theta}_i \cdot \sigma_{ij}|^{p_{\rm brake}} \times |V_i-V_j| \times \frac{1}{\max \left(\frac{|X_i - X_j|}{l_{\rm size}} - 1, \epsilon_{\min} \right)} \times \mathbf{1}_{|X_i - X_j| \leqslant l_{\rm brake} }

Cruising and braking

slows down the flow, enhance coolision 

fluidifies the traffic, less "bouchons"

Expression of \(A\) and \(B\)

\mathrm{d} \theta_i = \left(\textcolor{grey}{A} \cos \theta_i + (\textcolor{grey}{B} - g_i \, k) \, \sin \theta_i \right) \mathrm{d}t + \sqrt{2 \sigma} \; \mathrm{d} B_t^i
\begin{pmatrix} \textcolor{grey}{A} \\ \textcolor{grey}{B} \end{pmatrix} = \sum_{j \in \mathcal{V}_i} c_{\rm steer} \times |\hat{\Theta}_i \cdot \sigma_{ij}|^2 \times \left(1 - \frac{|X_i - X_j|}{l_{\rm steer}} \right) \times \mathbf{1}_{|X_i - X_j| \leqslant l_{\rm steer} } \; \sigma_{ij}^{\perp} \\ \qquad \qquad \qquad + \; c_{\rm attr} \times |\hat{\Theta}_i \cdot \sigma_{ij}^{\perp}|^2 \times \left(\frac{|X_i - X_j|}{l_{\rm steer}} - 1 \right) \times \mathbf{1}_{l_{\rm steer} \leqslant |X_i - X_j| \leqslant l_{\rm attr} }\sigma_{ij}

Attraction and steering

4 (x2) parameters

+
X_i
\hat{\Theta}_i
+
\sigma_{ij} = \frac{X_j - X_i}{|X_j - X_i|}
X_j
  • the more aligned, the stronger the steer
  • the more perpendicular, the stronger the attraction
  • linear decrease of the strength of the steer
  • linear decrease of the strength of the attraction
l_{\rm steer}, \, c_{\rm steer}, \, l_{\rm attr}, \, c_{\rm attr}
\mathrm{d} \theta_i = \left(\textcolor{grey}{A} \cos \theta_i + (\textcolor{grey}{B} - g_i \, k) \, \sin \theta_i \right) \mathrm{d}t + \sqrt{2 \sigma} \; \mathrm{d} B_t^i
\begin{pmatrix} \textcolor{grey}{A} \\ \textcolor{grey}{B} \end{pmatrix} = \sum_{j \in \mathcal{V}_i} c_{\rm steer} \times |\hat{\Theta}_i \cdot \sigma_{ij}|^2 \times \left(1 - \frac{|X_i - X_j|}{l_{\rm steer}} \right) \times \mathbf{1}_{|X_i - X_j| \leqslant l_{\rm steer} } \; \sigma_{ij}^{\perp} \\ \qquad \qquad \qquad + \; c_{\rm attr} \times |\hat{\Theta}_i \cdot \sigma_{ij}^{\perp}|^2 \times \left(\frac{|X_i - X_j|}{l_{\rm steer}} - 1 \right) \times \mathbf{1}_{l_{\rm steer} \leqslant |X_i - X_j| \leqslant l_{\rm attr} }\sigma_{ij}

Observed use of each term

drive

blend lines

make more lines /

more collisions

less lines head-to-back

less lines head-to-back

faster to get out