FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
HeadingPIDController.h
1#ifndef __HeadingPIDController_H
2#define __HeadingPIDController_H
3
44#include <fhsim/simobject/SimObject.h>
45#include <string>
46#include <Eigen/Eigen>
47using namespace Eigen;
48
49
50namespace Ship{
51 class HeadingPIDController: public SimObject
52 {
53 public:
54 HeadingPIDController(const std::string& simObjectName, ISimObjectCreator* const creator);
55 virtual void OdeFcn(const double T, const double* const X, double* const XDot) const;
56
57 const double* Torque(const double T, const double *const X);
58 const double* AngleDiff(const double T, const double *const X);
59
60 #ifdef FH_VISUALIZATION
62 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator){}
63
65 virtual void RenderUpdate(const double T, const double* const X){}
66 #endif
67
68 protected:
69 double Kp,Kd,Ki;
70 double T,angleDiff;
71 ISignalPort* m_InCurrentHeading;
72 ISignalPort* m_InCurrentYawRate;
73 ISignalPort* m_InDesiredHeading;
74 ISignalPort* m_InDesiredYawRate;
76
77 double HeadingDifference( double from, double to) const;
78 };
79}
80#endif
Definition HeadingPIDController.h:52
ISignalPort * m_InCurrentYawRate
Current position.
Definition HeadingPIDController.h:72
ISignalPort * m_InDesiredYawRate
Desired position.
Definition HeadingPIDController.h:74
ISignalPort * m_InCurrentHeading
Current position.
Definition HeadingPIDController.h:71
ISignalPort * m_InDesiredHeading
Desired position.
Definition HeadingPIDController.h:73
int m_IErrorIntegral
The relative index of the StatePositionErrorSum state in the state array.
Definition HeadingPIDController.h:75
HeadingPIDController(const std::string &simObjectName, ISimObjectCreator *const creator)
reads parameters, registers states, input/output ports and shared resources
virtual void OdeFcn(const double T, const double *const X, double *const XDot) const
returns object derivatives as a function of time, states and input ports
Simple waypoint object.
Definition CableAttach.h:58