iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nrt::TransformationEstimationPointToPlaneLLS Class Reference

#include <nrt/PointCloud2/Registration/Transformation/TransformationEstimationPointToPlaneLLS.H>

Estimates a rigid transform using a linear least squares approximation using a point to plane distance metric

The point clouds used in this estimation must have nrt::PointNormal fields. This method should only be used when the expected rotation between two clouds is reasonably small (30 degrees maximum).

Based upon the following paper: Linear Least-Squares Optimization for Point-to-PlaneICP Surface Registration Kok-Lim Low Technical Report, Dept. of Computer Science, University of North Carolina at Chapel Hill, 2004

Examples:
tests/test-PointCloud2Registration.C.

Definition at line 54 of file TransformationEstimationPointToPlaneLLS.H.

Inheritance diagram for nrt::TransformationEstimationPointToPlaneLLS:
nrt::TransformationEstimationBase

Public Member Functions

AffineTransform estimateTransform (PointCloud2 const source, PointCloud2 const target)
 Estimates a rigid transformation between a source and target cloud. More...
 
AffineTransform estimateTransform (PointCloud2 const source, PointCloud2 const target, Correspondences const correspondences)
 Estimates a rigid transformation between a source and target cloud. More...
 
size_t minimumNumCorrespondences () const
 Gets the minimum required number of correspondences to estimate a transform.
 
- Public Member Functions inherited from nrt::TransformationEstimationBase
virtual ~TransformationEstimationBase ()
 Virtual destruction.
 

Protected Member Functions

AffineTransform estimate (PointCloud2::ConstIterator< PointNormal > &&sourceBegin, PointCloud2::ConstIterator< PointNormal > &&targetBegin, const size_t srcSize)
 Does the actual estimation.
 

Additional Inherited Members

- Public Types inherited from nrt::TransformationEstimationBase
typedef std::shared_ptr
< TransformationEstimationBase
SharedPtr
 Convenience typedef for shared ptr to this.
 

Member Function Documentation

AffineTransform nrt::TransformationEstimationPointToPlaneLLS::estimateTransform ( PointCloud2 const  source,
PointCloud2 const  target 
)
virtual

Estimates a rigid transformation between a source and target cloud.

Parameters
sourceThe source point cloud
targetThe target point cloud
Returns
The 4x4 rotation matrix that performs the transform

Implements nrt::TransformationEstimationBase.

AffineTransform nrt::TransformationEstimationPointToPlaneLLS::estimateTransform ( PointCloud2 const  source,
PointCloud2 const  target,
Correspondences const  correspondences 
)
virtual

Estimates a rigid transformation between a source and target cloud.

Parameters
sourceThe source point cloud
targetThe target point cloud
correspondencesThe correspondences between two clouds
Returns
The 4x4 rotation matrix that performs the transform

Implements nrt::TransformationEstimationBase.


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