270 likes | 473 Views
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS. Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo. 1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones. Objetivo.
E N D
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Objetivo • Implantación del sistema operativo MaRTE OS en un robot móvil Pioneer Desde cero … Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Contenido • Sistemas de Tiempo Real • MaRTE OS y el robot Pioneer • Trabajo realizado • Aplicaciones desarrolladas • Conclusiones Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Definición Entorno • 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 • Algunos ejemplos: • Aviones • Coches • Trenes • Móviles • Electrodomésticos • Industria Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Funcionamiento de un airbag tiempo 25 ms 50 ms 1. Sensor de deceleración 2. Procesamiento 3. Actuación. Inflado de la bolsa 80 ms Respetar los plazos estrictamente Actuar tarde = FALLO Actuar antes = FALLO Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones ¿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 ROBOT SENSORES ORDENADOR ACTUADORES Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Hasta ahora Linux • 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Contenido • Sistemas de Tiempo Real • MaRTE OS y el robot Pioneer • MaRTE OS • Robot Pioneer • Entorno de desarrollo • Trabajo realizado • Aplicaciones desarrolladas • Conclusiones Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Robot móvil Pioneer • Elementos más importantes: Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Desarrollo de los controladores de los dispositivos Análisis Diseño Implementación Pruebas • Se han implementado los controladores de los sensores y actuadores • A nivel de driver MaRTE • Capa software para acceder a los dispositivos • Corrección de la línea serie • Controlador para la tarjeta inalámbrica Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Recursos a disposición del usuario • Ejemplos: • 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 • En conjunto: • 70 funciones C • 58 funciones Ada • Más de 5000 líneas de código implementadas • Otras miles revisadas Entorno de programación listo para usar Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones El protocolo RT-WMP Protocolo 802.11 Tiempos sin acotar • 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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) Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Navegación autónoma • RMS (prioridad al más frecuente) y techo de prioridad inmediato • Cumplimiento de plazos • Utilización conocida (66.83%) Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Comunicación inalámbrica • Se maneja el robot desde otra máquina (visualización y control). Tiempo acotado en el peor caso Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones ¿Seguro que es mejor que el sistema anterior? Demostración sencilla 4 m Inicio Fin • 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones Contenido • Sistemas de Tiempo Real • MaRTE OS y el robot Pioneer • Trabajo realizado • Aplicaciones desarrolladas • Conclusiones • Conclusiones • Dificultades • Trabajos futuros Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
1. Tiempo Real 2. MaRTE OS 3. Trabajo 3. Aplicaciones 4. Conclusiones 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 Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
¡Gracias por su atención! Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo