Main Content

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

getOccupancy

Obtenez la valeur d'occupation des emplacements

Description

exemple

occVal = getOccupancy(map,xy) renvoie un tableau de valeurs d'occupation aux emplacements xy dans le cadre mondial. Les emplacements inconnus, y compris en dehors de la carte, renvoient map.DefaultValue.

exemple

occVal = getOccupancy(map,xy,"local") renvoie un tableau de valeurs d'occupation aux emplacements xy dans la base locale.

exemple

occVal = getOccupancy(map,ij,"grid") spécifie les indices de cellules de grille ij au lieu des emplacements xy .

[occVal,validPts] = getOccupancy(___) génère en outre un vecteur d'éléments n de valeurs logiques indiquant si les coordonnées d'entrée se trouvent dans les limites de la carte.

occMatrix = getOccupancy(map) renvoie toutes les valeurs d'occupation de la carte sous forme de matrice.

occMatrix = getOccupancy(map,bottomLeft,matSize) renvoie une matrice de valeurs d'occupation en spécifiant l'emplacement du coin inférieur gauche en coordonnées mondiales et la taille de la matrice en mètres.

occMatrix = getOccupancy(map,bottomLeft,matSize,"local") renvoie une matrice de valeurs d'occupation en spécifiant l'emplacement du coin inférieur gauche en coordonnées locales et la taille de la matrice en mètres.

occMatrix = getOccupancy(map,topLeft,matSize,"grid") renvoie une matrice de valeurs d'occupation en spécifiant l'index de cellule en haut à gauche dans les indices de grille et la taille de la matrice.

Exemples

réduire tout

Créez une carte de grille d'occupation binaire vide.

map = binaryOccupancyMap(10,10,20);

Saisissez la pose du véhicule, les plages, les angles et la portée maximale du balayage laser.

pose = [5,5,0];
ranges = 3*ones(100,1);
angles = linspace(-pi/2,pi/2,100);
maxrange = 20;

Créez un objet lidarScan avec les plages et les angles spécifiés.

scan = lidarScan(ranges,angles);

Insérez les données du scanner laser dans la carte d'occupation.

insertRay(map,pose,scan,maxrange);

Affichez la carte pour voir les résultats de l’insertion du balayage laser.

show(map)

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

Vérifiez l'occupation de l'emplacement directement devant le véhicule.

getOccupancy(map,[8 5])
ans = logical
   1

Accédez aux valeurs d'occupation et vérifiez leur statut d'occupation en fonction des seuils occupé et libre de l'objet occupancyMap .

Créez une matrice et remplissez-la avec des valeurs. Utilisez cette matrice pour créer une carte d'occupation.

p = zeros(20,20);
p(11:20,11:20) = ones(10,10);
map = binaryOccupancyMap(p,10);
show(map)

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

Obtenez l'occupation de différents emplacements et vérifiez leurs statuts d'occupation. L'état d'occupation renvoie 0 pour l'espace libre et 1 pour l'espace occupé. Les valeurs inconnues renvoient –1.

pocc = getOccupancy(map,[1.5 1]);
occupied = checkOccupancy(map,[1.5 1]);
pocc2 = getOccupancy(map,[5 5],'grid');

Arguments d'entrée

réduire tout

Représentation cartographique, spécifiée comme objet binaryOccupancyMap . Cet objet représente l'environnement du véhicule.

Coordonnées sur la carte, spécifiées sous la forme d'une matrice n-par 2 de paires [x y] , où n est le nombre de coordonnées. Les coordonnées peuvent être des coordonnées mondiales ou locales selon la syntaxe.

Types de données : double

Emplacements de la grille sur la carte, spécifiés sous la forme d'une matrice n-par 2 de paires [i j] , où n est le nombre d'emplacements . Les emplacements de la grille sont indiqués sous la forme [row col].

Types de données : double

Emplacement du coin inférieur gauche de la matrice de sortie en coordonnées mondiales ou locales, spécifié sous la forme d'un vecteur à deux éléments, [xCoord yCoord]. L'emplacement est en coordonnées mondiales ou locales basées sur la syntaxe.

Types de données : double

Taille de la matrice de sortie, spécifiée sous la forme d'un vecteur à deux éléments, [xLength yLength] ou [gridRow gridCol]. La taille est en coordonnées mondiales, en coordonnées locales ou en indices de grille basés sur la syntaxe.

Types de données : double

Emplacement du coin supérieur gauche de la grille, spécifié comme vecteur à deux éléments, [iCoord jCoord].

Types de données : double

Arguments de sortie

réduire tout

Valeurs d'occupation, renvoyées sous la forme d'un vecteur de colonne n-par 1 de longueur égale à xy ou ij. Les valeurs d'occupation peuvent être sans obstacle (0) ou occupé (1).

Emplacements de carte valides, renvoyés sous la forme d'un vecteur de colonne n-par 1 de longueur égale à xy ou ij. Les emplacements à l'intérieur de la carte renvoient une valeur de 1. Les emplacements en dehors des limites de la carte renvoient une valeur de 0.

Matrice des valeurs d'occupation, renvoyée sous forme de matrice de taille égale à matSize ou à la taille de map.

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 R2015a