poseGraph
Créer un graphique de pose 2D
Description
Un objet poseGraph
stocke des informations pour une représentation graphique de pose 2D. Un graphe de pose contient des nœuds reliés par des arêtes. Chaque estimation de nœud est connectée au graphique par des contraintes de bord qui définissent la pose relative entre les nœuds et l'incertitude sur cette mesure.
Pour construire un graphique de pose de manière itérative, utilisez la fonction addRelativePose
pour ajouter des estimations de pose relatives et les connecter à un nœud existant avec des contraintes de bord spécifiées. Les nœuds de pose doivent être spécifiés par rapport à un nœud de pose. Spécifiez l'incertitude de la mesure à l'aide d'une matrice d'informations.
L'ajout d'une arête entre deux nœuds non séquentiels crée une fermeture de boucle dans le graphique. Plusieurs arêtes ou multiedges entre les paires de nœuds sont également prises en charge, ce qui inclut les fermetures de boucles. Pour ajouter des contraintes de bord supplémentaires ou des fermetures de boucles, spécifiez les ID de nœud à l'aide de la fonction addRelativePose
. Lors de l'optimisation du graphe de pose, la fonction optimizePoseGraph
trouve une solution pour satisfaire toutes ces contraintes de bord.
Pour ajouter des nœuds de points de repère, utilisez la fonction addPointLandmark
. Cette fonction spécifie les nœuds sous forme de points xy sans estimations d'orientation. Les points de repère doivent être spécifiés par rapport à un nœud de pose.
L'objet lidarSLAM
effectue une localisation et un mappage simultanés basés sur le lidar, qui reposent sur l'optimisation d'un graphe de pose 2D.
Pour les graphiques de pose 3D, consultez l'objet poseGraph3D
ou l'exemple Landmark SLAM Using AprilTag Markers .
Création
Description
poseGraph = poseGraph
crée un objet graphique de pose 2D. Ajoutez des poses en utilisant addRelativePose
pour construire un graphique de poses de manière itérative.
poseGraph = poseGraph('MaxNumEdges',maxEdges,'MaxNumNodes',maxNodes)
spécifie une limite supérieure sur le nombre d'arêtes et de nœuds autorisés dans le graphe de pose lors de la génération du code. Cette syntaxe n'est requise que lors de la génération de code.
Propriétés
Fonctions d'objet
addPointLandmark | Add landmark point node to pose graph |
addRelativePose | Ajouter une pose relative au graphique de pose |
copy | Créer une copie du graphique de pose |
edgeNodePairs | Edge node pairs in pose graph |
edgeConstraints | Contraintes de bord dans le graphique de pose |
edgeResidualErrors | Calculer les erreurs résiduelles des bords du graphique de pose |
findEdgeID | Trouver l'ID du bord du bord |
nodeEstimates | Poses des nœuds dans le graphique de pose |
removeEdges | Supprimer les bords de fermeture de boucle du graphique |
show | Tracer un graphique de pose |
Exemples
Références
[1] Grisetti, G., R. Kummerle, C. Stachniss, and W. Burgard. "A Tutorial on Graph-Based SLAM." IEEE Intelligent Transportation Systems Magazine. Vol. 2, No. 4, 2010, pp. 31–43. doi:10.1109/mits.2010.939925.
Capacités étendues
Historique des versions
Introduit dans R2019b