Descargar

Control de tiempo real estricto en un robot móvil basado en MaRTE OS

Enviado por Pablo Turmero


    edu.red 1 Objetivo Implantación del sistema operativo MaRTE OS en un robot móvil Pioneer Desde cero …

    edu.red 2 Contenido Sistemas de Tiempo Real MaRTE OS y el robot Pioneer Trabajo realizado Aplicaciones desarrolladas Conclusiones

    edu.red 3 Contenido Sistemas de Tiempo Real Definición Ejemplo. Funcionamiento de un airbag Sistema de tiempo real en robótica MaRTE OS y el robot Pioneer Trabajo realizado Aplicaciones desarrolladas Conclusiones

    edu.red 4 Definición Sistema informático que interacciona repetidamente con su entorno, realizando acciones de control en intervalos de tiempo bien definidos (rápido) Los fallos por no responder a tiempo son tan malos como un mal resultado Sistema de propósito general: Busca el mayor rendimiento medio del procesador (modifica la ejecución de tareas, altera prioridades, …) Multiaplicación, multiusuario, multiprocesador (Gp:) Entorno Algunos ejemplos: Aviones Coches Trenes Móviles Electrodomésticos Industria

    edu.red 5 Funcionamiento de un airbag 25 ms tiempo 50 ms 80 ms Actuar tarde = FALLO Actuar antes = FALLO 1. Sensor de deceleración 2. Procesamiento 3. Actuación. Inflado de la bolsa Respetar los plazos estrictamente

    edu.red 6 ¿Necesario en robótica? Un robot es un sistema compuesto por sensores, un ordenador que procesa la información y actuadores Una aplicación de control sobre el robot (navegación) se ejecuta con plazos fijos Control basado en el periodo de muestreo Necesita ser determinista ORDENADOR SENSORES ACTUADORES ROBOT

    edu.red 7 Hasta ahora Linux + Player Control de los dispositivos del robot (navegación, visión, comunicación) Entorno cómodo (compilar y listo) Ideal para simular aplicaciones robóticas Pero: El SO (el planificador) puede retrasar la lectura de los sensores y la actuación Descontrol, no determinista (Gp:) Linux

    edu.red 8 Contenido Sistemas de Tiempo Real MaRTE OS y el robot Pioneer MaRTE OS Robot Pioneer Entorno de desarrollo Trabajo realizado Aplicaciones desarrolladas Conclusiones

    edu.red 9 MaRTE OS MaRTE OS (Minimal Real-time Embedded Operative System) ofrece las herramientas necesarias para que nuestro sistema se comporte en tiempo real Desarrollado en la Universidad de Cantabria POSIX13, prioridades fijas, relojes de tiempo real, mutexes, planificación expulsiva, servidor esporádico, etc

    edu.red 10 Robot móvil Pioneer Elementos más importantes:

    edu.red 11 Entorno de desarrollo Entorno de desarrollo cruzado Fallos difíciles de encontrar (mirar los bytes, casi ensamblador, etc.) Lento: Compilar en el ordenador, reiniciar el robot y vuelta a empezar

    edu.red 12 Contenido Sistemas de Tiempo Real MaRTE OS y el robot Pioneer Trabajo realizado Desarrollo de los controladores de los dispositivos Recursos a disposición del usuario El protocolo RT-WMP Aplicaciones desarrolladas Conclusiones

    edu.red 13 Desarrollo de los controladores de los dispositivos Se han implementado los controladores de los sensores y actuadores A nivel de driver MaRTE Capa software para acceder a los dispositivos (Gp:) Análisis (Gp:) Diseño (Gp:) Implementación (Gp:) Pruebas Corrección de la línea serie Controlador para la tarjeta inalámbrica

    edu.red 14 Recursos a disposición del usuario Conjunto amplio de funciones para utilizar los dispositivos Probadas cada una de ellas Se ha caracterizado temporalmente el sistema (relojes de ejecución) ADA p2osGetXPos p2osSetSpeed(a,b) C p2osGetXPos() p2osSetSpeed(a,b) p2osGetXPos ………………… 3’94 µs readLMSValues ……………… 1’867 ms Entorno de programación listo para usar Ejemplos: En conjunto: 70 funciones C 58 funciones Ada Más de 5000 líneas de código implementadas Otras miles revisadas

    edu.red 15 El protocolo RT-WMP Protocolo de comunicaciones inalámbricas en desarrollo en la Universidad de Zaragoza Hasta ahora se utilizaba con Linux Se ha implementado en MaRTE para comunicar el robot con el exterior Comunicación en tiempo real para un SO de tiempo real Protocolo RT-WMP Tiempo de transmisión acotado en el peor caso Protocolo 802.11 Tiempos sin acotar

    edu.red 16 Contenido Sistemas de Tiempo Real MaRTE OS y el robot Pioneer Trabajo realizado Aplicaciones desarrolladas Navegación autónoma Comunicación inalámbrica Algunos resultados Conclusiones

    edu.red 17 Navegación autónoma El robot sigue a un objetivo móvil, evitando obstáculos (tracking + ND) Estudio completo de planificabilidad (planificación de tareas anterior a la ejecución)

    edu.red 18 Navegación autónoma Cumplimiento de plazos Utilización conocida (66.83%) RMS (prioridad al más frecuente) y techo de prioridad inmediato

    edu.red 19 Comunicación inalámbrica Se maneja el robot desde otra máquina (visualización y control). Tiempo acotado en el peor caso

    edu.red 20 ¿Seguro que es mejor que el sistema anterior? En un sistema convencional con carga en el procesador, el robot deja de funcionar correctamente En MaRTE, las tareas de mayor prioridad no se ven afectadas nunca por otras tareas Sin sobrecarga (0.2 m/s) Linux +10 cm MaRTE +2 cm Con sobrecarga (0.2 m/s) Linux +100 cm MaRTE +2 cm (Gp:) 4 m (Gp:) Inicio (Gp:) Fin (Gp:) Demostración sencilla

    edu.red 21 Contenido Sistemas de Tiempo Real MaRTE OS y el robot Pioneer Trabajo realizado Aplicaciones desarrolladas Conclusiones Conclusiones Dificultades Trabajos futuros

    edu.red 22 Conclusiones Se dispone, por primera vez, de un entorno de tiempo real para trabajar con los robots Pioneer Existe un conjunto amplio de funciones para el programador (muy parecido a lo que había hasta ahora) MaRTE OS ha sido ampliado y mejorado Soporte en MaRTE para RT-WMP

    edu.red 23 Dificultades Se ha realizado el trabajo desde cero. No existía nada relativo a robótica con MaRTE OS Se ha trabajado con hardware, a bajo nivel. Algunos elementos no funcionaban Es difícil “vender” sistemas de tiempo real Nadie a mi alrededor conocía MaRTE OS

    edu.red 24 Trabajos futuros Ampliar la funcionalidad de MaRTE en el robot (cámaras, joystick, gráficos, etc.) Adaptar otros algoritmos que mejoren el sistema de control del robot Conseguir aplicaciones robóticas robustas y fiables