Título: «Diseño e implementación de un sistema embebido de navegación por estima para la localización de robots móviles en ambientes de interiores”
Resumen
En el marco del proyecto de investigación “Identificación, Evaluación y Adaptación de Componentes de Hardware y Software para Sistemas Embebidos Parte II” se está diseñando y construyendo un prototipo de robot autónomo de servicio. Los robots móviles capaces de realizar navegación autónoma están equipados con sensores y actuadores, y utilizan generalmente cinco subsistemas de software: percepción, localización, cognición, planificación y control. El primer paso es la percepción y la localización. La posición actual del robot se puede obtener mediante la detección de características del ambiente, lo que se denomina localización global. Cuando estos datos no están disponibles, el robot debe utilizar un método complementario llamado localización local o navegación por estima. Este método utiliza sensores propioceptivos para obtener información interna del robot, como la orientación, aceleración, o la rotación de las ruedas. El prototipo de robot mencionado cuenta con un sistema de localización global para funcionar en espacios interiores. Debido a que los sistemas de localización global requieren siempre de un sistema complementario, la motivación de este trabajo es estudiar la navegación por estima y una implementación particular llamada odometría.
En esta tesis se presenta el diseño e implementación de un prototipo de sistema embebido que implementa odometría utilizando dos tipos de sensores: encoders ópticos incrementales y magnetómetro. Los primeros se utilizan para medir la rotación de la rueda que se traduce en desplazamiento lineal. El último se utiliza para obtener información de orientación del robot, como lo haría una brújula. Se propone un diseño de arquitectura con cuatro capas: aplicación, sistema operativo, controladores de dispositivos y hardware. Xinu se utilizó como sistema operativo de tiempo real para gestionar tareas de la capa de aplicación de manera concurrente. Una de las tareas es la odometría en sí, objetivo principal de esta tesis, y utiliza los controladores (drivers) implementados para comunicarse con los sensores y obtener mediciones, que luego son integradas para calcular una estimación de la trayectoria del robot.
El sistema prototipo realiza una estimación a partir de los valores adquiridos de los sensores, y la posición y orientación previa. Como cada sensor presenta un margen de error, el error de posicionamiento crece indefinidamente en el tiempo.
Por lo tanto, fue necesario evaluar el sistema para conocer el error esperable. Se caracterizó a cada sensor realizando pruebas unitarias. Luego, se realizó el experimento UMBmark (University of Michigan Benchmark), donde el robot recorrió una trayectoria extensa rectangular, mientras realizaba el proceso de odometría. Como resultado se obtuvieron las trayectorias estimadas por el sistema, y se calcularon los errores de posicionamiento.
Se presentan los resultados de estos experimentos. El mecanismo de rumbo, que utiliza el magnetómetro, reporta una media de ±1,88 grados del valor esperado, lo que introduce un error de posicionamiento igual al 3,29% de la distancia recorrida. La estimación del desplazamiento en base a la medición del giro de las ruedas, que utiliza los encoders, introduce un error de posicionamiento igual a 1,27% de la distancia recorrida. Esto demuestra que los errores de orientación tienen mayor influencia en el error de posicionamiento estimado del sistema.
En base a los resultados se concluye que el prototipo propuesto puede utilizarse en períodos de tiempo donde el error de posicionamiento sea tolerable para la aplicación que realiza el robot. Después de ese tiempo se debe utilizar el sistema de localización global para eliminar este error.