ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
I-PDcontroller.hh
[詳解]
1
5//
6// Copyright (C) 2011-2020 Yuki YOKOKURA
7// This program is free software;
8// you can redistribute it and/or modify it under the terms of the FreeBSD License.
9// For details, see the License.txt file.
10
11#ifndef I_PDCONTROLLER
12#define I_PDCONTROLLER
13
14#include "Matrix.hh"
15
16namespace ARCS { // ARCS名前空間
19 public:
20 I_PDcontroller(double Igain, double Pgain, double Dgain, double Bandwidth, double SmplTime);
22 double GetSignal(double ref, double res);
23 void SetIgain(double Igain);
24 void SetPgain(double Pgain);
25 void SetDgain(double Dgain);
26 void SetBandwidth(double Bandwidth);
27
28 private:
29 I_PDcontroller(const I_PDcontroller&) = delete;
30 const I_PDcontroller& operator=(const I_PDcontroller&) = delete;
31 double Ki;
32 double Kp;
33 double Kd;
34 double g;
35 double Ts;
36 Matrix<2,2> Ac;
37 Matrix<2,2> Bc;
38 Matrix<2,2> Ad;
39 Matrix<2,2> Bd;
40 Matrix<2,1> c;
41 Matrix<2,1> d;
42 Matrix<1,2> u;
43 Matrix<1,2> x;
44 Matrix<1,2> x_next;
45 Matrix<1,1> y;
46 };
47}
48
49#endif
50
51
52
行列/ベクトル計算クラス(テンプレート版)
I-PD制御器
Definition I-PDcontroller.hh:18
void SetPgain(double Pgain)
先行比例ゲインを再設定する関数
Definition I-PDcontroller.cc:92
I_PDcontroller(double Igain, double Pgain, double Dgain, double Bandwidth, double SmplTime)
コンストラクタ
Definition I-PDcontroller.cc:32
void SetBandwidth(double Bandwidth)
擬似微分の帯域を再設定する関数
Definition I-PDcontroller.cc:102
double GetSignal(double ref, double res)
制御器の出力信号を計算して出力する関数 ref : 指令値, res : 応答値
Definition I-PDcontroller.cc:67
~I_PDcontroller()
デストラクタ
Definition I-PDcontroller.cc:59
void SetIgain(double Igain)
積分ゲインを再設定する関数
Definition I-PDcontroller.cc:87
void SetDgain(double Dgain)
先行微分ゲインを再設定する関数
Definition I-PDcontroller.cc:97
行列/ベクトル計算クラス(テンプレート版)
Definition Matrix.hh:44