RobWorkProject  23.9.11-
Public Types | Static Public Member Functions | List of all members
PointPairsRegistration Class Reference

#include <PointPairsRegistration.hpp>

Public Types

typedef std::pair< rw::math::Vector3D<>, rw::math::Vector3D<> > PointPair
 

Static Public Member Functions

static rw::math::Transform3D pointPairRegistrationSVD (const std::vector< PointPair > &pointPairs)
 Perform registration of point pairs using SVD based method. More...
 
static rw::math::Transform3D pointPairRegistrationQuaternion (const std::vector< PointPair > &pointPairs)
 Perform registration of point pairs using Quaternion based method. More...
 

Detailed Description

Computes the transform minimizing: \(sum_i(|T*p_i-p'_i|^2)\), where \(p_i\) and \(p'_i\) is a pair of points corresponding to the same point in real world.

Member Function Documentation

◆ pointPairRegistrationQuaternion()

static rw::math::Transform3D pointPairRegistrationQuaternion ( const std::vector< PointPair > &  pointPairs)
static

Perform registration of point pairs using Quaternion based method.

At least three points are required for a registration

The method implemented is Besl, P. J. Et al.: A Method for Registration of 3-D Shapes. PAMI, 14(2):239-256, 1992.

Parameters
pointPairs[in] Point pairs p_i and p'_i to register.
Returns
Transform minimising the squared distance between point pairs

◆ pointPairRegistrationSVD()

static rw::math::Transform3D pointPairRegistrationSVD ( const std::vector< PointPair > &  pointPairs)
static

Perform registration of point pairs using SVD based method.

At least three points are required for a registration

The implemented method is described here: http://nghiaho.com/?page_id=671 . The implementation includes a step to take into account if the rotation contains a relection rather than a pure rotation.

Parameters
pointPairs[in] Point pairs p_i and p'_i to register.
Returns
Transform minimising the squared distance between point pairs

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