Real navigation capability backed by EasyNav (via easynav::GoalManagerClient) and structured internally as a BehaviorTree.CPP tree.
More...
|
| | EasynavNavigationActionServer (rclcpp_lifecycle::LifecycleNode &node, const std::string &action_name) |
| | Constructs the action server.
|
|
| ActionServerBase (const ActionServerBase &)=delete |
|
ActionServerBase & | operator= (const ActionServerBase &)=delete |
| const std::string & | get_action_name () const noexcept |
| | Fully-qualified name of the action served by this instance.
|
| bool | is_active () const |
| | Whether a goal is currently executing.
|
| bool | is_preemptable () const noexcept |
| | Current value of the "allow_preemption" parameter for this action.
|
|
| rclcpp_action::GoalResponse | on_goal_received (const rclcpp_action::GoalUUID &uuid, std::shared_ptr< const Goal > goal) override |
| | Accepts only goals whose parameters_json names a known goal_id.
|
| void | on_execute (const GoalHandleSharedPtr goal_handle) override |
| | Builds and ticks the BT tree named by behavior_tree_xml_, driving gm_client_ through the Navigate node until the tree reaches SUCCESS/FAILURE or the goal is canceled/preempted/shut down.
|
| virtual rclcpp_action::GoalResponse | on_goal_received (const rclcpp_action::GoalUUID &uuid, std::shared_ptr< const Goal > goal)=0 |
| | Validate an incoming goal.
|
| virtual rclcpp_action::CancelResponse | on_cancel_requested (const GoalHandleSharedPtr goal_handle) |
| | Decide whether a cancel request (via the action's cancel service) should be accepted.
|
| virtual void | on_preempted (const GoalHandleSharedPtr &preempted_goal_handle) |
| | Optional hook invoked (from the accepting thread, not the worker thread) when a new goal is about to preempt the currently running one.
|
| bool | is_preempt_requested () const noexcept |
| | Whether a newer goal has been accepted and is waiting to replace the one currently executing.
|
| bool | is_shutdown_requested () const noexcept |
| | Whether this object is being destroyed.
|
| rclcpp::Logger | logger () const |
| | Logger of the node hosting this action server.
|
Real navigation capability backed by EasyNav (via easynav::GoalManagerClient) and structured internally as a BehaviorTree.CPP tree.
Named waypoints are configured as ROS parameters and resolved to poses by the Navigate node (provided by this package as a BT.CPP plugin) – EasyNav itself has no named-waypoint concept. The incoming ROS goal selects one by id via parameters_json: {"goal_id": "<id>"} (target_pose/waypoints on the goal itself go unused by this backend).
This class has no compile-time knowledge of which BT nodes make up the tree beyond Navigate: the bt_plugins parameter names the BT.CPP plugin shared libraries (built with BT_REGISTER_NODES, loaded via BT::BehaviorTreeFactory::registerFromPlugin()) to load before building the tree named by behavior_tree_xml. A deployment package supplies its own bookend nodes (e.g. StartOff/Finish) this way, without this package depending on them.