29 #ifndef HECTOR_POSE_ESTIMATION_FILTER_H 30 #define HECTOR_POSE_ESTIMATION_FILTER_H 44 virtual std::string
getType()
const = 0;
86 virtual bool predict(
double dt) = 0;
118 virtual bool correct(
const typename ConcreteModel::MeasurementVector&
y,
const typename ConcreteModel::NoiseVariance& R) = 0;
120 virtual typename ConcreteModel::MeasurementVector
getResidual()
const {
return typename ConcreteModel::MeasurementVector(); }
129 template <
typename Derived> Derived *
derived() {
return dynamic_cast<Derived *
>(
this); }
130 template <
typename Derived>
const Derived *
derived()
const {
return dynamic_cast<const Derived *
>(
this); }
132 template <
typename Derived>
150 #endif // HECTOR_POSE_ESTIMATION_FILTER_H
boost::shared_ptr< Predictor_< ConcreteModel > > addPredictor(ConcreteModel *model)
boost::shared_ptr< Corrector_< ConcreteModel > > addCorrector(ConcreteModel *model)
const Derived * derived() const
virtual bool preparePredict(double dt)
TFSIMD_FORCE_INLINE const tfScalar & y() const
Predictor(Filter *filter)
static Factory< Derived > factory(Derived *filter)
const Filter * base() const
virtual bool doPredict(double dt)
virtual const State & state() const
Derived::template Corrector_< ConcreteModel > * derived()
const State & state() const
virtual bool correct(const Measurements &measurements)
virtual std::string getType() const =0
const Derived::template Predictor_< ConcreteModel > * derived() const
Derived::template Predictor_< ConcreteModel > * derived()
virtual bool predict(const Systems &systems, double dt)
virtual ConcreteModel::MeasurementVector getResidual() const
virtual bool init(PoseEstimation &estimator)
virtual bool prepareCorrect()
const Filter * base() const
const State & state() const
const Derived::template Corrector_< ConcreteModel > * derived() const
Corrector(Filter *filter)
Corrector_(Filter *filter, ConcreteModel *model)
Predictor_(Filter *filter, ConcreteModel *model)