Industrial Calibration  1.0.0
Loading...
Searching...
No Matches
Analysis

Detailed Description

Contains functions for analyzing the accuracy of sensors and various types of calibrations

Modules

 Camera Intrinsic Calibration Analysis
 
 Extrinsic Hand-eye Calibration Analysis
 
 Homography Analysis
 
 Noise Analysis
 
 Projection Analysis
 

Classes

struct  industrial_calibration::PositionStats
 Holds the mean and standard deviation of a position vector. More...
 
struct  industrial_calibration::QuaternionStats
 Contains the mean and standard deviation of a quaternion orientation. More...
 
struct  industrial_calibration::PnPNoiseStat
 Noise statistics for a position vector and quaternion orientation. More...
 

Functions

std::tuple< double, double > industrial_calibration::computeStats (const std::vector< double > &values)
 Computes the mean and sample standard deviation statistics of a set of values.
 
QuaternionStats industrial_calibration::computeQuaternionStats (const std::vector< Eigen::Quaterniond > &quaternions)
 Computes the mean and standard deviation of a set of quaternions.
 
Eigen::Quaterniond industrial_calibration::computeQuaternionMean (const std::vector< Eigen::Quaterniond > &orientations)
 Computes the mean of a set of quaternions.
 

Function Documentation

◆ computeStats()

std::tuple< double, double > industrial_calibration::computeStats ( const std::vector< double > &  values)
Returns
a tuple of the mean and sample standard deviation

◆ computeQuaternionStats()

QuaternionStats industrial_calibration::computeQuaternionStats ( const std::vector< Eigen::Quaterniond > &  quaternions)
Parameters
quaternions
Returns

◆ computeQuaternionMean()

Eigen::Quaterniond industrial_calibration::computeQuaternionMean ( const std::vector< Eigen::Quaterniond > &  orientations)

Mean quaternion is found using method described by Markley et al: Quaternion Averaging https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20070017872.pdf

Eq. 12: M = sum(w_i * q_i * q_i^T)

Eq. 13: q_bar = argmax(q^T * M * q)

"The solution of this maximization problem is well known. The average quaternion is the eigenvector of M corresponding to the maximum eigenvalue."

In the above equations, w_i is the weight of the ith quaternion. In this case, all quaternions are equally weighted (i.e. w_i = 1)