23#include <gtsam_unstable/dllexport.h>
42 typedef std::multimap<double, Key> TimestampKeyMap;
58 size_t getIntermediateSteps()
const {
return intermediateSteps; }
59 size_t getNonlinearVariables()
const {
return nonlinearVariables; }
60 size_t getLinearVariables()
const {
return linearVariables; }
61 double getError()
const {
return error; }
73 const std::string& s =
"FixedLagSmoother:\n",
74 const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const;
91 return keyTimestampMap_;
135typedef FixedLagSmootherKeyTimestampMap::value_type FixedLagSmootherKeyTimestampMapValue;
A non-templated config holding any types of Manifold-group elements.
Factor Graph consisting of non-linear factors.
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
FixedLagSmoother::KeyTimestampMap FixedLagSmootherKeyTimestampMap
Typedef for matlab wrapping.
Definition FixedLagSmoother.h:134
Template to create a binary predicate.
Definition Testable.h:111
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_
The length of the smoother lag.
Definition FixedLagSmoother.h:110
double smootherLag() const
read the current smoother lag
Definition FixedLagSmoother.h:80
TimestampKeyMap timestampKeyMap_
The current timestamp associated with each tracked key.
Definition FixedLagSmoother.h:113
double & smootherLag()
write to the current smoother lag
Definition FixedLagSmoother.h:85
virtual ~FixedLagSmoother()
destructor
Definition FixedLagSmoother.h:69
std::map< Key, double > KeyTimestampMap
Typedef for a Key-Timestamp map/database.
Definition FixedLagSmoother.h:41
virtual Result update(const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const KeyTimestampMap ×tamps=KeyTimestampMap(), const FactorIndices &factorsToRemove=FactorIndices())=0
Add new factors, updating the solution and relinearizing as needed.
FixedLagSmoother(double smootherLag=0.0)
default constructor
Definition FixedLagSmoother.h:66
KeyVector findKeysBefore(double timestamp) const
Find all of the keys associated with timestamps before the provided time.
Definition FixedLagSmoother.cpp:104
virtual Values calculateEstimate() const =0
Compute an estimate from the incomplete linear delta computed during the last update.
void updateKeyTimestampMap(const KeyTimestampMap &newTimestamps)
Update the Timestamps associated with the keys.
Definition FixedLagSmoother.cpp:46
void eraseKeyTimestampMap(const KeyVector &keys)
Erase keys from the Key-Timestamps database.
Definition FixedLagSmoother.cpp:76
double getCurrentTimestamp() const
Find the most recent timestamp of the system.
Definition FixedLagSmoother.cpp:95
const KeyTimestampMap & timestamps() const
Access the current set of timestamps associated with each variable.
Definition FixedLagSmoother.h:90
KeyVector findKeysAfter(double timestamp) const
Find all of the keys associated with timestamps before the provided time.
Definition FixedLagSmoother.cpp:114
boost::shared_ptr< FixedLagSmoother > shared_ptr
Typedef for a shared pointer to an Incremental Fixed-Lag Smoother.
Definition FixedLagSmoother.h:38
Meta information returned about the update.
Definition FixedLagSmoother.h:48
size_t iterations
The number of optimizer iterations performed.
Definition FixedLagSmoother.h:49
size_t intermediateSteps
The number of intermediate steps performed within the optimization. For L-M, this is the number of la...
Definition FixedLagSmoother.h:50
size_t nonlinearVariables
The number of variables that can be relinearized.
Definition FixedLagSmoother.h:51
size_t getIterations() const
Getter methods.
Definition FixedLagSmoother.h:57
double error
The final factor graph error.
Definition FixedLagSmoother.h:53
size_t linearVariables
The number of variables that must keep a constant linearization point.
Definition FixedLagSmoother.h:52