Skip to content

[Mirror] Urban mobility simulation using a group of agents representing cars in a city. These agents have different and randomly chosen destinations; their aim is to reach those locations.

License

Notifications You must be signed in to change notification settings

JoaquinBadillo/DuckCity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multiagentes

Este proyecto simula la movilidad de un grupo de agentes que representan coches en una ciudad. Estos agentes tienen distintos destinos que se escogen de forma aleatoria y tienen como objetivo llegar a dichas ubicaciones.

Se asume que los agentes conocen la ciudad, por lo que pueden calcular rutas eficientes (en términos de disntacia) usando A*, sin embargo, no conocen la ubicación de los demás agentes, por lo que sus rutas no siempre serán las mejores considerando el tiempo que les tomará llegar a su destino. Por esta razón cuentan con otros comportamientos para tomar decisiones autónomas que les permitan navegar la ciudad y tratar de evitar congestionamientos.

Stack de Tecnología

Python Flask Docker Blender Unity

Uso

Levantar el Servidor

Hay muchas maneras de levantar el servidor, aquí enlistamos algunas que evitan instalar paquetes globalmente.

Usando Docker Compose

cd Backend && \
docker compose up

Usando únicamente el Dockerfile

cd Backend && \
docker build -t multiagentes . && \
docker run -v $(pwd):/app -p 8080:8080 multiagentes

Usando venv

cd Backend && \
python3 -m venv .venv && \
source .venv/bin/activate && \
pip install -r requirements.txt && \
python3 app.py

Levantar el Cliente

Es importante que el servidor esté corriendo para que la visualización funcione correctamente.

El cliente de esta visualización está hecho con Unity. La forma más sencilla de utilizarlo es instalar Unity Hub, abrir el proyecto y abrir la escena Assets/Scenes/Agents.unity. Una vez que esté abierta la escena, se puede ejecutar la visualización presionando el botón de play.

Simulación de muestra

Para ver una ejemplo de la simulación en Unity por favor consulten la siguiente liga a Google Drive: Simulación

Contribuciones

Este proyecto se realizó para una clase de Gráficas Computacionales y Multiagentes. Después de su entrega aceptamos contribuciones de cualquier tipo, ya sea código, documentación, ideas, etc. Para contribuir, por favor sigue los siguientes pasos:

  1. Crea un fork del repositorio
  2. Crea una rama con el nombre de la funcionalidad que quieres agregar
  3. Haz tus cambios
  4. Crea un pull request

About

[Mirror] Urban mobility simulation using a group of agents representing cars in a city. These agents have different and randomly chosen destinations; their aim is to reach those locations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published