12 #ifndef CONTROLLERPIVCONTROLLER_H 13 #define CONTROLLERPIVCONTROLLER_H 30 PIVSettings() : Kpp(0),Kiv(0),Kpv(0),Kvff(0),Kaff(0),Kalp(0),Ts(0.1),
31 YMin(0), YMax(0), Kt(0) {}
38 PIV(
double _Kpp,
double _Kiv,
double _Kpv,
39 double _Kvff,
double _Kaff,
42 double _YMin = 0,
double _YMax = 0,
48 void setGains (
double _Kpp,
double _Kiv,
double _Kpv );
51 void setSamplingTime (
double _Ts);
55 void setPIVSettings (
const struct PIVSettings& _settings );
62 double saturate_windup(
double _value);
63 double saturate (
double _val );
66 double updateVelLoop (
double _velMeasured,
double _velCmd,
double _posCmd,
double accFF=0.0 );
69 double update (
double _posMeasured,
double _posRef,
double _velFF = 0.0,
double _accFF = 0.0 );
71 void printCoefficients();
double updatePosLoop(double _posError) const
Definition: PIV.hpp:67
double Ts
Sampling Time.
Definition: PIV.hpp:26
void setFeedForwardGain(double _Kvff=0.0, double _Kaff=0.0)
Definition: PIV.hpp:49
double getSmoothenedVelocity()
Definition: PIV.hpp:56
double Kt
Anti-Windup Coefficient.
Definition: PIV.hpp:29
void setOutputLimits(double _YMin, double _YMax)
Definition: PIV.hpp:52
Definition: InputShaper.hpp:22
Definition: SimpleIntegrator.hpp:33
double Kaff
Acceleration Feedforward Gain.
Definition: PIV.hpp:24
double getKpp()
Definition: PIV.hpp:74
PIVSettings()
Definition: PIV.hpp:30
double Kalp
Velocity Estimation Smoothing Factor.
Definition: PIV.hpp:25
double Kpp
Position Proportional Gain.
Definition: PIV.hpp:20
double Kpv
Velocity Proportional Gain.
Definition: PIV.hpp:22
void setPositionController(bool _status)
Definition: PIV.hpp:53
double YMax
Upper Output Limit.
Definition: PIV.hpp:28
double getPosCommand()
Definition: PIV.hpp:60
void setIntegratorWindupCoeff(double _Kt)
Definition: PIV.hpp:54
double Kvff
Velocity Feedforward Gain.
Definition: PIV.hpp:23
double getKvff()
Definition: PIV.hpp:73
double Kiv
Velocity Integral Gain.
Definition: PIV.hpp:21
double getVelocity()
Definition: PIV.hpp:57
double YMin
Lower Output Limit.
Definition: PIV.hpp:27
bool isSaturated()
Definition: PIV.hpp:58
void setVelSmoothingGain(double _Kalp)
Definition: PIV.hpp:50