Skip to content

Commit 6ce9462

Browse files
lucabonaminiSteveMacenski
authored andcommitted
Enabled runtime configuration of parameters for Hybrid A* (#2540)
* Enabled runtime configuration of parameters for Hybrid A* * Fix parameter name * Fix parameter type
1 parent 8088162 commit 6ce9462

File tree

4 files changed

+285
-45
lines changed

4 files changed

+285
-45
lines changed

nav2_smac_planner/include/nav2_smac_planner/smac_planner_2d.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class SmacPlanner2D : public nav2_core::GlobalPlanner
8989

9090
protected:
9191
/**
92-
* @brief Callback executed when a paramter change is detected
92+
* @brief Callback executed when a parameter change is detected
9393
* @param event ParameterEvent message
9494
*/
9595
void on_parameter_event_callback(const rcl_interfaces::msg::ParameterEvent::SharedPtr event);

nav2_smac_planner/include/nav2_smac_planner/smac_planner_hybrid.hpp

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,21 +87,41 @@ class SmacPlannerHybrid : public nav2_core::GlobalPlanner
8787
const geometry_msgs::msg::PoseStamped & goal) override;
8888

8989
protected:
90+
/**
91+
* @brief Callback executed when a parameter change is detected
92+
* @param event ParameterEvent message
93+
*/
94+
void on_parameter_event_callback(const rcl_interfaces::msg::ParameterEvent::SharedPtr event);
95+
9096
std::unique_ptr<AStarAlgorithm<NodeHybrid>> _a_star;
9197
GridCollisionChecker _collision_checker;
9298
std::unique_ptr<Smoother> _smoother;
9399
rclcpp::Clock::SharedPtr _clock;
94100
rclcpp::Logger _logger{rclcpp::get_logger("SmacPlannerHybrid")};
95101
nav2_costmap_2d::Costmap2D * _costmap;
102+
std::shared_ptr<nav2_costmap_2d::Costmap2DROS> _costmap_ros;
96103
std::unique_ptr<CostmapDownsampler> _costmap_downsampler;
97104
std::string _global_frame, _name;
105+
float _lookup_table_dim;
98106
float _tolerance;
107+
bool _downsample_costmap;
99108
int _downsampling_factor;
100-
unsigned int _angle_quantizations;
101109
double _angle_bin_size;
102-
bool _downsample_costmap;
103-
rclcpp_lifecycle::LifecyclePublisher<nav_msgs::msg::Path>::SharedPtr _raw_plan_publisher;
110+
unsigned int _angle_quantizations;
111+
bool _allow_unknown;
112+
int _max_iterations;
113+
SearchInfo _search_info;
104114
double _max_planning_time;
115+
double _lookup_table_size;
116+
std::string _motion_model_for_search;
117+
MotionModel _motion_model;
118+
rclcpp_lifecycle::LifecyclePublisher<nav_msgs::msg::Path>::SharedPtr _raw_plan_publisher;
119+
std::mutex _mutex;
120+
rclcpp_lifecycle::LifecycleNode::WeakPtr _node;
121+
122+
// Subscription for parameter change
123+
rclcpp::AsyncParametersClient::SharedPtr _parameters_client;
124+
rclcpp::Subscription<rcl_interfaces::msg::ParameterEvent>::SharedPtr _parameter_event_sub;
105125
};
106126

107127
} // namespace nav2_smac_planner

0 commit comments

Comments
 (0)