iranaikamo sirenaisi irukamo sirenai

pidの計算の部分だけをコトコト煮詰めてライブラリにしました。

Files at this revision

API Documentation at this revision

Comitter:
hamohamo
Date:
Wed Apr 14 14:24:40 2021 +0000
Parent:
0:f6d51a9c6ce9
Commit message:
pid

Changed in this revision

PID.hpp Show annotated file Show diff for this revision Revisions of this file
diff -r f6d51a9c6ce9 -r 98493ab2f769 PID.hpp
--- a/PID.hpp	Wed Apr 14 14:21:07 2021 +0000
+++ b/PID.hpp	Wed Apr 14 14:24:40 2021 +0000
@@ -1,26 +1,24 @@
-#ifndef IG_PID_HPP_
-#define IG_PID_HPP_
-
-class PID{
-public:
-    PID(double KP,double KI,double KD,double DT):Kp(KP),Ki(KI),Kd(KD),dt(DT){
-
-    }
-    void Update(double e){
-        PROP = e;
-        INT += (curr_e + prev_e)*dt/2.0;
-        DIFF = (curr_e - prev_e)/dt;
-        mv = Kp*PROP + Ki*INT + Kd*DIFF;
-    }
-    double getmv(){
-        return mv;
-    }
-private:
-    double Kp,Ki,Kd; /* Pゲイン Iゲイン Dゲイン */
-    double dt; /* 微小時間 */
-    double prev_e,curr_e; /* 前回の誤差 現在の誤差 */
-    double PROP,INT,DIFF; /* 比例 積分 微分 */
-    double mv; /* manipulating variable */
-};
-
+#ifndef IG_PID_HPP_
+#define IG_PID_HPP_
+
+class PID{
+public:
+    PID(double KP,double KI,double KD,double DT):Kp(KP),Ki(KI),Kd(KD),dt(DT){
+
+    }
+    void Update(double e){
+        PROP = e;
+        INT += (curr_e + prev_e)*dt/2.0;
+        DIFF = (curr_e - prev_e)/dt;
+        mv = Kp*PROP + Ki*INT + Kd*DIFF;
+    }
+    double getmv(){return mv;} /* 操作量の取得 */
+private:
+    double Kp,Ki,Kd; /* Pゲイン Iゲイン Dゲイン */
+    double dt; /* 微小時間 */
+    double prev_e,curr_e; /* 前回の誤差 現在の誤差 */
+    double PROP,INT,DIFF; /* 比例 積分 微分 */
+    double mv; /* manipulating variable */
+};
+
 #endif /* IG_PID_HPP_ */