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