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
{{ message }}
This repository was archived by the owner on Jun 5, 2025. It is now read-only.
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
computeTargetDistanceis 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_celland checking its four neighbors, which are represented by thecheck_cellvariable.Checking a cell consists in updating its distance if the distance coming from
current_cellis lower than the current minimum one, and adding thecheck_cellto 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_cellas 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?