This is a base class for the various HMF2 implementations.
The HMF2 eliminates the factor graph such that the active states are placed in/near the root. This base class implements a function to calculate the ordering, and an update function to incorporate new factors into the HMF.
|
|
| IncrementalFixedLagSmoother (double smootherLag=0.0, const ISAM2Params ¶meters=DefaultISAM2Params()) |
| | default constructor
|
| |
|
| ~IncrementalFixedLagSmoother () override |
| | destructor
|
| |
| void | print (const std::string &s="IncrementalFixedLagSmoother:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| | Print the factor for debugging and testing (implementing Testable) More...
|
| |
| bool | equals (const FixedLagSmoother &rhs, double tol=1e-9) const override |
| | Check if two IncrementalFixedLagSmoother Objects are equal. More...
|
| |
| Result | update (const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const KeyTimestampMap ×tamps=KeyTimestampMap(), const FactorIndices &factorsToRemove=FactorIndices()) override |
| | Add new factors, updating the solution and re-linearizing as needed. More...
|
| |
| Values | calculateEstimate () const override |
| | Compute an estimate from the incomplete linear delta computed during the last update. More...
|
| |
| template<class VALUE > |
| VALUE | calculateEstimate (Key key) const |
| | Compute an estimate for a single variable using its incomplete linear delta computed during the last update. More...
|
| |
|
const ISAM2Params & | params () const |
| | return the current set of iSAM2 parameters
|
| |
|
const NonlinearFactorGraph & | getFactors () const |
| | Access the current set of factors.
|
| |
|
const Values & | getLinearizationPoint () const |
| | Access the current linearization point.
|
| |
|
const VectorValues & | getDelta () const |
| | Access the current set of deltas to the linearization point.
|
| |
|
Matrix | marginalCovariance (Key key) const |
| | Calculate marginal covariance on given variable.
|
| |
|
const ISAM2Result & | getISAM2Result () const |
| | Get results of latest isam2 update.
|
| |
|
| FixedLagSmoother (double smootherLag=0.0) |
| | default constructor
|
| |
|
virtual | ~FixedLagSmoother () |
| | destructor
|
| |
| virtual void | print (const std::string &s="FixedLagSmoother:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
| | Print the factor for debugging and testing (implementing Testable) More...
|
| |
| virtual bool | equals (const FixedLagSmoother &rhs, double tol=1e-9) const |
| | Check if two IncrementalFixedLagSmoother Objects are equal. More...
|
| |
|
double | smootherLag () const |
| | read the current smoother lag
|
| |
|
double & | smootherLag () |
| | write to the current smoother lag
|
| |
|
const KeyTimestampMap & | timestamps () const |
| | Access the current set of timestamps associated with each variable.
|
| |
| virtual Result | update (const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const KeyTimestampMap ×tamps=KeyTimestampMap(), const FactorIndices &factorsToRemove=FactorIndices())=0 |
| | Add new factors, updating the solution and relinearizing as needed. More...
|
| |
| virtual Values | calculateEstimate () const =0 |
| | Compute an estimate from the incomplete linear delta computed during the last update. More...
|
| |
|
|
void | eraseKeysBefore (double timestamp) |
| | Erase any keys associated with timestamps before the provided time.
|
| |
|
void | createOrderingConstraints (const KeyVector &marginalizableKeys, boost::optional< FastMap< Key, int > > &constrainedKeys) const |
| | Fill in an iSAM2 ConstrainedKeys structure such that the provided keys are eliminated before all others.
|
| |
|
void | updateKeyTimestampMap (const KeyTimestampMap &newTimestamps) |
| | Update the Timestamps associated with the keys.
|
| |
|
void | eraseKeyTimestampMap (const KeyVector &keys) |
| | Erase keys from the Key-Timestamps database.
|
| |
|
double | getCurrentTimestamp () const |
| | Find the most recent timestamp of the system.
|
| |
|
KeyVector | findKeysBefore (double timestamp) const |
| | Find all of the keys associated with timestamps before the provided time.
|
| |
|
KeyVector | findKeysAfter (double timestamp) const |
| | Find all of the keys associated with timestamps before the provided time.
|
| |