UniSet  2.2.1
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( 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 // -----------------------------------------------------------------------------