34 typedef boost::shared_ptr<ConcurrentIncrementalFilter>
shared_ptr;
54 Result() : iterations(0), nonlinearVariables(0), linearVariables(0), error(0) {};
77 return isam2_.getFactorsUnsafe();
87 return isam2_.getLinearizationPoint();
92 return isam2_.getDelta();
99 return isam2_.calculateEstimate();
107 template<
class VALUE>
109 return isam2_.calculateEstimate<VALUE>(
key);
126 const boost::optional<
FastList<Key> >& keysToMove = boost::none,
127 const boost::optional< FactorIndices >& removeFactorIndices = boost::none);
133 void presync()
override;
165 void postsync()
override;
void print(const Matrix &A, const string &s, ostream &stream)
size_t getIterations() const
Getter methods.
size_t nonlinearVariables
The number of variables that can be relinearized.
ConcurrentIncrementalFilter::Result ConcurrentIncrementalFilterResult
Typedef for Matlab wrapping.
size_t getNonlinearVariables() const
size_t variablesRelinearized
boost::shared_ptr< This > shared_ptr
FactorIndices newFactorsIndices
FastVector< FactorIndex > FactorIndices
Define collection types:
ISAM2 isam2_
The iSAM2 inference engine.
size_t getLinearVariables() const
boost::shared_ptr< ConcurrentIncrementalFilter > shared_ptr
static const KeyFormatter DefaultKeyFormatter
NonlinearFactorGraph previousSmootherSummarization_
The smoother summarization on the old separator sent by the smoother during the last synchronization...
double error
The final factor graph error.
VALUE calculateEstimate(Key key) const
~ConcurrentIncrementalFilter() override
ConcurrentFilter Base
typedef for base class
ConcurrentIncrementalFilter(const ISAM2Params ¶meters=ISAM2Params())
const NonlinearFactorGraph & getFactors() const
Incremental update functionality (ISAM2) for BayesTree, with fluid relinearization.
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const ISAM2 & getISAM2() const
size_t iterations
The number of optimizer iterations performed.
static ConjugateGradientParameters parameters
Values calculateEstimate() const
std::vector< float > Values
const VectorValues & getDelta() const
const Values & getLinearizationPoint() const
void synchronize(ConcurrentFilter &filter, ConcurrentSmoother &smoother)
FactorIndices currentSmootherSummarizationSlots_
The slots in factor graph that correspond to the current smoother summarization on the current separa...
size_t linearVariables
The number of variables that must keep a constant linearization point.
size_t variablesReeliminated
NonlinearFactorGraph smootherShortcut_
A set of conditional factors from the old separator to the current separator (recursively calculated ...
Base classes for the 'filter' and 'smoother' portion of the Concurrent Filtering and Smoothing archit...
Values smootherValues_
A temporary holding place for the linearization points of all keys being sent to the smoother...
std::uint64_t Key
Integer nonlinear key type.
NonlinearFactorGraph smootherFactors_
A temporary holding place for the set of full nonlinear factors being sent to the smoother...