Control Library by altb
Dependents: My_Libraries IndNav_QK3_T265
PID_Cntrl.h
00001 #ifndef PID_CNTRL_H_ 00002 #define PID_CNTRL_H_ 00003 00004 class PID_Cntrl 00005 { 00006 public: 00007 00008 PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax); 00009 PID_Cntrl(){}; 00010 00011 float operator()(float error) { 00012 return doStep(error); 00013 } 00014 float operator()(float error,float y) { 00015 return doStep(error,y); 00016 } 00017 00018 virtual ~PID_Cntrl(); 00019 00020 void reset(float initValue); 00021 float doStep(float error); 00022 float doStep(float error,float y); 00023 void set_limits(float ,float ); 00024 float get_ulimit(void); 00025 float get_P_gain(void); 00026 void setCoeff_P(float); 00027 void setCoeff_I(float); 00028 void setCoeff_D(float); 00029 void scale_PID_param(float); 00030 void setCoefficients(float P, float I, float D, float tau_f, float Ts); 00031 void setCoefficients(float P, float I, float D, float tau_f, float Ts,float uMin, float uMax); 00032 00033 private: 00034 00035 float Iold; 00036 float eold,yold,del,Dpart_old; 00037 float uMax; 00038 float uMin; 00039 float Ts,tau_f; 00040 float P,I,D_; 00041 float P_init, I_init, D__init; 00042 float p, Ka; 00043 00044 }; 00045 00046 #endif // #PID_CNTRL_H
Generated on Sun Jul 17 2022 14:13:33 by 1.7.2