Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Post on 05-Jan-2016

51 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of 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

2Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Objetivo

• Implantación del sistema operativo MaRTE OS en un robot móvil Pioneer

Desde cero …

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

3Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Contenido

• Sistemas de Tiempo Real

• MaRTE OS y el robot Pioneer

• Trabajo realizado

• Aplicaciones desarrolladas

• Conclusiones

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

4Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

5Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

Entorno

Algunos ejemplos:-Aviones-Coches-Trenes-Móviles-Electrodomésticos-Industria

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

6Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

7Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

¿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

RO

BO

T

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

8Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

Linux

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

9Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Contenido

• Sistemas de Tiempo Real

• MaRTE OS y el robot Pioneer

– MaRTE OS

– Robot Pioneer

– Entorno de desarrollo

• Trabajo realizado

• Aplicaciones desarrolladas

• Conclusiones

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

10

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

11

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Robot móvil Pioneer

• Elementos más importantes:

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

12

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

13

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

14

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

Análisis

Diseño

Implementación

Pruebas

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

Corrección de la línea serie

Controlador para la tarjeta inalámbrica

15

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

16

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

17

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

18

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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)

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

19

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Navegación autónoma1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

• Cumplimiento de plazos

• Utilización conocida (66.83%)

Tarea Periodo Cómputo Bloqueo Techo de prioridad

Prioridad

INT láser 0.4196 0.029 0 HW

INT Micro 0.833 0.029 0 HW

Actualiza P2OS 100 0.062 0.02186 22

Navegación 100 50 1.1226 21

Visualización 200 12 0.001 20

Actualiza Láser 397.5 1.867 0 19

Servidor P2OS 22

Servidor Láser 21

• RMS (prioridad al más frecuente) y techo de prioridad inmediato

20

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Comunicación inalámbrica

• Se maneja el robot desde otra máquina (visualización y control). Tiempo acotado en el peor caso

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

21

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

¿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

4 mInicio Fin

Demostración sencilla

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

22

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

Contenido

• Sistemas de Tiempo Real

• MaRTE OS y el robot Pioneer

• Trabajo realizado

• Aplicaciones desarrolladas

• Conclusiones

– Conclusiones

– Dificultades

– Trabajos futuros

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

23

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

24

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

25

Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS

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

1. Tiempo Real2. MaRTE OS 3. Trabajo3. Aplicaciones4. Conclusiones

26

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

Francisco Javier Feijoo Cano

Director: José Luis Villarroel Salcedo