MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
moveit_pro::behaviors::GetContourFromPointCloudSlice Class Reference

Extracts contours from a point cloud slice. More...

#include <get_contour_from_pointcloud_slice.hpp>

Inheritance diagram for moveit_pro::behaviors::GetContourFromPointCloudSlice:
Collaboration diagram for moveit_pro::behaviors::GetContourFromPointCloudSlice:

Public Member Functions

 GetContourFromPointCloudSlice (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
- Public Member Functions inherited from moveit_pro::behaviors::AsyncBehaviorBase
 AsyncBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
 ~AsyncBehaviorBase () override=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_pro::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::PortsList providedPorts ()
 
static BT::KeyValueVector metadata ()
 

Protected Member Functions

tl::expected< bool, std::string > doWork () override
 User-implemented function which handles executing the potentially-long-running process.
 
- Protected Member Functions inherited from moveit_pro::behaviors::AsyncBehaviorBase
virtual tl::expected< void, std::string > doHalt ()
 Optionally implement additional work needed to cleanly interrupt the async process.
 
void notifyCanHalt ()
 Called when runAsync() finishes to notify onHalted() that the async process has finished.
 

Additional Inherited Members

- Protected Attributes inherited from moveit_pro::behaviors::SharedResourcesNode< BT::StatefulActionNode >
std::shared_ptr< BehaviorContextshared_resources_
 

Detailed Description

Extracts contours from a point cloud slice.

This behavior takes a point cloud and extracts 2D contours from a specified slice of the cloud and an angle range. The slice is defined by a plane normal and distance from origin.

The max_pose_spacing parameter sets a maximum distance between consecutive waypoints:

  • Waypoints farther apart than this value will be interpolated with additional waypoints
  • Waypoints closer than this value are preserved to maintain contour accuracy
  • This ensures the output path captures the contour shape while limiting maximum spacing
Data Port Name Port Type Object Type
input_cloud input sensor_msgs::msg::PointCloud2
slice_plane input geometry_msgs::msg::PoseStamped
slice_distance_from_plane input double
contour_crop_angle_start input double
contour_crop_angle_span input double
hull_alpha input double
max_pose_spacing input double
contour_path output std::vector<geometry_msgs::msg::PoseStamped>

Constructor & Destructor Documentation

◆ GetContourFromPointCloudSlice()

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

Member Function Documentation

◆ doWork()

tl::expected< bool, std::string > moveit_pro::behaviors::GetContourFromPointCloudSlice::doWork ( )
overrideprotectedvirtual

User-implemented function which handles executing the potentially-long-running process.

This function is called within an async process in a separate thread.

Returns
A tl::expected which contains a bool indicating task success if the process completed successfully or was canceled, or an error message if the process failed unexpectedly.

Implements moveit_pro::behaviors::AsyncBehaviorBase.

◆ metadata()

BT::KeyValueVector moveit_pro::behaviors::GetContourFromPointCloudSlice::metadata ( )
static

◆ providedPorts()

BT::PortsList moveit_pro::behaviors::GetContourFromPointCloudSlice::providedPorts ( )
static

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