Go to the documentation of this file.
33 typedef std::shared_ptr<ConcurrentIncrementalSmoother>
shared_ptr;
44 Result() : iterations(0), nonlinearVariables(0), linearVariables(0),
error(0) {}
67 return isam2_.getFactorsUnsafe();
72 return isam2_.getLinearizationPoint();
77 return isam2_.getDelta();
84 return isam2_.calculateEstimate();
94 return isam2_.calculateEstimate<
VALUE>(
key);
112 const std::optional<FactorIndices>& removeFactorIndices = {});
118 void presync()
override;
126 void getSummarizedFactors(NonlinearFactorGraph& summarizedFactors,
Values& separatorValues)
override;
137 void synchronize(
const NonlinearFactorGraph& smootherFactors,
const Values& smootherValues,
138 const NonlinearFactorGraph& summarizedFactors,
const Values& separatorValues)
override;
144 void postsync()
override;
164 void updateSmootherSummarization();
Values smootherValues_
New variables to be added to the smoother during the next update.
NonlinearFactorGraph filterSummarizationFactors_
New filter summarization factors to replace the existing filter summarization during the next update.
ConcurrentIncrementalSmoother(const ISAM2Params ¶meters=ISAM2Params())
const VectorValues & getDelta() const
std::shared_ptr< ConcurrentIncrementalSmoother > shared_ptr
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void synchronize(ConcurrentFilter &filter, ConcurrentSmoother &smoother)
size_t linearVariables
The number of variables that must keep a constant linearization point.
const Values & getLinearizationPoint() const
const NonlinearFactorGraph & getFactors() const
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
double error
The final factor graph error.
bool synchronizationUpdatesAvailable_
Flag indicating the currently stored synchronization updates have not been applied yet.
ConcurrentIncrementalSmoother::Result ConcurrentIncrementalSmootherResult
Typedef for Matlab wrapping.
void print(const Matrix &A, const string &s, ostream &stream)
Values separatorValues_
The linearization points of the separator variables. These should not be changed during optimization.
NonlinearFactorGraph smootherSummarization_
A temporary holding place for calculated smoother summarization.
size_t iterations
The number of optimizer iterations performed.
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
static ConjugateGradientParameters parameters
ISAM2 isam2_
iSAM2 inference engine
const gtsam::Symbol key('X', 0)
~ConcurrentIncrementalSmoother() override
Incremental update functionality (ISAM2) for BayesTree, with fluid relinearization.
FactorIndices filterSummarizationSlots_
The slots in factor graph that correspond to the current filter summarization factors.
std::vector< float > Values
VALUE calculateEstimate(Key key) const
NonlinearFactorGraph smootherFactors_
New factors to be added to the smoother during the next update.
Base classes for the 'filter' and 'smoother' portion of the Concurrent Filtering and Smoothing archit...
size_t nonlinearVariables
The number of variables that can be relinearized.
Values calculateEstimate() const
size_t getLinearVariables() const
size_t getIterations() const
Getter methods.
size_t getNonlinearVariables() const
ConcurrentSmoother Base
typedef for base class
std::uint64_t Key
Integer nonlinear key type.
FastVector< FactorIndex > FactorIndices
Define collection types:
gtsam
Author(s):
autogenerated on Fri Nov 1 2024 03:32:09