Nav2 Navigation Stack - jazzy
jazzy
ROS 2 Navigation Stack
|
An action server that uses behavior tree to execute an action. More...
#include <nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server.hpp>
Public Types | |
using | ActionServer = nav2_util::SimpleActionServer< ActionT > |
typedef std::function< bool(typename ActionT::Goal::ConstSharedPtr)> | OnGoalReceivedCallback |
typedef std::function< void()> | OnLoopCallback |
typedef std::function< void(typename ActionT::Goal::ConstSharedPtr)> | OnPreemptCallback |
typedef std::function< void(typename ActionT::Result::SharedPtr, nav2_behavior_tree::BtStatus)> | OnCompletionCallback |
Public Member Functions | |
BtActionServer (const rclcpp_lifecycle::LifecycleNode::WeakPtr &parent, const std::string &action_name, const std::vector< std::string > &plugin_lib_names, const std::string &default_bt_xml_filename, OnGoalReceivedCallback on_goal_received_callback, OnLoopCallback on_loop_callback, OnPreemptCallback on_preempt_callback, OnCompletionCallback on_completion_callback) | |
A constructor for nav2_behavior_tree::BtActionServer class. | |
~BtActionServer () | |
A destructor for nav2_behavior_tree::BtActionServer class. | |
bool | on_configure () |
Configures member variables Initializes action server for, builds behavior tree from xml file, and calls user-defined onConfigure. More... | |
bool | on_activate () |
Activates action server. More... | |
bool | on_deactivate () |
Deactivates action server. More... | |
bool | on_cleanup () |
Resets member variables. More... | |
bool | loadBehaviorTree (const std::string &bt_xml_filename="") |
Replace current BT with another one. More... | |
BT::Blackboard::Ptr | getBlackboard () const |
Getter function for BT Blackboard. More... | |
std::string | getCurrentBTFilename () const |
Getter function for current BT XML filename. More... | |
std::string | getDefaultBTFilename () const |
Getter function for default BT XML filename. More... | |
const std::shared_ptr< const typename ActionT::Goal > | acceptPendingGoal () |
Wrapper function to accept pending goal if a preempt has been requested. More... | |
void | terminatePendingGoal () |
Wrapper function to terminate pending goal if a preempt has been requested. | |
const std::shared_ptr< const typename ActionT::Goal > | getCurrentGoal () const |
Wrapper function to get current goal. More... | |
const std::shared_ptr< const typename ActionT::Goal > | getPendingGoal () const |
Wrapper function to get pending goal. More... | |
void | publishFeedback (typename std::shared_ptr< typename ActionT::Feedback > feedback) |
Wrapper function to publish action feedback. | |
const BT::Tree & | getTree () const |
Getter function for the current BT tree. More... | |
void | haltTree () |
Function to halt the current tree. It will interrupt the execution of RUNNING nodes by calling their halt() implementation (only for Async nodes that may return RUNNING) This should already done for all the exit states of the action but preemption. | |
Protected Member Functions | |
void | executeCallback () |
Action server callback. | |
void | populateErrorCode (typename std::shared_ptr< typename ActionT::Result > result) |
updates the action server result to the highest priority error code posted on the blackboard More... | |
void | cleanErrorCodes () |
Setting BT error codes to success. Used to clean blackboard between different BT runs. | |
Protected Attributes | |
std::string | action_name_ |
std::shared_ptr< ActionServer > | action_server_ |
BT::Tree | tree_ |
BT::Blackboard::Ptr | blackboard_ |
std::string | current_bt_xml_filename_ |
std::string | default_bt_xml_filename_ |
std::unique_ptr< nav2_behavior_tree::BehaviorTreeEngine > | bt_ |
std::vector< std::string > | plugin_lib_names_ |
std::vector< std::string > | error_code_names_ |
rclcpp::Node::SharedPtr | client_node_ |
rclcpp_lifecycle::LifecycleNode::WeakPtr | node_ |
rclcpp::Clock::SharedPtr | clock_ |
rclcpp::Logger | logger_ {rclcpp::get_logger("BtActionServer")} |
std::unique_ptr< RosTopicLogger > | topic_logger_ |
std::chrono::milliseconds | bt_loop_duration_ |
std::chrono::milliseconds | default_server_timeout_ |
std::chrono::milliseconds | wait_for_service_timeout_ |
bool | always_reload_bt_xml_ = false |
OnGoalReceivedCallback | on_goal_received_callback_ |
OnLoopCallback | on_loop_callback_ |
OnPreemptCallback | on_preempt_callback_ |
OnCompletionCallback | on_completion_callback_ |
An action server that uses behavior tree to execute an action.
Definition at line 35 of file bt_action_server.hpp.
|
inline |
Wrapper function to accept pending goal if a preempt has been requested.
Definition at line 129 of file bt_action_server.hpp.
|
inline |
Getter function for BT Blackboard.
Definition at line 102 of file bt_action_server.hpp.
|
inline |
Getter function for current BT XML filename.
Definition at line 111 of file bt_action_server.hpp.
|
inline |
Wrapper function to get current goal.
Definition at line 146 of file bt_action_server.hpp.
|
inline |
Getter function for default BT XML filename.
Definition at line 120 of file bt_action_server.hpp.
|
inline |
Wrapper function to get pending goal.
Definition at line 155 of file bt_action_server.hpp.
|
inline |
Getter function for the current BT tree.
Definition at line 172 of file bt_action_server.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::loadBehaviorTree | ( | const std::string & | bt_xml_filename = "" | ) |
Replace current BT with another one.
bt_xml_filename | The file containing the new BT, uses default filename if empty |
Definition at line 225 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_activate |
Activates action server.
Definition at line 193 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_cleanup |
Resets member variables.
Definition at line 211 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_configure |
Configures member variables Initializes action server for, builds behavior tree from xml file, and calls user-defined onConfigure.
Definition at line 111 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_deactivate |
Deactivates action server.
Definition at line 204 of file bt_action_server_impl.hpp.
|
protected |
updates the action server result to the highest priority error code posted on the blackboard
result | the action server result to be updated |
Definition at line 332 of file bt_action_server_impl.hpp.