MV-7003:MotionViewとMotionSolveを使用した単入力単出力(SISO)制御システムのシミュレート
このチュートリアルでは、MotionViewで単入力単出力(SISO)コントローラーを実装し、MotionSolveを使用してそれを解析する方法を学習します。
外乱が生じている状況でローターの基準速度を維持するという問題について考えてみましょう。下の図は、この制御システムのブロック図を示しています。図 1. 制御システムのブロック図


単純なアプローチの1つに、以下のような比例積分(PI)コントローラー(Ogata、1995年)を設計する方法があります。
このチュートリアルでは、このPIコントローラーを実装する方法を示します。
ローターモデルの読み込み
- Startメニューから を選択します。
-
motionsolveフォルダーからrotor.mdlファイルを読み込みます。
モデルには、回転ジョイントで地面に接地されているローターと呼ばれるボディが含まれています。ジョイントの軸は、全体座標系のZ-軸に平行となっています。減衰のみで剛性をもたないねじりスプリングダンパが存在します。
モデルには、ローターボディの変位と速度についてのリクエストも含まれています。
基準速度についてのソルバー変数の追加
-
Project BrowserでModelを右クリックし、 を選択(またはツールバーから
を 右クリック)します。
Add SolverVariableダイアログが表示されます。 -
LabelをReference Speedに変更します。
変数名はsv_0のままにします。
- OKをクリックします。
- 線形速度3 rad/secを保持するために、TypeドロップダウンメニューからLinearを選択し、ソルバー変数の値として3と入力します。
SISOコントローラーの追加
このステップでは、SISOコントローラーを追加します。コントローラーへの入力は、基準速度のソルバー変数とローターの回転速度との間の誤差です。コントローラーの出力は、ローターにかけられるトルクです。シミュレーションのパラメータは任意でKp=1、K=10と選択されています。
-
Project BrowserでModelを右クリックし を選択(または
を右クリック)します。
Add Controlダイアログが表示されます。 - OKをクリックします。
-
Inputタブで、TypeドロップダウンメニューからExpressionを選択し、次のとおり入力します:
`-WZ({MODEL.b_0.cm.idstring})+{sv_0.value}`
シングルクォーテーションマーク(')は、式がMDLではなくTemplexによって処理されるべきであることを示しています。中括弧{}内のパラメータが評価されます。
- Propertiesタブをクリックします。
- Numerator (分子の係数)を追加するために、Appendをクリックします。
- 1とsの係数にそれぞれ10と1を入力します。
- 同様にDenominator(分母の係数)を追加するためにAppendをクリックし、1とsの係数にそれぞれ0と1を入力します。
制御力トルクの追加
このステップでは、ローターボディにかかる制御力トルクを作成します。このトルクのZ-コンポーネントが、コントローラーの出力となります。
-
Project BrowserでModelを右クリックし を選択(またはForces
を右クリック)します。
Add Force or ForcePairダイアログが表示されます。 - ラベルと変数名はデフォルトの設定のままとし、OKをクリックします。
- ConnectivityタブのForceの下で、Action Reactionを選択します。PropertiesにRotationalを選択します。
- Ref MarkerをダブルクリックしてGlobal Frameを選択し、Local ref. frameを設定します。
- Action force on:にBody 1をダブルクリックし、rotorボディを選択します。
- Reaction force on:にBody 2をダブルクリックし、Ground Bodyボディを選択します。
- Apply force at:にPoint 1をダブルクリックし、Point 0を選択します。
- Rot Propertiesタブをクリックします。TxとTyは0に設定されたままとします。
-
Tzの下で、Expressionを選択し、
`{MODEL.siso_0.OUTPUT}`と
入力します。ヒント:をクリックしてexpression builderにアクセスし、モデルツリーを使ってこの式を作成することも可能です
制御力についての出力リクエストの追加
-
Project BrowserでModelを右クリックし を選択(または
を右クリック)します。
Add Outputダイアログが表示されます。 - Label名にControl forceと入力し、OKをクリックします。
-
その他の選択は、下の図のとおりとします:
図 2. 制御力についての出力リクエストの設定
シミュレーションの実行
-
Run
をクリックし、Runパネルを表示させます。
- Simulation typeの下でTransientを選択し、出力(.xml)ファイル名を指定します。
- End time:に25と入力します。
-
Runをクリックします。
下の図のように結果が表示されます。
図 3. PIスピードコントローラーのシミュレーション結果
参考資料
K. Ogata, Modern Control Engineering, 1990, Prentice-Hall Inc., Englewood Cliffs, N.J., US