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
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
83class KalmanPendulum : public Pendulum, public KalmanObject
84{
85 public:
86 KalmanPendulum(const std::string& simObjectName, ISimObjectCreator* const creator);
87 estimator::Matrix GetInitialEstimationErrorCovariance();
88 estimator::Matrix GetProcessNoiseCovariance();
89 estimator::Matrix GetMeasurementNoiseCovariance();
90 estimator::Vector ExpectedMeasurementOutput(const double T, const double* const X);
91 estimator::Vector ActualMeasurementOutput(const double T, const double* const X);
92 unsigned int GetNumMeasurements();
93
94 protected:
95 double m_AngleUncertainty;
96 double m_AngularVelocityUncertainty;
97 double m_MeasurementUncertainty;
98 double m_InitialP[2];
99 ISignalPort* m_AngleMeasurement;
100};
101
102#endif
Definition KalmanPendulum.h:84
Definition Pendulum.h:66