ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
PIDcontroller.hh
[詳解]
1
8//
9// Copyright (C) 2011-2019 Yuki YOKOKURA
10// This program is free software;
11// you can redistribute it and/or modify it under the terms of the FreeBSD License.
12// For details, see the License.txt file.
13
14#ifndef PIDCTRLLER
15#define PIDCTRLLER
16
17namespace ARCS { // ARCS名前空間
20 public:
21 PIDcontroller(double Pgain, double Igain, double Dgain, double Bandwidth, double SmplTime);
24 double GetSignal(double u);
25 void SetPgain(double Pgain);
26 void SetIgain(double Igain);
27 void SetDgain(double Dgain);
28 void SetBandwidth(double Bandwidth);
29 void SetSmplTime(double SmplTime);
30 void ClearStateVars(void);
31
32 private:
33 PIDcontroller(const PIDcontroller&) = delete;
34 const PIDcontroller& operator=(const PIDcontroller&) = delete;
35 double Ts;
36 double Kp;
37 double Ki;
38 double Kd;
39 double gpd;
40 double uZ1;
41 double uZ2;
42 double yZ1;
43 double yZ2;
44 };
45}
46
47#endif
48
49
50
PID制御器クラス
Definition PIDcontroller.hh:19
PIDcontroller(double Pgain, double Igain, double Dgain, double Bandwidth, double SmplTime)
コンストラクタ
Definition PIDcontroller.cc:36
void SetIgain(double Igain)
積分ゲインの再設定 Igain;積分ゲイン
Definition PIDcontroller.cc:87
void SetPgain(double Pgain)
比例ゲインの再設定 Pgain;比例ゲイン
Definition PIDcontroller.cc:81
void SetSmplTime(double SmplTime)
制御周期の再設定 SmplTime;[s] 制御周期
Definition PIDcontroller.cc:105
double GetSignal(double u)
出力信号の取得 u;入力信号
Definition PIDcontroller.cc:68
void SetDgain(double Dgain)
微分ゲインの再設定 Dgain;微分ゲイン
Definition PIDcontroller.cc:93
void SetBandwidth(double Bandwidth)
擬似微分の帯域の再設定 Bandwidth;[rad/s] 帯域
Definition PIDcontroller.cc:99
void ClearStateVars(void)
すべての状態変数のリセット
Definition PIDcontroller.cc:110
~PIDcontroller()
デストラクタ
Definition PIDcontroller.cc:61