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

27
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo

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

Page 1: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26

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

¡Gracias por su atención!

Page 27: 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