Class ReferenceDataProcessor3d

Inheritance Relationships

Base Type

Class Documentation

class ReferenceDataProcessor3d : public multisensor_calibration::DataProcessor3d

Processor to compute and publish reference cloud of the calibration target based on measured marker corners.

Public Functions

ReferenceDataProcessor3d() = delete

Default constructor is deleted.

ReferenceDataProcessor3d(const std::string &iLoggerName, const std::string &iSensorName, const fs::path &iCalibTargetFilePath)

Initialization constructor, providing the node name, the sensor name as well as the path to the calibration target configuration file.

virtual ~ReferenceDataProcessor3d()

Destructor.

virtual EProcessingResult processData(const pcl::PointCloud<InputPointType> &iPointCloud, const EProcessingLevel &iProcLevel) override

Callback method to process the point cloud data.

In this, first, the point cloud is transformed into a reference coordinate system if according transformation is set with setDataTransform(). After that a preprocessing filter is applied if it has been set using setPreprocFilter(). After the point cloud has been transformed and filtered, the point cloud normals are estimated and the region growing is applied. If the processing level is set to PREVIEW, only the cluster candidates are computed and published. If the processing level is set to TARGET_DETECTION, the target pose is detected and fit into the cloud using RANSAC as described above.

Parameters:
  • iPointCloud – Point cloud as pcl::PointCloud

  • iProcLevel[in] Level at which the data is to be processed, i.e. PREVIEW or TARGET_DETECTION

Returns:

Result of the processing.