FollowPathAction Class
Calls an action server that uses nav2_msgs::action::FollowPath and outputs feedback. The ROS 2 Jazzy action result contains std_msgs::Empty, error_code, and error_msg; this Behavior does not expose it. More...
Declaration
Included Headers
Base class
| class | ActionClientBehaviorBase<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
| FollowPathAction (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources) | |
|
Constructor for FollowPathAction behavior. More... | |
| FollowPathAction (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< FollowPath::Goal, std::string > | createGoal () override |
|
Creates the action goal. More... | |
| void | processFeedback (const std::shared_ptr< const FollowPath::Feedback > feedback) override |
|
Writes distance to goal and speed 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... | |
| RobotPoseAgeLimit | robot_pose_age_limit_ |
|
Read when the goal is created. More... | |
Public Static Functions Index
| 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 () |
Description
Calls an action server that uses nav2_msgs::action::FollowPath and outputs feedback. The ROS 2 Jazzy action result contains std_msgs::Empty, error_code, and error_msg; this Behavior does not expose it.
| Data Port Name | Port Type | Object Type |
|---|---|---|
| action_name | Input | std::string |
| timeout_sec | Input | double |
| max_pose_age_sec | Input | double |
| controller_id | Input | std::string |
| goal_checker_id | Input | std::string |
| path | Input | nav_msgs::msg::Path |
| distance_to_goal | Output | float |
| speed | Output | float |
Definition at line 35 of file follow_path_action.hpp.
Public Constructors
FollowPathAction()
|
Constructor for FollowPathAction 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 47 of file follow_path_action.hpp, definition at line 42 of file follow_path_action.cpp.
FollowPathAction()
|
Overload for constructor which allows providing an alternate action client interface – useful for unit testing, but not a requirement.
Declaration at line 54 of file follow_path_action.hpp, definition at line 48 of file follow_path_action.cpp.
Public Member Functions
getActionName()
| virtual |
Gets the name of the action to use when initializing the action client.
- Returns
The name of the action for the FollowPathAction action client.
Declaration at line 71 of file follow_path_action.hpp, definition at line 79 of file follow_path_action.cpp.
Private Member Functions
checkWhileGoalActive()
| virtual |
Fails if the robot pose Nav2 drives on is older than max_pose_age_sec.
Declaration at line 95 of file follow_path_action.hpp, definition at line 141 of file follow_path_action.cpp.
createGoal()
| virtual |
Creates the action goal.
- Returns
The action goal message if successful, or an error message otherwise.
Declaration at line 78 of file follow_path_action.hpp, definition at line 90 of file follow_path_action.cpp.
getFuture()
| inline virtual |
Classes derived from AsyncBehaviorBase must implement getFuture() so that it returns a shared_future class member.
Definition at line 99 of file follow_path_action.hpp.
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 92 of file follow_path_action.hpp, definition at line 130 of file follow_path_action.cpp.
processFeedback()
|
Writes distance to goal and speed to blackboard.
- Parameters
-
result Action result message to process.
- Returns
True if successful, or an error message otherwise.
Declaration at line 86 of file follow_path_action.hpp, definition at line 124 of file follow_path_action.cpp.
Private Member Attributes
future_
|
Classes derived from AsyncBehaviorBase must have this shared_future as a class member.
Definition at line 105 of file follow_path_action.hpp.
robot_pose_age_limit_
|
Read when the goal is created.
Definition at line 108 of file follow_path_action.hpp.
Public Static Functions
metadata()
| static |
Declaration at line 65 of file follow_path_action.hpp, definition at line 74 of file follow_path_action.cpp.
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 63 of file follow_path_action.hpp, definition at line 55 of file follow_path_action.cpp.
The documentation for this class was generated from the following files:
Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.