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

This Behavior sends a request to detach a tool from a robot or remove it from the planning scene. More...

#include <detach_or_remove_tool.hpp>

Inheritance diagram for moveit_studio::behaviors::DetachOrRemoveTool:
Collaboration diagram for moveit_studio::behaviors::DetachOrRemoveTool:

Public Types

using DetachOrRemoveToolSrv = moveit_studio_agent_msgs::srv::DetachOrRemoveTool
 

Public Member Functions

 DetachOrRemoveTool (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
 DetachOrRemoveTool (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< DetachOrRemoveToolSrv >> client_interface)
 
- Public Member Functions inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< moveit_studio_agent_msgs::srv::DetachOrRemoveTool >
 ServiceClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructs ServiceClientBehaviorBase using the RclcppClientInterface. More...
 
 ServiceClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< moveit_studio_agent_msgs::srv::DetachOrRemoveTool >> client_interface)
 Constructs ServiceClientBehaviorBase using a user-provided implementation of ClientInterfaceBase. More...
 
virtual ~ServiceClientBehaviorBase ()=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 ()
 
static BT::KeyValueVector metadata ()
 

Static Public Attributes

static constexpr auto kToolNamePort = "tool_name"
 
static constexpr auto kDetachToolBehaviorName = "DetachTool"
 
static constexpr auto kRemoveToolFromSceneBehaviorName = "RemoveToolFromScene"
 
static constexpr auto kDetachToolServiceName = "detach_tool"
 
static constexpr auto kRemoveToolFromSceneServiceName = "remove_tool_from_scene"
 
- Static Public Attributes inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< moveit_studio_agent_msgs::srv::DetachOrRemoveTool >
static constexpr std::chrono::seconds kTimeoutWaitForServiceServer
 

Additional Inherited Members

- Protected Member Functions inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< moveit_studio_agent_msgs::srv::DetachOrRemoveTool >
virtual tl::expected< bool, std::string > processResponse (const typename ServiceT::Response &)
 Optional user-provided function to process the service response after the service has finished. 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

This Behavior sends a request to detach a tool from a robot or remove it from the planning scene.

The tool with the given tool_name will be detached from the robot or removed from the planning scene depending on which service is specified. If detached, the tool will no longer move with the robot and will not be considered in motion planning calculations. If removed, the tool will no longer be able to be attached to the robot until it is added to the planning scene again.

Data Port Name Port Type Object Type
tool_name input std::string

Member Typedef Documentation

◆ DetachOrRemoveToolSrv

using moveit_studio::behaviors::DetachOrRemoveTool::DetachOrRemoveToolSrv = moveit_studio_agent_msgs::srv::DetachOrRemoveTool

Constructor & Destructor Documentation

◆ DetachOrRemoveTool() [1/2]

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

◆ DetachOrRemoveTool() [2/2]

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

Member Function Documentation

◆ metadata()

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

◆ providedPorts()

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

Member Data Documentation

◆ kDetachToolBehaviorName

constexpr auto moveit_studio::behaviors::DetachOrRemoveTool::kDetachToolBehaviorName = "DetachTool"
staticconstexpr

◆ kDetachToolServiceName

constexpr auto moveit_studio::behaviors::DetachOrRemoveTool::kDetachToolServiceName = "detach_tool"
staticconstexpr

◆ kRemoveToolFromSceneBehaviorName

constexpr auto moveit_studio::behaviors::DetachOrRemoveTool::kRemoveToolFromSceneBehaviorName = "RemoveToolFromScene"
staticconstexpr

◆ kRemoveToolFromSceneServiceName

constexpr auto moveit_studio::behaviors::DetachOrRemoveTool::kRemoveToolFromSceneServiceName = "remove_tool_from_scene"
staticconstexpr

◆ kToolNamePort

constexpr auto moveit_studio::behaviors::DetachOrRemoveTool::kToolNamePort = "tool_name"
staticconstexpr

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