Go to the documentation of this file.
37 #ifndef PEOPLE_TRACKING_FILTER_TRACKER_KALMAN_H
38 #define PEOPLE_TRACKING_FILTER_TRACKER_KALMAN_H
43 #include <bfl/filter/extendedkalmanfilter.h>
44 #include <bfl/model/linearanalyticsystemmodel_gaussianuncertainty.h>
45 #include <bfl/model/linearanalyticmeasurementmodel_gaussianuncertainty.h>
46 #include <bfl/pdf/linearanalyticconditionalgaussian.h>
61 class TrackerKalman:
public Tracker
94 const MatrixWrapper::SymmetricMatrix& cov);
98 virtual void getEstimate(people_msgs::PositionMeasurement& est)
const;
103 BFL::ExtendedKalmanFilter*
filter_;
104 BFL::LinearAnalyticConditionalGaussian*
sys_pdf_;
105 BFL::LinearAnalyticSystemModelGaussianUncertainty*
sys_model_;
106 BFL::LinearAnalyticConditionalGaussian*
meas_pdf_;
107 BFL::LinearAnalyticMeasurementModelGaussianUncertainty*
meas_model_;
118 #endif // PEOPLE_TRACKING_FILTER_TRACKER_KALMAN_H
double calculateQuality()
virtual double getTime() const
return the time of the tracker
Class representing state with pos and vel.
virtual double getLifetime() const
return the lifetime of the tracker
virtual void getEstimate(BFL::StatePosVel &est) const
get filter posterior
BFL::ExtendedKalmanFilter * filter_
virtual ~TrackerKalman()
destructor
BFL::LinearAnalyticConditionalGaussian * meas_pdf_
virtual bool updateCorrection(const tf::Vector3 &meas, const MatrixWrapper::SymmetricMatrix &cov)
BFL::LinearAnalyticMeasurementModelGaussianUncertainty * meas_model_
bool tracker_initialized_
MatrixWrapper::SymmetricMatrix sys_sigma_
virtual double getQuality() const
return measure for tracker quality: 0=bad 1=good
BFL::LinearAnalyticSystemModelGaussianUncertainty * sys_model_
MatrixWrapper::Matrix sys_matrix_
BFL::LinearAnalyticConditionalGaussian * sys_pdf_
TrackerKalman(const std::string &name, const BFL::StatePosVel &sysnoise)
constructor
virtual void initialize(const BFL::StatePosVel &mu, const BFL::StatePosVel &sigma, const double time)
initialize tracker
virtual bool isInitialized() const
return if tracker was initialized
virtual bool updatePrediction(const double time)
update tracker