Skip to main content

NavigateToPoseAction Class

Calls an action server that uses nav2_msgs::action::NavigateToPose and outputs feedback The ROS 2 Jazzy action result contains error_code and error_msg; this Behavior does not expose it. More...

Declaration​

class moveit_pro::behaviors::NavigateToPoseAction { ... }

Included Headers​

#include <navigate_to_pose_action.hpp>

Base class​

classActionClientBehaviorBase<ActionT>

A base class for behaviors which need to send a goal to a ROS action client and wait for a result. If the behavior is halted before the action result is received, the action goal will be canceled. More...

Public Constructors Index​

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

Constructor for NavigateToPoseAction behavior. More...

NavigateToPoseAction (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...

Public Member Functions Index​

tl::expected< std::string, std::string >getActionName () override

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

Private Member Functions Index​

tl::expected< NavigateToPose::Goal, std::string >createGoal () override

Creates the action goal. More...

voidprocessFeedback (const std::shared_ptr< const NavigateToPose::Feedback > feedback) override

Writes current_pose, navigation_time, estimated_time_remaining, number_of_recoveries, and distance_remaining to blackboard. More...

tl::expected< std::chrono::duration< double >, std::string >getResultTimeout () override

Gets the timeout from the blackboard. More...

tl::expected< void, std::string >checkWhileGoalActive () override

Fails if the robot pose Nav2 drives on is older than max_pose_age_sec. More...

std::shared_future< tl::expected< bool, std::string > > &getFuture () override

Classes derived from AsyncBehaviorBase must implement getFuture() so that it returns a shared_future class member. More...

Private Member Attributes Index​

std::shared_future< tl::expected< bool, std::string > >future_

Classes derived from AsyncBehaviorBase must have this shared_future as a class member. More...

RobotPoseAgeLimitrobot_pose_age_limit_

Read when the goal is created. More...

Public Static Functions Index​

static BT::PortsListprovidedPorts ()

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

static BT::KeyValueVectormetadata ()

Description​

Calls an action server that uses nav2_msgs::action::NavigateToPose and outputs feedback The ROS 2 Jazzy action result contains error_code and error_msg; this Behavior does not expose it.

Data Port NamePort TypeObject Type
action_nameInputstd::string
behavior_tree_pathInputstd::string
pose_stampedInputgeometry_msgs::msg::PoseStamped
timeout_secInputdouble
max_pose_age_secInputdouble
current_poseOutputgeometry_msgs::msg::PoseStamped
navigation_timeOutputbuiltin_interfaces::msg::Duration
estimated_time_remainingOutputbuiltin_interfaces::msg::Duration
number_of_recoveriesOutputint16_t
distance_remainingOutputfloat

Definition at line 37 of file navigate_to_pose_action.hpp.

Public Constructors​

NavigateToPoseAction()​

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

Constructor for NavigateToPoseAction behavior.

Parameters
name

Name of the node. Must match the name used for this node in the behavior tree definition file (the .xml file).

config

Node configuration. Only used here because the BehaviorTree.CPP expects constructor signature with name and config first before custom constructor parameters.

shared_resources

Provides access to common resources such as the node handle and failure logger that are shared between all the behaviors that inherit from moveit_pro::behaviors::SharedResourcesNode.

Declaration at line 49 of file navigate_to_pose_action.hpp, definition at line 45 of file navigate_to_pose_action.cpp.

NavigateToPoseAction()​

moveit_pro::behaviors::NavigateToPoseAction::NavigateToPoseAction (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.

Declaration at line 56 of file navigate_to_pose_action.hpp, definition at line 51 of file navigate_to_pose_action.cpp.

Public Member Functions​

getActionName()​

tl::expected< std::string, std::string > moveit_pro::behaviors::NavigateToPoseAction::getActionName ()
virtual

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

Returns

The name of the action for the NavigateThroughPosesAction action client.

Declaration at line 73 of file navigate_to_pose_action.hpp, definition at line 98 of file navigate_to_pose_action.cpp.

Private Member Functions​

checkWhileGoalActive()​

tl::expected< void, std::string > moveit_pro::behaviors::NavigateToPoseAction::checkWhileGoalActive ()
virtual

Fails if the robot pose Nav2 drives on is older than max_pose_age_sec.

Declaration at line 97 of file navigate_to_pose_action.hpp, definition at line 168 of file navigate_to_pose_action.cpp.

createGoal()​

tl::expected< NavigateToPose::Goal, std::string > moveit_pro::behaviors::NavigateToPoseAction::createGoal ()
virtual

Creates the action goal.

Returns

The action goal message if successful, or an error message otherwise.

Declaration at line 80 of file navigate_to_pose_action.hpp, definition at line 109 of file navigate_to_pose_action.cpp.

getFuture()​

std::shared_future< tl::expected< bool, std::string > > & moveit_pro::behaviors::NavigateToPoseAction::getFuture ()
inline virtual

Classes derived from AsyncBehaviorBase must implement getFuture() so that it returns a shared_future class member.

Definition at line 101 of file navigate_to_pose_action.hpp.

getResultTimeout()​

tl::expected< std::chrono::duration< double >, std::string > moveit_pro::behaviors::NavigateToPoseAction::getResultTimeout ()
virtual

Gets the timeout from the blackboard.

Returns

The timeout as a chrono duration if successful, or an error message otherwise.

Declaration at line 94 of file navigate_to_pose_action.hpp, definition at line 157 of file navigate_to_pose_action.cpp.

processFeedback()​

void moveit_pro::behaviors::NavigateToPoseAction::processFeedback (const std::shared_ptr< const NavigateToPose::Feedback > feedback)

Writes current_pose, navigation_time, estimated_time_remaining, number_of_recoveries, and distance_remaining to blackboard.

Parameters
result

Action result message to process.

Returns

True if successful, or an error message otherwise.

Declaration at line 88 of file navigate_to_pose_action.hpp, definition at line 148 of file navigate_to_pose_action.cpp.

Private Member Attributes​

future_​

std::shared_future<tl::expected<bool, std::string> > moveit_pro::behaviors::NavigateToPoseAction::future_

Classes derived from AsyncBehaviorBase must have this shared_future as a class member.

Definition at line 107 of file navigate_to_pose_action.hpp.

robot_pose_age_limit_​

RobotPoseAgeLimit moveit_pro::behaviors::NavigateToPoseAction::robot_pose_age_limit_

Read when the goal is created.

Definition at line 110 of file navigate_to_pose_action.hpp.

Public Static Functions​

metadata()​

BT::KeyValueVector moveit_pro::behaviors::NavigateToPoseAction::metadata ()
static

Declaration at line 67 of file navigate_to_pose_action.hpp, definition at line 93 of file navigate_to_pose_action.cpp.

providedPorts()​

BT::PortsList moveit_pro::behaviors::NavigateToPoseAction::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.

Declaration at line 65 of file navigate_to_pose_action.hpp, definition at line 58 of file navigate_to_pose_action.cpp.


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


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.