Skip to main content

RegisterPointClouds Class

Registers a target point cloud to a base point cloud and outputs the pose of the target point cloud relative to the origin of the base point cloud which aligns the target cloud with the base cloud. More...

Declaration

class moveit_pro::behaviors::RegisterPointClouds { ... }

Included Headers

#include <register_pointclouds.hpp>

Base class

classAsyncBehaviorBase

A base class for behaviors which need to asynchronously run a function that might take a long time to complete. More...

Public Constructors Index

RegisterPointClouds (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::PortsListprovidedPorts ()
static BT::KeyValueVectormetadata ()

Description

Registers a target point cloud to a base point cloud and outputs the pose of the target point cloud relative to the origin of the base point cloud which aligns the target cloud with the base cloud.

This Behavior uses the the Iterative Closest Point (ICP) algorithm to align the two clouds.

Data Port NamePort TypeObject Type
base_point_cloudinputsensor_msgs::msg::PointCloud2
target_point_cloudinputsensor_msgs::msg::PointCloud2
max_iterationsinputint
max_correspondence_distanceinputdouble
target_pose_in_base_frameoutputgeometry_msgs::msg::PoseStamped

Definition at line 29 of file register_pointclouds.hpp.

Public Constructors

RegisterPointClouds()

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

Declaration at line 32 of file register_pointclouds.hpp, definition at line 40 of file register_pointclouds.cpp.

Private Member Functions

doWork()

tl::expected< bool, std::string > moveit_pro::behaviors::RegisterPointClouds::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 40 of file register_pointclouds.hpp, definition at line 71 of file register_pointclouds.cpp.

getFuture()

std::shared_future< tl::expected< bool, std::string > > & moveit_pro::behaviors::RegisterPointClouds::getFuture ()
inline virtual

Classes derived from AsyncBehaviorBase must implement getFuture() so that it returns a shared_future class member.

Definition at line 42 of file register_pointclouds.hpp.

Private Member Attributes

future_

std::shared_future<tl::expected<bool, std::string> > moveit_pro::behaviors::RegisterPointClouds::future_

Classes derived from AsyncBehaviorBase must have this shared_future as a class member.

Definition at line 48 of file register_pointclouds.hpp.

Public Static Functions

metadata()

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

Declaration at line 37 of file register_pointclouds.hpp, definition at line 65 of file register_pointclouds.cpp.

providedPorts()

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

Declaration at line 35 of file register_pointclouds.hpp, definition at line 46 of file register_pointclouds.cpp.


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


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.