FPGAs aplicaciones espaciales - Presentación INAOE - CDA-IPN
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE...
-
Upload
daniel-moreno-prado -
Category
Documents
-
view
221 -
download
0
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 [email protected] [email protected]
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