La relación entre mapas de nubes de puntos y mapas gráficos

9

Estoy más familiarizado con los mapas SLAM que son nubes de puntos, generalmente en forma de un vector como . También entiendo cómo crear un mapa como este usando un EKF.<x,y,θ,f1x,f1y,...,fnx,fny>

Hoy me encontré con un formato de archivo .graph , que como era de esperar consiste en vértices y bordes en el formato:

VERTEX2 id x y orientation

EDGE2 observed_vertex_id observing_vertex_id forward sideward rotate inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr

Sé que hay una conexión entre matrices y gráficos (una matriz de adyacencia, por ejemplo). Pero no me queda claro cómo este formato de gráfico de un mapa es equivalente a un mapa de nube de puntos con el que estoy familiarizado.

¿Cuál es la relación? ¿Los vértices son poses y puntos de referencia? ¿Están en un marco de referencia global? ¿Cómo se crea esto a partir de la información de velocidad y un sensor de distancia / demora? ¿Hay una transformación entre un mapa gráfico y una nube de puntos?

Munk
fuente

Respuestas:

4

Como dice en la descripción del formato de archivo, es para enfoques SLAM basados ​​en gráficos. Estos trabajan para minimizar el error de una red de restricción de pose. Puede pensarlo de esta manera: hay una serie de marcos de referencia (sus vértices) y luego tiene conocimiento sobre la transformación entre estos marcos. Estas transformaciones están asociadas con una incertidumbre. Los marcos de optimización de gráficos de pose como, por ejemplo , TORO , HogMan , G2O , etc. , le darán la máxima probabilidad de sus posiciones de vértice, dadas las restricciones.

En términos prácticos de robots, esto generalmente significa:

  • Cada pose de robot en el momento tiene su propio marco de referencia y, por lo tanto, vérticepkk
  • Dependiendo de su enfoque, también puede agregar puntos de referencia como vértices. Sin embargo, no tienes que hacerlo.
  • Cada vez que obtiene nueva información sobre la relación entre dos poses, la agrega al gráfico de restricción. Por ejemplo, su odometría le dará una transformación entre y .pkpk+1
  • Si su enfoque funciona basado en puntos de referencia, agrega transformaciones a sus puntos de referencia. Si solo conoce la posición de su punto de referencia, establece una gran incertidumbre sobre la información de rotación de su transformación.
  • Si su enfoque no conoce los puntos de referencia, por ejemplo, tiene grandes nubes de puntos que coinciden con ICP, puede agregar los resultados de ICP a su gráfico de restricciones.

Las restricciones de pose se almacenan habitualmente como matrices dispersas de tamaño donde es el número de vértices (nuevamente poses de robot y puntos de referencia) en su gráfico.n×nn

El formato de archivo en sí mismo proporciona conjeturas iniciales para la posición de los vértices con VERTEX2(para modelos 2D) y VERTEX3(para modelos 3D). No puedes mezclar los dos. Se agregan restricciones para que especifique la transformación entre los marcos de referencia (vértices) dados por from_idy to_id. La transformación está dada por cualquiera EDGE2y EDGE3como traducción y rotación en ángulos de Euler, así como la matriz de información de la incertidumbre. En este caso, la matriz de información es la inversa de la matriz de covarianza para el vector de transformación .[xyzrollpitchyaw]

Dependiendo de su marco, generalmente uno de los vértices se basa en un marco de referencia global.

Los optimizadores de gráficos de pose basados ​​en gráficos se consideran backends SLAM. La forma en que genera las restricciones, por ejemplo, a partir de los datos de rango, es un problema inicial. Hay una buena visión general en estas notas de clase .

Jakob
fuente
1

Hay una publicación en el foro con información más aclaratoria sobre el formato. Parece que los valores de los nodos del gráfico son estimaciones iniciales de las poses propias, y los bordes codifican las restricciones de pose representadas por el filtro de información , el doble del filtro de Kalman.

Por lo que puedo decir, este formato de mapa incluye solo información de auto-pose y no puntos de referencia, por lo que no habría una conversión directa de un mapa de nube de puntos.

surtur
fuente
1
Aclare la diferencia entre la información de pose y los puntos de referencia. En general, los puntos de referencia se estiman por su pose.
Josh Vander Hook
1
Durante un proceso de localización y mapeo simultáneo, generalmente se mantendrán estimaciones de la propia posición y orientación de uno a medida que uno se mueve a través del entorno, así como los de varios puntos identificables en el entorno que generalmente se supone que son estacionarios, a menudo denominados puntos de referencia. Las estimaciones precisas de la postura para los puntos de referencia ayudan a reducir la incertidumbre en la propia pose, y viceversa. A lo que me refería como información de pose eran restricciones en la pose de uno mismo, aunque posiblemente podrían derivarse de cálculos que incluyan puntos de referencia.
Surtur