Skip to content

Commit 64500b6

Browse files
VincidaBSiddharthaUpase
authored andcommitted
precomputeDistanceHeuristic is now computed once (ros-navigation#4451)
Signed-off-by: Vincent Belpois <[email protected]> Co-authored-by: SiddharthaUpase <[email protected]>
1 parent 7b5ccae commit 64500b6

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

nav2_smac_planner/include/nav2_smac_planner/a_star.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ class AStarAlgorithm
251251
const NodePtr & node, std::vector<std::tuple<float, float, float>> * expansions_log);
252252

253253
bool _traverse_unknown;
254+
bool _is_initialized;
254255
int _max_iterations;
255256
int _max_on_approach_iterations;
256257
int _terminal_checking_interval;

nav2_smac_planner/src/a_star.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ AStarAlgorithm<NodeT>::AStarAlgorithm(
3636
const MotionModel & motion_model,
3737
const SearchInfo & search_info)
3838
: _traverse_unknown(true),
39+
_is_initialized(false),
3940
_max_iterations(0),
4041
_terminal_checking_interval(5000),
4142
_max_planning_time(0),
@@ -70,7 +71,10 @@ void AStarAlgorithm<NodeT>::initialize(
7071
_max_on_approach_iterations = max_on_approach_iterations;
7172
_terminal_checking_interval = terminal_checking_interval;
7273
_max_planning_time = max_planning_time;
73-
NodeT::precomputeDistanceHeuristic(lookup_table_size, _motion_model, dim_3_size, _search_info);
74+
if(!_is_initialized) {
75+
NodeT::precomputeDistanceHeuristic(lookup_table_size, _motion_model, dim_3_size, _search_info);
76+
}
77+
_is_initialized = true;
7478
_dim3_size = dim_3_size;
7579
_expander = std::make_unique<AnalyticExpansion<NodeT>>(
7680
_motion_model, _search_info, _traverse_unknown, _dim3_size);

0 commit comments

Comments
 (0)