gtsam  3.2.1
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExtendedKalmanFilter.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
19 // \callgraph
20 #pragma once
21 
24 
25 namespace gtsam {
26 
43  template<class VALUE>
45  public:
46 
47  typedef boost::shared_ptr<ExtendedKalmanFilter<VALUE> > shared_ptr;
48  typedef VALUE T;
51 
52  protected:
53  T x_; // linearization point
54  JacobianFactor::shared_ptr priorFactor_; // density
55 
56  T solve_(const GaussianFactorGraph& linearFactorGraph,
57  const Values& linearizationPoints,
58  Key x, JacobianFactor::shared_ptr& newPrior) const;
59 
60  public:
61 
64 
65  ExtendedKalmanFilter(Key key_initial, T x_initial,
66  noiseModel::Gaussian::shared_ptr P_initial);
67 
71 
73  void print(const std::string& s="") const {
74  std::cout << s << "\n";
75  x_.print(s+"x");
76  priorFactor_->print(s+"density");
77  }
78 
82 
84  T predict(const MotionFactor& motionFactor);
85 
87  T update(const MeasurementFactor& measurementFactor);
88 
90  };
91 
92 } // namespace
93 
Non-linear factor base classes.
T predict(const MotionFactor &motionFactor)
TODO: comment.
Definition: ExtendedKalmanFilter-inl.h:80
T update(const MeasurementFactor &measurementFactor)
TODO: comment.
Definition: ExtendedKalmanFilter-inl.h:115
Class to perform generic Kalman Filtering using nonlinear factor graphs.
Factor Graph Constsiting of non-linear factors.
A non-templated config holding any types of Manifold-group elements.
Definition: Values.h:75
void print(const std::string &s="") const
print
Definition: ExtendedKalmanFilter.h:73
size_t Key
Integer nonlinear key type.
Definition: types.h:59
A convenient base class for creating your own NoiseModelFactor with 1 variable.
Definition: NonlinearFactor.h:354
This is a generic Extended Kalman Filter class implemented using nonlinear factors.
Definition: ExtendedKalmanFilter.h:44
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition: GaussianFactorGraph.h:65
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: JacobianFactor.h:87