UniSet
1.4.0
|
00001 // ----------------------------------------------------------------------------- 00002 #ifndef PID_H_ 00003 #define PID_H_ 00004 // ----------------------------------------------------------------------------- 00005 #include <sstream> 00006 #include <iomanip> 00007 // ----------------------------------------------------------------------------- 00016 class PID 00017 { 00018 public: 00019 PID(); 00020 ~PID(); 00021 00028 void step( double X, double Z, double Ts ); 00029 00031 void reset(); 00032 00034 void recalc(); 00035 00036 double Y; 00037 double Kc; 00038 double Ti; 00039 double Td; 00041 double vlim; 00045 double d0; 00046 double d1; 00047 double d2; 00048 double sub1; 00049 double sub2; 00050 double sub; 00051 double prevTs; 00052 00053 friend std::ostream& operator<<(std::ostream& os, PID& p ); 00054 00055 friend std::ostream& operator<<(std::ostream& os, PID* p ) 00056 { 00057 return os << (*p); 00058 } 00059 00060 protected: 00061 private: 00062 }; 00063 00064 // ----------------------------------------------------------------------------- 00065 #endif // PID_H_ 00066 // -----------------------------------------------------------------------------