|
gtsam 4.1.1
gtsam
|
Inheritance diagram for gtsam::BatchFixedLagSmoother:Public Member Functions | |
| BatchFixedLagSmoother (double smootherLag=0.0, const LevenbergMarquardtParams ¶meters=LevenbergMarquardtParams(), bool enforceConsistency=true) | |
| default constructor | |
| ~BatchFixedLagSmoother () override | |
| destructor | |
| void | print (const std::string &s="BatchFixedLagSmoother:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| Print the factor for debugging and testing (implementing Testable) More... | |
| bool | equals (const FixedLagSmoother &rhs, double tol=1e-9) const override |
| Check if two IncrementalFixedLagSmoother Objects are equal. More... | |
| Result | update (const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const KeyTimestampMap ×tamps=KeyTimestampMap(), const FactorIndices &factorsToRemove=FactorIndices()) override |
| Add new factors, updating the solution and relinearizing as needed. More... | |
| Values | calculateEstimate () const override |
| Compute an estimate from the incomplete linear delta computed during the last update. More... | |
| template<class VALUE > | |
| VALUE | calculateEstimate (Key key) const |
| Compute an estimate for a single variable using its incomplete linear delta computed during the last update. More... | |
| const LevenbergMarquardtParams & | params () const |
| read the current set of optimizer parameters | |
| LevenbergMarquardtParams & | params () |
| update the current set of optimizer parameters | |
| const NonlinearFactorGraph & | getFactors () const |
| Access the current set of factors. | |
| const Values & | getLinearizationPoint () const |
| Access the current linearization point. | |
| const Ordering & | getOrdering () const |
| Access the current ordering. | |
| const VectorValues & | getDelta () const |
| Access the current set of deltas to the linearization point. | |
| Matrix | marginalCovariance (Key key) const |
| Calculate marginal covariance on given variable. | |
Public Member Functions inherited from gtsam::FixedLagSmoother | |
| FixedLagSmoother (double smootherLag=0.0) | |
| default constructor | |
| virtual | ~FixedLagSmoother () |
| destructor | |
| virtual void | print (const std::string &s="FixedLagSmoother:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
| Print the factor for debugging and testing (implementing Testable) More... | |
| virtual bool | equals (const FixedLagSmoother &rhs, double tol=1e-9) const |
| Check if two IncrementalFixedLagSmoother Objects are equal. More... | |
| double | smootherLag () const |
| read the current smoother lag | |
| double & | smootherLag () |
| write to the current smoother lag | |
| const KeyTimestampMap & | timestamps () const |
| Access the current set of timestamps associated with each variable. | |
| 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. More... | |
| virtual Values | calculateEstimate () const =0 |
| Compute an estimate from the incomplete linear delta computed during the last update. More... | |
Static Public Member Functions | |
| static GaussianFactorGraph | CalculateMarginalFactors (const GaussianFactorGraph &graph, const KeyVector &keys, const GaussianFactorGraph::Eliminate &eliminateFunction=EliminatePreferCholesky) |
| Marginalize specific keys from a linear graph. More... | |
| static NonlinearFactorGraph | CalculateMarginalFactors (const NonlinearFactorGraph &graph, const Values &theta, const KeyVector &keys, const GaussianFactorGraph::Eliminate &eliminateFunction=EliminatePreferCholesky) |
| Marginalize specific keys from a nonlinear graph, wrap in LinearContainers. | |
Public Types | |
| typedef boost::shared_ptr< BatchFixedLagSmoother > | shared_ptr |
| Typedef for a shared pointer to an Incremental Fixed-Lag Smoother. | |
Public Types inherited from gtsam::FixedLagSmoother | |
| typedef boost::shared_ptr< FixedLagSmoother > | shared_ptr |
| Typedef for a shared pointer to an Incremental Fixed-Lag Smoother. | |
| typedef std::map< Key, double > | KeyTimestampMap |
| Typedef for a Key-Timestamp map/database. | |
| typedef std::multimap< double, Key > | TimestampKeyMap |
Protected Types | |
| typedef std::map< Key, std::set< Key > > | FactorIndex |
| A typedef defining an Key-Factor mapping. | |
Protected Member Functions | |
| void | insertFactors (const NonlinearFactorGraph &newFactors) |
| Augment the list of factors with a set of new factors. | |
| void | removeFactors (const std::set< size_t > &deleteFactors) |
| Remove factors from the list of factors by slot index. | |
| void | eraseKeys (const KeyVector &keys) |
| Erase any keys associated with timestamps before the provided time. | |
| void | reorder (const KeyVector &marginalizeKeys=KeyVector()) |
| Use colamd to update into an efficient ordering. | |
| Result | optimize () |
| Optimize the current graph using a modified version of L-M. | |
| void | marginalize (const KeyVector &marginalizableKeys) |
| Marginalize out selected variables. | |
Protected Member Functions inherited from gtsam::FixedLagSmoother | |
| void | updateKeyTimestampMap (const KeyTimestampMap &newTimestamps) |
| Update the Timestamps associated with the keys. | |
| void | eraseKeyTimestampMap (const KeyVector &keys) |
| Erase keys from the Key-Timestamps database. | |
| double | getCurrentTimestamp () const |
| Find the most recent timestamp of the system. | |
| KeyVector | findKeysBefore (double timestamp) const |
| Find all of the keys associated with timestamps before the provided time. | |
| KeyVector | findKeysAfter (double timestamp) const |
| Find all of the keys associated with timestamps before the provided time. | |
Protected Attributes | |
| LevenbergMarquardtParams | parameters_ |
| The L-M optimization parameters. | |
| bool | enforceConsistency_ |
| A flag indicating if the optimizer should enforce probabilistic consistency by maintaining the linearization point of all variables involved in linearized/marginal factors at the edge of the smoothing window. More... | |
| NonlinearFactorGraph | factors_ |
| The nonlinear factors. | |
| Values | theta_ |
| The current linearization point. | |
| Values | linearKeys_ |
| The set of keys involved in current linear factors. More... | |
| Ordering | ordering_ |
| The current ordering. | |
| VectorValues | delta_ |
| The current set of linear deltas. | |
| std::queue< size_t > | availableSlots_ |
| The set of available factor graph slots. More... | |
| FactorIndex | factorIndex_ |
| A cross-reference structure to allow efficient factor lookups by key. | |
Protected Attributes inherited from gtsam::FixedLagSmoother | |
| double | smootherLag_ |
| The length of the smoother lag. More... | |
| TimestampKeyMap | timestampKeyMap_ |
| The current timestamp associated with each tracked key. | |
| KeyTimestampMap | keyTimestampMap_ |
|
inlineoverridevirtual |
Compute an estimate from the incomplete linear delta computed during the last update.
This delta is incomplete because it was not updated below wildfire_threshold. If only a single variable is needed, it is faster to call calculateEstimate(const KEY&).
Implements gtsam::FixedLagSmoother.
|
inline |
Compute an estimate for a single variable using its incomplete linear delta computed during the last update.
This is faster than calling the no-argument version of calculateEstimate, which operates on all variables.
| key |
|
static |
Marginalize specific keys from a linear graph.
Does not check whether keys actually exist in graph. In that case will fail somewhere deep within elimination
|
overridevirtual |
Check if two IncrementalFixedLagSmoother Objects are equal.
Reimplemented from gtsam::FixedLagSmoother.
|
overridevirtual |
Print the factor for debugging and testing (implementing Testable)
Reimplemented from gtsam::FixedLagSmoother.
|
overridevirtual |
Add new factors, updating the solution and relinearizing as needed.
Implements gtsam::FixedLagSmoother.
|
protected |
The set of available factor graph slots.
These occur because we are constantly deleting factors, leaving holes.
|
protected |
A flag indicating if the optimizer should enforce probabilistic consistency by maintaining the linearization point of all variables involved in linearized/marginal factors at the edge of the smoothing window.
This idea is from ??? TODO: Look up paper reference
|
protected |
The set of keys involved in current linear factors.
These keys should not be relinearized.