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

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

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

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

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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 Francisco Javier Feijoo Cano Director: José Luis Villarroel Salcedo.

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

MaRTE OS

Francisco Javier Feijoo Cano

Director: José Luis Villarroel Salcedo