TooN Algorithm Library - tag  0.2
Functions
Hand Eye calibration

Functions

TooN::SE3 tag::computeHandEyeSingle (const std::vector< TooN::SE3<> > &AB, const std::vector< TooN::SE3<> > &CD)
 
std::pair< TooN::SE3
<>, TooN::SE3<> > 
tag::computeHandEye (const std::vector< TooN::SE3<> > &AB, const std::vector< TooN::SE3<> > &CD)
 
TooN::SO3 tag::computeHandEyeSingle (const std::vector< TooN::SO3<> > &AB, const std::vector< TooN::SO3<> > &CD)
 
std::pair< TooN::SO3
<>, TooN::SO3<> > 
tag::computeHandEye (const std::vector< TooN::SO3<> > &AB, const std::vector< TooN::SO3<> > &CD)
 

Detailed Description

contains various functions to solve simultaneously for two transformations a ring of transformations. For example, world - world and sensor - sensor registration for two sensors. The implementation follows roughly Tsai & Lenz 89. It is only a linear method and does not include any nonlinear optimisation.

Function Documentation

std::pair< TooN::SE3<>, TooN::SE3<> > tag::computeHandEye ( const std::vector< TooN::SE3<> > &  AB,
const std::vector< TooN::SE3<> > &  CD 
)

computes the pair of transformations that complete the circle: AB -> X -> CD -> Y, so that X is the transformation from B to C and Y the transformation from D to A. AB, CD need to contain at least 3 entries to provide 2 independent motions

Parameters
[in]ABa vector of measurements for AB
[in]CDa vector of measurements for CD
Returns
pair of SE3<>s, X and Y

References tag::computeHandEyeSingle().

std::pair< TooN::SO3<>, TooN::SO3<> > tag::computeHandEye ( const std::vector< TooN::SO3<> > &  AB,
const std::vector< TooN::SO3<> > &  CD 
)

computes the pair of rotations that complete the circle: AB -> X -> CD -> Y, so that X is the transformation from B to C and Y the transformation from D to A. AB, CD need to contain at least 3 entries to provide 2 independent motions

Parameters
[in]ABa vector of measurements for AB
[in]CDa vector of measurements for CD
Returns
pair of SO3<> s, X and Y

References tag::computeHandEyeSingle().

TooN::SE3 tag::computeHandEyeSingle ( const std::vector< TooN::SE3<> > &  AB,
const std::vector< TooN::SE3<> > &  CD 
)

computes the transformation in a circle of transformations: AB -> X -> CD -> ?, so that X is the transformation from B to C. ? is not computed. AB, CD need to contain at least 3 entries to provide 2 independent motions

Parameters
[in]ABa vector of measurements for AB
[in]CDa vector of measurements for CD
Returns
the SE3<> X

Referenced by tag::computeHandEye().

TooN::SO3 tag::computeHandEyeSingle ( const std::vector< TooN::SO3<> > &  AB,
const std::vector< TooN::SO3<> > &  CD 
)

computes the rotation in a circle of transformations: AB -> X -> CD -> ?, so that X is the rotation from B to C. ? is not computed. AB, CD need to contain at least 3 entries to provide 2 independent motions

Parameters
[in]ABa vector of measurements for AB
[in]CDa vector of measurements for CD
Returns
the SE3<> X