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
2
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
3
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
4
1. Tiempo Real
2. MaRTE OS
3. Trabajo
3. Aplicaciones
4. Conclusiones
Definición
• Sistema informático que interacciona
repetidamente con su entorno, realizando
acciones de control en intervalos de
tiempo bien definidos (rápido)
Entorno
– 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
5
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
Actuar tarde = FALLO
Respetar los plazos
estrictamente
Actuar antes = FALLO
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
6
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
– Control basado en el periodo de
muestreo
ROBOT
• Una aplicación de control sobre el
robot (navegación) se ejecuta con
plazos fijos
SENSORES
ORDENADOR
ACTUADORES
Necesita ser determinista
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
7
1. Tiempo Real
2. MaRTE OS
3. Trabajo
3. Aplicaciones
4. Conclusiones
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
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
Linux
8
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
9
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
10
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
11
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
12
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
13
1. Tiempo Real
2. MaRTE OS
3. Trabajo
3. Aplicaciones
4. Conclusiones
Desarrollo de los controladores de los
dispositivos
• Se han implementado los controladores de los sensores y
actuadores
Corrección de la línea serie
– A nivel de driver MaRTE
Controlador para la tarjeta inalámbrica
– Capa software para acceder a los dispositivos
Análisis
Diseño
Implementación
Pruebas
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
14
1. Tiempo Real
2. MaRTE OS
3. Trabajo
3. Aplicaciones
4. Conclusiones
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)
Entorno de programación
listo para usar
Ejemplos:
ADA
C
p2osGetXPos
p2osGetXPos()
p2osSetSpeed(a,b)
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
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
15
1. Tiempo Real
2. MaRTE OS
3. Trabajo
3. Aplicaciones
4. Conclusiones
El protocolo RT-WMP
• Protocolo de comunicaciones
inalámbricas en desarrollo en la
Universidad de Zaragoza
• Hasta ahora se utilizaba con Linux
Protocolo 802.11
Tiempos sin acotar
Protocolo RT-WMP
Tiempo de transmisión
acotado en el peor caso
• Se ha implementado en MaRTE para
comunicar el robot con el exterior
Comunicación en tiempo real para un
SO de tiempo real
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
16
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
17
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
18
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
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
397.5
1.867
0
19
Actualiza Láser
Servidor P2OS
22
Servidor Láser
21
• Cumplimiento de plazos
• Utilización conocida (66.83%)
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
19
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
20
1. Tiempo Real
2. MaRTE OS
3. Trabajo
3. Aplicaciones
4. Conclusiones
¿Seguro que es mejor que el sistema anterior?
• Sin sobrecarga (0.2 m/s)
Demostración
sencilla
– Linux
– MaRTE
Inicio
4
Fin m
+10 cm
+2 cm
• Con sobrecarga (0.2 m/s)
– Linux
– MaRTE
+100 cm
+2 cm
• 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
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
21
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
22
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
23
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
24
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
25
¡Gracias por su atención!
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
Francisco Javier Feijoo Cano
Director: José Luis Villarroel Salcedo
Descargar

Conclusiones - MaRTE OS - Universidad de Cantabria