Author: José Antonio Pacheco Sánchez

Arquitectura de software para un sistema robótico móvil

José Antonio Pacheco Sánchez (2005)

Uno de los principales retos de los sistemas de software es el incremento en el número y la complejidad de los elementos que los componen. El diseño y organización de las estructuras de estos sistemas radica en las especificaciones de mecanismos de control, protocolos de comunicación y aspectos de tolerancia a fallas. A este trabajo, se le conoce como el diseño de arquitecturas de software. En el campo de la robótica móvil, se han realizado diferentes diseños que han ido evolucionando a través de los años, aunque la gran mayoría coincide en un estilo arquitectónico basado en capas y en la organización jerárquica de los componentes que la integran.

En esta tesis se propone un enfoque arquitectónico basado en tres capas para un sistema robótico móvil. Las tres capas son: la capa funcional, la capa de ejecución y la capa de decisión. En la capa funcional se definen las interfaces que se necesitan para controlar los dispositivos físicos del robot. En la capa de ejecución o capa intermedia se ubican los componentes que proveen la funcionalidad que un robot necesita para realizar tareas, por ejemplo la navegación y la interacción humano-robot. En la capa de decisión o de más alto nivel, se proponen coordinadores para manejar los aspectos deliberativos de la arquitectura. Esta capa también contiene un modelo del mundo conformado por diferentes variables de estado, cuya combinación genera una política de acción a efectuar por el robot. Se considera también el modelo como una arquitectura extendida debido a que se sientan las bases para el establecimiento de servicios remotos y su respectiva integración dentro del modelo de capas. El modelo considera el aspecto de tolerancia a fallas analizando situaciones de alto nivel a través de un coordinador y generando una base de datos de los diferentes errores específicos de cada componente, asimismo se establecen caracterizaciones para situaciones de fallas de bajo nivel mismas que están relacionadas con los dispositivos físicos del robot.

La evaluación de la arquitectura consistió en la definición de una aplicación de prueba cuya finalidad fue la de controlar un robot a través de un asistente personal digital donde se integraron cuatro componentes dentro de la capa de ejecución (navegación, localización, planeación e interfaz humano-robot utilizando un asistente personal digital), un coordinador de movilidad y otro de fallas ubicados en el nivel de decisión y la implementación como middleware del proyecto Player/Stage[1], como la capa funcional que proporciona interfaces de acceso a los sensores y actuadores con la finalidad de integrar un robot móvil de servicio. Las pruebas se realizaron utilizando una infraestructura distribuida y se usaron robots reales. Los resultados arrojaron que la arquitectura propuesta cumplió con los requerimientos asignados y las tareas se llevaron a cabo correctamente.

Master thesis

INGENIERÍA Y TECNOLOGÍA CIENCIAS TECNOLÓGICAS TECNOLOGÍA DE LOS ORDENADORES TEORÍA DE LA PROGRAMACIÓN