A Levenberg-Marquardt Batch Filter that implements the Concurrent Filtering and Smoother interface.
|
| ConcurrentBatchFilter (const LevenbergMarquardtParams ¶meters=LevenbergMarquardtParams()) |
| Default constructor.
|
|
| ~ConcurrentBatchFilter () override |
| Default destructor.
|
|
void | print (const std::string &s="Concurrent Batch Filter:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| Implement a GTSAM standard 'print' function. More...
|
|
bool | equals (const ConcurrentFilter &rhs, double tol=1e-9) const override |
| Check if two Concurrent Filters are equal. More...
|
|
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.
|
|
Values | calculateEstimate () const |
| Compute the current best estimate of all variables and return a full Values structure. More...
|
|
template<class VALUE > |
VALUE | calculateEstimate (Key key) const |
| Compute the current best estimate of a single variable. More...
|
|
virtual Result | update (const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const boost::optional< FastList< Key > > &keysToMove=boost::none, const boost::optional< std::vector< size_t > > &removeFactorIndices=boost::none) |
| Add new factors and variables to the filter. More...
|
|
void | presync () override |
| Perform any required operations before the synchronization process starts. More...
|
|
void | getSummarizedFactors (NonlinearFactorGraph &filterSummarization, Values &filterSummarizationValues) override |
| Populate the provided containers with factors that constitute the filter branch summarization needed by the smoother. More...
|
|
void | getSmootherFactors (NonlinearFactorGraph &smootherFactors, Values &smootherValues) override |
| Populate the provided containers with factors being sent to the smoother from the filter. More...
|
|
void | synchronize (const NonlinearFactorGraph &smootherSummarization, const Values &smootherSummarizationValues) override |
| Apply the updated version of the smoother branch summarized factors. More...
|
|
void | postsync () override |
| Perform any required operations after the synchronization process finishes. More...
|
|
| ConcurrentFilter () |
| Default constructor.
|
|
virtual | ~ConcurrentFilter () |
| Default destructor.
|
|
virtual void | print (const std::string &s="Concurrent Filter:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const =0 |
| Implement a standard 'print' function. More...
|
|
virtual bool | equals (const ConcurrentFilter &rhs, double tol=1e-9) const =0 |
| Check if two Concurrent Smoothers are equal. More...
|
|
virtual void | presync () |
| Perform any required operations before the synchronization process starts. More...
|
|
virtual void | getSummarizedFactors (NonlinearFactorGraph &summarizedFactors, Values &separatorValues)=0 |
| Populate the provided containers with factors that constitute the filter branch summarization needed by the smoother. More...
|
|
virtual void | getSmootherFactors (NonlinearFactorGraph &smootherFactors, Values &smootherValues)=0 |
| Populate the provided containers with factors being sent to the smoother from the filter. More...
|
|
virtual void | synchronize (const NonlinearFactorGraph &summarizedFactors, const Values &separatorValues)=0 |
| Apply the updated version of the smoother branch summarized factors. More...
|
|
virtual void | postsync () |
| Perform any required operations after the synchronization process finishes. More...
|
|
|
LevenbergMarquardtParams | parameters_ |
| LM parameters.
|
|
NonlinearFactorGraph | factors_ |
| The set of all factors currently in the filter.
|
|
Values | theta_ |
| Current linearization point of all variables in the filter.
|
|
Ordering | ordering_ |
| The current ordering used to calculate the linear deltas.
|
|
VectorValues | delta_ |
| The current set of linear deltas from the linearization point.
|
|
std::queue< size_t > | availableSlots_ |
| The set of available factor graph slots caused by deleting factors.
|
|
Values | separatorValues_ |
| The linearization points of the separator variables. These should not be updated during optimization.
|
|
std::vector< size_t > | separatorSummarizationSlots_ |
| The slots in factor graph that correspond to the current smoother summarization on the current separator.
|
|
NonlinearFactorGraph | smootherSummarization_ |
| The smoother summarization on the old separator sent by the smoother during the last synchronization.
|
|
NonlinearFactorGraph | smootherShortcut_ |
| A set of conditional factors from the old separator to the current separator (recursively calculated during each filter update)
|
|
NonlinearFactorGraph | filterSummarization_ |
| A temporary holding place for calculated filter summarization factors to be sent to the smoother.
|
|
NonlinearFactorGraph | smootherFactors_ |
| A temporary holding place for the set of full nonlinear factors being sent to the smoother.
|
|
Values | smootherValues_ |
| A temporary holding place for the linearization points of all keys being sent to the smoother.
|
|