開ループ連鎖のモデル化
モデルの概要
この例では、二重振子をモデル化する方法を説明します。二重振子は、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 次元ビューを含む Mechanics Explorer が開きます。図の透視投影を得るには、[Isometric View] ボタンをクリックします。
回転ジョイントのアセンブリ ステータスをチェックするには、Model Report ユーティリティを使用します。このユーティリティを開くには、Mechanics Explorer のメニュー バーから [Tools] 、 [Model Report] を選択します。次の図は、二重振子のアセンブリ情報を示しています。
モデルのシミュレーション
シミュレーションを実行します。Mechanics Explorer に、二重振子アセンブリの 3D アニメーションが表示されます。アセンブリは、Mechanism Configuration ブロックに指定された重力によって動きます。
参照モデルを開く
二重振子アセンブリの完全なモデルを確認するには、MATLAB コマンド プロンプトで「openExample("sm/DocDoublePendulumModelExample")
」と入力します。