開ループ連鎖のモデル化
モデルの概要
この例では、二重振子をモデル化する方法を説明します。二重振子は、2 つの回転ジョイントによって直列接続された 2 つの可動ボディからなる単純な連鎖です。3 番目のボディは機械的接地を表し、慣性ワールド座標系に剛結合されています。カスタムの DocCompoundRigidBodiesLibrary ライブラリに、この例で使用するボディ サブシステム ブロックが用意されています。

Revolute Joint ブロックは、隣接するボディを接続するジョイントのモデル化を可能にし、ジョイントの初期状態の設定に役立ちます。Simscape™ Multibody™ ソフトウェアでは、運動学的に有効であり、かつ他の状態ターゲットと矛盾していない限り、ジョイントの状態ターゲットが正確に満たされます。優先順位パラメーターにより、最初にどのターゲットを満たすよう試みるかを指定できます。
モデルの作成
新しいモデルを開始します。
次のブロックをモデルにドラッグします。2 つの Revolute Joint ブロックによって、二重振子に回転自由度 2 が与えられます。
ライブラリ ブロック 数 [Simscape] 、 [Utilities] Solver Configuration 1 [Simscape] 、 [Multibody] 、 [Utilities] Mechanism Configuration 1 [Simscape] 、 [Multibody] 、 [Frames and Transforms] World Frame 1 [Simscape] 、 [Multibody] 、 [Joints] Revolute Joint 2 MATLAB® コマンド プロンプトで「
openExample('sm/DocDoublePendulumModelExample','supportingFile','DocCompoundRigidBodiesLibrary.slx')」と入力します。同名のカスタム ブロック ライブラリが開きます。以下のカスタム ブロックをモデルにドラッグします。それぞれのブロックは、二重振子内のボディを表します。
ブロック 数 Pivot Mount 1 Binary Link A 2 次の図のようにブロックを接続します。

モデル アセンブリのガイド
Revolute Joint ブロックのダイアログ ボックスで、[State Targets] 、 [Specify Position Target] を選択します。ここで、2 つのジョイントについて望ましい始点を指定できます。
[Value] に以下のジョイント角度を入力します。
ブロック名 値 (度) Revolute Joint 30 Revolute Joint1 -75
モデルの可視化とアセンブリ ステータスのチェック
モデルを可視化するために、ブロック線図を更新します。[モデル化] タブで、[モデルの更新] をクリックします。二重振子アセンブリの 3 次元ビューを含む Multibody Explorer が開きます。図の透視投影を得るには、[Isometric View] ボタンをクリックします。

回転ジョイントのアセンブリ ステータスをチェックするには、変数ビューアーを使用します。ツールを開くには、Multibody Explorer の [Diagnostics] セクションで、[Variable Viewer] を選択します。次の図は、二重振子のアセンブリ情報を示しています。

モデルのシミュレーション
シミュレーションを実行します。Multibody Explorer に、二重振子アセンブリの 3D アニメーションが表示されます。アセンブリは、Mechanism Configuration ブロックに指定された重力によって動きます。
参照モデルを開く
二重振子アセンブリの完全なモデルを確認するには、MATLAB コマンド プロンプトで「openExample("sm/DocDoublePendulumModelExample")」と入力します。