GetContourFromPointCloudSlice Class
Extracts contours from a point cloud slice. More...
Declaration
Included Headers
Base class
| class | AsyncBehaviorBase |
|
A base class for behaviors which need to asynchronously run a function that might take a long time to complete. More... | |
Public Constructors Index
| GetContourFromPointCloudSlice (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources) | |
Private Member Functions Index
| tl::expected< bool, std::string > | doWork () override |
|
User-implemented function which handles executing the potentially-long-running process. More... | |
| std::shared_future< tl::expected< bool, std::string > > & | getFuture () override |
|
Classes derived from AsyncBehaviorBase must implement getFuture() so that it returns a shared_future class member. More... | |
Private Member Attributes Index
| std::shared_future< tl::expected< bool, std::string > > | future_ |
|
Classes derived from AsyncBehaviorBase must have this shared_future as a class member. More... | |
Public Static Functions Index
| static BT::PortsList | providedPorts () |
| static BT::KeyValueVector | metadata () |
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> |
Definition at line 36 of file get_contour_from_pointcloud_slice.hpp.
Public Constructors
GetContourFromPointCloudSlice()
|
Declaration at line 39 of file get_contour_from_pointcloud_slice.hpp, definition at line 125 of file get_contour_from_pointcloud_slice.cpp.
Private Member Functions
doWork()
| virtual |
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.
Declaration at line 47 of file get_contour_from_pointcloud_slice.hpp, definition at line 180 of file get_contour_from_pointcloud_slice.cpp.
getFuture()
| inline virtual |
Classes derived from AsyncBehaviorBase must implement getFuture() so that it returns a shared_future class member.
Definition at line 49 of file get_contour_from_pointcloud_slice.hpp.
Private Member Attributes
future_
|
Classes derived from AsyncBehaviorBase must have this shared_future as a class member.
Definition at line 55 of file get_contour_from_pointcloud_slice.hpp.
Public Static Functions
metadata()
| static |
Declaration at line 44 of file get_contour_from_pointcloud_slice.hpp, definition at line 174 of file get_contour_from_pointcloud_slice.cpp.
providedPorts()
| static |
Declaration at line 42 of file get_contour_from_pointcloud_slice.hpp, definition at line 132 of file get_contour_from_pointcloud_slice.cpp.
The documentation for this class was generated from the following files:
Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.