38 typedef boost::shared_ptr<IncrementalFixedLagSmoother>
shared_ptr;
51 void print(
const std::string& s =
"IncrementalFixedLagSmoother:\n",
52 const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const override;
66 const KeyTimestampMap& timestamps = KeyTimestampMap(),
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);
124 params.findUnusedFactorSlots =
true;
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 =
Incremental update functionality (ISAM2) for BayesTree, with fluid relinearization.
Base class for a fixed-lag smoother.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition Key.h:86
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition Matrix.cpp:156
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
FastVector< FactorIndex > FactorIndices
Define collection types:
Definition Factor.h:34
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
FastMap is a thin wrapper around std::map that uses the boost fast_pool_allocator instead of the defa...
Definition FastMap.h:38
Template to create a binary predicate.
Definition Testable.h:111
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition GaussianFactor.h:42
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition GaussianFactorGraph.h:75
VectorValues represents a collection of vector-valued variables associated each with a unique integer...
Definition VectorValues.h:74
Implementation of the full ISAM2 algorithm for incremental nonlinear optimization.
Definition ISAM2.h:45
Definition ISAM2Params.h:135
This struct is returned from ISAM2::update() and contains information about the update that is useful...
Definition ISAM2Result.h:41
Definition NonlinearFactorGraph.h:55
A non-templated config holding any types of Manifold-group elements.
Definition Values.h:65
Definition FixedLagSmoother.h:33
double smootherLag() const
read the current smoother lag
Definition FixedLagSmoother.h:80
FixedLagSmoother(double smootherLag=0.0)
default constructor
Definition FixedLagSmoother.h:66
ISAM2 isam_
An iSAM2 object used to perform inference.
Definition IncrementalFixedLagSmoother.h:130
~IncrementalFixedLagSmoother() override
destructor
Definition IncrementalFixedLagSmoother.h:47
const ISAM2 & getISAM2() const
Get the iSAM2 object which is used for the inference internally.
Definition IncrementalFixedLagSmoother.h:117
const VectorValues & getDelta() const
Access the current set of deltas to the linearization point.
Definition IncrementalFixedLagSmoother.h:104
void eraseKeysBefore(double timestamp)
Erase any keys associated with timestamps before the provided time.
Definition IncrementalFixedLagSmoother.cpp:166
VALUE calculateEstimate(Key key) const
Compute an estimate for a single variable using its incomplete linear delta computed during the last ...
Definition IncrementalFixedLagSmoother.h:84
Values calculateEstimate() const override
Compute an estimate from the incomplete linear delta computed during the last update.
Definition IncrementalFixedLagSmoother.h:73
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 othe...
Definition IncrementalFixedLagSmoother.cpp:176
Matrix marginalCovariance(Key key) const
Calculate marginal covariance on given variable.
Definition IncrementalFixedLagSmoother.h:109
const Values & getLinearizationPoint() const
Access the current linearization point.
Definition IncrementalFixedLagSmoother.h:99
const NonlinearFactorGraph & getFactors() const
Access the current set of factors.
Definition IncrementalFixedLagSmoother.h:94
ISAM2Result isamResult_
Store results of latest isam2 update.
Definition IncrementalFixedLagSmoother.h:133
static ISAM2Params DefaultISAM2Params()
Create default parameters.
Definition IncrementalFixedLagSmoother.h:122
const ISAM2Params & params() const
return the current set of iSAM2 parameters
Definition IncrementalFixedLagSmoother.h:89
boost::shared_ptr< IncrementalFixedLagSmoother > shared_ptr
Typedef for a shared pointer to an Incremental Fixed-Lag Smoother.
Definition IncrementalFixedLagSmoother.h:38
const ISAM2Result & getISAM2Result() const
Get results of latest isam2 update.
Definition IncrementalFixedLagSmoother.h:114
IncrementalFixedLagSmoother(double smootherLag=0.0, const ISAM2Params ¶meters=DefaultISAM2Params())
default constructor
Definition IncrementalFixedLagSmoother.h:41