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

Esta función MATLAB® devuelve el estado de ocupación de ubicaciones específicas en un mapa de ocupación.

iOccval = checkOccupancy(map,xy) devuelve una matriz de valores de ocupación en las ubicaciones xy. Cada fila es una ubicación xy separada en la cuadrícula. Los valores de ocupación pueden ser libres de obstáculos (0), ocupados (1) o desconocidos (–1) según las propiedades OccupiedThreshold y FreeThreshold del objeto map.

ejemplo

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

ejemplo

iOccval = checkOccupancy(map,ij,'grid') especifica índices de celdas de cuadrícula ij en lugar de ubicaciones xy.

ejemplo

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

occMatrix = 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.

occMatrix = checkOccupancy(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 = checkOccupancy(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 = checkOccupancy(map,topLeft,matSize,'grid') devuelve una matriz de valores de ocupación especificando la ubicación de la esquina superior izquierda en coordenadas de la cuadrícula y el tamaño de la cuadrícula.

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 = 0.5*ones(20,20);
p(11:20,11:20) = 0.75*ones(10,10);
map = occupancyMap(p,10);

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])
pocc = 
0.7500
occupied = checkOccupancy(map,[1.5 1])
occupied = 
1
pocc2 = getOccupancy(map,[5 5],'grid')
pocc2 = 
0.5000
occupied2 = checkOccupancy(map,[5 5],'grid')
occupied2 = 
-1

Argumentos de entrada

contraer todo

Representación de mapa, especificada como un objeto occupancyMap. Este objeto representa el entorno del vehículo. El objeto contiene una cuadrícula matricial con valores que representan la probabilidad de ocupación de esa celda. Los valores próximos a 1 representan una gran certeza de que la celda contiene un obstáculo. Los valores próximos a 0 representan la certeza de que la celda no está ocupada y está libre de obstáculos.

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

Tipos de datos: double

Posiciones de la cuadrícula, especificadas como una matriz n por 2 de pares [i j] en formato [rows cols], donde n es el número de posiciones de la cuadrícula.

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

Valores de ocupación interpretados, devueltos como un vector columna n por 1 con una longitud igual a xy o ij.

Los valores de ocupación pueden ser libres de obstáculos (0), ocupados (1) o desconocidos (–1). Estos valores se determinan a partir de los valores de probabilidad reales y las propiedades OccupiedThreshold y FreeThreshold del objeto map.

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 valores de ocupación, devuelta como matriz con tamaño igual 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

Consulte también

| | (Robotics System Toolbox)