|
MROB
|
#include <factor2Poses2d.hpp>


Public Member Functions | |
| Factor2Poses2dOdom (const Mat31 &observation, std::shared_ptr< Node > &nodeOrigin, std::shared_ptr< Node > &nodeTarget, const Mat3 &obsInf, bool updateNodeTarget=true, Factor::robustFactorType robust_type=Factor::robustFactorType::QUADRATIC) | |
| void | evaluate_residuals () override |
| void | evaluate_jacobians () override |
Public Member Functions inherited from mrob::Factor2Poses2d | |
| Factor2Poses2d (const Mat31 &observation, std::shared_ptr< Node > &nodeOrigin, std::shared_ptr< Node > &nodeTarget, const Mat3 &obsInf, bool updateNodeTarget=false, Factor::robustFactorType robust_type=Factor::robustFactorType::QUADRATIC) | |
| void | evaluate_chi2 () override |
| MatRefConst | get_obs () const override |
| VectRefConst | get_residual () const override |
| MatRefConst | get_information_matrix () const override |
| MatRefConst | get_jacobian ([[maybe_unused]]mrob::factor_id_t id=0) const override |
| void | print () const override |
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 |
| virtual MatRefConst | get_jacobian ([[maybe_unused]] mrob::factor_id_t id=0) const =0 |
| 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) |
Additional Inherited Members | |
Public Types inherited from mrob::Factor | |
| enum | robustFactorType { QUADRATIC = 0, HUBER, CAUCHY, MCCLURE, RANSAC } |
Protected Attributes inherited from mrob::Factor2Poses2d | |
| Mat31 | obs_ |
| Mat31 | r_ |
| Mat3 | W_ |
| Mat< 3, 6 > | J_ |
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_ |
Factor2Poses2dOdom if a factor expressing the relation between consecutive 2d nodes with odometry observations such that; residual = g (x_origin, observation) - x_dest
Observation = [drot1, dtrans, drot2]
We assume that this factor also updates the value of node destination unless explicitly written
| Factor2Poses2dOdom::Factor2Poses2dOdom | ( | const Mat31 & | observation, |
| std::shared_ptr< Node > & | nodeOrigin, | ||
| std::shared_ptr< Node > & | nodeTarget, | ||
| const Mat3 & | obsInf, | ||
| bool | updateNodeTarget = true, |
||
| Factor::robustFactorType | robust_type = Factor::robustFactorType::QUADRATIC |
||
| ) |
Constructor of factor Odom. Conventions are: 1) obs = [drot1, dtrans, drot2] 2) This factor also updates the value of node destination according to obs
|
overridevirtual |
Evaluates Jacobians, this also creates a new linearization point. This function MOST likely needs to evaluate residuals first
Reimplemented from mrob::Factor2Poses2d.
|
overridevirtual |
Residuals are evaluated with respect to the current solution
Reimplemented from mrob::Factor2Poses2d.
1.8.13