Advanced Robot Control System  5.1-REV.51SF170515
Integrator.hh
[詳解]
1 //
6 // Copyright (C) 2011-2017 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 INTEGRATOR
12 #define INTEGRATOR
13 
14 namespace ARCS { // ARCS名前空間
16  class Integrator {
17  public:
19  enum IntType {
23  };
24 
25  explicit Integrator(double SmplTime); // コンストラクタ SmplTime;[s] 制御周期
26  Integrator(double SmplTime, enum IntType Type); // コンストラクタ(積分方法指定版) SmplTime;[s] 制御周期
27  ~Integrator(); // デストラクタ
28  double GetSignal(double u); // 出力信号の取得 u;入力信号
29  void SetSmplTime(double SmplTime); // 制御周期の再設定 SmplTime;[s] 制御周期
30  void SetInitial(double InitValue); // 積分初期値の設定 InitValue;初期値
31  void Enable(bool Flag); // 積分器を動かすか止めるか,Flag;trueのとき積分器作動,falseのとき積分停止
32  void ClearStateVars(void); // すべての状態変数のリセット
33 
34  private:
36  double Ts;
37  double uZ1;
38  double yZ1;
39  bool Ena;
40 
41  };
42 }
43 
44 #endif
45 
double uZ1
状態変数1 変数名Z1の意味はz変換のz^(-1)を示す
Definition: Integrator.hh:37
double Ts
[s]制御周期
Definition: Integrator.hh:36
double GetSignal(double u)
出力信号の取得
Definition: Integrator.cc:45
void ClearStateVars(void)
すべての状態変数のリセット
Definition: Integrator.cc:92
IntType
積分方法の定義
Definition: Integrator.hh:19
void Enable(bool Flag)
積分器を動かすか止めるかの選択
Definition: Integrator.cc:87
double yZ1
状態変数2
Definition: Integrator.hh:38
後退オイラー(後退差分)
Definition: Integrator.hh:21
積分器
Definition: Integrator.hh:16
台形積分(双1次変換, Tustin変換)
Definition: Integrator.hh:22
~Integrator()
デストラクタ
Definition: Integrator.cc:39
Definition: ControlFunctions.hh:17
const IntType IntegType
積分方法
Definition: Integrator.hh:35
Integrator(double SmplTime)
コンストラクタ
Definition: Integrator.cc:17
void SetInitial(double InitValue)
積分初期値の設定
Definition: Integrator.cc:81
前進オイラー(前進差分)
Definition: Integrator.hh:20
bool Ena
積分器作動指令 trueのとき積分器作動,falseのとき積分停止
Definition: Integrator.hh:39
void SetSmplTime(double SmplTime)
制御周期の再設定
Definition: Integrator.cc:75