Contenido principal

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

checkOccupancy

Consultar si las localidades están libres u ocupadas

Descripción

La función checkOccupancy devuelve los estados de ocupación de ubicaciones especificadas en el mapa de ocupación binario.

occStatus = checkOccupancy(map,xy) devuelve una matriz de estados de ocupación en las ubicaciones xy en el marco mundial. Las celdas libres de obstáculos devuelven 0, las celdas ocupadas devuelven 1. Las ubicaciones desconocidas, incluso fuera del mapa, devuelven -1.

ejemplo

occStatus = checkOccupancy(map,xy,"local") devuelve una matriz de estados de ocupación en las ubicaciones xy en el marco local. El marco local se basa en la propiedad LocalOriginInWorld de map.

ejemplo

occStatus = checkOccupancy(map,ij,"grid") especifica índices de celdas de cuadrícula ij en lugar de ubicaciones xy. Los índices de la cuadrícula comienzan en (1,1) desde la esquina superior izquierda.

ejemplo

[occStatus,validPts] = checkOccupancy(___) también genera un vector de elementos n de valor lógico que indica si las coordenadas de entrada están dentro de los límites del mapa.

occStatusMatrix = checkOccupancy(map) devuelve una matriz que contiene el estado de ocupación de cada ubicación. Las celdas libres de obstáculos devuelven 0, las celdas ocupadas devuelven 1. Las ubicaciones desconocidas, incluso fuera del mapa, devuelven -1.

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

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

occStatusMatrix = checkOccupancy(map,topLeft,matSize,"grid") devuelve una matriz de estados de ocupación especificando el índice de la celda superior izquierda en coordenadas de cuadrícula y el tamaño de la matriz.

Ejemplos

contraer todo

Acceda a los valores de ocupación y verifique su estado de ocupación en función de los umbrales de ocupación y libertad 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 de mapa, especificada como un objeto binaryOccupancyMap.

Coordenadas en el mapa, especificadas como una matriz n por 2 de pares [x y], donde n es el número de coordenadas.

xy son coordenadas mundiales por defecto. Si especifica "local", entonces xy son coordenadas locales. Por ejemplo, checkOccupancy(map,[x1 y1],"local") verifica el estado de ocupación en las coordenadas locales xy especificadas.

Tipos de datos: double

Ubicaciones de la 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 dan 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].

bottomLeft es una coordenada mundial por defecto. Si especifica "local", entonces bottomLeft es una coordenada local.

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, locales o 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

Estado de ocupación, devuelto como un vector columnan por 1. n es igual a la longitud de la entrada xy o ij. El estado de ocupación puede ser libre de obstáculos (0), ocupado (1) o desconocido (-1).

Ubicaciones de mapas válidas, devueltas como un vector columna n por 1 con una longitud igual a 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 estado de ocupación, devuelta como matriz con un tamaño correspondiente a matSize o el tamaño de su map. Los valores de ocupación pueden ser libres de obstáculos (0), ocupados (1) o desconocidos (-1).

Capacidades ampliadas

expandir todo

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

Historial de versiones

Introducido en R2019b