gtsam
4.0.0
gtsam
|
Implement the Reconstruction equation: \( g_{k+1} = g_k \exp (h\xi_k) \), where \( h \): timestep (parameter) \( g_{k+1}, g_{k} \): poses at the current and the next timestep \( \xi_k \): the body-fixed velocity (Lie algebra) It is somewhat similar to BetweenFactor, but treats the body-fixed velocity \( \xi_k \) as a variable.
So it is a three-way factor. Note: this factor is necessary if one needs to smooth the entire graph. It's not needed in sequential update method.
Public Member Functions | |
Reconstruction (Key gKey1, Key gKey, Key xiKey, double h, double mu=1000.0) | |
virtual gtsam::NonlinearFactor::shared_ptr | clone () const |
Public Member Functions inherited from gtsam::NoiseModelFactor3< Pose3, Pose3, Vector6 > | |
NoiseModelFactor3 () | |
Default Constructor for I/O. | |
NoiseModelFactor3 (const SharedNoiseModel &noiseModel, Key j1, Key j2, Key j3) | |
Constructor. More... | |
Key | key1 () const |
methods to retrieve keys | |
Key | key2 () const |
Key | key3 () const |
virtual Vector | unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const |
Calls the 3-key specific version of evaluateError, which is pure virtual so must be implemented in the derived class. More... | |
virtual Vector | evaluateError (const X1 &, const X2 &, const X3 &, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none, boost::optional< Matrix & > H3=boost::none) const=0 |
Override this method to finish implementing a trinary factor. More... | |
Additional Inherited Members | |
Public Types inherited from gtsam::NoiseModelFactor3< Pose3, Pose3, Vector6 > | |
typedef Pose3 | X1 |
typedef Pose3 | X2 |
typedef Vector6 | X3 |
Protected Types inherited from gtsam::NoiseModelFactor3< Pose3, Pose3, Vector6 > | |
typedef NoiseModelFactor | Base |
typedef NoiseModelFactor3< Pose3, Pose3, Vector6 > | This |
|
inlinevirtual |
Reimplemented from gtsam::NonlinearFactor.