Fundamental diagram of traffic.

Aplicaciones de Python a la ingeniería Civil - Tráfico.

Python, y la programación en general, no son solo herramientas que pueden utilizar los ingenieros informáticos. La realidad es que la programación es una herramienta muy útil en cualquier trabajo técnico e incluso también en trabajos "de letras".
Para demostrar esto vamos a ver el diagrama fundamental del tráfico. En el que se basa toda la ciencia del tránsito y modelaje del mismo. Lo que vamos a demostrar aquí es la base de la ciencia que decide cuánto tiempo ha de durar el verde del semáforo de al lado de tu casa, cuantos carriles ha de haber en la autovía, etc.
Para obtener el diagrama fundamental vamos a utilizar datos abiertos de Fochzentrum Jülich. En esta institución realizaron a partir de 2010 experimentos que consistían en hacer que una gran cantidad de personas recorriera pasillos, intersecciones de pasillos, etc. Cada persona llevaba un gorro con un código QR y unas cámaras situadas sobre ellos guardaba sus posiciones 25 veces por segundo.

BaSiGo Project

Nuestro experimento. Pasillo unidirecional.

Vamos a estudiar este experimento. Em el cual los participantes en el experimento tenían que recorrer un pasillo de izquierda a derecha. El pasillo mide 18 metros, nosotros analizaremos que pasa en los 10 metros centrales. El experimento empieza con una entrada de 1 metro de ancho y una salida de 5 metros de ancho. En cada repetición del experimento la entrada se agranda y la salida se achica, como podemos ver en las imágenes inferiores:

Setup Width

Al principio la entrada es estrecha y la salida es muy ancha, esto permite que los participantes fluyan sin impedimento alguno. Con cada repetición del experimento y con el estrechamiento de la salida se va creando un cuello de botella.
Para analizar este experimento vamos a utilizar pandas y para interpretar el resultado utilizaremos Holoviz. No voy a describir el código, puedes encontrar el mismo aquí.

Definamos el diagrama fundamental del tráfico. Es un gráfico que compara flujo y densidad y también tiene en cuenta la velocidad. Vamos a describir cada una de estas variables:

  • Densidad: Cantidad de participantes en el pasillo en un momento dado dividido por el area del pasillo.
  • Flujo: Cantidad de gente que cruza la salida del pasillo por segundo.
  • Velocidad: Velocidad media de todos los participantes en un momento dado.

Vamos a dibujar la densidad en el eje X y el flujo en el eje Y. El color de cada uno de los puntos representará la velocidad.

Aquí podemos ver el diagrama fundamental resultado de la primera repetición del experimento, en la cual la entrada es de 1 metro y la salida es de 5 metros de ancho.

In [6]:
import holoviews as hv
import hvplot.pandas
hv.extension('bokeh')
uni_corr_exp[0].plot_fd().opts(xlim=(0,3),ylim=(0,2.5))