You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In base_local_planner/src/map_grid.cpp the function computeTargetDistance is used to compute the minimum distance between each cell and the plan/goal.
From my understanding, in the following lines we are exploring from current_cell and checking its four neighbors, which are represented by the check_cell variable.
Checking a cell consists in updating its distance if the distance coming from current_cell is lower than the current minimum one, and adding the check_cell to the queue of cells from which the expansion has to be performed.
The distance is not updated if the cell was already marked as explored.
In this line of reasoning, I think that the cell should be marked as explored once we explore from it, that is we should mark current_cell, not check_cell as it is done currently.
In base_local_planner/src/map_grid.cpp the function
computeTargetDistance
is used to compute the minimum distance between each cell and the plan/goal.From my understanding, in the following lines we are exploring from
current_cell
and checking its four neighbors, which are represented by thecheck_cell
variable.Checking a cell consists in updating its distance if the distance coming from
current_cell
is lower than the current minimum one, and adding thecheck_cell
to the queue of cells from which the expansion has to be performed.The distance is not updated if the cell was already marked as explored.
navigation/base_local_planner/src/map_grid.cpp
Lines 266 to 275 in 6e9de3f
In this line of reasoning, I think that the cell should be marked as explored once we explore from it, that is we should mark
current_cell
, notcheck_cell
as it is done currently.navigation/base_local_planner/src/map_grid.cpp
Line 270 in 6e9de3f
In the current version, distances are never updated, they will remain to the value set in the first iteration.
Am I getting this right?
Are there any other reasons why this choice was made?
The text was updated successfully, but these errors were encountered: