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

Uses the service advertised by the PointCloudServiceOctomapUpdater plugin to apply a point cloud to the planning scene collision octomap and wait until the update has been applied. More...

#include <update_planning_scene_service.hpp>

Inheritance diagram for moveit_studio::behaviors::UpdatePlanningSceneService:
Collaboration diagram for moveit_studio::behaviors::UpdatePlanningSceneService:

Public Member Functions

 UpdatePlanningSceneService (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Construct a new Update Planning Scene object. More...
 
 UpdatePlanningSceneService (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< SendPointCloud2 >> client_interface)
 Alternate constructor which can use an existing ClientInterfaceBase to support testing with a mock service client interface. More...
 
- Public Member Functions inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< SendPointCloud2 >
 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< SendPointCloud2 >> 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 ()
 Returns list of ports for this behavior. More...
 
static BT::KeyValueVector metadata ()
 

Additional Inherited Members

- Static Public Attributes inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< SendPointCloud2 >
static constexpr std::chrono::seconds kTimeoutWaitForServiceServer
 
- Protected Member Functions inherited from moveit_studio::behaviors::ServiceClientBehaviorBase< SendPointCloud2 >
virtual tl::expected< std::chrono::duration< double >, std::string > getResponseTimeout ()
 Optional user-provided function to set the timeout used when waiting for the service response. More...
 
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

Uses the service advertised by the PointCloudServiceOctomapUpdater plugin to apply a point cloud to the planning scene collision octomap and wait until the update has been applied.

Data Port Name Port Type Object Type
point_cloud Input sensor_msgs::msg::PointCloud2
point_cloud_service Input std::string

Constructor & Destructor Documentation

◆ UpdatePlanningSceneService() [1/2]

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

Construct a new Update Planning Scene object.

Parameters
nameSee SharedResourcesNode
configSee SharedResourcesNode
shared_resourcesSee SharedResourcesNode

◆ UpdatePlanningSceneService() [2/2]

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

Alternate constructor which can use an existing ClientInterfaceBase to support testing with a mock service client interface.

Parameters
nameSee SharedResourcesNode
configSee SharedResourcesNode
shared_resourcesSee SharedResourcesNode
client_interfaceunique_ptr to an instance of a class derived from ClientInterfaceBase. The Behavior will take ownership of the unique_ptr in this constructor.

Member Function Documentation

◆ metadata()

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

◆ providedPorts()

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

Returns list of ports for this behavior.

Inputs to this behavior are: the point cloud, and the name of the service used to update the planning scene.

Returns
BT::PortsList The list of I/O Ports

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