Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE...

Post on 24-Jan-2016

221 views 0 download

Transcript of Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE...

Introducción a la Robótica

mecanismos avanzados

Coordinación de CienciasComputacionales, INAOE

Dra Angélica Muñoz Dr Eduardo Moralesmunoz@inaoep.mx emorales@inaoep.mx

Construcción de Mapas

2

Construcción de Mapas

Involucra resolver simultáneamente dos problemas:

• Construir un mapa

• Localizarse

SLAM (Simultaneous Lozalization And Mapping)

3

El Problema de SLAM

4

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

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

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

Modelo Gráfico

Modelo Gráfico (full SLAM)

Mapa de rejilla probabilista

• Cada celda tiene asociada una probabilidad de estar ocupada

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

Construcción de mapas (Romero 2002)

12

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

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

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

Combinación

Exploración

17

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

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

Al considerar rotaciones

Con más rotaciones Con menos rotaciones

19

Ejemplo

20

Robot real

21

Ejemplo

22

Otros ejemplos

23

24

Más ejemplos

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

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

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”

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

Rao-Blackwellization

Posición Mapa Observaciones Movimientos

SLAM posterior

Camino del robot posterior

Mapeo sabiendo la posición

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

Ejemplo:

Mapa de partícula 1

Mapa de partícula 2

Mapa de partícula 3

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)

Ejemplos

Consultar: www.OpenSLAM.org

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

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

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

Retos

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

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