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.

inflate

Agrandar cada ubicación ocupada

Desde R2019b

Descripción

ejemplo

inflate(map,radius) infla cada posición ocupada del map por el radius, especificado en metros. Los valores de ubicación ocupada se basan en la propiedad map.OccupiedThreshold . radius se redondea a la celda equivalente más cercana según la resolución del mapa. Los valores se modifican utilizando inflación en escala de grises para inflar valores de probabilidad más altos en toda la cuadrícula. Esta inflación aumenta el tamaño de las ubicaciones ocupadas en el mapa.

inflate(map,gridradius,'grid') infla cada posición ocupada por el gridradius, especificado en número de celdas.

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.

Dimensión que define cuánto inflar las ubicaciones ocupadas, especificada como un escalar en metros. radius se redondea al valor de celda equivalente más cercano.

Tipos de datos: double

Número de celdas por las que inflar las ubicaciones ocupadas, especificado como un escalar entero positivo.

Tipos de datos: double

Más acerca de

contraer todo

Inflación en escala de grises

En inflación en escala de grises, la función strel (Image Processing Toolbox) crea un elemento estructurante circular utilizando el radio de inflación. La inflación en escala de grises de A(x, y) por B(x, y) se define como:

(AB)(x, y) = máximo {A(xx′, y’y′) + B(x', y') | (x′, y′) ∊ DB}.

DB es el dominio de los valores de probabilidad en el elemento estructurante B. Se supone que A(x,y) está +∞ fuera del dominio de la cuadrícula.

La inflación en escala de grises actúa como un operador máximo local y encuentra los valores de probabilidad más altos para las celdas cercanas. El método inflate utiliza esta definición para inflar los valores de probabilidad más altos en toda la cuadrícula. Esta inflación aumenta el tamaño de los lugares ocupados y crea una zona de amortiguamiento para que los vehículos la utilicen mientras navegan.

Capacidades ampliadas

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

Historial de versiones

Introducido en R2019b