Animación de simulación de transporte de camiones en Python

En este artículo compartiré un ejemplo de animación de simulación de eventos discretos en Python. Más específicamente, una animación de simulación de transporte de camiones para una mina, utilizando SimPy y DesViz en Python. Este ejemplo, y el módulo DesViz, fueron desarrollados por el Prof. Paul Corry y su equipo y comparto su ejemplo en esta publicación. Con el uso de DesViz SimPy, los desarrolladores de modelos pueden animar su modelo de simulación .

A continuación se muestra una animación de un modelo de simulación de transporte de camiones de SimPy para operaciones mineras.

El ejemplo está documentado y disponible en el repositorio GitHub de Paul Corry: https://github.com/corryp/DesViz

¿Cómo se puede utilizar DesViz para la animación de simulación en Python?

Citando directamente de la documentación de DesViz:

DesViz es una colección de clases y funciones de Python que facilitan la animación asincrónica para modelos de simulación de eventos discretos ( DES ). Está construido sobre el paquete Pyglet que proporciona la funcionalidad gráfica subyacente. DesViz permite que un modelo DES escriba un archivo csv que luego DesViz interpreta para configurar y mover sprites que representan objetos de fondo y primer plano en la simulación. Cada línea del archivo csv proporciona el tiempo de simulación, una instrucción de animación y un conjunto de argumentos relacionados con esa instrucción. Estas instrucciones proporcionan un método compacto para especificar la apariencia y los movimientos de los sprites de manera que sean útiles en un contexto DES .Documentación de DesViz, por Paul Corry

Los desarrolladores de SimPy pueden utilizar DesViz para animar su modelo de simulación , en un enfoque de dos pasos. Primero, deben utilizar la biblioteca DesViz para generar y almacenar datos de animación. A continuación, la animación se utiliza para representar una animación.

A continuación se muestran algunos ejemplos de lo que puede animar con DesViz:

  • Movimientos de un punto de píxel a otro o a lo largo de rutas predefinidas, con orientaciones automáticas de objetos.
  • ajustar las orientaciones de los objetos, es decir, animar las rotaciones de los objetos
  • definir relaciones maestro-esclavo entre objetos para fines de animación, por ejemplo, camión (maestro) y remolque (esclavo)
  • barras de progreso, ya sea estáticas o adjuntas a otro objeto (es decir, moviéndose junto con el objeto asociado)
  • etiquetado, anotaciones e imágenes de fondo
  • velocidad de animación definida (intervalo de fotogramas, es decir, fps – fotogramas por segundo)

Debajo del capó, DesViz llena una base de datos (archivo csv) con instrucciones de animación definidas. Estas instrucciones deben implementarse en la propia aplicación de simulación. La base de datos subyacente se completa durante la ejecución de la simulación y luego se utiliza para representar la animación. Para ello, DesViz proporciona una variedad de clases, métodos y funciones.

Contenido relacionado

Si está interesado en aprender más sobre la simulación de eventos discretos y la implementación de modelos relacionados en Python, es posible que le interesen las siguientes publicaciones del blog:

Si está interesado en aprender más sobre la simulación y sus casos de uso en la industria minera, puede que le interesen los siguientes artículos:

You May Also Like

Leave a Reply

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.