ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
TwoInertiaSimulator.hh
[詳解]
1
8//
9// Copyright (C) 2011-2023 Yokokura, Yuki
10// MIT License. For details, see the LICENSE file.
11
12#ifndef TWOINERTIASIMULATOR
13#define TWOINERTIASIMULATOR
14
15#include "Matrix.hh"
16#include "StateSpaceSystem.hh"
17#include "Integrator.hh"
18
19namespace ARCS { // ARCS名前空間
22 public:
24 TwoInertiaSimulator(const struct TwoInertiaParamDef& Params, const double SmplTime);
25 TwoInertiaSimulator(const struct TwoInertiaParams& Params, const double SmplTime);
28 void SetParameters(const struct TwoInertiaParamDef& Params, const double SmplTime);
29 void SetParameters(const struct TwoInertiaParams& Params, const double SmplTime);
30 void SetCurrentAndLoadTorque(const double Current, const double LoadTorque);
31 void GetResponses(double& LoadSpeed, double& TorsionAngle, double& MotorSpeed);
32 std::tuple<double,double,double> GetResponses(void);
33 double GetLoadPosition(void);
34 double GetMotorPosition(void);
35 double GetMotorSpeed(void);
36 double GetTorsionTorque(void);
37 void GetResponses(
38 const double Current, const double LoadTorque, double& LoadSpeed, double& TorsionAngle, double& MotorSpeed
39 );
40 std::tuple<double,double,double> GetResponses(double Current, double LoadTorque);
41 void SetLoadInertia(double Inertia);
42 void SetSpring(double Stiffness);
43 void Reset(void);
44
45 private:
47 const TwoInertiaSimulator& operator=(const TwoInertiaSimulator&) = delete;
48
49 double Jl;
50 double Dl;
51 double Ds;
52 double Ks;
53 double Jm;
54 double Dm;
55 double Rg;
56 double Kt;
57 double Ts;
58 double thl;
59 double thm;
61 Integrator<> MotorInteg;
62 Integrator<> LoadInteg;
63
64 void SetStateSpaceModel(void);
65};
66}
67
68#endif
69
70
71
行列/ベクトル計算クラス(テンプレート版)
状態空間表現によるシステムクラス
積分器(テンプレート版)
積分器
Definition Integrator.hh:40
状態空間表現によるシステムクラス
Definition StateSpaceSystem.hh:40
2慣性共振系のパラメータ構造体(Ds無し版)
Definition TwoInertiaParamDef.hh:18
2慣性共振系のパラメータ構造体(Ds有り版)
Definition TwoInertiaParamDef.hh:29
2慣性共振系シミュレータV4
Definition TwoInertiaSimulator.hh:21
double GetLoadPosition(void)
現在の負荷側位置を取得する関数
Definition TwoInertiaSimulator.cc:145
std::tuple< double, double, double > GetResponses(void)
現在の負荷側速度&ねじれ角&モータ側速度を取得する関数(タプルで返す版)
Definition TwoInertiaSimulator.cc:135
double GetTorsionTorque(void)
現在のねじれトルクを取得する関数
Definition TwoInertiaSimulator.cc:163
void SetParameters(const struct TwoInertiaParamDef &Params, const double SmplTime)
2慣性共振系のパラメータを設定する関数
Definition TwoInertiaSimulator.cc:83
void SetLoadInertia(double Inertia)
負荷側慣性を設定する関数
Definition TwoInertiaSimulator.cc:198
void Reset(void)
シミュレータをリセットする関数
Definition TwoInertiaSimulator.cc:234
TwoInertiaSimulator(void)
空コンストラクタ
Definition TwoInertiaSimulator.cc:33
void SetSpring(double Stiffness)
ばね定数を設定する関数
Definition TwoInertiaSimulator.cc:205
~TwoInertiaSimulator()
デストラクタ
Definition TwoInertiaSimulator.cc:76
void SetCurrentAndLoadTorque(const double Current, const double LoadTorque)
モータ電流と負荷トルクを設定し状態を更新する関数
Definition TwoInertiaSimulator.cc:115
double GetMotorSpeed(void)
現在のモータ側速度を取得する関数
Definition TwoInertiaSimulator.cc:157
double GetMotorPosition(void)
現在のモータ側位置を取得する関数
Definition TwoInertiaSimulator.cc:151