FindSingularCuboids Class
Finds well-singulated cuboids supported by a surface within a point cloud. More...
Declaration
class moveit_pro::behaviors::FindSingularCuboids { ... }
#include <find_singular_cuboids.hpp>
Base class
Public Constructors Index
| FindSingularCuboids (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources) |
|
|
|
Public Member Functions Index
Private Member Functions Index
| tl::expected< void, std::string > | compute (const sensor_msgs::msg::PointCloud2 &point_cloud_msg, const moveit_studio::point_cloud_tools::SingularCuboidFinderConfig &config, const std::string &base_frame) |
|
Extract cuboids from the point cloud and set detected cuboids as an output data port. More...
|
|
Private Member Attributes Index
Public Static Functions Index
Public Static Attributes Index
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> |
Definition at line 41 of file find_singular_cuboids.hpp.
Public Constructors
FindSingularCuboids()
| moveit_pro::behaviors::FindSingularCuboids::FindSingularCuboids (const std::string & name, const BT::NodeConfiguration & config, const std::shared_ptr< BehaviorContext > & shared_resources) |
|
Public Member Functions
onHalted()
| void moveit_pro::behaviors::FindSingularCuboids::onHalted () |
|
onRunning()
| BT::NodeStatus moveit_pro::behaviors::FindSingularCuboids::onRunning () |
|
onStart()
| BT::NodeStatus moveit_pro::behaviors::FindSingularCuboids::onStart () |
|
Private Member Functions
compute()
| tl::expected< void, std::string > moveit_pro::behaviors::FindSingularCuboids::compute (const sensor_msgs::msg::PointCloud2 & point_cloud_msg, const moveit_studio::point_cloud_tools::SingularCuboidFinderConfig & config, const std::string & base_frame) |
|
Extract cuboids from the point cloud and set detected cuboids as an output data port.
- Parameters
-
| point_cloud_msg | Point cloud to process. |
| config | Settings to configure point cloud processing. |
- Returns
BT::NodeStatus::SUCCESS if cuboid detection succeeded. BT::NodeStatus::FAILURE if there was an error.
Declaration at line 74 of file find_singular_cuboids.hpp, definition at line 232 of file find_singular_cuboids.cpp.
Private Member Attributes
compute_future_
| ThreadedFuture<tl::expected<void, std::string> > moveit_pro::behaviors::FindSingularCuboids::compute_future_ |
|
Future associated with the asynchronous compute process.
When set, will contain a result that shows if the process succeeded or failed. Declared last so its joining destructor runs before any sibling member the background task dereferences is destroyed.
Definition at line 91 of file find_singular_cuboids.hpp.
status_
| BT::NodeStatus moveit_pro::behaviors::FindSingularCuboids::status_ |
|
visual_tools_
| rviz_visual_tools::RvizVisualToolsPtr moveit_pro::behaviors::FindSingularCuboids::visual_tools_ |
|
Public Static Functions
metadata()
| BT::KeyValueVector moveit_pro::behaviors::FindSingularCuboids::metadata () |
|
static
|
providedPorts()
| BT::PortsList moveit_pro::behaviors::FindSingularCuboids::providedPorts () |
|
static
|
Public Static Attributes
kPortIDBaseFrame
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDBaseFrame = "base_frame" |
|
constexpr
static
|
kPortIDClusterDistanceThreshold
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDClusterDistanceThreshold = "cluster_distance_threshold" |
|
constexpr
static
|
kPortIDCropBoxOriginXYZ
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDCropBoxOriginXYZ = "crop_box_origin_xyz" |
|
constexpr
static
|
kPortIDCropBoxSizeXYZ
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDCropBoxSizeXYZ = "crop_box_size_xyz" |
|
constexpr
static
|
kPortIDDetectedShapes
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDDetectedShapes = "detected_shapes" |
|
constexpr
static
|
kPortIDPlaneModelThreshold
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDPlaneModelThreshold = "plane_model_threshold" |
|
constexpr
static
|
kPortIDPointCloud
| constexpr auto moveit_pro::behaviors::FindSingularCuboids::kPortIDPointCloud = "point_cloud" |
|
constexpr
static
|
The documentation for this class was generated from the following files:
Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.