MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
moveit_studio::behaviors::DetachURDF Class Referencefinal

This Behavior detaches a URDF object from the robot. More...

#include <detach_urdf.hpp>

Inheritance diagram for moveit_studio::behaviors::DetachURDF:
Collaboration diagram for moveit_studio::behaviors::DetachURDF:

Public Member Functions

 DetachURDF (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructs a DetachURDF behavior node.
 
 DetachURDF (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< DetachOrRemoveURDFSrv > > client_interface)
 Constructs a DetachURDF behavior node with a custom service client.
 
- Public Member Functions inherited from moveit_studio::behaviors::DetachOrRemoveURDF
 DetachOrRemoveURDF (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
 DetachOrRemoveURDF (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< DetachOrRemoveURDFSrv > > client_interface)
 
- Public Member Functions inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< moveit_studio_agent_msgs::srv::DetachOrRemoveURDF >
 ServiceClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructs ServiceClientBehaviorBase using the RclcppClientInterface.
 
 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::DetachOrRemoveURDF > > client_interface)
 Constructs ServiceClientBehaviorBase using a user-provided implementation of ClientInterfaceBase.
 
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().
 
BT::NodeStatus onRunning () override
 Required implementation of BT::StatefulActionNode::onRunning().
 
void onHalted () override
 Required implementation of BT::StatefulActionNode::onHalted().
 
void resetStatus ()
 Resets the internal status of this node.
 
- 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.
 

Static Public Member Functions

static BT::KeyValueVector metadata ()
 Provides metadata for UI display and behavior categorization.
 
- Static Public Member Functions inherited from moveit_studio::behaviors::DetachOrRemoveURDF
static BT::PortsList providedPorts ()
 

Additional Inherited Members

- Public Types inherited from moveit_studio::behaviors::DetachOrRemoveURDF
using DetachOrRemoveURDFSrv = moveit_studio_agent_msgs::srv::DetachOrRemoveURDF
 
- Static Public Attributes inherited from moveit_studio::behaviors::DetachOrRemoveURDF
static constexpr auto kDefaultUrdfNamePort = "urdf_name"
 
static constexpr auto kDetachURDFBehaviorName = "DetachURDF"
 
static constexpr auto kRemoveURDFFromSceneBehaviorName = "RemoveURDFFromScene"
 
static constexpr auto kDetachURDFServiceName = "detach_urdf"
 
static constexpr auto kRemoveURDFFromSceneServiceName = "remove_urdf_from_scene"
 
- Static Public Attributes inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< moveit_studio_agent_msgs::srv::DetachOrRemoveURDF >
static constexpr std::chrono::seconds kTimeoutWaitForServiceServer
 
- Protected Member Functions inherited from moveit_studio::behaviors::DetachOrRemoveURDF
virtual std::string getUrdfNamePort () const
 
- Protected Member Functions inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< moveit_studio_agent_msgs::srv::DetachOrRemoveURDF >
virtual tl::expected< std::chrono::duration< double >, std::string > getWaitForServerAvailableTimeout ()
 Optional user-provided function to set the timeout used when waiting for the service server to be available.
 
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.
 
tl::expected< void, std::string > doHalt () override
 Handles halting logic which is specific to the service client behavior implementation.
 
- Protected Member Functions inherited from moveit_studio::behaviors::AsyncBehaviorBase
void notifyCanHalt ()
 Called when runAsync() finishes to notify onHalted() that the async process has finished.
 
- Protected Attributes inherited from moveit_studio::behaviors::SharedResourcesNode< BT::StatefulActionNode >
std::shared_ptr< BehaviorContextshared_resources_
 

Detailed Description

This Behavior detaches a URDF object from the robot.

The URDF object with the given urdf_name will be detached from the robot. Once detached, the object will no longer move with the robot and will not be considered in motion planning calculations.

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

Constructor & Destructor Documentation

◆ DetachURDF() [1/2]

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

Constructs a DetachURDF behavior node.

Parameters
nameThe unique identifier for this node instance in the behavior tree.
configConfiguration object containing input/output port bindings and blackboard access.
shared_resourcesProvides access to MoveIt planning scene, robot model, and ROS node interfaces.

◆ DetachURDF() [2/2]

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

Constructs a DetachURDF behavior node with a custom service client.

Parameters
nameThe unique identifier for this node instance in the behavior tree.
configConfiguration object containing input/output port bindings and blackboard access.
shared_resourcesProvides access to MoveIt planning scene, robot model, and ROS node interfaces.
client_interfaceCustom or mock service client implementation, typically used for unit testing.

Member Function Documentation

◆ metadata()

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

Provides metadata for UI display and behavior categorization.

Returns
Key-value pairs defining the behavior's subcategory and description for the palette.

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