Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Construcción de Mapas 2
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): 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
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
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:
Post-procesamiento Extracción de características Agrupamiento de celdas Análisis de regiones Centros de cada cluster Determinar Adyacencia de regiones Segmentación del mapa de celdas Mapa segmentado Mapa topológico Añadir información visual a cada nodo 34
Agrupamiento de celdas K-medias C1C1 C2C2 C3C3 C 1 :. C n : Habitación Pasillo Intersección C3C3 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 mapa123 % de clasificación
Retos Ambientes dinámicos: actualizar el mapa, distinguir objetos permanentes de temporales Oclusiones fuertes al interaccionar con personas Espacios abiertos Mapas visuales 3D