Main Content

開ループ連鎖のモデル化

モデルの概要

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

Revolute Joint ブロックは、隣接するボディを接続するジョイントのモデル化を可能にし、ジョイントの初期状態の設定に役立ちます。Simscape™ Multibody™ ソフトウェアでは、運動学的に有効であり、かつ他の状態ターゲットと矛盾していない限り、ジョイントの状態ターゲットが正確に満たされます。優先順位パラメーターにより、最初にどのターゲットを満たすよう試みるかを指定できます。

モデルの作成

  1. 新しいモデルを開始します。

  2. 次のブロックをモデルにドラッグします。2 つの Revolute Joint ブロックによって、二重振子に回転自由度 2 が与えられます。

    ライブラリブロック
    [Simscape][Utilities]Solver Configuration1
    [Simscape][Multibody][Utilities]Mechanism Configuration1
    [Simscape][Multibody][Frames and Transforms]World Frame1
    [Simscape][Multibody][Joints]Revolute Joint2

  3. MATLAB® コマンド プロンプトで「openExample('sm/DocDoublePendulumModelExample','supportingFile','DocCompoundRigidBodiesLibrary.slx')」と入力します。同名のカスタム ブロック ライブラリが開きます。

  4. 以下のカスタム ブロックをモデルにドラッグします。それぞれのブロックは、二重振子内のボディを表します。

    ブロック
    Pivot Mount1
    Binary Link A2
  5. 次の図のようにブロックを接続します。

モデル アセンブリのガイド

  1. Revolute Joint ブロックのダイアログ ボックスで、[State Targets][Specify Position Target] を選択します。ここで、2 つのジョイントについて望ましい始点を指定できます。

  2. [Value] に以下のジョイント角度を入力します。

    ブロック名値 (度)
    Revolute Joint30
    Revolute Joint1-75

モデルの可視化とアセンブリ ステータスのチェック

モデルを可視化するために、ブロック線図を更新します。[モデル化] タブで、[モデルの更新] をクリックします。二重振子アセンブリの 3 次元ビューを含む Mechanics Explorer が開きます。図の透視投影を得るには、[Isometric View] ボタンをクリックします。

回転ジョイントのアセンブリ ステータスをチェックするには、Model Report ユーティリティを使用します。このユーティリティを開くには、Mechanics Explorer のメニュー バーから [Tools][Model Report] を選択します。次の図は、二重振子のアセンブリ情報を示しています。

モデルのシミュレーション

シミュレーションを実行します。Mechanics Explorer に、二重振子アセンブリの 3D アニメーションが表示されます。アセンブリは、Mechanism Configuration ブロックに指定された重力によって動きます。

参照モデルを開く

二重振子アセンブリの完全なモデルを確認するには、MATLAB コマンド プロンプトで「openExample("sm/DocDoublePendulumModelExample")」と入力します。