$search
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 (const PositionFilter &orig) | |
PositionFilter () | |
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, double v) |
Set a real-valued parameter of this state estimator. | |
bool | setParameter (const std::string ¶m, bool b) |
Set a boolean 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.
PositionFilter::PositionFilter | ( | ) |
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, | |
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.
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.
void PositionFilter::setValue | ( | const pbl::PDF & | ) |
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.