Localización de Robots Móviles
En la semana 13 el robot corrigió su pose con los marcadores ArUco, pero le creía por completo al marcador y la pose saltaba. Esta semana formalizamos la localización probabilística: cómo combinar lo que el robot hace con lo que ve, y cuánto creerle a cada fuente.
- Localización de Markov: la creencia como una probabilidad por lugar, actualización de percepción (Bayes), actualización de acción (suma total), filtro de partículas
- Filtro de Kalman: fusionar dos medidas, ganancia de Kalman, predicción y corrección en 1D y en 2D, compuerta de validación
- SLAM: estimar el robot y el mapa a la vez, cierre del lazo
Localización de Markov
Sección titulada «Localización de Markov»El robot guarda una creencia : una probabilidad para cada lugar del mapa, que suman 1. En cada paso la actualiza dos veces:
-
Acción: se mueve la creencia según lo que dicen los encoders , sumando todas las formas de llegar a cada lugar:
donde es el lugar donde estaba y es el modelo de movimiento. Moverse difumina la creencia.
-
Percepción: se multiplica por el modelo del sensor y se normaliza (regla de Bayes):
donde es la probabilidad de leer estando en , y es la suma de todos los productos. Mirar afila la creencia.
El ejemplo del pasillo con tres puertas de las diapositivas está resuelto paso a paso en markov-puertas.xlsx: cada actualización con su ecuación y sus cálculos intermedios, celda por celda. Cambie el modelo del sensor, el de movimiento o las lecturas y vea cómo cambia la creencia.
Markov funciona aunque el robot no sepa dónde empezó, pero en una grilla de hay millones de celdas que actualizar. El filtro de partículas (localización de Monte Carlo) representa la creencia con unos cientos de hipótesis que se pesan con el sensor y se remuestrean.
Un caso real es RHINO, el robot guía del Deutsches Museum Bonn en 1997: usaba Markov en una grilla de 15 cm y 2°, y un filtro de entropía que solo acepta las lecturas que dejan al robot más seguro de su posición, para descartar las que tapan las personas.
Filtro de Kalman
Sección titulada «Filtro de Kalman»Si la creencia es una campana de Gauss, basta guardar su media y su varianza . Kalman alterna dos pasos:
-
Predecir con los encoders: y , donde es el avance medido y la varianza que agrega. La incertidumbre crece.
-
Corregir con una medida de varianza , por ejemplo la pose que da un marcador:
La diferencia es la innovación y , entre 0 y 1, dice cuánto se le cree a la medida. Con la pose salta a lo que dice el marcador, como en la semana 13; con el marcador se ignora.
y no se inventan: se mide con el robot quieto frente al marcador y repitiendo recorridos.
En 2D la varianza es una matriz de covarianza de y se dibuja como una elipse. La odometría la propaga con los Jacobianos y ; cuando el sensor no mide directamente la pose, se linealiza en cada paso: es el filtro de Kalman extendido (EKF).
Antes de corregir, conviene descartar las medidas imposibles con la distancia de Mahalanobis: si la innovación es mayor que unas 3 desviaciones, , probablemente el detector se equivocó.
En SLAM (Simultaneous Localization and Mapping) el robot construye el mapa mientras se localiza en él. En EKF-SLAM el estado incluye la pose del robot y la posición de cada marca:
Cada marca nueva hereda la incertidumbre del robot, y sus errores quedan correlacionados. Cuando el robot vuelve a ver una marca conocida, cierra el lazo: la corrección se propaga a todo el mapa. Los desafíos actuales son reconocer que se volvió a un lugar, los entornos que cambian y la escala.
Prácticas
Sección titulada «Prácticas»Las prácticas de esta semana son demostrativas: se ejecutan en el simulador de RHINO, con el museo reconstruido a partir de la planta del artículo, para ver funcionando los tres bloques de la clase.
- Markov: RHINO se ubica sin saber dónde arrancó, con una grilla de 15 cm y con partículas, y se recupera de un secuestro
- Kalman: EKF con la odometría y las columnas del museo; qué pasa al apagar las marcas
- SLAM: RHINO arma el mapa de columnas mientras se localiza, y cierra el lazo
Referencias
Sección titulada «Referencias»- R. Siegwart, I. R. Nourbakhsh y D. Scaramuzza, Introduction to Autonomous Mobile Robots, MIT Press, cap. 5: Mobile Robot Localization.
- D. Fox, W. Burgard, S. Thrun y A. B. Cremers, Position Estimation for Mobile Robots in Dynamic Environments, AAAI 1998.
- W. Burgard, A. B. Cremers, D. Fox, D. Hähnel, G. Lakemeyer, D. Schulz, W. Steiner y S. Thrun, The Interactive Museum Tour-Guide Robot, AAAI 1998. Su Fig. 4 es la planta del museo del simulador.