SLAM I: mapeo basado en landmarks
MT3006 - Robótica 2
¿SLAM?
Simultaneous Localization And Mapping
Dos casos más simples como preámbulo al problema completo
Caso 1: conocemos el mapa
¿Puede esto ayudar a la localización?
OJO: consideraremos el caso "simple" en donde los "mapas" están definidos por landmarks
se conoce el mapa
se conoce el mapa
el robot está equipado con sensores de distancia y bearing
se conoce el mapa
el robot está equipado con sensores de distancia y bearing
se tiene un estimado propioceptivo de la pose que se quiere corregir con el mapa conocido
NO hay corrección
continua sólo con odometría pero...
continua sólo con odometría pero...
...detecta un landmark
asumiremos que el modelo que genera esta medición es
asumiremos que el modelo que genera esta medición es
posición del landmark 1 en el marco de navegación
asumiremos que el modelo que genera esta medición es
asumiremos que el modelo que genera esta medición es
existe un modelo idéntico para cada landmark en el mapa
el estimado de la pose no volverá a divergir siempre y cuando el robot pueda anclarse a por lo menos un landmark
Caso 2: el robot conoce su pose
¿Puede emplear esto y sus sensores para construir el mapa?
chart of the east coast of New-Holland by James Cook 1770
NO se conoce el mapa
el robot está equipado con sensores de distancia y bearing
pero el robot es capaz de estimar "perfectamente" su pose
NO se conoce el mapa
el robot está equipado con sensores de distancia y bearing
pero el robot es capaz de estimar "perfectamente" su pose
¿Qué es \(\hat{\mathbf{x}}\) en este caso entonces?
pero el robot es capaz de estimar "perfectamente" su pose
NO se conoce el mapa
el robot está equipado con sensores de distancia y bearing
pero el robot es capaz de estimar "perfectamente" su pose
¿Qué es \(\hat{\mathbf{x}}\) en este caso entonces?
los estimados de la posición de los landmarks
dado que iniciamos desconociendo el mapa
número de landmarks
dimensión de \(\hat{\mathbf{x}}\)
dado que iniciamos desconociendo el mapa
se irán construyendo conforme se encuentren los landmarks
número de landmarks
dimensión de \(\hat{\mathbf{x}}\)
no se ha encontrado ningún landmark
\(\Rightarrow\) el robot sigue explorando
se detecta un landmark
se detecta un landmark
se detecta un landmark
\(\Rightarrow\) se emplean los sensores para estimar la posición del landmark
¿Es \(\mathbf{p}_?\) un landmark conocido?
¿Es \(\mathbf{p}_?\) un landmark conocido? NO, es un landmark nuevo
¿Es \(\mathbf{p}_?\) un landmark conocido? NO, es un landmark nuevo
jacobiano de inserción
varianzas de los componentes de \({^N}\mathbf{g}\)
¿Es \(\mathbf{p}_?\) un landmark conocido? NO, es un landmark nuevo
se detecta un landmark "conocido" y uno nuevo
se detecta un landmark "conocido" y uno nuevo
tenemos data de un landmark conocido, ¿Pero cómo sabemos cuál es la que corresponde?
tenemos data de un landmark conocido, ¿Pero cómo sabemos cuál es la que corresponde?
PROBLEMA de asignación
tenemos data de un landmark conocido, ¿Pero cómo sabemos cuál es la que corresponde?
PROBLEMA de asignación
- distancia Euclideana (lo que se empleará en el ejemplo, mala pero simple).
- distancia de Mahalanobis.
- features (ej: fiducial markers).
Paréntesis: distancia de Mahalanobis
Paréntesis: distancia de Mahalanobis
Paréntesis: distancia de Mahalanobis
Paréntesis: distancia de Mahalanobis
generalización del puntaje z
¿A qué tantas desviaciones estándar se encuentra?
Paréntesis: distancia de Mahalanobis
generalización del puntaje z
¿A qué tantas desviaciones estándar se encuentra?
NOTA: la distancia de Mahalanobis es igual a la distancia Euclideana hacia la media para el caso de varianzas unitarias
entonces, para el landmark conocido
NOTA: \(\mathbf{p}_?(t_3)\) se emplea sólo para el problema de asignación, dentro del EKF se emplea pero \((\kappa_?,\beta_?)\) ya luego de haberse asignado
entonces, para el landmark conocido
entonces, para el landmark conocido
esto corresponde a la predicción, ¿Qué es esto en el problema de mapeo?
(paréntesis)
¿Cuál es la dinámica del mapa?
(paréntesis)
¿Cuál es la dinámica del mapa?
(paréntesis)
¿Cuál es la dinámica del mapa?
(paréntesis)
¿Cuál es la dinámica del mapa?
(paréntesis)
¿Cuál es la dinámica del mapa?
(paréntesis)
¿Cuál es la dinámica del mapa?
obviamente el mapa se mantiene estático por lo que
sin ruido de proceso (varianza cero)
(paréntesis)
¿Cuál es la dinámica del mapa?
obviamente el mapa se mantiene estático por lo que
sin ruido de proceso (varianza cero)
regresemos al problema...
se detecta un landmark "conocido" y uno nuevo
¿Es \(\mathbf{p}_\square\) un landmark conocido? NO, es un landmark nuevo
¿Es \(\mathbf{p}_\square\) un landmark conocido? NO, es un landmark nuevo
predicción
predicción
se detectan dos landmarks "conocidos"
predicción
para los landmarks conocidos
NOTA: por el cambio en \(\mathbf{C}\), el cálculo de la ganancia de Kalman debe ser
covarianzas para las mediciones de los sensores de posición y bearing
producto de Kronecker
predicción
predicción
se detecta un landmark "conocido" pero ya no puede verse al otro
landmark conocido
landmark fuera de rango
NOTA: lo anterior asume que se hace la corrección en un solo paso, pero también se puede hacer por landmark
NOTA: lo anterior asume que se hace la corrección en un solo paso, pero también se puede hacer por landmark
esto sólo es posible hacerlo en el caso de mapeo (con el EKF), por la estructura diagonal por bloques que presenta la matriz de covarianza
implica que la estimación de cada landmark es independiente con respecto del resto
Poniéndolo todo junto
>> mt3006_clase14_ekfmapping.m
Referencias
- MT3006 - Localización y mapeo en robótica móvil.pdf
- P. Corke, Robotics Vision and Control Fundamentals 2nd Ed., capítulo 6.
MT3006 - Lecture 14 (2024)
By Miguel Enrique Zea Arenales
MT3006 - Lecture 14 (2024)
- 83