2nd Library
Dependents: cuboid_balance_ros cuboid_balance mirror_actuator_V1
PID_Cntrl.h@2:b54eb3e24d2d, 2021-02-25 (annotated)
- Committer:
- altb2
- Date:
- Thu Feb 25 20:28:27 2021 +0000
- Revision:
- 2:b54eb3e24d2d
- Parent:
- 0:a201a6cd4c0c
.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
altb2 | 2:b54eb3e24d2d | 1 | #ifndef PID_CNTRL_H_ |
altb2 | 2:b54eb3e24d2d | 2 | #define PID_CNTRL_H_ |
altb2 | 2:b54eb3e24d2d | 3 | |
altb2 | 0:a201a6cd4c0c | 4 | class PID_Cntrl |
altb2 | 0:a201a6cd4c0c | 5 | { |
altb2 | 0:a201a6cd4c0c | 6 | public: |
altb2 | 0:a201a6cd4c0c | 7 | |
altb2 | 0:a201a6cd4c0c | 8 | PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax); |
altb2 | 0:a201a6cd4c0c | 9 | |
altb2 | 0:a201a6cd4c0c | 10 | float operator()(float error) { |
altb2 | 0:a201a6cd4c0c | 11 | return doStep((double)error); |
altb2 | 0:a201a6cd4c0c | 12 | } |
altb2 | 0:a201a6cd4c0c | 13 | |
altb2 | 0:a201a6cd4c0c | 14 | virtual ~PID_Cntrl(); |
altb2 | 0:a201a6cd4c0c | 15 | |
altb2 | 0:a201a6cd4c0c | 16 | void reset(float initValue); |
altb2 | 0:a201a6cd4c0c | 17 | float doStep(double error); |
altb2 | 0:a201a6cd4c0c | 18 | void set_limits(double ,double ); |
altb2 | 0:a201a6cd4c0c | 19 | float get_ulimit(void); |
altb2 | 0:a201a6cd4c0c | 20 | |
altb2 | 0:a201a6cd4c0c | 21 | private: |
altb2 | 0:a201a6cd4c0c | 22 | |
altb2 | 0:a201a6cd4c0c | 23 | double Iold; |
altb2 | 0:a201a6cd4c0c | 24 | double eold,yold,del; |
altb2 | 0:a201a6cd4c0c | 25 | double uMax; |
altb2 | 0:a201a6cd4c0c | 26 | double uMin; |
altb2 | 0:a201a6cd4c0c | 27 | double Ts; |
altb2 | 0:a201a6cd4c0c | 28 | double P,I,D; |
altb2 | 0:a201a6cd4c0c | 29 | double p, Ka; |
altb2 | 0:a201a6cd4c0c | 30 | void setCoefficients(float P, float I, float D, float tau_f, float Ts); |
altb2 | 0:a201a6cd4c0c | 31 | |
altb2 | 0:a201a6cd4c0c | 32 | }; |
altb2 | 2:b54eb3e24d2d | 33 | |
altb2 | 2:b54eb3e24d2d | 34 | #endif |