Marine systems simulation
KalmanPendulum.h
1#ifndef KALMAN_PENDULUM_H
2#define KALMAN_PENDULUM_H
3
4#include "KalmanObject.h"
5#include "Pendulum.h"
6#include "SimObject.h"
7
8#include "sfh/constants.h"
9#include "sfh/math.h"
10#include "sfh/text.h"
11#include "sfh/util.h"
12
13#include <Eigen/Dense>
14
15#include <memory>
16
81class KalmanPendulum : public Pendulum, public KalmanObject
82{
83 public:
84 KalmanPendulum(const std::string& simObjectName, ISimObjectCreator* const creator);
85 estimator::Matrix GetCovarianceP0();
86 estimator::Matrix GetProcessNoiseQ();
87 estimator::Matrix GetMeasurementNoiseR();
88 estimator::Vector ExpectedMeasurementOutput(const double T, const double* const X);
89 estimator::Vector ActualMeasurementOutput(const double T, const double* const X);
90 unsigned int GetNumMeasurements();
91
92 protected:
93 double m_AngleUncertainty;
94 double m_AngularVelocityUncertainty;
95 double m_MeasurementUncertainty;
96 double m_InitialP[2];
97 ISignalPort* m_AngleMeasurement;
98};
99
100#endif
Definition: KalmanPendulum.h:82
Definition: Pendulum.h:66