はじめに
複雑な制御対象について、簡単に記述したい!!しかし、複雑な物理モデルをMATLAB関数で表現するのは、困難を極めます。そこで、MathWorksにもう5千円お布施して、Simscapeを入手しました。
※事前にMATLAB/Simulinkは2万円程度でHomeライセンスを購入しています。
本記事は、MATLAB/SimulinkおよびSimscapeの学習・使用方法の備忘録として記述します。
ばね-マス-ダンパ
物理モデルのHello Worldともいうべき、ばね-マス-ダンパ系を作ってみます。
- MATLABを立ち上げて、コマンドウィンドウに
ssc_new
と入力してEnter - 「Simulink-PS Converter」、「PS-Simulink Converter」及び「Scope」、「Solver Configuration」が自動生成される。これらは、Simulinkライブラリブラウザの「Simscape」→「Utilities」からドラッグ&ドロップで配置することもできる。
- Simulinkライブラリブラウザの「Simscape」→「Foundation Library」→「Mechanical」から下記のブロックを配置。ブロックを右クリックして「回転と反転」を利用して連結する。
- 「Mechanical Source」から「Ideal Force Source」を配置
- 「Translational Elements」から「Mechanical Translational Reference」を配置
- 「Translational Elements」から「Mass」を配置。配置したモデルをダブルクリックして「質量:50kg」に設定
- 「Translational Elements」から「Translational Damper」を配置。「減衰係数:20N/(m/s)」に設定
- 「Translational Elements」から「Translational Spring」を配置。「ばね定数:200N/m」に設定
- 「Mechanical Sensors」から「Ideal Translational Motion Sensor」を配置
- Simulinkライブラリブラウザの「Simulink」→「Sources」から「Pulse Generator」を配置して連結する。
- 「Scope」をダブルクリックして、「実行」をクリックすると結果が表示される
おわりに
物理モデルを作り方が何となくわかったので、制御の追加やもう少し複雑なモデルの作成を行いたい。