Nav2 Navigation Stack - rolling  main
ROS 2 Navigation Stack
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
nav2_bt_navigator::BtNavigator Class Reference

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

#include <nav2_bt_navigator/include/nav2_bt_navigator/bt_navigator.hpp>

Inheritance diagram for nav2_bt_navigator::BtNavigator:
Inheritance graph
[legend]
Collaboration diagram for nav2_bt_navigator::BtNavigator:
Collaboration graph
[legend]

Public Member Functions

 BtNavigator (rclcpp::NodeOptions options=rclcpp::NodeOptions())
 A constructor for nav2_bt_navigator::BtNavigator class. More...
 
 ~BtNavigator ()
 A destructor for nav2_bt_navigator::BtNavigator class.
 
- Public Member Functions inherited from nav2::LifecycleNode
 LifecycleNode (const std::string &node_name, const std::string &ns, const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
 A lifecycle node constructor. More...
 
 LifecycleNode (const std::string &node_name, const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
 A lifecycle node constructor with no namespace. More...
 
template<typename ParamType >
ParamType declare_or_get_parameter (const std::string &parameter_name, const ParamType &default_value, const ParameterDescriptor &parameter_descriptor=ParameterDescriptor())
 Declares or gets a parameter. If the parameter is already declared, returns its value; otherwise declares it and returns the default value. More...
 
template<typename MessageT , typename CallbackT >
nav2::Subscription< MessageT >::SharedPtr create_subscription (const std::string &topic_name, CallbackT &&callback, const rclcpp::QoS &qos=nav2::qos::StandardTopicQoS(), const rclcpp::CallbackGroup::SharedPtr &callback_group=nullptr)
 Create a subscription to a topic using Nav2 QoS profiles and SubscriptionOptions. More...
 
template<typename MessageT >
nav2::Publisher< MessageT >::SharedPtr create_publisher (const std::string &topic_name, const rclcpp::QoS &qos=nav2::qos::StandardTopicQoS(), const rclcpp::CallbackGroup::SharedPtr &callback_group=nullptr)
 Create a publisher to a topic using Nav2 QoS profiles and PublisherOptions. More...
 
template<typename ServiceT >
nav2::ServiceClient< ServiceT >::SharedPtr create_client (const std::string &service_name, bool use_internal_executor=false)
 Create a ServiceClient to interface with a service. More...
 
template<typename ServiceT >
nav2::ServiceServer< ServiceT >::SharedPtr create_service (const std::string &service_name, typename nav2::ServiceServer< ServiceT >::CallbackType cb, rclcpp::CallbackGroup::SharedPtr callback_group=nullptr)
 Create a ServiceServer to host with a service. More...
 
template<typename ActionT >
nav2::SimpleActionServer< ActionT >::SharedPtr create_action_server (const std::string &action_name, typename nav2::SimpleActionServer< ActionT >::ExecuteCallback execute_callback, typename nav2::SimpleActionServer< ActionT >::CompletionCallback compl_cb=nullptr, std::chrono::milliseconds server_timeout=std::chrono::milliseconds(500), bool spin_thread=false, const bool realtime=false)
 Create a SimpleActionServer to host with an action. More...
 
template<typename ActionT >
nav2::ActionClient< ActionT >::SharedPtr create_action_client (const std::string &action_name, rclcpp::CallbackGroup::SharedPtr callback_group=nullptr)
 Create a ActionClient to call an action using. More...
 
nav2::LifecycleNode::SharedPtr shared_from_this ()
 Get a shared pointer of this.
 
nav2::LifecycleNode::WeakPtr weak_from_this ()
 Get a shared pointer of this.
 
nav2::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...
 
void autostart ()
 Automatically configure and active the node.
 
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::CallbackReturn on_configure (const rclcpp_lifecycle::State &state) override
 Configures member variables. More...
 
nav2::CallbackReturn on_activate (const rclcpp_lifecycle::State &state) override
 Activates action server. More...
 
nav2::CallbackReturn on_deactivate (const rclcpp_lifecycle::State &state) override
 Deactivates action server. More...
 
nav2::CallbackReturn on_cleanup (const rclcpp_lifecycle::State &state) override
 Resets member variables. More...
 
nav2::CallbackReturn on_shutdown (const rclcpp_lifecycle::State &state) override
 Called when in shutdown state. More...
 
- Protected Member Functions inherited from nav2::LifecycleNode
void printLifecycleNodeNotification ()
 Print notifications for lifecycle node.
 
void register_rcl_preshutdown_callback ()
 
void runCleanups ()
 

Protected Attributes

pluginlib::ClassLoader< nav2_core::NavigatorBaseclass_loader_
 
std::vector< pluginlib::UniquePtr< nav2_core::NavigatorBase > > navigators_
 
nav2_core::NavigatorMuxer plugin_muxer_
 
std::shared_ptr< nav2_util::OdomSmootherodom_smoother_
 
std::string robot_frame_
 
std::string global_frame_
 
double transform_tolerance_
 
double filter_duration_
 
std::string odom_topic_
 
std::shared_ptr< tf2_ros::Buffer > tf_
 
std::shared_ptr< tf2_ros::TransformListener > tf_listener_
 
- Protected Attributes inherited from nav2::LifecycleNode
std::unique_ptr< rclcpp::PreShutdownCallbackHandle > rcl_preshutdown_cb_handle_ {nullptr}
 
std::shared_ptr< bond::Bond > bond_ {nullptr}
 
double bond_heartbeat_period {0.1}
 
rclcpp::TimerBase::SharedPtr autostart_timer_
 

Additional Inherited Members

- Public Types inherited from nav2::LifecycleNode
using SharedPtr = std::shared_ptr< nav2::LifecycleNode >
 
using WeakPtr = std::weak_ptr< nav2::LifecycleNode >
 
using SharedConstPointer = std::shared_ptr< const nav2::LifecycleNode >
 

Detailed Description

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

Definition at line 40 of file bt_navigator.hpp.

Constructor & Destructor Documentation

◆ BtNavigator()

nav2_bt_navigator::BtNavigator::BtNavigator ( rclcpp::NodeOptions  options = rclcpp::NodeOptions())
explicit

A constructor for nav2_bt_navigator::BtNavigator class.

Parameters
optionsAdditional options to control creation of the node.

Definition at line 35 of file bt_navigator.cpp.

Member Function Documentation

◆ on_activate()

nav2::CallbackReturn nav2_bt_navigator::BtNavigator::on_activate ( const rclcpp_lifecycle::State &  state)
overrideprotected

Activates action server.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 133 of file bt_navigator.cpp.

References nav2::LifecycleNode::createBond(), and on_deactivate().

Here is the call graph for this function:

◆ on_cleanup()

nav2::CallbackReturn nav2_bt_navigator::BtNavigator::on_cleanup ( const rclcpp_lifecycle::State &  state)
overrideprotected

Resets member variables.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 166 of file bt_navigator.cpp.

Referenced by on_configure().

Here is the caller graph for this function:

◆ on_configure()

nav2::CallbackReturn nav2_bt_navigator::BtNavigator::on_configure ( const rclcpp_lifecycle::State &  state)
overrideprotected

Configures member variables.

Initializes action servers for navigator plugins; subscription to "goal_sub"; and builds behavior tree from xml file.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 48 of file bt_navigator.cpp.

References nav2::LifecycleNode::declare_or_get_parameter(), on_cleanup(), and nav2::LifecycleNode::shared_from_this().

Here is the call graph for this function:

◆ on_deactivate()

nav2::CallbackReturn nav2_bt_navigator::BtNavigator::on_deactivate ( const rclcpp_lifecycle::State &  state)
overrideprotected

Deactivates action server.

Parameters
stateReference to LifeCycle node state
Returns
SUCCESS or FAILURE

Definition at line 150 of file bt_navigator.cpp.

References nav2::LifecycleNode::destroyBond().

Referenced by on_activate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ on_shutdown()

nav2::CallbackReturn nav2_bt_navigator::BtNavigator::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 186 of file bt_navigator.cpp.


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