38 typedef std::shared_ptr<IncrementalFixedLagSmoother>
shared_ptr;
42 const ISAM2Params& parameters = DefaultISAM2Params()) :
51 void print(
const std::string& s =
"IncrementalFixedLagSmoother:\n",
52 const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const override;
74 return isam_.calculateEstimate();
85 return isam_.calculateEstimate<VALUE>(key);
90 return isam_.params();
95 return isam_.getFactorsUnsafe();
100 return isam_.getLinearizationPoint();
105 return isam_.getDelta();
110 return isam_.marginalCovariance(key);
136 void eraseKeysBefore(
double timestamp);
139 void createOrderingConstraints(
const KeyVector& marginalizableKeys,
144 static void PrintKeySet(
const std::set<Key>& keys,
const std::string& label =
148 const std::string& label =
"Factor Graph:");
150 const std::string& label =
"Bayes Tree:");
151 static void PrintSymbolicTreeHelper(
152 const gtsam::ISAM2Clique::shared_ptr& clique,
const std::string indent =
bool findUnusedFactorSlots
Definition: ISAM2Params.h:225
std::map< Key, double > KeyTimestampMap
Typedef for a Key-Timestamp map/database.
Definition: FixedLagSmoother.h:41
static ISAM2Params DefaultISAM2Params()
Definition: IncrementalFixedLagSmoother.h:122
Definition: ISAM2Params.h:136
const Values & getLinearizationPoint() const
Definition: IncrementalFixedLagSmoother.h:99
Base class for a fixed-lag smoother. This mimics the basic interface to iSAM2.
std::shared_ptr< IncrementalFixedLagSmoother > shared_ptr
Typedef for a shared pointer to an Incremental Fixed-Lag Smoother.
Definition: IncrementalFixedLagSmoother.h:38
FastVector< FactorIndex > FactorIndices
Define collection types:
Definition: Factor.h:36
ISAM2 isam_
Definition: IncrementalFixedLagSmoother.h:130
const VectorValues & getDelta() const
Definition: IncrementalFixedLagSmoother.h:104
IncrementalFixedLagSmoother(double smootherLag=0.0, const ISAM2Params ¶meters=DefaultISAM2Params())
Definition: IncrementalFixedLagSmoother.h:41
const ISAM2 & getISAM2() const
Get the iSAM2 object which is used for the inference internally.
Definition: IncrementalFixedLagSmoother.h:117
Definition: VectorValues.h:74
Values calculateEstimate() const override
Definition: IncrementalFixedLagSmoother.h:73
ISAM2Result isamResult_
Definition: IncrementalFixedLagSmoother.h:133
Definition: Testable.h:112
Definition: FixedLagSmoother.h:33
const NonlinearFactorGraph & getFactors() const
Definition: IncrementalFixedLagSmoother.h:94
Definition: FixedLagSmoother.h:48
Incremental update functionality (ISAM2) for BayesTree, with fluid relinearization.
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
Definition: IncrementalFixedLagSmoother.h:33
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
Definition: NonlinearFactorGraph.h:55
std::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: GaussianFactor.h:42
Definition: chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition: Key.h:86
~IncrementalFixedLagSmoother() override
Definition: IncrementalFixedLagSmoother.h:47
Matrix marginalCovariance(Key key) const
Calculate marginal covariance on given variable.
Definition: IncrementalFixedLagSmoother.h:109
const ISAM2Result & getISAM2Result() const
Get results of latest isam2 update.
Definition: IncrementalFixedLagSmoother.h:114
VALUE calculateEstimate(Key key) const
Definition: IncrementalFixedLagSmoother.h:84
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
Definition: GaussianFactorGraph.h:73
const ISAM2Params & params() const
Definition: IncrementalFixedLagSmoother.h:89
Definition: ISAM2Result.h:39
GTSAM_EXPORT void PrintKeySet(const KeySet &keys, const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter)
Utility function to print sets of keys with optional prefix.