|
MROB
|
#include <EigenFactorPoint.hpp>


Public Member Functions | |
| EigenFactorPoint (Factor::robustFactorType robust_type=Factor::robustFactorType::QUADRATIC) | |
| void | evaluate_residuals () override |
| void | evaluate_jacobians () override |
| void | evaluate_chi2 () override |
Public Member Functions inherited from mrob::EigenFactorPlane | |
| EigenFactorPlane (Factor::robustFactorType robust_type=Factor::robustFactorType::QUADRATIC) | |
| void | print () const |
| MatRefConst | get_obs () const |
| VectRefConst | get_residual () const |
| MatRefConst | get_information_matrix () const |
| MatRefConst | get_jacobian ([[maybe_unused]] mrob::factor_id_t id=0) const override |
| MatRefConst | get_hessian (mrob::factor_id_t id=0) const override |
| VectRefConst | get_state (void) const override |
| void | add_point (const Mat31 &p, std::shared_ptr< Node > &node, matData_t &W) override |
| void | add_points_array (const MatX &P, std::shared_ptr< Node > &node, mrob::matData_t &W) override |
| void | add_points_S_matrix (const Mat4 &S, std::shared_ptr< Node > &node, mrob::matData_t &W) override |
| Mat31 | get_mean_point (factor_id_t id) |
Public Member Functions inherited from mrob::EigenFactor | |
| EigenFactor (robustFactorType factor_type=QUADRATIC, uint_t potNumberNodes=5) | |
Public Member Functions inherited from mrob::Factor | |
| Factor (uint_t dim, uint_t allNodesDim, robustFactorType factor_type=QUADRATIC, uint_t potNumberNodes=5) | |
| matData_t | get_chi2 () const |
| factor_id_t | get_id () const |
| void | set_id (factor_id_t id) |
| uint_t | get_dim_obs () const |
| void | set_dim_obs (uint_t dim) |
| uint_t | get_all_nodes_dim () const |
| void | set_all_nodes_dim (uint_t dim) |
| const std::vector< std::shared_ptr< Node > > * | get_neighbour_nodes (void) const |
| matData_t | evaluate_robust_weight (matData_t u, matData_t params=0.0) |
Protected Attributes | |
| std::deque< Mat31, Eigen::aligned_allocator< Mat31 > > | r_ |
| std::deque< Mat31, Eigen::aligned_allocator< Mat31 > > | transformed_mu_ |
| SE3 | T_ini_inv_ |
Protected Attributes inherited from mrob::EigenFactorPlane | |
| std::deque< factor_id_t > | nodeIds_ |
| std::unordered_map< factor_id_t, uint_t > | reverseNodeIds_ |
| std::deque< Mat61, Eigen::aligned_allocator< Mat61 > > | J_ |
| std::deque< Mat6, Eigen::aligned_allocator< Mat6 > > | H_ |
| std::deque< Mat4, Eigen::aligned_allocator< Mat4 > > | S_ |
| std::deque< Mat4, Eigen::aligned_allocator< Mat4 > > | Q_ |
| Mat4 | accumulatedQ_ |
| Mat41 | planeEstimation_ |
| Mat41 | planeEstimationCenter_ |
| std::deque< std::deque< Mat31, Eigen::aligned_allocator< Mat31 > > > | allPlanePoints_ |
| std::deque< std::deque< matData_t > > | allPointsInformation_ |
| uint_t | numberPoints_ |
| matData_t | planeError_ |
| Mat4 | Tcenter_ |
Protected Attributes inherited from mrob::Factor | |
| factor_id_t | id_ |
| std::vector< std::shared_ptr< Node > > | neighbourNodes_ |
| uint_t | dim_ |
| uint_t | allNodesDim_ |
| matData_t | chi2_ |
| robustFactorType | robust_type_ |
| matData_t | robust_weight_ |
Additional Inherited Members | |
Public Types inherited from mrob::Factor | |
| enum | robustFactorType { QUADRATIC = 0, HUBER, CAUCHY, MCCLURE, RANSAC } |
Protected Member Functions inherited from mrob::EigenFactorPlane | |
| virtual void | estimate_plane () |
| void | calculate_all_matrices_S () |
| void | calculate_all_matrices_Q () |
Eigen factor Point is a vertex that complies with the Fgraph standards and inherits from base EigenFactor.hpp and EigenFactorPlane
This particualr examples solve the point to point aligments between the centroids of the plane in the current frame vs the overall centroid of the plane:
r = W_I*(T0^{-1}*T_i mu_i - mu(Q_0)), where
This leads to a weighted LSQ
The Chi2 is of a different kind than the EFplane, since this is point2point
| EigenFactorPoint::EigenFactorPoint | ( | Factor::robustFactorType | robust_type = Factor::robustFactorType::QUADRATIC | ) |
Creates an Eigen Factor point.
|
overridevirtual |
Chi2 is a scaling of the plane error
Reimplemented from mrob::EigenFactorPlane.
|
overridevirtual |
Evaluates Jacobians, given the residual evaluated It also evaluated the Hessians
Reimplemented from mrob::EigenFactorPlane.
|
overridevirtual |
Jacobians are not evaluated, just the residuals. This function is calculating the current plane estimation
Reimplemented from mrob::EigenFactorPlane.
1.8.13