File between_factor_polynomial_camera_cal.h

namespace sym

Functions

template<typename Scalar>
void BetweenFactorPolynomialCameraCal(const sym::PolynomialCameraCal<Scalar> &a, const sym::PolynomialCameraCal<Scalar> &b, const sym::PolynomialCameraCal<Scalar> &a_T_b, const Eigen::Matrix<Scalar, 8, 8> &sqrt_info, const Scalar epsilon, Eigen::Matrix<Scalar, 8, 1> *const res = nullptr, Eigen::Matrix<Scalar, 8, 16> *const jacobian = nullptr, Eigen::Matrix<Scalar, 16, 16> *const hessian = nullptr, Eigen::Matrix<Scalar, 16, 1> *const rhs = nullptr)

Residual that penalizes the difference between between(a, b) and a_T_b.

In vector space terms that would be: (b - a) - a_T_b

In lie group terms: local_coordinates(a_T_b, between(a, b)) to_tangent(compose(inverse(a_T_b), compose(inverse(a), b)))

Args: sqrt_info: Square root information matrix to whiten residual. This can be computed from a covariance matrix as the cholesky decomposition of the inverse. In the case of a diagonal it will contain 1/sigma values. Must match the tangent dim. jacobian: (8x16) jacobian of res wrt args a (8), b (8) hessian: (16x16) Gauss-Newton hessian for args a (8), b (8) rhs: (16x1) Gauss-Newton rhs for args a (8), b (8)