Control Library by altb
Dependents: My_Libraries IndNav_QK3_T265
PID_Cntrl.h@1:1010530120ce, 2019-03-04 (annotated)
- Committer:
- altb
- Date:
- Mon Mar 04 11:26:47 2019 +0000
- Revision:
- 1:1010530120ce
- Parent:
- 0:d49418189c5c
- Child:
- 2:e7c9e50a2e46
added #define
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
altb | 1:1010530120ce | 1 | |
altb | 1:1010530120ce | 2 | #ifndef PID_CNTRL_H_ |
altb | 1:1010530120ce | 3 | #define PID_CNTRL_H_ |
altb | 1:1010530120ce | 4 | |
altb | 0:d49418189c5c | 5 | class PID_Cntrl |
altb | 0:d49418189c5c | 6 | { |
altb | 0:d49418189c5c | 7 | public: |
altb | 0:d49418189c5c | 8 | |
altb | 0:d49418189c5c | 9 | PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax); |
altb | 0:d49418189c5c | 10 | |
altb | 0:d49418189c5c | 11 | float operator()(float error) { |
altb | 0:d49418189c5c | 12 | return doStep((double)error); |
altb | 0:d49418189c5c | 13 | } |
altb | 0:d49418189c5c | 14 | |
altb | 0:d49418189c5c | 15 | virtual ~PID_Cntrl(); |
altb | 0:d49418189c5c | 16 | |
altb | 0:d49418189c5c | 17 | void reset(float initValue); |
altb | 0:d49418189c5c | 18 | float doStep(double error); |
altb | 0:d49418189c5c | 19 | void set_limits(double ,double ); |
altb | 0:d49418189c5c | 20 | float get_ulimit(void); |
altb | 0:d49418189c5c | 21 | |
altb | 0:d49418189c5c | 22 | private: |
altb | 0:d49418189c5c | 23 | |
altb | 0:d49418189c5c | 24 | double Iold; |
altb | 0:d49418189c5c | 25 | double eold,yold,del; |
altb | 0:d49418189c5c | 26 | double uMax; |
altb | 0:d49418189c5c | 27 | double uMin; |
altb | 0:d49418189c5c | 28 | double Ts; |
altb | 0:d49418189c5c | 29 | double P,I,D; |
altb | 0:d49418189c5c | 30 | double p, Ka; |
altb | 0:d49418189c5c | 31 | void setCoefficients(float P, float I, float D, float tau_f, float Ts); |
altb | 0:d49418189c5c | 32 | |
altb | 1:1010530120ce | 33 | }; |
altb | 1:1010530120ce | 34 | |
altb | 1:1010530120ce | 35 | #endif // #PID_CNTRL_H |