MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
moveit_pro::behaviors::FindSingularCuboids Class Referencefinal

Finds well-singulated cuboids supported by a surface within a point cloud. More...

#include <find_singular_cuboids.hpp>

Inheritance diagram for moveit_pro::behaviors::FindSingularCuboids:
Collaboration diagram for moveit_pro::behaviors::FindSingularCuboids:

Public Member Functions

 FindSingularCuboids (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
BT::NodeStatus onStart () override
 
BT::NodeStatus onRunning () override
 
void onHalted () override
 
- 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 ()
 

Static Public Attributes

static constexpr auto kPortIDPointCloud = "point_cloud"
 
static constexpr auto kPortIDBaseFrame = "base_frame"
 
static constexpr auto kPortIDPlaneModelThreshold = "plane_model_threshold"
 
static constexpr auto kPortIDClusterDistanceThreshold = "cluster_distance_threshold"
 
static constexpr auto kPortIDCropBoxOriginXYZ = "crop_box_origin_xyz"
 
static constexpr auto kPortIDCropBoxSizeXYZ = "crop_box_size_xyz"
 
static constexpr auto kPortIDDetectedShapes = "detected_shapes"
 

Additional Inherited Members

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

Detailed Description

Finds well-singulated cuboids supported by a surface within a point cloud.

This behavior makes some assumptions about the environment:

  • The input point cloud must include a large flat surface, such as a tabletop or floor.
  • The filtering and cropping steps are expected to remove all points which are far away from this surface.
  • After filtering, all remaining clusters of points are assumed to be objects which are supported by the surface.

The output GraspableObjects will be transformed so that their parent frame is the frame defined by the base_frame config parameter.

Data Port Name Port Type Object Type
point_cloud input sensor_msgs::msg::PointCloud2
base_frame input std::string
plane_model_threshold input double
cluster_distance_threshold input double
crop_box_origin_xyz input std::vector<double>
crop_box_size_xyz input std::vector<double>
detected_shapes output std::vector<GraspableObject>

Constructor & Destructor Documentation

◆ FindSingularCuboids()

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

Member Function Documentation

◆ metadata()

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

◆ onHalted()

void moveit_pro::behaviors::FindSingularCuboids::onHalted ( )
override

◆ onRunning()

BT::NodeStatus moveit_pro::behaviors::FindSingularCuboids::onRunning ( )
override

◆ onStart()

BT::NodeStatus moveit_pro::behaviors::FindSingularCuboids::onStart ( )
override

◆ providedPorts()

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

Member Data Documentation

◆ kPortIDBaseFrame

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDBaseFrame = "base_frame"
staticconstexpr

◆ kPortIDClusterDistanceThreshold

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDClusterDistanceThreshold = "cluster_distance_threshold"
staticconstexpr

◆ kPortIDCropBoxOriginXYZ

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDCropBoxOriginXYZ = "crop_box_origin_xyz"
staticconstexpr

◆ kPortIDCropBoxSizeXYZ

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDCropBoxSizeXYZ = "crop_box_size_xyz"
staticconstexpr

◆ kPortIDDetectedShapes

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDDetectedShapes = "detected_shapes"
staticconstexpr

◆ kPortIDPlaneModelThreshold

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDPlaneModelThreshold = "plane_model_threshold"
staticconstexpr

◆ kPortIDPointCloud

constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDPointCloud = "point_cloud"
staticconstexpr

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