Struct OptimalTF_GN_Parameters
Defined in File optimal_tf_gauss_newton.h
Struct Documentation
-
struct OptimalTF_GN_Parameters
Public Functions
-
OptimalTF_GN_Parameters() = default
Public Members
-
std::optional<mrpt::poses::CPose3D> linearizationPoint
The linerization point (the current relative pose guess)
-
std::optional<mrpt::poses::CPose3DPDFGaussianInf> prior
Optional prior guess of the SE(3) solution, including a mean value and an inverse covariance (information) matrix, i.e. zeros in the diagonal mean that those prior coordinates should be ignored, a large value means the solution must be close to those coordinates.
-
double minDelta = 1e-7
Minimum SE(3) change to stop iterating.
-
double maxCost = 0
Maximum cost function; when reached, stop iterating.
-
PairWeights pairWeights
-
uint32_t maxInnerLoopIterations = 6
Maximum number of iterations trying to solve for the optimal pose
-
RobustKernel kernel = RobustKernel::None
-
double kernelParam = 1.0
-
double cov2cov_alpha = 1.0
Generalized (tempered) Bayesian scaling for the cov-to-cov data block: the cov2cov contribution to H and g is multiplied by
cov2cov_alpha. α=1 keeps the standard MAP cost; α<1 down-weights the data likelihood (e.g. α=1/N turns it into a “mean residual” form). Useful when many cov-to-cov pairings carry correlated information that the per-pair modeled covariances do not capture, and the prior is otherwise drowned.
-
bool cov2cov_auto_balance_with_prior = true
If true (default) and a prior is provided, automatically balance the cov2cov data block against the prior using a Birge-ratio-style global scale of the modeled per-pair covariances: κ = max(1, χ²_cc / (3·N_cc − 6)) evaluated at each iteration’s current residuals; the cov2cov block of H and g is then scaled by 1/κ. Has no effect when the prior is absent.
-
bool verbose = false
-
OptimalTF_GN_Parameters() = default