33 typedef boost::shared_ptr<ConcurrentIncrementalSmoother> shared_ptr;
48 size_t getNonlinearVariables()
const {
return nonlinearVariables; }
49 size_t getLinearVariables()
const {
return linearVariables; }
50 double getError()
const {
return error; }
60 void print(
const std::string& s =
"Concurrent Incremental Smoother:\n",
const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const override;
67 return isam2_.getFactorsUnsafe();
72 return isam2_.getLinearizationPoint();
84 return isam2_.calculateEstimate();
94 return isam2_.calculateEstimate<VALUE>(key);
112 const boost::optional<FactorIndices>& removeFactorIndices = boost::none);
118 void presync()
override;
144 void postsync()
override;
164 void updateSmootherSummarization();
Incremental update functionality (ISAM2) for BayesTree, with fluid relinearization.
Base classes for the 'filter' and 'smoother' portion of the Concurrent Filtering and Smoothing archit...
Global functions in a separate testing namespace.
Definition chartTesting.h:28
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
ConcurrentIncrementalSmoother::Result ConcurrentIncrementalSmootherResult
Typedef for Matlab wrapping.
Definition ConcurrentIncrementalSmoother.h:169
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition concepts.h:30
Template to create a binary predicate.
Definition Testable.h:111
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:151
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
Definition NonlinearFactorGraph.h:55
A non-templated config holding any types of Manifold-group elements.
Definition Values.h:65
The interface for the 'Smoother' portion of the Concurrent Filtering and Smoother architecture.
Definition ConcurrentFilteringAndSmoothing.h:101
ConcurrentSmoother()
Default constructor.
Definition ConcurrentFilteringAndSmoothing.h:106
A Levenberg-Marquardt Batch Smoother that implements the Concurrent Filtering and Smoother interface.
Definition ConcurrentIncrementalSmoother.h:30
ConcurrentIncrementalSmoother(const ISAM2Params ¶meters=ISAM2Params())
Default constructor.
Definition ConcurrentIncrementalSmoother.h:54
Values calculateEstimate() const
Compute the current best estimate of all variables and return a full Values structure.
Definition ConcurrentIncrementalSmoother.h:83
ConcurrentSmoother Base
typedef for base class
Definition ConcurrentIncrementalSmoother.h:34
const Values & getLinearizationPoint() const
Access the current linearization point.
Definition ConcurrentIncrementalSmoother.h:71
Values smootherValues_
New variables to be added to the smoother during the next update.
Definition ConcurrentIncrementalSmoother.h:152
NonlinearFactorGraph smootherFactors_
New factors to be added to the smoother during the next update.
Definition ConcurrentIncrementalSmoother.h:151
ISAM2 isam2_
iSAM2 inference engine
Definition ConcurrentIncrementalSmoother.h:148
FactorIndices filterSummarizationSlots_
The slots in factor graph that correspond to the current filter summarization factors.
Definition ConcurrentIncrementalSmoother.h:155
NonlinearFactorGraph smootherSummarization_
A temporary holding place for calculated smoother summarization.
Definition ConcurrentIncrementalSmoother.h:159
~ConcurrentIncrementalSmoother() override
Default destructor.
Definition ConcurrentIncrementalSmoother.h:57
const VectorValues & getDelta() const
Access the current set of deltas to the linearization point.
Definition ConcurrentIncrementalSmoother.h:76
VALUE calculateEstimate(Key key) const
Compute the current best estimate of a single variable.
Definition ConcurrentIncrementalSmoother.h:93
NonlinearFactorGraph filterSummarizationFactors_
New filter summarization factors to replace the existing filter summarization during the next update.
Definition ConcurrentIncrementalSmoother.h:153
const NonlinearFactorGraph & getFactors() const
Access the current set of factors.
Definition ConcurrentIncrementalSmoother.h:66
Values separatorValues_
The linearization points of the separator variables. These should not be changed during optimization.
Definition ConcurrentIncrementalSmoother.h:154
bool synchronizationUpdatesAvailable_
Flag indicating the currently stored synchronization updates have not been applied yet.
Definition ConcurrentIncrementalSmoother.h:156
Meta information returned about the update.
Definition ConcurrentIncrementalSmoother.h:37
size_t linearVariables
The number of variables that must keep a constant linearization point.
Definition ConcurrentIncrementalSmoother.h:40
Result()
Constructor.
Definition ConcurrentIncrementalSmoother.h:44
size_t nonlinearVariables
The number of variables that can be relinearized.
Definition ConcurrentIncrementalSmoother.h:39
double error
The final factor graph error.
Definition ConcurrentIncrementalSmoother.h:41
size_t getIterations() const
Getter methods.
Definition ConcurrentIncrementalSmoother.h:47
size_t iterations
The number of optimizer iterations performed.
Definition ConcurrentIncrementalSmoother.h:38