viernes, 2 de mayo de 2008

El Simulador Rescue

Buscando datos sobre la RoboCup-Rescue, nos hemos dado cuenta de la poca información que existe acerca del proyecto y de los programas que utiliza. Pero hablaremos más acerca de ello en otro post.

Lo que vamos a ver hoy es cómo instalar y ejecutar el simulador Rescue Simulator. Lo podéis encontrar en la página de la RoboCup-Rescue, en la sección Sourceforge. Este simulador está formado por los simuladores de civiles, tráfico e incendios, todos ellos conectados por un Kernel; y por los agentes que interpretan el papel de policías, bomberos y ambulancias. Estos agentes son los que se deben implementar para la competición que el jurado evaluará.
Tras bajaros el paquete y descomprimirlo, hay que compilar el kernel y los simuladores. Para ello nos dirigimos al directorio programs y compilamos con make.
Ahora ejecutaremos el simulador. Esto lanzará una plataforma con el kernel y los simuladores en varios terminales, y un visualizador en 2D hecho en java. Bajo el directorio boot, escribimos:
./all.sh
Veremos algo como esto:


Con este comando ejecutaremos el simulador con el mapa que viene por defecto (Kobe). Los mapas están en el directorio map, si queremos cambiarlo solo hay que añadir el nombre del mapa:
./all.sh Foligno
y lanzará el simulador con el mapa Foligno. Vemos que la simulación está compuesta por calles, edificios y círculos de varios colores. Los azules son la policía, los rojos los bomberos y los blancos las ambulancias. Los civiles son los verdes. Un agente tiene puntos de vida, y cuando llegan a cero (es decir, el agente muere) el círculo se vuelve de color negro. Los edificios en llamas pasan del gris al naranja, hasta el negro (totalmente carbonizados).
Por ahora no vemos mucho movimiento en el mapa, pero eso es porque no hemos lanzado los agentes de rescate todavía. En la línea de comandos escribimos:
./sampleagent.sh
y los civiles comenzarán a pedir ayuda. Veremos también como los agentes de rescate se dirigen a sofocar incendios o ayudar a los civiles. Por el momento esto es lo básico para comenzar si queréis hacer algo en la Rescue Agents Competition. Ahora solo queda realizar una buena implementación de los agentes para obtener la mayor puntuación posible.

Hoy hemos visto la plataforma que se utiliza para lanzar los agentes en el simulador Rescue, sus diferentes componentes y las clases de agentes que interactúan en él. En breve comentaremos por qué consideramos esta plataforma un sistema multiagente y la idoneidad de utilizar agentes en el problema que trata.

No hay comentarios: