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.
Hay muchas maneras de levantar el servidor, aquí enlistamos algunas que evitan instalar paquetes globalmente.
cd Backend && \
docker compose up
cd Backend && \
docker build -t multiagentes . && \
docker run -v $(pwd):/app -p 8080:8080 multiagentes
cd Backend && \
python3 -m venv .venv && \
source .venv/bin/activate && \
pip install -r requirements.txt && \
python3 app.py
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.
Para ver una ejemplo de la simulación en Unity por favor consulten la siguiente liga a Google Drive: Simulación
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:
- Crea un fork del repositorio
- Crea una rama con el nombre de la funcionalidad que quieres agregar
- Haz tus cambios
- Crea un pull request