@@ -34,17 +34,18 @@ WaypointFollower::WaypointFollower(const rclcpp::NodeOptions & options)
3434{
3535 RCLCPP_INFO (get_logger (), " Creating" );
3636
37- declare_parameter (" stop_on_failure" , true );
38- declare_parameter (" loop_rate" , 20 );
39-
40- declare_parameter (" global_frame_id" , " map" );
41-
42- nav2::declare_parameter_if_not_declared (
43- this , std::string (" waypoint_task_executor_plugin" ),
44- rclcpp::ParameterValue (std::string (" wait_at_waypoint" )));
45- nav2::declare_parameter_if_not_declared (
46- this , std::string (" wait_at_waypoint.plugin" ),
47- rclcpp::ParameterValue (std::string (" nav2_waypoint_follower::WaitAtWaypoint" )));
37+ // Use declare_or_get_parameter for all parameters
38+ stop_on_failure_ = nav2::declare_or_get_parameter (this , " stop_on_failure" , true );
39+ loop_rate_ = nav2::declare_or_get_parameter (this , " loop_rate" , 20 );
40+ global_frame_id_ = nav2::declare_or_get_parameter (
41+ this , " global_frame_id" , std::string (" map" ));
42+ waypoint_task_executor_id_ = nav2::declare_or_get_parameter (
43+ this , " waypoint_task_executor_plugin" , std::string (" wait_at_waypoint" ));
44+
45+ // Plugin type parameter
46+ nav2::declare_or_get_parameter (
47+ this , " wait_at_waypoint.plugin" ,
48+ std::string (" nav2_waypoint_follower::WaitAtWaypoint" ));
4849}
4950
5051WaypointFollower::~WaypointFollower ()
@@ -58,10 +59,13 @@ WaypointFollower::on_configure(const rclcpp_lifecycle::State & state)
5859
5960 auto node = shared_from_this ();
6061
61- stop_on_failure_ = get_parameter (" stop_on_failure" ).as_bool ();
62- loop_rate_ = get_parameter (" loop_rate" ).as_int ();
63- waypoint_task_executor_id_ = get_parameter (" waypoint_task_executor_plugin" ).as_string ();
64- global_frame_id_ = get_parameter (" global_frame_id" ).as_string ();
62+ // Parameters already declared in constructor, just get them
63+ stop_on_failure_ = nav2::declare_or_get_parameter (node, " stop_on_failure" , true );
64+ loop_rate_ = nav2::declare_or_get_parameter (node, " loop_rate" , 20 );
65+ waypoint_task_executor_id_ = nav2::declare_or_get_parameter (
66+ node, " waypoint_task_executor_plugin" , std::string (" wait_at_waypoint" ));
67+ global_frame_id_ = nav2::declare_or_get_parameter (
68+ node, " global_frame_id" , std::string (" map" ));
6569
6670 callback_group_ = create_callback_group (
6771 rclcpp::CallbackGroupType::MutuallyExclusive,
0 commit comments