(3) 制御系モデルの作成
前節では,OpenModelicaの例題に似せた6軸ロボットアームの機構系モデルを作成しましたが,本節ではその制御系モデルを作成します.
もう一度,OpenModelicaのモデル全体に戻ります.下図左側にある6軸ロボットアーム機構系に結合している6つのブロックが各軸の制御系です.
例として印をつけたAxis1をクリックすると,下図右側にあるパラメータテーブルが現れます.
各パラメータの内容を見れば,減速機付モータの位置と速度を制御するブロックであることが分かります.
私がOpenModelicaに詳しくないからだと思いますが,OpenModelicaで記述されたモデルを正確に読み取ることは,必ずしも容易ではないようです.
制御系の構造は制御パラメータの名称や説明から想像して作ることにしました.
数学屋ほん舗のMBDで制御系モデルを作ると,下図のSimulinkブロック線図になります.
これは制御系だけでなく前節で説明した機構系モデルも含んだ全体系になります.下図の中で赤い丸印で囲んだ状態空間モデルが機構系です.
それ以外の部分は各関節の制御系と入出力を示しています.
青色の端子は入力です.番号1~6は各関節軸に入力する加速度指令信号,7~12は速度指令信号,13~18は重力の影響で作用する各軸負荷トルクです.
一方,黄色の端子は出力です.番号1~6は各関節軸の角度,7~12は各関節軸の駆動トルクです.
各軸の制御系は6つの制御ブロックに記載してあります.いずれの軸もパラメータ構成は同じですので,ここでは第1軸の制御ブロックで説明します.
左端に並んでいる青色の端子は入力です.1は加速度指令値,2は速度指令値,3は回転角度のフィードバック信号です.
出力信号は右端にある黄色の端子1つだけで,これは関節軸の駆動トルクです.途中にある白いブロックは,OpenModelicaモデルに記載の制御パラメータで表現した伝達関数やゲイン,比較演算子などです.一方,オレンジ色のブロックは,OpenModelicaに記載のなかったオリジナルの伝達関数とゲインです.位相進みフィルタとノッチフィルタは安定化に必要でした.また,駆動トルクをOpenModelicaモデルに近づけるため,速度フィードバックループのゲインを全軸で10分の1に弱めました.それから,期待した移動プロファイルとなるよう,各軸の出力値には各々適切な出力ゲインを与えています.
今回はOpenModelicaを徹底的に解読するまでの気合と時間が不足していたため,かなりいい加減なことをしていますが,次の改訂ではOpenModelicaのControllerやMotor,Gearの中身にまで踏み込むつもりです.
第1軸の制御パラメータに代入した値と,各軸毎に異なる出力ゲインy1~y6,位相進みフィルタとノッチフィルタで用いたパラメータz0~z4を下の表に示します.
なお,シミュレーションを実行するときは,Homeページに移動して,シミュレーションの条件を設定します.