MoveIt Pro Behavior
Core Behaviors for MoveIt Pro
moveit_studio::behaviors::NavigateThroughPosesAction Class Referencefinal

Calls an action server that uses nav2_msgs::action::NavigateThroughPoses and outputs feedback The NavigateThroughPoses action (ROS 2 Humble) does not produce a result. More...

#include <navigate_through_poses_action.hpp>

Inheritance diagram for moveit_studio::behaviors::NavigateThroughPosesAction:
Collaboration diagram for moveit_studio::behaviors::NavigateThroughPosesAction:

Public Member Functions

 NavigateThroughPosesAction (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructor for NavigateThroughPosesAction behavior. More...
 
 NavigateThroughPosesAction (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase > client_interface)
 Overload for constructor which allows providing an alternate action client interface – useful for unit testing, but not a requirement. More...
 
tl::expected< std::string, std::string > getActionName () override
 Gets the name of the action to use when initializing the action client. More...
 
- Public Member Functions inherited from moveit_studio::behaviors::ActionClientBehaviorBase< NavigateThroughPoses >
 ActionClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructs ActionClientBehaviorBase using the RclcppClientInterface. More...
 
 ActionClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase > client_interface)
 Constructs ActionClientBehaviorBase using a user-provided implementation of ClientInterfaceBase. More...
 
virtual ~ActionClientBehaviorBase ()=default
 
- Public Member Functions inherited from moveit_studio::behaviors::AsyncBehaviorBase
 AsyncBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
virtual ~AsyncBehaviorBase ()=default
 
BT::NodeStatus onStart () override
 Required implementation of BT::StatefulActionNode::onStart(). More...
 
BT::NodeStatus onRunning () override
 Required implementation of BT::StatefulActionNode::onRunning(). More...
 
void onHalted () override
 Required implementation of BT::StatefulActionNode::onHalted(). More...
 
void resetStatus ()
 Resets the internal status of this node. More...
 
- Public Member Functions inherited from moveit_studio::behaviors::SharedResourcesNode< BT::StatefulActionNode >
 SharedResourcesNode (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructor for SharedResourcesNode. Called by BT::BehaviorTreeFactory when creating a new behavior tree containing this node. More...
 

Static Public Member Functions

static BT::PortsList providedPorts ()
 Custom tree nodes that have input and/or output ports must define them in this static function. More...
 
static BT::KeyValueVector metadata ()
 

Additional Inherited Members

- Public Types inherited from moveit_studio::behaviors::ActionClientBehaviorBase< NavigateThroughPoses >
using ClientGoalHandle = rclcpp_action::ClientGoalHandle< NavigateThroughPoses >
 
- Protected Member Functions inherited from moveit_studio::behaviors::ActionClientBehaviorBase< NavigateThroughPoses >
virtual tl::expected< bool, std::string > processResult (const std::shared_ptr< typename ActionT::Result >)
 Optional user-provided function to process the action result after the action has finished. More...
 
virtual void processFeedback (const std::shared_ptr< const typename ActionT::Feedback >)
 Optional user-provided function to process feedback sent by the action server. More...
 
virtual std::string getAbortedMessage (const std::shared_ptr< const typename ActionT::Result >) const
 Optional user-provided function to retrieve and surface an error message from an aborted action server result. More...
 
- Protected Member Functions inherited from moveit_studio::behaviors::AsyncBehaviorBase
void notifyCanHalt ()
 Called when runAsync() finishes to notify onHalted() that the async process has finished. More...
 
- Protected Attributes inherited from moveit_studio::behaviors::SharedResourcesNode< BT::StatefulActionNode >
std::shared_ptr< BehaviorContextshared_resources_
 

Detailed Description

Calls an action server that uses nav2_msgs::action::NavigateThroughPoses and outputs feedback The NavigateThroughPoses action (ROS 2 Humble) does not produce a result.

Data Port Name Port Type Object Type
action_name Input std::string
behavior_tree_path Input std::string
poses Input std::vector<geometry_msgs::msg::PoseStamped>
timeout_sec Input double
current_pose Output geometry_msgs::msg::PoseStamped
navigation_time Output builtin_interfaces::msg::Duration
estimated_time_remaining Output builtin_interfaces::msg::Duration
number_of_recoveries Output int16_t
distance_remaining Output float
number_of_poses_remaining Output int16

Constructor & Destructor Documentation

◆ NavigateThroughPosesAction() [1/2]

moveit_studio::behaviors::NavigateThroughPosesAction::NavigateThroughPosesAction ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources 
)

Constructor for NavigateThroughPosesAction behavior.

Parameters
nameName of the node. Must match the name used for this node in the behavior tree definition file (the .xml file).
configNode configuration. Only used here because the BehaviorTree.CPP expects constructor signature with name and config first before custom constructor parameters.
shared_resourcesProvides access to common resources such as the node handle and failure logger that are shared between all the behaviors that inherit from moveit_studio::behaviors::SharedResourcesNode.

◆ NavigateThroughPosesAction() [2/2]

moveit_studio::behaviors::NavigateThroughPosesAction::NavigateThroughPosesAction ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources,
std::unique_ptr< ClientInterfaceBase client_interface 
)

Overload for constructor which allows providing an alternate action client interface – useful for unit testing, but not a requirement.

Member Function Documentation

◆ getActionName()

tl::expected< std::string, std::string > moveit_studio::behaviors::NavigateThroughPosesAction::getActionName ( )
overridevirtual

Gets the name of the action to use when initializing the action client.

Returns
The name of the action for the GetMasks2D action client.

Implements moveit_studio::behaviors::ActionClientBehaviorBase< NavigateThroughPoses >.

◆ metadata()

BT::KeyValueVector moveit_studio::behaviors::NavigateThroughPosesAction::metadata ( )
static

◆ providedPorts()

BT::PortsList moveit_studio::behaviors::NavigateThroughPosesAction::providedPorts ( )
static

Custom tree nodes that have input and/or output ports must define them in this static function.

This function must be static. It is a requirement set by the BehaviorTree.CPP library.

Returns
List of ports with the names and port info. The return value is for the internal use of the behavior tree.

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