UNIVERSIDAD POLITÉCNICA DE VALENCIA Departamento de Informática de Sistemas y Computadores A RQUITECTURA PARA EL C R M ONTROL DE OBOTS ÓVILES MEDIANTE D C ELEGACIÓN DE ÓDIGO Y A GENTES TESIS DOCTORAL Presentada por: D. Juan Luis Posadas Yagüe Dirigida por: D. José Enrique Simó Ten Valencia, 2003 T D ESIS OCTORAL 11 de Julio de 2003 AGRADECIMIENTOS Quiero dejar constancia de mi agradecimiento a las tres personas que han hecho posible la consecución de esta tesis: a mi madre, quien me inspiró el deseo por el saber, a mi padre, quien siempre me ha apoyado proporcionándome todo aquello que he necesitado, y a mi director de tesis, quien me ha enseñado y orientado en todo el proceso de desarrollo. Por supuesto, no olvido al resto de personas que también me han ayudado con su esfuerzo y a quienes les estoy totalmente agradecido. Compañeros del grupo de investigación y proyectos con quienes comparto el trabajo desarrollado: Alfons, Paco, Pascual, Ginés, José Luis y Pedro. Mi compañero de despacho Juan Carlos por sus consejos. Y a mi novia Patricia por el tiempo que le he quitado y la paciencia que ha tenido. 5 RESUMEN Esta tesis se enmarca en el estudio de arquitecturas híbridas para el control de robots móviles inteligentes, así como en los sistemas de comunicaciones necesarios para su diseño e implementación. El principal objetivo de este trabajo ha sido la definición de una estructura modular y portable que permita el desarrollo rápido de sistemas de control de robots. Los robots móviles son agentes físicos que deben estar en continua interacción con el entorno dinámico en el que se mueven. Para ello, disponen de distintos tipos de sensores distribuidos en diferentes nodos cuya información debe utilizarse en el cálculo de las acciones a realizar en cada instante, de esta manera se obtiene un funcionamiento reactivo que consiste en realizar una correspondencia entre los valores de los sensores y las acciones a realizar por los actuadores (correspondencia que da lugar a los denominados patrones de comportamientos). Por otro lado, dicha información sensorial también debe ser integrada en el sistema distribuido para la obtención de un modelo simbólico del entorno que permita realizar procesos de planificación y predicción que tengan en cuenta tanto la información actual como la pasada, obteniéndose de esta forma un funcionamiento deliberativo o basado en conocimiento. La tendencia actual en el diseño de arquitecturas para robots móviles está basada en la combinación de ambos tipos de funcionamiento (arquitecturas híbridas) separándolos en dos niveles diferentes dentro de la arquitectura: nivel reactivo y nivel deliberativo. El nivel deliberativo debe encargarse de obtener los patrones de comportamientos cuya ejecución permita alcanzar los objetivos del robot, y el nivel reactivo debe encargarse de ejecutar dichos comportamientos asegurando la interacción en tiempo real con el entorno. En este sentido, el sistema de comunicaciones constituye la base para la interacción necesaria entre los niveles reactivo y deliberativo, debiendo permitir el acceso a la información sensorial que se encuentra distribuida en el sistema tanto por parte de las tareas reactivas como por parte de las tareas deliberativas. 7 Resumen El diseño del sistema de comunicaciones también deberá contemplar las diferentes restricciones temporales entre ambos niveles. Mientras que las tareas reactivas deben reaccionar en tiempo real estricto ante los cambios del entorno, por ejemplo para evitar un obstáculo, las tareas deliberativas no precisan de cotas temporales tan estrictas, pudiendo no cumplir con sus periodos de ejecución sin que ello lleve al sistema a una situación catastrófica. Las tareas deliberativas, para la construcción del modelo simbólico del entorno, deben realizar procesos de fusión espacio-temporal basados en los valores de los sensores. Para ello, será necesario que la información proporcionada por el sistema de comunicaciones esté caracterizada temporalmente mediante la antigüedad de la misma. De esta forma, los datos requeridos por los procesos podrán validarse a través de su antigüedad y utilizarse en función de la misma. Las diferentes tareas de los niveles deliberativo y reactivo suelen estructurarse de manera natural mediante componentes software independientes. Así, el diseño de las arquitecturas híbridas multinivel se basa en la modularidad software y ejecución independiente de sus componentes. Los comportamientos, proporcionados por el nivel deliberativo y ejecutados en el nivel reactivo, son procesos independientes que se ejecutan concurrentemente. La implementación de los comportamientos puede basarse en la “teoría de esquemas” según la cual un comportamiento es la combinación de al menos un esquema de percepción y un esquema motor. Modularidad e independencia son características innatas de los agentes software, lo cual les hace adecuados para el diseño e implementación de este tipo de arquitecturas. Teniendo en cuenta estos requerimientos, como tema central de la tesis se propone una arquitectura denominada SC-Agent para el control de robots móviles. Esta arquitectura es híbrida y distribuida, los niveles deliberativo y reactivo están compuestos por agentes software que pueden moverse entre los nodos del sistema con el objetivo de reducir los requerimientos de comunicación en el acceso a los datos. La arquitectura aporta un nuevo nivel semántico donde se especifican los componentes de la misma pero no su ubicación física. Un agente podrá decidir su ubicación óptima en función de índices de medida no convencionales basados en la antigüedad de los datos que reciba. La arquitectura también permite mediante el uso de los agentes móviles aplicar técnicas de delegación de código para realizar el control de los robots minimizando los problemas relacionados con la latencia de la red. Dicho control se basa en separar el tiempo necesario de las comunicaciones del tiempo necesario de procesamiento. En primer lugar se realiza el envío del código de control necesario a los nodos del robot y en segundo lugar se realiza la ejecución del mismo de forma local. Al ejecutarse localmente dicho código, en lugar de hacerse de forma remota, se facilita el cumplimiento de las restricciones de tiempo real estricto. El diseño de esta arquitectura se sustenta sobre un sistema de comunicaciones basado en una estructura de pizarra distribuida de objetos. El sistema de comunicaciones permite la interacción entre los distintos agentes de la arquitectura mediante una interfaz común para el acceso a los objetos de la pizarra. Los agentes 8 Tesis Doctoral podrán transmitir mensajes o enviar información al resto de agentes mediante la escritura y lectura de los objetos de la pizarra. Los datos o valores de dichos objetos están caracterizados temporalmente por el sistema a través de su antigüedad. El sistema de comunicaciones emplea un bus de tiempo real estricto para conectar los nodos que forman parte del nivel reactivo y un bus de tiempo real no estricto para conectar los nodos que forman parte del nivel deliberativo. El bus de tiempo real estricto ofrece al nivel reactivo predicción temporal en la transmisión de los datos y el bus de tiempo real no estricto ofrece al nivel deliberativo la transmisión de estructuras de datos más complejas como implica la transmisión de los agentes. Estos buses permiten asegurar las distintas restricciones temporales de ambos niveles. Mediante el empleo de objetos pasarela, el sistema de comunicaciones realiza las conversiones de datos necesarias entre los buses para permitir el acceso a la información sensorial e interacción con los actuadores por parte de ambos niveles de la arquitectura. La arquitectura y sistema de comunicaciones propuestos han sido implementados en diferentes aplicaciones industriales obteniéndose resultados satisfactorios. Además, se han realizado diferentes prototipos software que validan las distintas características ofrecidas. Finalmente, destacar que se ha obtenido una arquitectura de control general cuya modularidad software, basada en componentes de ejecución independientes que interaccionan a través de una pizarra de objetos distribuidos, permite su aplicación e implementación rápida sobre diferentes tipos de sistemas particularmente aquellos basados en el control de robots móviles. 9
Description: