|
UniSet
2.2.1
|
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( const double& X, const double& Z, const 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; 00044 double d0; 00045 double d1; 00046 double d2; 00047 double sub1; 00048 double sub2; 00049 double sub; 00050 double prevTs; 00051 00052 friend std::ostream& operator<<(std::ostream& os, PID& p ); 00053 00054 friend std::ostream& operator<<(std::ostream& os, PID* p ) 00055 { 00056 return os << (*p); 00057 } 00058 00059 protected: 00060 private: 00061 }; 00062 00063 // ----------------------------------------------------------------------------- 00064 #endif // PID_H_ 00065 // -----------------------------------------------------------------------------
1.7.6.1