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. More... | |
PositionFilter () | |
PositionFilter (const PositionFilter &orig) | |
virtual void | propagate (const mhf::Time &time) |
Propagates the internal state to Time time. More... | |
virtual void | reset () |
Resets the internal state of the estimator to its initial value. More... | |
bool | setParameter (const std::string ¶m, bool b) |
Set a boolean parameter of this state estimator. More... | |
bool | setParameter (const std::string ¶m, double v) |
Set a real-valued parameter of this state estimator. More... | |
void | setValue (const pbl::PDF &pdf) |
void | update (const pbl::PDF &z, const mhf::Time &time) |
Updates the internal state based on measurement z. More... | |
virtual | ~PositionFilter () |
![]() | |
virtual bool | setParameter (const std::string ¶m, const std::string &s) |
virtual | ~IStateEstimator () |
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.
|
virtual |
Definition at line 57 of file PositionFilter.cpp.
|
virtual |
Implements mhf::IStateEstimator.
Definition at line 62 of file PositionFilter.cpp.
|
virtual |
Returns the current estimated state value.
Implements mhf::IStateEstimator.
Definition at line 137 of file PositionFilter.cpp.
|
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.
|
virtual |
Resets the internal state of the estimator to its initial value.
Implements mhf::IStateEstimator.
Definition at line 129 of file PositionFilter.cpp.
|
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.
|
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 & | ) |
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.
|
protected |
Definition at line 114 of file PositionFilter.h.
|
protected |
Definition at line 120 of file PositionFilter.h.
|
protected |
Definition at line 112 of file PositionFilter.h.
|
protected |
Definition at line 122 of file PositionFilter.h.
|
protected |
Definition at line 118 of file PositionFilter.h.
|
protected |
Definition at line 110 of file PositionFilter.h.
|
protected |
Definition at line 108 of file PositionFilter.h.