Estimator specialized in estimating the position of a target. The estimator uses a Kalman filter with constant velocity process model. If no updates are received for a given amount of time, the PositionFilter replaces the Kalman filter output by a predefined Gaussian distribution over the current state of the filter (to avoid unrealistic propagation of the state). More...
#include <PositionFilter.h>
Public Member Functions | |
virtual PositionFilter * | clone () const |
const pbl::PDF & | getValue () const |
Returns the current estimated state value. | |
PositionFilter () | |
PositionFilter (const PositionFilter &orig) | |
virtual void | propagate (const mhf::Time &time) |
Propagates the internal state to Time time. | |
virtual void | reset () |
Resets the internal state of the estimator to its initial value. | |
bool | setParameter (const std::string ¶m, bool b) |
Set a boolean parameter of this state estimator. | |
bool | setParameter (const std::string ¶m, double v) |
Set a real-valued parameter of this state estimator. | |
void | setValue (const pbl::PDF &pdf) |
void | update (const pbl::PDF &z, const mhf::Time &time) |
Updates the internal state based on measurement z. | |
virtual | ~PositionFilter () |
Protected Attributes | |
pbl::Gaussian * | fixed_pdf_ |
double | fixed_pdf_cov_ |
KalmanFilter * | kalman_filter_ |
double | kalman_timeout_ |
double | max_acceleration_ |
mhf::Time | t_last_propagation_ |
mhf::Time | t_last_update_ |
Estimator specialized in estimating the position of a target. The estimator uses a Kalman filter with constant velocity process model. If no updates are received for a given amount of time, the PositionFilter replaces the Kalman filter output by a predefined Gaussian distribution over the current state of the filter (to avoid unrealistic propagation of the state).
Definition at line 52 of file PositionFilter.h.
Definition at line 40 of file PositionFilter.cpp.
PositionFilter::PositionFilter | ( | const PositionFilter & | orig | ) |
Definition at line 44 of file PositionFilter.cpp.
PositionFilter::~PositionFilter | ( | ) | [virtual] |
Definition at line 57 of file PositionFilter.cpp.
PositionFilter * PositionFilter::clone | ( | ) | const [virtual] |
Implements mhf::IStateEstimator.
Definition at line 62 of file PositionFilter.cpp.
const pbl::PDF & PositionFilter::getValue | ( | ) | const [virtual] |
Returns the current estimated state value.
Implements mhf::IStateEstimator.
Definition at line 137 of file PositionFilter.cpp.
void PositionFilter::propagate | ( | const mhf::Time & | time | ) | [virtual] |
Propagates the internal state to Time time.
time | The time to which the internal state is propagated |
Implements mhf::IStateEstimator.
Definition at line 66 of file PositionFilter.cpp.
void PositionFilter::reset | ( | ) | [virtual] |
Resets the internal state of the estimator to its initial value.
Implements mhf::IStateEstimator.
Definition at line 129 of file PositionFilter.cpp.
bool PositionFilter::setParameter | ( | const std::string & | param, |
bool | b | ||
) | [virtual] |
Set a boolean parameter of this state estimator.
param | The parameter name |
b | The boolean value |
Reimplemented from mhf::IStateEstimator.
Definition at line 147 of file PositionFilter.cpp.
bool PositionFilter::setParameter | ( | const std::string & | param, |
double | v | ||
) | [virtual] |
Set a real-valued parameter of this state estimator.
param | The parameter name |
v | The float value |
Reimplemented from mhf::IStateEstimator.
Definition at line 151 of file PositionFilter.cpp.
void PositionFilter::setValue | ( | const pbl::PDF & | ) |
void PositionFilter::update | ( | const pbl::PDF & | z, |
const mhf::Time & | time | ||
) | [virtual] |
Updates the internal state based on measurement z.
z | The measurement with which to update, represented as a probability density function |
time | The time to which the internal state is propagated before updating |
Implements mhf::IStateEstimator.
Definition at line 111 of file PositionFilter.cpp.
pbl::Gaussian* PositionFilter::fixed_pdf_ [protected] |
Definition at line 114 of file PositionFilter.h.
double PositionFilter::fixed_pdf_cov_ [protected] |
Definition at line 120 of file PositionFilter.h.
KalmanFilter* PositionFilter::kalman_filter_ [protected] |
Definition at line 112 of file PositionFilter.h.
double PositionFilter::kalman_timeout_ [protected] |
Definition at line 122 of file PositionFilter.h.
double PositionFilter::max_acceleration_ [protected] |
Definition at line 118 of file PositionFilter.h.
mhf::Time PositionFilter::t_last_propagation_ [protected] |
Definition at line 110 of file PositionFilter.h.
mhf::Time PositionFilter::t_last_update_ [protected] |
Definition at line 108 of file PositionFilter.h.