Initialize Occupancy Grid with Default Value?

3 views (last 30 days)
Right now, this is what I have:
width = 50;
height = 50;
resolution = 1;
default = 0.25;
map = occupancyMap(width,height,resolution);
map.DefaultValue = default;
setOccupancy(map,default*(ones(map.GridSize)));
I initially expected Line 6 to change the default value, but I guess since the grid has already been initialized with the "default default value", this performs no change. Therefore, I need to force this change on Line 7.
Is there a way to set the default initially and saving that computation time?
What is the effect of Line 6 then? Since it is not reflected on the occupancy grid?

Accepted Answer

Praveen Reddy
Praveen Reddy on 21 Aug 2023
Hi Andres,
I understand that you want to know how to initialize occupancy grid with default value without using “setOccupancy()” method. I suggest you to pass the default value matrix as input to occupancyMap()” method as shown below
width = 500;
height = 500;
res = 1;
default = 0.25;
occupiedMatrix = true(height*res,width*res);
map = occupancyMap(occupiedMatrix, Resolution=res);
Please note that DefaultValue” property of map object is used for unspecified map locations including areas outside the map.
To know more about occupancyMap usage, please refer to the following MATLAB documentation.
  2 Comments
Andres Morales
Andres Morales on 24 Aug 2023
Hello Praveen,
On Line 5, do you mean:
occupiedMatrix = default*true(height*res,width*res);
?
Praveen Reddy
Praveen Reddy on 25 Aug 2023
Edited: Praveen Reddy on 25 Aug 2023
Hi Andres,
You can construct the matrix as per your requirements. I tried to make minimal changes to your code. However I did not intend to use the default variable declared.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!