20#include "P-Dcontroller.hh"
29 #define arcs_assert(a) (assert(a))
32 #define EventLogVar(a)
39template <
size_t N,
size_t W = 4>
52 P_Dcontrollers(
const std::array<double, N>& Pgain,
const std::array<double, N>& Dgain)
91 for(
size_t i = 1; i <= N; ++i){
92 out[i] = P_Dcon.at(i-1).GetSignal(ref[i], res[i], time);
111 for(
size_t i = 0; i < N; ++i) P_Dcon.at(i).SetPgain(Pgain.at(i));
117 for(
size_t i = 0; i < N; ++i) P_Dcon.at(i).SetDgain(Dgain.at(i));
123 for(
size_t i = 1; i <= N; ++i) P_Dcon.at(i - 1).SetPgain(Pgain[i]);
129 for(
size_t i = 1; i <= N; ++i) P_Dcon.at(i - 1).SetDgain(Dgain[i]);
135 void SetPDgain(
const std::array<double, N>& Pgain,
const std::array<double, N>& Dgain){
136 for(
size_t i = 0; i < N; ++i) P_Dcon.at(i).SetPDgain(Pgain.at(i), Dgain.at(i));
143 for(
size_t i = 1; i <= N; ++i) P_Dcon.at(i - 1).SetPDgain(Pgain[i], Dgain[i]);
149 std::array<P_Dcontroller<W>, N> P_Dcon;
#define PassedLog()
イベントログ用マクロ(ファイルと行番号のみ記録版)
Definition ARCSeventlog.hh:26
行列/ベクトル計算クラス(テンプレート版)
Definition Matrix.hh:44
P-D制御器クラス(微分先行型)
Definition P-Dcontrollers.hh:40
void SetPDgain(const Matrix< 1, N > &Pgain, const Matrix< 1, N > &Dgain)
PDゲインを設定する関数(Matrix版)
Definition P-Dcontrollers.hh:142
P_Dcontrollers(const std::array< double, N > &Pgain, const std::array< double, N > &Dgain)
コンストラクタ(std::array版)
Definition P-Dcontrollers.hh:52
~P_Dcontrollers()
デストラクタ
Definition P-Dcontrollers.hh:80
P_Dcontrollers(void)
空コンストラクタ
Definition P-Dcontrollers.hh:43
void GetSignal(const Matrix< 1, N > &ref, const Matrix< 1, N > &res, const double time, Matrix< 1, N > &out)
P-D制御器の出力信号を取得する関数(引数で返す版) out = (ref - res)*Kp - d(res)/d(time)*Kd
Definition P-Dcontrollers.hh:90
P_Dcontrollers(const Matrix< 1, N > &Pgain, const Matrix< 1, N > &Dgain)
コンストラクタ(Matrix版)
Definition P-Dcontrollers.hh:63
Matrix< 1, N > GetSignal(const Matrix< 1, N > &ref, const Matrix< 1, N > &res, const double time)
P-D制御器の出力信号を取得する関数(返り値で返す版) out = (ref - res)*Kp - d(res)/d(time)*Kd
Definition P-Dcontrollers.hh:102
P_Dcontrollers(P_Dcontrollers &&r)
ムーブコンストラクタ
Definition P-Dcontrollers.hh:73
void SetPgain(const Matrix< 1, N > &Pgain)
Pゲインを設定する関数(Matrix版)
Definition P-Dcontrollers.hh:122
void SetPgain(const std::array< double, N > &Pgain)
Pゲインを設定する関数(std::array版)
Definition P-Dcontrollers.hh:110
void SetPDgain(const std::array< double, N > &Pgain, const std::array< double, N > &Dgain)
PDゲインを設定する関数(std::array版)
Definition P-Dcontrollers.hh:135
void SetDgain(const Matrix< 1, N > &Dgain)
Dゲインを設定する関数(Matrix版)
Definition P-Dcontrollers.hh:128
void SetDgain(const std::array< double, N > &Dgain)
Dゲインを設定する関数(std::array版)
Definition P-Dcontrollers.hh:116