05.01.2015 Views

ROBOTS DE EXTERIORES - Centro de Automática y Robótica

ROBOTS DE EXTERIORES - Centro de Automática y Robótica

ROBOTS DE EXTERIORES - Centro de Automática y Robótica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Arquitectura Multi-Agente para la Interfaz <strong>de</strong> Usuario <strong>de</strong> un Vehículo<br />

Agrícola 181<br />

rando se preocupará más <strong>de</strong> transmitir al operario lo que “ve” el tractor<br />

(vi<strong>de</strong>o, láser, posición GPS), para ayudarle a guiar el tractor, y menos en<br />

informar sobre el estado <strong>de</strong> los agentes.<br />

Por último, el operario pue<strong>de</strong> <strong>de</strong>sear cambiar la ruta pre<strong>de</strong>finida, abriendo<br />

la ventana <strong>de</strong> “Ir a Punto”. En ese caso, el operario pinchará en una zona<br />

<strong>de</strong>l mapa actual (foto aérea georeferenciada), indicando que este <strong>de</strong>be<br />

ser el nuevo <strong>de</strong>stino <strong>de</strong>l tractor. En este caso, el agente Operación <strong>de</strong>be<br />

una vez más <strong>de</strong>sactivar todos los agentes, y activar el agente Ir a Punto,<br />

con la posición <strong>de</strong>seada, para que éste a su vez planifique la nueva ruta activando<br />

el agente Planificador.<br />

Cómo se pue<strong>de</strong> ver, gracias a esta arquitectura <strong>de</strong> agentes, conseguimos<br />

todos los objetivos propuestos: la interacción se produce simultáneamente<br />

en ambos sentidos gracias a la participación <strong>de</strong> ambos agentes, y <strong>de</strong> forma<br />

intuitiva y personalizada para el usuario, gracias al diseño <strong>de</strong> la GUI y a<br />

los dos agentes, Interfaz y Operación. En la siguiente sección se <strong>de</strong>scribe<br />

el entorno <strong>de</strong> simulación <strong>de</strong>sarrollado para probar esta arquitectura.<br />

3 Desarrollo y simulación<br />

Debido a las limitaciones <strong>de</strong> campo y al posible riesgo <strong>de</strong> pérdidas materiales,<br />

no se pue<strong>de</strong> probar un nuevo sistema sin antes simularlo y comprobar<br />

que funciona en simulación. Por eso, se ha simulado el sistema completo<br />

<strong>de</strong>scrito en la sección 3, tanto los agentes <strong>de</strong> los que se compone<br />

AGRO-AMARA como los propuestos para la interfaz, todo ello en un entorno<br />

C++.<br />

Primero se ha simulado el comportamiento <strong>de</strong> cada uno <strong>de</strong> los agentes<br />

<strong>de</strong> AGRO-AMARA siguiendo lo <strong>de</strong>scrito en (García-Pérez, 2004). La comunicación<br />

entre agentes se implementa a partir <strong>de</strong> “sockets”. Los datos<br />

<strong>de</strong> entrada, cómo los datos <strong>de</strong>l láser o <strong>de</strong> localización DGPS, que <strong>de</strong>volverían<br />

los sensores <strong>de</strong>l tractor, se han simulado mediante trazas en varios archivos<br />

que utilizan los agentes simulados para generar las salidas.<br />

Una vez construido el simulador, se ha <strong>de</strong>sarrollado la interfaz gráfica<br />

<strong>de</strong> usuario, y sobre ella se han encapsulado los dos agentes Interfaz y Operación.<br />

La GUI se compone <strong>de</strong> la ventana principal, que contiene el resto<br />

<strong>de</strong> ventanas <strong>de</strong> información, así cómo a los botones asociados a las acciones<br />

que pue<strong>de</strong> realizar el operario (parada, tele operación, re<strong>de</strong>finir la ruta).<br />

En la Fig. 2 se muestran las distintas ventanas; la Fig. 2a muestra la ventana<br />

<strong>de</strong> los estados <strong>de</strong> los agentes, que el agente interfaz actualiza cada vez<br />

que un agente <strong>de</strong> AGRO-AMARA cambia su estado. La Fig. 2b muestra la

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!