メインコンテンツ

物理モデル作成の基本的な手順

R2026b

ワークフローの概要

次の表には、物理モデルの作成とシミュレーションに必要な主な手順が、背景情報を提供する関連ドキュメンテーション トピックと共に示されています。その次に、手順の詳細な説明を示します。

次の図は、コントローラーを使用するマス-バネ-ダンパーモデル例に適用されている主なワークフローの手順を説明したものです。以下に示す手順の説明に、このモデルの作成方法を詳しく記載します。

Block diagram with numbered workflow steps pointing to relevant blocks

手順 1: sscnew を使用した新規モデルの作成

Simscape™ モデルの作成を開始する最善の方法は、sscnew を使用することです。これによって、既定の推奨設定がモデルで必ず使われるようにできます。sscnew を使用すると、次が自動的に実行されます。

  • 必須および通常使用されるブロックが既にモデル キャンバス上にある、新規 Simscape モデルの作成

  • ソルバーと許容誤差の推奨設定の選択

  • モデル全体のデータ ログ作成の有効化

MATLAB® コマンド ウィンドウで以下のように入力します。

sscnew

Block diagram for new model

新しい untitled モデルでは、既定のソルバーが VariableStepAuto に設定されており、Solver Configuration ブロックと Simulink-PS Converter ブロック、および Scope ブロックに接続された PS-Simulink Converter ブロックが含まれています。

モデル ウィンドウ下部のリソース セクションに、関連するブロック ライブラリおよびドキュメンテーション トピックへのリンクが表示されます。

手順 2: 物理ネットワークの組み立て

システムをモデル化するには、Simscape ライブラリのブロックをモデルに追加してから物理ネットワークに接続します。作成した構成図内のブロックを接続するラインは、モデル化する実際のシステムのコンポーネント間に存在する物理的な接続を表します。つまり、Simscape のブロック線図は物理的システムのレイアウトを再現しています。

Mass-spring-damper schematic and block diagram side-by-side

ネットワークを構築する際には、Electrical ReferenceMechanical Translational Reference など、ドメイン固有の参照ブロックを含めることが重要です。ドメインによって、これらのブロックは地面、フレームまたは大気への接続を表します。詳細については、グラウンディングのルールを参照してください。

  1. Simscape、Foundation Library、Mechanical、Translational Elements ライブラリを開きます。

  2. MassTranslational SpringTranslational Damper、および Mechanical Translational Reference ブロックをモデル ウィンドウにドラッグします。

  3. 次の図に示すように、Translational SpringTranslational Damper、および Mass ブロックを Mechanical Translational Reference ブロックに接続します。ブロックを回転させるには、そのブロックを選択して Ctrl + R キーを押します。

    モデルの視覚的表現を調整するには、以下に示すように Spring ブロックおよび Damper ブロックの名前を短縮します。Mass ブロックの名前を Spring および Damper と一緒に表示するには、Mass ブロックを選択し、モデル ツールストリップで [Simscape ブロック][名前の自動表示][名前をオン] を選択します。

    Block diagram with mass-spring-damper blocks added

手順 3: ブロック パラメーターと変数ターゲットの調整

Simscape ブロックは、ブロック パラメーターとブロック変数に既定の初期値をもつ汎用的なコンポーネントを表します。これらの値を調整して、アプリケーションに合わせたり、製造元のデータ シートに合わせたりすることができます。

ブロック パラメーターの値やブロック変数の初期化ターゲットを表示および変更するには、ブロックをダブルクリックしてダイアログ ボックスを開きます。[設定] タブを使用します。

ほとんどの Simscape ブロックについて、ブロックのダイアログ ボックスには同じ情報が含まれ、レイアウトはブロックのプロパティ インスペクターと同じです。既定では、プロパティ インスペクターで値を変更すると新しい値がすぐに適用されます。制御しやすくするために、ブロックのダイアログ ボックスの右上隅にある [自動適用] チェック ボックスをオフにして、[リセット] ボタンと [適用] ボタンを有効にすることをお勧めします。これは、複雑なブロックの作業で複数のパラメーターを一度に変更する場合に特に役立ちます。パラメーターの値を製造元のデータ シートに合わせて変更し、全体を確認してから、[適用] をクリックします。[自動適用] チェック ボックスをオフにすると、その MATLAB セッションを終了するまで保持されます。

ブロックの説明を確認するには、ブロックのダイアログ ボックスで [説明] タブをクリックします。このタブには [ソース コード] リンクもあります。このリンクをクリックすると、このブロックの Simscape ソース ファイルが MATLAB エディターで開きます。

ブロックに設定できるパラメーターまたは変数ターゲットがない場合は、ブロックのダイアログ ボックスに [設定] タブは表示されず、[説明] タブだけになります。

ブロックのドキュメンテーションを確認するには、ブロックのダイアログ ボックスの右上隅にある疑問符のボタン Question mark をクリックします。

このモデルでは、質量、バネの剛性、減衰係数を制御するパラメーターを調整します。さらに、対応する変数ターゲットを調整することによって、質量の初期速度も指定します。

  1. Spring ブロックをダブルクリックします。[自動適用] チェック ボックスをオフにします。[バネ定数]400 N/m に設定し、[適用] をクリックします。

    Spring block dialog box

  2. Damper ブロックをダブルクリックします。[減衰係数]100 N/(m/s) に設定します。

    Damper block dialog box

  3. Mass ブロックをダブルクリックします。[質量]3.6 kg に設定します。

    Mass block dialog box

  4. 質量の速度に目的の初期値を指定するには、[初期ターゲット] セクションで [速度] を展開します。この変数の [優先順位] は既に [高] に指定されています。これは、ソルバーがシミュレーションの開始点を決定するための初期条件を計算する際に、この初期値を厳密に満たそうとすることを意味します。[速度] チェック ボックスをオンにします。[値] フィールドに「10」と入力し、[適用] をクリックします。

    Mass block dialog box with initial target specified

手順 4: ソースの追加

入力信号を使用して Simscape モデルを駆動できます。この手法によって、システムに作用する力、電圧、圧力などの物理的な効果を表せます。また、電流、質量流量、熱流束など、システムを流れるその他の量も指定できます。物理ネットワークに信号入力接続を追加するには、Simscape ソース ブロックを使用します。

質量に作用する力の表現を追加するには、Ideal Force Source ブロックを使用します。

  1. Simscape、Foundation Library、Mechanical、Mechanical Sources ライブラリを開きます。

  2. Ideal Force Source ブロックをブロック線図に追加します。図に示すように、ブロック名を短くします。

  3. 元の構成図に示されている力の正しい方向を反映させるために、ブロックの方向を反転します。Force Source ブロックを選択した状態で、Simulink® ツールストリップの [書式設定] タブの [調整] で、[上下を反転] をクリックします。

  4. Mechanical Translational Reference ブロックを右クリックし、新しい場所にドラッグしてコピーします。次に、Force Source ブロックの場合と同じ手法を使用して、新しいブロックの向きを反転します。

  5. 以下に示すように、Force Source ブロックの端子 C をこの 2 番目の Mechanical Translational Reference ブロックに接続し、端子 R を Mass ブロックに接続します。

    力のプロファイルの入力信号は、物理ネットワークを Simulink ソースに接続した後に、端子 S を通じて供給されます (手順 6: インターフェイス ブロックを使用して Simulink に接続を参照)。端子 S における正の信号は、端子 C から端子 R に作用する力を指定します。

    Block diagram with Force Source and Mechanical Translational Reference blocks added

手順 5: センサーの追加

物理ネットワークから量を測定し、モデルの他の場所で使用することができます。これらの量の一般的な用途には、制御アルゴリズムのフィードバック、他の物理量に動作が依存する物理コンポーネントのモデル化 (温度依存の抵抗など) あるいは単にシミュレーション中に結果を表示する場合などがあります。

測定値によって直列または並列に接続されたセンサー ブロックを使用して、量を測定します。スルー変数によって定義される量 (電流、流量、力など) を測定するには、センサーを直列に接続します。アクロス変数によって定義される量 (電圧、圧力、速度など) を測定するには、センサーを並列に接続します。スルー変数とアクロス変数の詳細については、変数のタイプを参照してください。

バネの変形を測定するには、Ideal Translational Motion Sensor ブロックをバネと並列に接続します。

  1. Simscape、Foundation Library、Mechanical、Mechanical Sensors ライブラリを開きます。

  2. Ideal Translational Motion Sensor ブロックをブロック線図に追加します。

  3. ブロックを回転させるには、そのブロックを選択して Ctrl + R キーを押します。

  4. 次の図のようにブロックを接続します。図に示すように、ブロック名を短くします。

    Block diagram with Motion Sensor block added

手順 6: インターフェイス ブロックを使用して Simulink に接続

Simscape ネットワーク内の方程式は同時に解かれますが、Simulink ブロックは順次評価されます。Simulink-PS ConverterPS-Simulink Converter などのインターフェイス ブロックは、これら 2 つのモデリング規則間の境界を処理します。インターフェイス ブロックは、Simulink 信号によって Simscape ネットワーク内の量を指定する場合や、制御設計などの目的で Simscape の量を Simulink に渡す場合に必要です。Simulink ブロックを Simscape 物理ネットワークに接続するたびに、適切なコンバーター ブロックを使用する必要があります。

ここで、物理ネットワークを、通常の Simulink ブロックで作成されたコントローラーに接続します。まず、物理ネットワークを Simulink 信号に接続するために準備します。

  1. Scope ブロックを削除します。

    スコープを使用するとシミュレーション結果を表示できますが、ブロック線図の表示が煩雑になります。シミュレーション結果をより効率的に表示および解析する方法として、手順 8: シミュレーション結果の表示の説明のように、Simscape 結果エクスプローラーを使用します。

  2. Simulink-PS Converter ブロックの物理量信号出力端子を、Force Source ブロックの端子 S に接続します。

  3. Motion Sensor ブロックの出力端子 P を、PS-Simulink Converter ブロックの物理量信号入力端子に接続します。

  4. Solver Configuration ブロックを回路に接続し、コンバーターのブロック名を非表示にします。ブロック線図は以下のようになります。

    Block diagram with Solver Configuration block added

次に、コントローラーを作成して接続します。

  1. Simulink、Sources ライブラリを開き、Pulse Generator ブロックをモデルにドラッグします。そのブロック名を Position Command に変更します。以下に示すようにブロック パラメーターを設定します。

    Pulse Generator block dialog box

  2. Simulink、Math Operations ライブラリを開き、Sum ブロックをモデルにドラッグします。[符号リスト] で、図に示すように 2 番目のプラス記号をマイナス記号に置き換えます。

    Sum block dialog box

  3. Simulink、Continuous ライブラリを開き、PID Controller ブロックをモデルにドラッグします。[比例項 (P)][積分項 (I)] および [微分項 (D)] パラメーターの値を図のように設定します。

    PID Controller block dialog box

  4. ブロックを次のブロック線図のように接続します。

    Block diagram with controller blocks added

    Simulink の制御信号が Simulink-PS Converter ブロックの入力端子に入力され、そこで Ideal Force Source ブロックの力のプロファイルを駆動する物理量信号に変換されます。

    バネの変形を測定する Ideal Translational Motion Sensor ブロックの出力端子 P は、PS-Simulink Converter ブロックに接続されます。このブロックは、物理量信号をコントローラーの Simulink フィードバック信号に変換します。

入力信号とフィードバック信号を比較するには、それらを信号ビューアーに接続します。

  1. Pulse Generator ブロックから Sum ブロックに入力される Simulink 信号を右クリックします。コンテキスト メニューで [ビューアーの追加] ボタン Add viewer button を選択します。

  2. 次に、PS-Simulink Converter ブロックから Sum ブロックに入力される Simulink 信号を右クリックします。コンテキスト メニューで [ビューアーの追加] ボタン Add viewer button を選択します。

手順 7: モデルのシミュレーション

シミュレーションを実行するには、Simulink ツールストリップ (モデル ウィンドウの上部) またはスコープ ビューアーのツール バーで [実行] ボタン をクリックします。Simscape ソルバーはモデルを評価し、初期条件を計算して、シミュレーションを実行します。このプロセスの詳細は、Simscape でのシミュレーションの仕組みを参照してください。モデル ウィンドウの左下の隅のメッセージに、ステータスの更新が提示されます。

シミュレーションを実行するには、Simulink ツールストリップで Run button をクリックします。

スコープ ビューアーに、入力信号とフィードバック信号を重ね合わせたプロットが表示されます。

Simulation results in the Scope Viewer window

手順 8: シミュレーション結果の表示

Simscape 結果エクスプローラーでは、データ ロギング機能を使用してシミュレーション データの表示と解析ができます。たとえば、2 回のシミュレーション実行を比較して、質量の変更がバネの変形にどのような影響を与えるかを解析できます。

  1. Spring ブロックを選択します。

  2. モデル ツールストリップで [Simscape ブロック][結果エクスプローラー] を選択します。

    Simscape 結果エクスプローラー ウィンドウが、左側のペインで強調表示された Spring ブロックに対応するノードで開きます。右側のペインには、ブロックと関連付けられた 3 つの変数のシミュレーション データ プロットが表示されます。

    Simscape Results Explorer window

  3. Spring ノードにあるノード x を選択します。右側のペインには、時間経過に対してプロットされたバネ変形データが表示されます。

    Simscape Results Explorer window with Spring node expanded

  4. Mass ブロックをダブルクリックします。その [質量]7.2 kg に設定します。

  5. シミュレーションを再実行します。

  6. ログ データを再読み込みするには、Simscape 結果エクスプローラー ウィンドウのツール バーにある [データのインポート] ボタンをクリックします。ログ変数名が表示されたポップアップ ウィンドウで、[OK] をクリックします。

    Simscape Results Explorer window with reloaded data

    メモ:

    • シミュレーションが実行されるたびにデータが自動的に再読み込みされるようにするには、[コンフィギュレーション パラメーター] ダイアログ ボックスの [Simscape] ペインで、[シミュレーション後にビューアーを開く] チェック ボックスをオンにします。

    • 2 つの異なる Simscape 結果エクスプローラー ウィンドウでシミュレーション結果を横に並べて調べるには、最初のシミュレーション実行の後に [リンクあり] ボタンをクリックして最初のエクスプローラー ウィンドウのリンクを解除します。詳細については、「Simscape 結果エクスプローラー」を参照してください。

参考

|

トピック