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.

setOccupancy

Establecer probabilidad de ocupación de ubicaciones

Desde R2019b

Descripción

setOccupancy(map,xy,occval) asigna los valores de ocupación a cada coordenada especificada en xy. occval puede ser un vector columna del mismo tamaño que xy o un escalar, que se aplica a todas las coordenadas.

setOccupancy(map,xy,occval,'local') asigna valores de ocupación, occval, a el arreglo de entrada de coordenadas locales, xy, como coordenadas locales.

ejemplo

setOccupancy(map,ij,occval,'grid') asigna valores de ocupación, occval, a el arreglo de entrada de índices de cuadrícula, ij, como [rows cols]

validPts = setOccupancy(___) genera un vector de elementos n de valores lógicos que indican si las coordenadas de entrada están dentro de los límites del mapa.

setOccupancy(map,bottomLeft,inputMatrix) asigna una matriz de valores de ocupación especificando la ubicación de la esquina inferior izquierda en coordenadas mundiales.

setOccupancy(map,bottomLeft,inputMatrix,'local') asigna una matriz de valores de ocupación especificando la ubicación de la esquina inferior izquierda en coordenadas locales.

setOccupancy(map,topLeft,inputMatrix,'grid') asigna 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

Crea un mapa vacío de 10 por 10 metros de tamaño.

map = occupancyMap(10,10,10);

Actualice la ocupación de ubicaciones mundiales específicas con nuevos valores de probabilidad y muestre el mapa.

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.

Inflar las zonas ocupadas en un radio de 0,5 m. Los valores de ocupación más grandes sobrescriben los valores más pequeños.

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.

Obtenga las ubicaciones de la cuadrícula de las ubicaciones del mundo.

ij = world2grid(map,[x y]);

Establezca valores de ocupación para las ubicaciones de la red.

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.

Argumentos de entrada

contraer todo

Representación del 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 cercanos a 1 representan una alta probabilidad de que la celda contenga un obstáculo. Valores cercanos a 0 representan una alta probabilidad de que la celda no esté ocupada y 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 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

Valores de ocupación de probabilidad, especificados como un escalar o un vector columna del mismo tamaño que xy o ij. Se aplica una entrada escalar a todas las coordenadas en xy o ij.

Valores cercanos a 0 representan una alta probabilidad de que la celda no esté ocupada y libre de obstáculos.

Valores de ocupación, especificados como una matriz. Los valores se dan entre 0 y 1 inclusive.

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

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

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.

Limitaciones

Los valores de ocupación tienen una resolución limitada de ±0,001. Los valores se almacenan como int16 usando una representación de probabilidades logarítmicas. Este tipo de datos limita la resolución, pero ahorra memoria al almacenar mapas grandes en MATLAB®. Al llamar a setOccupancy y luego a getOccupancy, es posible que el valor devuelto no sea igual al valor que estableció. Para obtener más información, consulte la sección de representaciones de probabilidades logarítmicas en Cuadrículas de ocupación.

Capacidades ampliadas

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

Historial de versiones

Introducido en R2019b