Nav2 Navigation Stack - kilted
kilted
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... | |
void | setGrootMonitoring (const bool enable, const unsigned server_port) |
Enable (or disable) Groot2 monitoring of BT. 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. | |
void | setInternalError (uint16_t error_code, const std::string &error_msg) |
Set internal error code and message. More... | |
void | resetInternalError (void) |
reset internal error code and message | |
bool | populateInternalError (typename std::shared_ptr< typename ActionT::Result > result) |
populate result with internal error code and error_msg if not NONE More... | |
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_name_prefixes_ |
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 |
bool | enable_groot_monitoring_ = true |
int | groot_server_port_ = 1667 |
OnGoalReceivedCallback | on_goal_received_callback_ |
OnLoopCallback | on_loop_callback_ |
OnPreemptCallback | on_preempt_callback_ |
OnCompletionCallback | on_completion_callback_ |
uint16_t | internal_error_code_ |
std::string | internal_error_msg_ |
An action server that uses behavior tree to execute an action.
Definition at line 39 of file bt_action_server.hpp.
|
inline |
Wrapper function to accept pending goal if a preempt has been requested.
Definition at line 140 of file bt_action_server.hpp.
|
inline |
Getter function for BT Blackboard.
Definition at line 113 of file bt_action_server.hpp.
|
inline |
Getter function for current BT XML filename.
Definition at line 122 of file bt_action_server.hpp.
|
inline |
Wrapper function to get current goal.
Definition at line 157 of file bt_action_server.hpp.
|
inline |
Getter function for default BT XML filename.
Definition at line 131 of file bt_action_server.hpp.
|
inline |
Wrapper function to get pending goal.
Definition at line 166 of file bt_action_server.hpp.
|
inline |
Getter function for the current BT tree.
Definition at line 183 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 246 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_activate |
Activates action server.
Definition at line 205 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_cleanup |
Resets member variables.
Definition at line 224 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 129 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::on_deactivate |
Deactivates action server.
Definition at line 217 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 400 of file bt_action_server_impl.hpp.
bool nav2_behavior_tree::BtActionServer< ActionT >::populateInternalError | ( | typename std::shared_ptr< typename ActionT::Result > | result | ) |
populate result with internal error code and error_msg if not NONE
result | the action server result to be updated |
Definition at line 388 of file bt_action_server_impl.hpp.
void nav2_behavior_tree::BtActionServer< ActionT >::setGrootMonitoring | ( | const bool | enable, |
const unsigned | server_port | ||
) |
Enable (or disable) Groot2 monitoring of BT.
enable | Groot2 monitoring |
server_port | Groot2 Server port, first of the pair (server_port, publisher_port) |
Definition at line 239 of file bt_action_server_impl.hpp.
void nav2_behavior_tree::BtActionServer< ActionT >::setInternalError | ( | uint16_t | error_code, |
const std::string & | error_msg | ||
) |
Set internal error code and message.
error_code | the internal error code |
error_msg | the internal error message |
Definition at line 372 of file bt_action_server_impl.hpp.