14#ifndef LOADVELOCITYOBSRV
15#define LOADVELOCITYOBSRV
30 #define arcs_assert(a) (assert(a))
33 #define EventLogVar(a)
38template <
size_t N = 1>
46 LoadVelocityObsrv(
const double GearRatio,
const double TorsionStiff,
const double Bandwidth,
const double SmplTime)
54 const double k1 = Bandwidth;
55 const double k2 = Bandwidth;
56 const double k3 = Bandwidth;
60 -(k1 + k2 + k3) , -Ks , 0,
61 (k1*k2 + k2*k3 + k3*k1)/Ks , 0 , 1,
67 Ks/Rg, ( k1 + k2 + k3 ),
68 0 , -( k1*k2 + k2*k3 + k3*k1 )/Ks,
105 const Matrix<1,2> u = {MotorVelocity, TorsionTorque};
#define PassedLog()
イベントログ用マクロ(ファイルと行番号のみ記録版)
Definition ARCSeventlog.hh:26
離散化クラス(テンプレート版) !!!注意喚起:このクラスは将来的に廃止予定です。代わりに、ArcsControlDiscretizeを使用して下さい。
負荷側速度オブザーバクラス
Definition LoadVelocityObsrv.hh:39
LoadVelocityObsrv(const double GearRatio, const double TorsionStiff, const double Bandwidth, const double SmplTime)
コンストラクタ
Definition LoadVelocityObsrv.hh:46
double GetLoadVelocity(const double MotorVelocity, const double TorsionTorque)
推定負荷側速度を取得する関数
Definition LoadVelocityObsrv.hh:104
~LoadVelocityObsrv()
デストラクタ
Definition LoadVelocityObsrv.hh:96
LoadVelocityObsrv(LoadVelocityObsrv &&r)
ムーブコンストラクタ
Definition LoadVelocityObsrv.hh:85
行列/ベクトル計算クラス(テンプレート版)
Definition Matrix.hh:44
状態空間表現によるシステムクラス
Definition StateSpaceSystem.hh:40
void SetContinuous(const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C, const double Ts)
連続系のA行列,B行列,C行列を設定して離散化する関数
Definition StateSpaceSystem.hh:92
void GetNextResponses(const Matrix< 1, I > &uin, Matrix< 1, O > &yout)
状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)
Definition StateSpaceSystem.hh:265