Set occupancy probability of locations
validPts = setOccupancy(___)
n-element vector of logical values indicating
whether input coordinates are within the map limits.
Create and Modify Occupancy Map
Create an empty map of 10-by-10 meters in size.
map = occupancyMap(10,10,10);
Update the occupancy of specific world locations with new probability values and display the map.
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)
Inflate the occupied areas by a radius of 0.5 m. The larger occupancy values overwrite the smaller values.
inflate(map,0.5) figure show(map)
Get the grid locations from the world locations.
ij = world2grid(map,[x y]);
Set occupancy values for the grid locations.
setOccupancy(map,ij,ones(5,1),'grid') figure show(map)
map — Map representation
Map representation, specified as a
occupancyMap object. This object
represents the environment of the vehicle. The object contains a matrix grid
with values representing the probability of the occupancy of that cell.
Values close to 1 represent a high probability that the cell contains an
obstacle. Values close to 0 represent a high probability that the cell is
not occupied and obstacle free.
xy — World coordinates
World coordinates, specified as an n-by-2 matrix of
y] pairs, where n is the
number of world coordinates.
ij — Grid positions
Grid positions, specified as an n-by-2 matrix of
j] pairs in
cols] format, where n is
the number of grid positions.
occval — Probability occupancy values
scalar | column vector
inputMatrix — Occupancy values
Occupancy values, specified as a matrix. Values are given between 0 and 1 inclusively.
bottomLeft — Location of output matrix in world or local
two-element vector |
Location of bottom left corner of output matrix in world or local
coordinates, specified as a two-element vector,
yCoord]. Location is in world or local coordinates based on
topLeft — Location of grid
two-element vector |
Location of top left corner of grid, specified as a two-element vector,
Occupancy values have a limited resolution of ±0.001. The values are stored as
int16 using a log-odds representation. This data type limits
resolution, but saves memory when storing large maps in MATLAB®. When calling
setOccupancy and then
getOccupancy, the value returned might not equal the value you
set. For more information, see the log-odds representations section in Occupancy Grids.
Introduced in R2019b