Red de conocimiento informático - Conocimiento informático - Cómo utilizar visual SLAM para construir el mapa 3D obtenido para la planificación de la ruta del robot

Cómo utilizar visual SLAM para construir el mapa 3D obtenido para la planificación de la ruta del robot

Primero, todavía necesitamos determinar qué información se necesita para la planificación de rutas 3D. Ubicación y mapa. Robótica

En primer lugar, el SLAM visual se puede utilizar para resolver el problema de posicionamiento del robot. El resto es cómo convertir el mapa visual en un mapa para la planificación. Por supuesto, en términos de algoritmos de planificación, para un robot puntual tridimensional, usar A * no está mal, pero si necesita considerar la actitud del dron (seis dimensiones), entonces puede considerar usar un muestreo. Método basado en un algoritmo de tipo optimización de trayectoria. Es poco probable que tales algoritmos puedan obtener directamente el espacio de configuración completo, por lo que el único uso que involucra el entorno (mapa) es la detección de colisiones/cálculo de distancias a obstáculos. El mapa que dibujamos con V-SLAM puede verse así: en teoría, simplemente ingrese los puntos de estos obstáculos directamente (calcule la distancia más corta desde cada punto hasta el robot).

Sin embargo, después de todo, hay muchos puntos y es probable que V-SLAM calcule errores. Por lo tanto, generalmente debemos tomar las siguientes medidas: (Usaré el brazo robótico como ejemplo. Por supuesto, mi nube de puntos se obtiene de Kinect, pero el significado probablemente sea el mismo: Eye of the Machine | Kinect v2)

Filtrado: para eliminar algunos valores atípicos, la biblioteca PCL proporciona una variedad de algoritmos de filtrado de nubes de puntos.

Antes de filtrar: Después de filtrar: Octomap: al planificar, los requisitos de precisión de distancia para los obstáculos en realidad no son altos, por lo que los datos de la nube de puntos se pueden comprimir.

La reducción de resolución es un enfoque, pero el uso de una estructura de octree es un enfoque más general: OctoMap - Mapa de ocupación 3D. Como se muestra en la imagen de arriba, también reemplacé la nube de puntos en la planificación del brazo robótico con Octomap, de modo que cada vez solo necesito realizar la detección de colisiones en el cubo pequeño en Octomap y el brazo robótico, reduciendo así en gran medida la cantidad de datos almacenados. datos y detección de colisiones. Esto reduce en gran medida la cantidad de datos almacenados y operaciones de detección de colisiones.

Mapa semático: incluso después de convertir a Octomap, todavía hay muchos cuadrados pequeños. ¿Qué hacer? En este punto, puede realizar algún procesamiento en la nube de puntos. Por ejemplo, a través de la detección de planos, identifique el suelo, el techo, etc., y reemplace directamente los cubos pequeños en Octomap con cubos grandes o use el algoritmo de reconocimiento de objetos para identificar objetos en el entorno y reemplace Octomap con el modelo 3D; del objeto, lo que también puede reducir en gran medida el costo de la cantidad de cálculo de detección de colisiones.