Contains functions for analyzing the accuracy of sensors and various types of calibrations
◆ 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 | ) |
|
◆ 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)