足回り動かすためのライブラリ

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pid.hpp Source File

pid.hpp

00001 #ifndef take_PID
00002 #define take_PID
00003 
00004 #ifndef M_PI
00005 #define M_PI 3.14159265358979
00006 #endif
00007 /*INFO
00008 *coreを使わない場合idはなんでもいいです
00009 *UpdateのValueには現在値、ターゲットには目標値、dtには微分する時間を入れてください
00010 *getmvで操作量を含んだ結果を取得できます
00011 *
00012 */
00013 class PID{
00014 public:
00015   PID(double kp,double ki,double kd,int id);
00016   ~PID();
00017   void setLimit(double max,double min);
00018   void Update(double Value,double Target,double dt,bool addmv = true);
00019   double getmv();
00020   double mv;
00021   double value;
00022   double target;
00023   double e[3];
00024   double Max;
00025 private:
00026   double Min;
00027   double Kp;
00028   double Ki;
00029   double Kd;
00030   double P;
00031   double I;
00032   double D;
00033   double integral;
00034   int ID;
00035 };
00036 
00037 #endif