Initialize Occupancy Grid with Default Value?

3 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Praveen Reddy
Praveen Reddy il 21 Ago 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 Commenti
Andres Morales
Andres Morales il 24 Ago 2023
Hello Praveen,
On Line 5, do you mean:
occupiedMatrix = default*true(height*res,width*res);
?
Praveen Reddy
Praveen Reddy il 25 Ago 2023
Modificato: Praveen Reddy il 25 Ago 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.

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by