Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

show

Tracer un graphique de pose

Depuis R2019b

Description

exemple

show(poseGraph) trace le graphique de pose spécifié dans une figure.

show(poseGraph,Name,Value) spécifie les options en utilisant les arguments de paire Name,Value . Par exemple, 'IDs','on' trace tous les ID de nœuds et de bords du graphe de pose.

axes = show(___) renvoie la poignée d'axes sur laquelle le graphique de pose est tracé en utilisant l'une des syntaxes précédentes.

Exemples

réduire tout

Optimisez un graphique de pose en fonction des nœuds et des contraintes de bord. Le graphique de pose utilisé dans cet exemple provient du Intel Research Lab Dataset et a été généré à partir de la collecte d'odométries de roues et d'informations de capteur de télémètre laser dans un laboratoire intérieur.

Chargez l'ensemble de données Intel contenant un graphique de pose 2D. Inspectez l'objet poseGraph pour afficher le nombre de nœuds et de fermetures de boucle.

load intel-2d-posegraph.mat pg
disp(pg)
  poseGraph with properties:

               NumNodes: 1228
               NumEdges: 1483
    NumLoopClosureEdges: 256
     LoopClosureEdgeIDs: [1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 ... ] (1x256 double)
        LandmarkNodeIDs: [1x0 double]

Tracez le graphique de pose sans les identifiants. Les lignes rouges indiquent les fermetures de boucles identifiées dans l'ensemble de données.

show(pg,'IDs','off');
title('Original Pose Graph')

Figure contains an axes object. The axes object with title Original Pose Graph, xlabel X, ylabel Y contains 3 objects of type line. One or more of the lines displays its values using only markers

Optimisez le graphique de pose. Les nœuds sont ajustés en fonction des contraintes de bord et des fermetures de boucles. Tracez le graphique de pose optimisé pour voir l'ajustement des nœuds avec des fermetures de boucle.

updatedPG = optimizePoseGraph(pg);
figure
show(updatedPG,'IDs','off');
title('Updated Pose Graph')

Figure contains an axes object. The axes object with title Updated Pose Graph, xlabel X, ylabel Y contains 3 objects of type line. One or more of the lines displays its values using only markers

Optimisez un graphique de pose en fonction des nœuds et des contraintes de bord. Le graphique de pose utilisé dans cet exemple est tiré du MIT Dataset et a été généré à partir des informations extraites d'un parking.

Chargez le graphique de pose à partir de l'ensemble de données MIT. Inspectez l'objet poseGraph3D pour afficher le nombre de nœuds et de fermetures de boucle.

load parking-garage-posegraph.mat pg
disp(pg);
  poseGraph3D with properties:

               NumNodes: 1661
               NumEdges: 6275
    NumLoopClosureEdges: 4615
     LoopClosureEdgeIDs: [128 129 130 132 133 134 135 137 138 139 140 142 143 144 146 147 148 150 151 204 205 207 208 209 211 212 213 215 216 217 218 220 221 222 223 225 226 227 228 230 231 232 233 235 236 237 238 240 241 242 243 244 ... ] (1x4615 double)
        LandmarkNodeIDs: [1x0 double]

Tracez le graphique de pose sans les identifiants. Les lignes rouges indiquent les fermetures de boucles identifiées dans l'ensemble de données.

title('Original Pose Graph')
show(pg,'IDs','off');
view(-30,45)

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 3 objects of type line. One or more of the lines displays its values using only markers

Optimisez le graphique de pose. Les nœuds sont ajustés en fonction des contraintes de bord et des fermetures de boucles. Tracez le graphique de pose optimisé pour voir l'ajustement des nœuds avec des fermetures de boucle.

updatedPG = optimizePoseGraph(pg);
figure
title('Updated Pose Graph')
show(updatedPG,'IDs','off');
view(-30,45)

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 3 objects of type line. One or more of the lines displays its values using only markers

Arguments d'entrée

réduire tout

Graphique de pose, spécifié comme objet poseGraph ou poseGraph3D .

Arguments nom-valeur

Spécifiez des paires d'arguments facultatives sous la forme Name1=Value1,...,NameN=ValueN, où Name est le nom de l'argument et Value est la valeur correspondante. Les arguments nom-valeur doivent apparaître après les autres arguments, mais l'ordre des paires n'a pas d'importance.

Avant R2021a, utilisez des virgules pour séparer chaque nom et valeur, et mettez Name entre guillemets.

Exemple : 'IDs','off'

Axes utilisés pour tracer le graphique de pose, spécifiés comme une paire séparée par des virgules composée de 'Parent' et d'un objet Axes ou UIAxes. Voir axes ou uiaxes.

Affichage des identifiants sur le graphique de pose, spécifiés par une paire séparée par des virgules composée de 'IDs' et de l'un des éléments suivants :

  • 'all' — Tracez tous les ID de nœud et de bord.

  • 'nodes' — Tracez tous les ID de nœud et les ID de fermeture de boucle.

  • 'loopclosures' — Tracez uniquement les ID de bord de fermeture de boucle.

  • 'off' — Ne tracez aucun identifiant.

Arguments de sortie

réduire tout

Axes utilisés pour tracer la carte, renvoyés sous la forme d'un objet Axes ou UIAxes . Voir axes ou uiaxes.

Historique des versions

Introduit dans R2019b