Main Content

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

show

Afficher la carte d'occupation 2D

Depuis R2019b

Description

exemple

show(map) affiche la grille d'occupation map dans les axes actuels, avec les étiquettes des axes représentant les coordonnées du monde.

show(map,'local') affiche la grille d'occupation map dans les axes actuels, avec les étiquettes des axes représentant les coordonnées locales au lieu des coordonnées mondiales.

show(map,'grid') affiche la grille d'occupation map dans les axes courants, avec les étiquettes des axes représentant les coordonnées de la grille.

show(___,Name,Value) spécifie des options supplémentaires spécifiées par un ou plusieurs arguments de paire nom-valeur.

mapImage = show(___) renvoie le handle de l'objet image créé par show.

Exemples

réduire tout

Créez une carte vide de 10 mètres sur 10.

map = occupancyMap(10,10,10);

Mettez à jour l'occupation de lieux spécifiques du monde avec de nouvelles valeurs de probabilité et affichez la carte.

x = [1.2; 2.3; 3.4; 4.5; 5.6];
y = [5.0; 4.0; 3.0; 2.0; 1.0];

pvalues = [0.2; 0.4; 0.6; 0.8; 1];

updateOccupancy(map,[x y],pvalues)
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Gonflez les zones occupées d'un rayon de 0,5 m. Les valeurs d'occupation plus élevées écrasent les valeurs plus petites.

inflate(map,0.5)
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Obtenez les emplacements de la grille à partir des emplacements du monde.

ij = world2grid(map,[x y]);

Définissez les valeurs d'occupation pour les emplacements de la grille.

setOccupancy(map,ij,ones(5,1),'grid')
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Convertissez un fichier de carte grise portable (PGM) contenant une carte ROS en un occupancyMap pour une utilisation dans MATLAB.

Importez l'image en utilisant imread. Recadrez l'image dans la zone du parc.

image = imread('playpen_map.pgm');
imageCropped = image(750:1250,750:1250);
imshow(imageCropped)

Figure contains an axes object. The axes object contains an object of type image.

Les valeurs PGM sont exprimées de 0 à 255 sous la forme uint8. Normalisez ces valeurs en convertissant l'image recadrée en double et en divisant chaque cellule par 255. Cette image montre les obstacles avec des valeurs proches de 0. Soustrayez l'image normalisée de 1 pour obtenir les valeurs d'occupation, 1 représentant l'espace occupé.

imageNorm = double(imageCropped)/255;
imageOccupancy = 1 - imageNorm;

Créez l'objet occupancyMap à l'aide d'une image de carte ajustée. La résolution de la carte importée est de 20 cellules par mètre.

map = occupancyMap(imageOccupancy,20);
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Arguments d'entrée

réduire tout

Représentation cartographique, spécifiée comme objet occupancyMap . Cet objet représente l'environnement du véhicule. L'objet contient une grille matricielle avec des valeurs représentant la probabilité d'occupation de cette cellule. Les valeurs proches de 1 représentent une forte probabilité que la cellule contienne un obstacle. Les valeurs proches de 0 représentent une forte probabilité que la cellule ne soit pas occupée et sans obstacle.

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 : 'Parent',axHandle

Axes pour tracer la carte spécifiée comme objet Axes ou UIAxes . Voir axes ou uiaxes.

Mettre à jour le tracé cartographique existant, spécifié comme 0 ou 1. Si vous avez déjà tracé votre carte sur votre figure, réglez-la sur 1 pour une mise à jour plus rapide de la figure. Ceci est utile pour mettre à jour la figure en boucle pour des animations rapides.

Les sorties

réduire tout

Image de carte, spécifiée comme handle d’objet.

Historique des versions

Introduit dans R2019b