FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
PidController.h
1#pragma once
2
69#include "sfh/filters/FIR.h"
70#include "sfh/filters/PID.h"
71#include "sfh/timers/StopWatch.h"
72
73#include <fhsim/simobject/SimObject.h>
74#include <stdio.h>
75#include <string>
76class PidController : public SimObject
77{
78public:
79 PidController(std::string simObjectName, ISimObjectCreator* creator);
80
82
83 virtual void OdeFcn(const double dT, const double* const adX, double* const adXDot) const override;
84 virtual void AcceptedStep(const double dT, const double* const adX) override;
85
86#ifdef FH_VISUALIZATION
87 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator) { };
88 virtual void RenderUpdate(const double dT, const double* const adX) { };
89#endif
90protected:
91 const double* Out(const double dT, const double* const adX);
92
93 ISignalPort* m_inMeasurement;
94 ISignalPort* m_inReference;
95 // double m_outMax;
96 // double m_outMin;
97
98 // double m_ProportionalGain;
99 // double m_IntegratorTime;
100 // double m_DerivativeTime;
101
102 // double m_IntegratorEffectMax;
103 // double m_DerivativeEffectMax;
104
105 // sfh::filters::FIR m_derivativeFilter;
106 // sfh::timers::StopWatch m_stopWatch_timestep;
107 // sfh::timers::StopWatch m_stopWatch_errorDiff;
108 sfh::filters::PID m_PID;
109 double m_output;
110};
Definition PidController.h:77
ISignalPort * m_inReference
The desired value.
Definition PidController.h:94
ISignalPort * m_inMeasurement
The measured value.
Definition PidController.h:93