29 #ifndef HECTOR_POSE_ESTIMATION_MEASUREMENT_H 30 #define HECTOR_POSE_ESTIMATION_MEASUREMENT_H 108 template <
class ConcreteModel>
114 enum { MeasurementDimension = Model::MeasurementDimension };
135 virtual Model*
getModel()
const {
return model_.get(); }
138 virtual Filter *
filter()
const {
return corrector_ ? corrector_->base() : 0; }
144 model_->getMeasurementNoise(R_, state,
true);
149 model_->getMeasurementNoise(R_, state,
true);
151 if (corrector()) corrector()->reset();
155 const MeasurementVector *fixed =
getModel()->getFixedMeasurementVector();
156 if (fixed)
return *fixed;
162 model_->getMeasurementNoise(R_, state,
false);
186 template <
class ConcreteModel>
189 return boost::make_shared<Measurement_<ConcreteModel> >(model, name);
194 #include "measurement.inl" 196 #endif // HECTOR_POSE_ESTIMATION_MEASUREMENT_H static boost::shared_ptr< Measurement_< ConcreteModel > > create(ConcreteModel *model, const std::string &name)
virtual Queue & queue()=0
virtual void afterUpdate(State &state)
virtual bool update(const MeasurementUpdate &update)
virtual void afterUpdate(State &state)
virtual NoiseVariance const & getVariance(const Update &update, const State &state)
virtual void reset(State &state)
SystemStatus status_flags_
virtual bool hasVariance() const
virtual bool active(const State &state)
virtual const std::string & getName() const
virtual MeasurementModel * getModel() const
Measurement_(const std::string &name)
virtual void setNoiseVariance(NoiseVariance const &R)
virtual ParameterList & parameters()
virtual bool onInit(PoseEstimation &estimator)
Measurement(const std::string &name)
void setName(const std::string &name)
virtual Filter * filter() const
virtual bool prepareUpdate(State &state, const Update &update)
ParameterList & add(const std::string &key, T &value, const T &default_value)
boost::shared_ptr< Model > model_
virtual void reset(State &state)
ParameterList parameters_
double getTimeout() const
virtual bool prepareUpdate(State &state, const MeasurementUpdate &update)
virtual bool updateImpl(const MeasurementUpdate &update)
virtual SystemStatus getStatusFlags() const
Model::MeasurementVector MeasurementVector
virtual bool init(PoseEstimation &estimator, State &state)
double getMinInterval() const
virtual const ParameterList & parameters() const
void setTimeout(double timeout)
virtual int getDimension() const
Model::NoiseVariance NoiseVariance
virtual Filter * filter() const
unsigned int SystemStatus
Measurement_(Model *model, const std::string &name)
traits::Update< ConcreteModel >::type Update
virtual bool init(PoseEstimation &estimator, State &state)
virtual const boost::shared_ptr< Filter::Corrector_< Model > > & corrector() const
virtual Model * getModel() const
virtual int getDimension() const
boost::shared_ptr< Filter::Corrector_< Model > > corrector_
virtual void setFilter(Filter *filter)
void increase_timer(double dt)
virtual void add(const MeasurementUpdate &update)
ConcreteModel::NoiseVariance const & getVariance(const State &)
void setMinInterval(double min_interval)
virtual MeasurementVector const & getVector(const Update &update, const State &state)