FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
PidController.h
1#pragma once
2
90#include "sfh/filters/FIR.h"
91#include "sfh/filters/PID.h"
92#include "sfh/timers/StopWatch.h"
93
94#include <fhsim/simobject/SimObject.h>
95#include <stdio.h>
96#include <string>
97class PidController : public SimObject
98{
99public:
100 PidController(std::string simObjectName, ISimObjectCreator* creator);
101
103
104 virtual void OdeFcn(const double dT, const double* const adX, double* const adXDot) const override;
105 virtual void AcceptedStep(const double dT, const double* const adX) override;
106
107#ifdef FH_VISUALIZATION
108 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator) { };
109 virtual void RenderUpdate(const double dT, const double* const adX) { };
110#endif
111protected:
112 const double* Out(const double dT, const double* const adX);
113
114 ISignalPort* m_inMeasurement;
115 ISignalPort* m_inReference;
116 // double m_outMax;
117 // double m_outMin;
118
119 // double m_ProportionalGain;
120 // double m_IntegratorTime;
121 // double m_DerivativeTime;
122
123 // double m_IntegratorEffectMax;
124 // double m_DerivativeEffectMax;
125
126 // sfh::filters::FIR m_derivativeFilter;
127 // sfh::timers::StopWatch m_stopWatch_timestep;
128 // sfh::timers::StopWatch m_stopWatch_errorDiff;
129 sfh::filters::PID m_PID;
130 double m_output;
131};
Definition PidController.h:98
ISignalPort * m_inReference
The desired value.
Definition PidController.h:115
ISignalPort * m_inMeasurement
The measured value.
Definition PidController.h:114