Main Content

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

inflate

Gonflez chaque emplacement occupé

Description

inflate(map,radius) gonfle chaque position occupée du map par le radius, spécifié en mètres. Les valeurs d'emplacement occupé sont basées sur la propriété map.OccupiedThreshold . radius est arrondi à la cellule équivalente la plus proche en fonction de la résolution de la carte. Les valeurs sont modifiées en utilisant l'inflation en niveaux de gris pour gonfler les valeurs de probabilité plus élevées sur la grille. Cette inflation augmente la taille des emplacements occupés sur la carte.

exemple

inflate(map,gridradius,'grid') gonfle chaque position occupée par le gridradius, spécifié en nombre de cellules.

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.

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.

Dimension qui définit de combien gonfler les emplacements occupés, spécifiée sous forme de scalaire en mètres. radius est arrondi à la valeur de cellule équivalente la plus proche.

Types de données : double

Nombre de cellules permettant de gonfler les emplacements occupés, spécifié sous la forme d'un scalaire entier positif.

Types de données : double

En savoir plus

réduire tout

Inflation en niveaux de gris

En inflation en niveaux de gris, la fonction strel (Image Processing Toolbox) crée un élément structurant circulaire en utilisant le rayon d'inflation. L'inflation en niveaux de gris de A(x, y) par B(x, y) est définie comme :

(AB)(x, y) = max {A(xx′, y’y′) + B(x', y') | (x′, y′) ∊ DB}.

DB est le domaine des valeurs de probabilité dans l'élément structurant B. A(x,y) est supposé être +∞ en dehors du domaine de la grille.

L'inflation en niveaux de gris agit comme un opérateur maximum local et trouve les valeurs de probabilité les plus élevées pour les cellules proches. La méthode inflate utilise cette définition pour gonfler les valeurs de probabilité les plus élevées dans toute la grille. Cette inflation augmente la taille de tous les emplacements occupés et crée une zone tampon que les véhicules peuvent utiliser pendant leur navigation.

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2019b