PID.h
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