Control Library by altb
Dependents: My_Libraries IndNav_QK3_T265
PID_Cntrl.h@12:81787539c2cb, 2019-10-09 (annotated)
- Committer:
- altb2
- Date:
- Wed Oct 09 13:46:06 2019 +0000
- Revision:
- 12:81787539c2cb
- Parent:
- 11:7ea3efaf0469
Small changes in Initialisation for Indnav_QK3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
altb | 1:1010530120ce | 1 | #ifndef PID_CNTRL_H_ |
altb | 1:1010530120ce | 2 | #define PID_CNTRL_H_ |
altb | 1:1010530120ce | 3 | |
altb | 0:d49418189c5c | 4 | class PID_Cntrl |
altb | 0:d49418189c5c | 5 | { |
altb | 0:d49418189c5c | 6 | public: |
altb | 0:d49418189c5c | 7 | |
altb | 0:d49418189c5c | 8 | PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax); |
altb2 | 12:81787539c2cb | 9 | PID_Cntrl(){}; |
altb | 0:d49418189c5c | 10 | |
altb | 0:d49418189c5c | 11 | float operator()(float error) { |
altb2 | 2:e7c9e50a2e46 | 12 | return doStep(error); |
altb | 0:d49418189c5c | 13 | } |
altb2 | 10:447f6a864598 | 14 | float operator()(float error,float y) { |
altb2 | 10:447f6a864598 | 15 | return doStep(error,y); |
altb2 | 10:447f6a864598 | 16 | } |
altb | 0:d49418189c5c | 17 | |
altb | 0:d49418189c5c | 18 | virtual ~PID_Cntrl(); |
altb | 0:d49418189c5c | 19 | |
altb | 0:d49418189c5c | 20 | void reset(float initValue); |
altb2 | 2:e7c9e50a2e46 | 21 | float doStep(float error); |
altb2 | 10:447f6a864598 | 22 | float doStep(float error,float y); |
altb2 | 2:e7c9e50a2e46 | 23 | void set_limits(float ,float ); |
altb | 0:d49418189c5c | 24 | float get_ulimit(void); |
altb2 | 5:d8c53cece01b | 25 | float get_P_gain(void); |
altb2 | 3:27595dd9e433 | 26 | void setCoeff_P(float); |
altb2 | 3:27595dd9e433 | 27 | void setCoeff_I(float); |
altb2 | 3:27595dd9e433 | 28 | void setCoeff_D(float); |
altb2 | 5:d8c53cece01b | 29 | void scale_PID_param(float); |
altb2 | 12:81787539c2cb | 30 | void setCoefficients(float P, float I, float D, float tau_f, float Ts); |
altb2 | 12:81787539c2cb | 31 | void setCoefficients(float P, float I, float D, float tau_f, float Ts,float uMin, float uMax); |
altb | 0:d49418189c5c | 32 | |
altb | 0:d49418189c5c | 33 | private: |
altb | 0:d49418189c5c | 34 | |
altb2 | 2:e7c9e50a2e46 | 35 | float Iold; |
altb2 | 10:447f6a864598 | 36 | float eold,yold,del,Dpart_old; |
altb2 | 2:e7c9e50a2e46 | 37 | float uMax; |
altb2 | 2:e7c9e50a2e46 | 38 | float uMin; |
altb2 | 3:27595dd9e433 | 39 | float Ts,tau_f; |
altb2 | 2:e7c9e50a2e46 | 40 | float P,I,D_; |
altb2 | 5:d8c53cece01b | 41 | float P_init, I_init, D__init; |
altb2 | 2:e7c9e50a2e46 | 42 | float p, Ka; |
altb2 | 11:7ea3efaf0469 | 43 | |
altb | 1:1010530120ce | 44 | }; |
altb | 1:1010530120ce | 45 | |
altb | 1:1010530120ce | 46 | #endif // #PID_CNTRL_H |