poseGraph3D
Crear gráfico de pose en 3D
Descripción
Un objeto poseGraph3D
almacena información para una representación gráfica de pose 3D. Un gráfico de pose contiene nodos conectados por aristas. La estimación de cada nodo está conectada al gráfico mediante restricciones de borde que definen la pose relativa entre los nodos y la incertidumbre en esa medición.
Para construir un gráfico de pose de forma iterativa, utilice la función addRelativePose
para agregar estimaciones de pose relativas y conectarlas a un nodo existente con restricciones de borde especificadas. Los nodos de pose deben especificarse en relación con un nodo de pose. Especificar la incertidumbre de la medición mediante una matriz de información.
Agregar un borde entre dos nodos no secuenciales crea un "cierre de bucle" en el gráfico. También se admiten múltiples bordes o multibordes entre pares de nodos, lo que incluye cierres de bucle. Para agregar restricciones de borde adicionales o cierres de bucle, especifique los ID de nodo usando la función addRelativePose
. Al optimizar el gráfico de pose, la función optimizePoseGraph
encuentra una solución para satisfacer todas estas restricciones de borde.
Para agregar nodos de punto de referencia, utilice la función addPointLandmark
. Esta función especifica nodos como xyz-puntos sin estimaciones de orientación. Los puntos de referencia deben especificarse en relación con un nodo de pose.
Para gráficos de pose 2-D, consulte poseGraph
.
Para ver un ejemplo que crea y optimiza un gráfico de pose 3D a partir de datos de sensores del mundo real, consulte SLAM de punto de referencia usando marcadores AprilTag.
Creación
Sintaxis
Descripción
poseGraph = poseGraph3D
crea un objeto gráfico de pose 3D. Agregue poses usando addRelativePose
para construir un gráfico de pose de forma iterativa.
poseGraph = poseGraph3D('MaxNumEdges',maxEdges,'MaxNumNodes',maxNodes)
especifica un límite superior en el número de bordes y nodos permitidos en el gráfico de pose al generar código. Este límite solo es necesario al generar código.
Propiedades
Funciones del objeto
addPointLandmark | Agregar un nodo de punto de referencia al gráfico de pose |
addRelativePose | Agregar pose relativa al gráfico de pose |
copy | Crear copia del gráfico de pose |
edgeNodePairs | Pares de nodos de borde en gráfico de pose |
edgeConstraints | Restricciones de borde en el gráfico de pose |
edgeResidualErrors | Calcular los errores residuales del borde del gráfico de pose |
findEdgeID | Encuentra el ID del borde del borde |
nodeEstimates | Poses de nodos en el gráfico de poses. |
removeEdges | Eliminar los bordes de cierre del bucle del gráfico |
show | Trazar gráfico de pose |
Ejemplos
Referencias
[1] Carlone, Luca, Roberto Tron, Kostas Daniilidis, and Frank Dellaert. "Initialization Techniques for 3D SLAM: a Survey on Rotation Estimation and its Use in Pose Graph Optimization." 2015 IEEE International Conference on Robotics and Automation (ICRA). 2015, pp. 4597–4604.
Capacidades ampliadas
Historial de versiones
Introducido en R2019b