Nav2 Navigation Stack - humble  humble
ROS 2 Navigation Stack
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
nav2_waypoint_follower::WaypointFollower Class Reference

An action server that uses behavior tree for navigating a robot to its goal position. More...

#include <nav2_waypoint_follower/include/nav2_waypoint_follower/waypoint_follower.hpp>

Inheritance diagram for nav2_waypoint_follower::WaypointFollower:
Inheritance graph
[legend]
Collaboration diagram for nav2_waypoint_follower::WaypointFollower:
Collaboration graph
[legend]

Public Types

using ActionT = nav2_msgs::action::FollowWaypoints
 
using ClientT = nav2_msgs::action::NavigateToPose
 
using ActionServer = nav2_util::SimpleActionServer< ActionT >
 
using ActionClient = rclcpp_action::Client< ClientT >
 

Public Member Functions

 WaypointFollower (const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
 A constructor for nav2_waypoint_follower::WaypointFollower class. More...
 
 ~WaypointFollower ()
 A destructor for nav2_waypoint_follower::WaypointFollower class.
 
- Public Member Functions inherited from nav2_util::LifecycleNode
 LifecycleNode (const std::string &node_name, const std::string &ns="", const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
 A lifecycle node constructor. More...
 
void add_parameter (const std::string &name, const rclcpp::ParameterValue &default_value, const std::string &description="", const std::string &additional_constraints="", bool read_only=false)
 Declare a parameter that has no integer or floating point range constraints. More...
 
void add_parameter (const std::string &name, const rclcpp::ParameterValue &default_value, const floating_point_range fp_range, const std::string &description="", const std::string &additional_constraints="", bool read_only=false)
 Declare a parameter that has a floating point range constraint. More...
 
void add_parameter (const std::string &name, const rclcpp::ParameterValue &default_value, const integer_range int_range, const std::string &description="", const std::string &additional_constraints="", bool read_only=false)
 Declare a parameter that has an integer range constraint. More...
 
std::shared_ptr< nav2_util::LifecycleNodeshared_from_this ()
 Get a shared pointer of this.
 
nav2_util::CallbackReturn on_error (const rclcpp_lifecycle::State &)
 Abstracted on_error state transition callback, since unimplemented as of 2020 in the managed ROS2 node state machine. More...
 
virtual void on_rcl_preshutdown ()
 Perform preshutdown activities before our Context is shutdown. Note that this is related to our Context's shutdown sequence, not the lifecycle node state machine.
 
void createBond ()
 Create bond connection to lifecycle manager.
 
void destroyBond ()
 Destroy bond connection to lifecycle manager.
 

Protected Member Functions

nav2_util::CallbackReturn on_configure (const rclcpp_lifecycle::State &state) override
 Configures member variables. More...
 
nav2_util::CallbackReturn on_activate (const rclcpp_lifecycle::State &state) override
 Activates action server. More...
 
nav2_util::CallbackReturn on_deactivate (const rclcpp_lifecycle::State &state) override
 Deactivates action server. More...
 
nav2_util::CallbackReturn on_cleanup (const rclcpp_lifecycle::State &state) override
 Resets member variables. More...
 
nav2_util::CallbackReturn on_shutdown (const rclcpp_lifecycle::State &state) override
 Called when in shutdown state. More...
 
void followWaypoints ()
 Action server callbacks.
 
void resultCallback (const rclcpp_action::ClientGoalHandle< ClientT >::WrappedResult &result)
 Action client result callback. More...
 
void goalResponseCallback (const rclcpp_action::ClientGoalHandle< ClientT >::SharedPtr &goal)
 Action client goal response callback. More...
 
rcl_interfaces::msg::SetParametersResult dynamicParametersCallback (std::vector< rclcpp::Parameter > parameters)
 Callback executed when a parameter change is detected. More...
 
- Protected Member Functions inherited from nav2_util::LifecycleNode
void printLifecycleNodeNotification ()
 Print notifications for lifecycle node.
 
void register_rcl_preshutdown_callback ()
 
void runCleanups ()
 

Protected Attributes

rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr dyn_params_handler_
 
std::unique_ptr< ActionServeraction_server_
 
ActionClient::SharedPtr nav_to_pose_client_
 
rclcpp::CallbackGroup::SharedPtr callback_group_
 
rclcpp::executors::SingleThreadedExecutor callback_group_executor_
 
std::shared_future< rclcpp_action::ClientGoalHandle< ClientT >::SharedPtr > future_goal_handle_
 
bool stop_on_failure_
 
ActionStatus current_goal_status_
 
int loop_rate_
 
std::vector< int > failed_ids_
 
pluginlib::ClassLoader< nav2_core::WaypointTaskExecutorwaypoint_task_executor_loader_
 
pluginlib::UniquePtr< nav2_core::WaypointTaskExecutorwaypoint_task_executor_
 
std::string waypoint_task_executor_id_
 
std::string waypoint_task_executor_type_
 
- Protected Attributes inherited from nav2_util::LifecycleNode
std::unique_ptr< rclcpp::PreShutdownCallbackHandle > rcl_preshutdown_cb_handle_ {nullptr}
 
std::unique_ptr< bond::Bond > bond_ {nullptr}
 

Detailed Description

An action server that uses behavior tree for navigating a robot to its goal position.

Definition at line 51 of file waypoint_follower.hpp.

Constructor & Destructor Documentation

◆ WaypointFollower()

nav2_waypoint_follower::WaypointFollower::WaypointFollower ( const rclcpp::NodeOptions &  options = rclcpp::NodeOptions())
explicit

A constructor for nav2_waypoint_follower::WaypointFollower class.

Parameters
optionsAdditional options to control creation of the node.

Definition at line 30 of file waypoint_follower.cpp.

Member Function Documentation

◆ dynamicParametersCallback()

rcl_interfaces::msg::SetParametersResult nav2_waypoint_follower::WaypointFollower::dynamicParametersCallback ( std::vector< rclcpp::Parameter >  parameters)
protected

Callback executed when a parameter change is detected.

Parameters
eventParameterEvent message

Definition at line 326 of file waypoint_follower.cpp.

Referenced by on_activate().

Here is the caller graph for this function:

◆ goalResponseCallback()

void nav2_waypoint_follower::WaypointFollower::goalResponseCallback ( const rclcpp_action::ClientGoalHandle< ClientT >::SharedPtr &  goal)
protected

Action client goal response callback.

Parameters
goalResponse of action server updated asynchronously

Definition at line 314 of file waypoint_follower.cpp.

Referenced by followWaypoints().

Here is the caller graph for this function:

◆ on_activate()

nav2_util::CallbackReturn nav2_waypoint_follower::WaypointFollower::on_activate ( const rclcpp_lifecycle::State &  state)
overrideprotected

Activates action server.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 101 of file waypoint_follower.cpp.

References nav2_util::LifecycleNode::createBond(), dynamicParametersCallback(), and nav2_util::LifecycleNode::shared_from_this().

Here is the call graph for this function:

◆ on_cleanup()

nav2_util::CallbackReturn nav2_waypoint_follower::WaypointFollower::on_cleanup ( const rclcpp_lifecycle::State &  state)
overrideprotected

Resets member variables.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 133 of file waypoint_follower.cpp.

◆ on_configure()

nav2_util::CallbackReturn nav2_waypoint_follower::WaypointFollower::on_configure ( const rclcpp_lifecycle::State &  state)
overrideprotected

Configures member variables.

Initializes action server for "follow_waypoints"

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 52 of file waypoint_follower.cpp.

References followWaypoints(), and nav2_util::LifecycleNode::shared_from_this().

Here is the call graph for this function:

◆ on_deactivate()

nav2_util::CallbackReturn nav2_waypoint_follower::WaypointFollower::on_deactivate ( const rclcpp_lifecycle::State &  state)
overrideprotected

Deactivates action server.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 119 of file waypoint_follower.cpp.

References nav2_util::LifecycleNode::destroyBond().

Here is the call graph for this function:

◆ on_shutdown()

nav2_util::CallbackReturn nav2_waypoint_follower::WaypointFollower::on_shutdown ( const rclcpp_lifecycle::State &  state)
overrideprotected

Called when in shutdown state.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 144 of file waypoint_follower.cpp.

◆ resultCallback()

void nav2_waypoint_follower::WaypointFollower::resultCallback ( const rclcpp_action::ClientGoalHandle< ClientT >::WrappedResult &  result)
protected

Action client result callback.

Parameters
resultResult of action server updated asynchronously

Definition at line 286 of file waypoint_follower.cpp.

Referenced by followWaypoints().

Here is the caller graph for this function:

The documentation for this class was generated from the following files: