Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

getOccupancy

Obtener valor de ocupación de ubicaciones

Descripción

ejemplo

occVal = getOccupancy(map,xy) devuelve un arreglo de valores de ocupación en las ubicaciones xy en el marco mundial. Ubicaciones desconocidas, incluso fuera del mapa, devuelven map.DefaultValue.

ejemplo

occVal = getOccupancy(map,xy,"local") devuelve un arreglo de valores de ocupación en las ubicaciones xy en el marco local.

ejemplo

occVal = getOccupancy(map,ij,"grid") especifica ij índices de celdas de cuadrícula en lugar de ubicaciones de xy .

[occVal,validPts] = getOccupancy(___) genera adicionalmente un vector de elemento n de valores lógicos que indica si las coordenadas de entrada están dentro de los límites del mapa.

occMatrix = getOccupancy(map) devuelve todos los valores de ocupación en el mapa como una matriz.

occMatrix = getOccupancy(map,bottomLeft,matSize) devuelve una matriz de valores de ocupación especificando la ubicación de la esquina inferior izquierda en coordenadas mundiales y el tamaño de la matriz en metros.

occMatrix = getOccupancy(map,bottomLeft,matSize,"local") devuelve una matriz de valores de ocupación especificando la ubicación de la esquina inferior izquierda en coordenadas locales y el tamaño de la matriz en metros.

occMatrix = getOccupancy(map,topLeft,matSize,"grid") devuelve una matriz de valores de ocupación especificando el índice de celda superior izquierda en los índices de la cuadrícula y el tamaño de la matriz.

Ejemplos

contraer todo

Cree un mapa de cuadrícula de ocupación binaria vacío.

map = binaryOccupancyMap(10,10,20);

Introduzca la pose del vehículo, los alcances, los ángulos y el alcance máximo del escaneo láser.

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

Cree un objeto lidarScan con los rangos y ángulos especificados.

scan = lidarScan(ranges,angles);

Inserte los datos del escaneo láser en el mapa de ocupación.

insertRay(map,pose,scan,maxrange);

Muestre el mapa para ver los resultados de insertar el escaneo láser.

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.

Verifique la ocupación del lugar directamente frente al vehículo.

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

Acceda a los valores de ocupación y verifique su estado de ocupación en función de los umbrales ocupados y libres del objeto occupancyMap .

Cree una matriz y rellénela con valores. Utilice esta matriz para crear un mapa de ocupación.

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.

Obtén la ocupación de diferentes ubicaciones y consulta sus estados de ocupación. El estado de ocupación devuelve 0 para espacio libre y 1 para espacio ocupado. Los valores desconocidos devuelven –1.

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

Argumentos de entrada

contraer todo

Representación del mapa, especificada como un objeto binaryOccupancyMap . Este objeto representa el entorno del vehículo.

Coordenadas en el mapa, especificadas como una matriz n por 2 de pares [x y] , donde n es el número de coordenadas. Las coordenadas pueden ser coordenadas mundiales o locales según la sintaxis.

Tipos de datos: double

Ubicaciones de cuadrícula en el mapa, especificadas como una matriz n-por 2 de pares [i j] , donde n es el número de ubicaciones . Las ubicaciones de la cuadrícula se proporcionan como [row col].

Tipos de datos: double

Ubicación de la esquina inferior izquierda de la matriz de salida en coordenadas mundiales o locales, especificada como un vector de dos elementos, [xCoord yCoord]. La ubicación está en coordenadas mundiales o locales según la sintaxis.

Tipos de datos: double

Tamaño de la matriz de salida, especificado como un vector de dos elementos, [xLength yLength] o [gridRow gridCol]. El tamaño está en coordenadas mundiales, coordenadas locales o índices de cuadrícula según la sintaxis.

Tipos de datos: double

Ubicación de la esquina superior izquierda de la cuadrícula, especificada como un vector de dos elementos, [iCoord jCoord].

Tipos de datos: double

Argumentos de salida

contraer todo

Valores de ocupación, devueltos como un vector columna n por 1 de igual longitud que xy o ij. Los valores de ocupación pueden ser libres de obstáculos (0) u ocupados (1).

Ubicaciones de mapa válidas, devueltas como un vector columna n por 1 de igual longitud que xy o ij. Las ubicaciones dentro del mapa devuelven un valor de 1. Las ubicaciones fuera de los límites del mapa devuelven un valor de 0.

Matriz de valores de ocupación, devuelta como matriz con tamaño igual a matSize o el tamaño de map.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2015a