introducción a la robótica mecanismos avanzados coordinación de ciencias computacionales, inaoe...

37
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales [email protected] [email protected]

Upload: daniel-moreno-prado

Post on 24-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Introducción a la Robótica

mecanismos avanzados

Coordinación de CienciasComputacionales, INAOE

Dra Angélica Muñoz Dr Eduardo [email protected] [email protected]

Page 2: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Construcción de Mapas

2

Page 3: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Construcción de Mapas

Involucra resolver simultáneamente dos problemas:

• Construir un mapa

• Localizarse

SLAM (Simultaneous Lozalization And Mapping)

3

Page 4: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

El Problema de SLAM

4

Page 5: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Aspectos

Se requiere: Representación: cómo representar el mapa Adquisición: percepción del ambiente y

actualización de mapa Localización: mantener localizado al robot Exploración: estrategia para cubrir el ambiente

5

Page 6: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Retos

Espacios grandes Localización y mapeo simultaneo Falta de marcas distinguibles Incertidumbre en la percepción y en los

actuadores Reconocimiento de ciclos

6

Page 7: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Mapeo probabilista

• Desde el punto de vista probabilista, el problema SLAM consiste en estimar la pose del robot (X) y el mapa (M) dadas las acciones (U) y las observaciones (Z). Puede ser:

• On-line SLAM (solo la posición actual):

• On-line full SLAM (toda la trayectoria):

),|,( :1:1 ttt uzmxP

),|,( :1:1:1 ttt uzmxP

7

Page 8: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Modelo Gráfico

Page 9: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Modelo Gráfico (full SLAM)

Page 10: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Mapa de rejilla probabilista

• Cada celda tiene asociada una probabilidad de estar ocupada

Page 11: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Mapa basado en rejilla

Una representación basada en rejillas facilita la construcción de mapas ya que:

Estima la probabilidad de ocupación de cada celda de forma independiente

Permite realizar una fusión natural de datos Su principal problema es el posible número de

celdas para espacios grandes

Page 12: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Construcción de mapas (Romero 2002)

12

Page 13: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Construcción de mapas Sonares Laser Mapa

¿Cómo combinar las lecturas de los sensores? ¿Hacia dónde mover el robot ¿Cómo corregir errores odométricos?

13

Page 14: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Fusión sensorial en rejilla de celdas

Definir modelos de los sensores Combinar todas las medidas que se obtienen de

cada rejilla al moverse el robot Asumir que las diferentes mediciones son

independientes Combinar usando un OR probabilista

Page 15: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Actualización de probabilidades

Se obtienen varias medidas de cada celda al moverse el robot y se combinan usando un enfoque bayesiano:

Se asume que las medidas son independientes y se combina con la información de las lecturas anteriores con la nueva lectura de forma incremental

),...,,|( 21 NSSSOP

Page 16: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Combinación

Page 17: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Exploración

17

Moverse hacia celdas inexploradas Mantenerse alejado de los objetos Evitar cambios de orientación Considerar limitaciones perceptuales

Page 18: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Programación dinámica

Costo acumulado de viaje a la celda no explorada más cercana

Inicio:

Regla de actualización

(girar) )},(

(avanzar) )),(),,((

celda) (sig. ),(min{),(

jiC

dydxyxC

dyydxxVyxV

giro

mov

ji

),( yxVi

explorada es y)(x, celda la si

ainexplorad es y)(x, celda la si 0),(

yxVi

Page 19: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Al considerar rotaciones

Con más rotaciones Con menos rotaciones

19

Page 20: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Ejemplo

20

Page 21: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Robot real

21

Page 22: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Ejemplo

22

Page 23: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Otros ejemplos

23

Page 24: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

24

Más ejemplos

Page 25: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Otros enfoque de exploración

Existen otros enfoques de exploración como:“bug”: va en línea recta evadiendo obstáculos

Espiral: busca en rayos divergentes aumentado su distancia

Page 26: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Algoritmos basados en modelos gráficos

• Los algoritmos actuales más poderosos para SLAM se basan en modelos gráficos probabilistas

• Algunas variantes:

• EKF SLAM

• Graph SLAM

• Fast SLAM

26

Page 27: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Filtros de partículas

Es un filtro bayesiano usado para representar en forma eficiente distribuciones no-gaussianas

La idea es tener un conjunto de hipótesis (partículas) y aplicar “sobrevivencia del más apto”

Page 28: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Pasos

Muestreo de la distribución propuesta (filtro bayesiano - paso predictivo): generar una nueva muestra de acuerdo al modelo de movimiento

Calcula el peso de las partículas (filtro bayesiano - paso correctivo): usando los sensores evalúa las muestras

Vuelve a muestrear

Page 29: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Rao-Blackwellization

Posición Mapa Observaciones Movimientos

SLAM posterior

Camino del robot posterior

Mapeo sabiendo la posición

Page 30: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Mas …

Se usa una partícula para representar las trayectorias potenciales del robot

Cada partícula tiene un mapa asociado Cada partícula sobrevive de acuerdo a la

probabilidad de las observaciones dado el mapa

Page 31: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Ejemplo:

Mapa de partícula 1

Mapa de partícula 2

Mapa de partícula 3

Page 32: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Problemas y soluciones

Cada mapa puede ser bastante grande Se requiere tener un número pequeño de

partículas Se puede si se logra mejorar la estimación de la

posición antes de aplicar el filtro de partículas Usar un re-muestreo para lograr convergencia si

existen pesos suficientemente diferentes (para no eliminar partículas deseables)

Page 33: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Ejemplos

Consultar: www.OpenSLAM.org

Page 34: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Post-procesamiento

Extracción decaracterísticas

Agrupamiento deceldas

Análisis de regiones

Centros de cada cluster

Determinar Adyacencia de

regiones

Segmentación del mapa de celdas

Mapa segmentadoMapa topológico

Añadir información

visual a cada nodo

34

Page 35: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Agrupamiento de celdasK-medias

C1

C2

C3

C1 :<F1,F2,..,Fn>...

Cn:<F1,F2,,..,Fn>

Habitación

Pasillo

Intersección

C3

Mapa topológico

35

Page 36: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Ejemplos• Segmentación del mapa de celdas

1) Escenario en el laboratorio de robótica

2) Edificio Chavira (INAOE)

3) Escenario simulado

mapa 1 2 3

% de clasificación

98.4 94.1

36

Page 37: Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Retos

Ambientes dinámicos: actualizar el mapa, distinguir objetos permanentes de temporales

Oclusiones fuertes al interaccionar con personas Espacios abiertos Mapas visuales 3D