@@ -87,21 +87,41 @@ class SmacPlannerHybrid : public nav2_core::GlobalPlanner
8787 const geometry_msgs::msg::PoseStamped & goal) override ;
8888
8989protected:
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