メインコンテンツ

閉ループ連鎖のモデル化

この例では、4 節リンク機構をモデル化する方法を説明します。4 節リンク機構は、回転ジョイントを介する 4 つのリンクからなる閉連鎖です。リンクのいずれかが World Frame ブロックに接続され、接地として機能します。ここでは、堅固に接続された 2 つのピボットを使用してリンクを置き換えます。カスタムの DocCompoundRigidBodiesLibrary ライブラリに、この例で使用するボディ サブシステム ブロックが用意されています。

Revolute Joint ブロックを使用して隣接するリンクを接続するジョイントをモデル化し、ジョイントの初期状態を設定します。ターゲットが運動学的に有効であり、かつ他の状態ターゲットと矛盾していなければ、ジョイントの状態ターゲットを正確に満たすことができます。[Z Revolute Primitive (Rz)][State Targets] セクションで、[Priority] パラメーターを使用してターゲットの優先度レベルを指定できます。

モデルの作成

4 節リンク機構をモデル化するには、以下を行います。

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

  2. 以下のブロックをモデルにドラッグします。Rigid Transform ブロックによって、2 つのピボット マウント間の距離が指定されます。この距離が、暗黙的な接地リンクの長さになります。

    ライブラリブロック
    [Simscape][Utilities]Solver Configuration1
    [Simscape][Multibody][Utilities]Mechanism Configuration1
    [Simscape][Multibody][Frames and Transforms]World Frame1
    [Simscape][Multibody][Frames and Transforms]Rigid Transform2
  3. 図に示すようにブロックを接続して名前を付けます。Rigid Transform ブロックの base フレーム端子が World Frame ブロックに接続されていることを確認します。

  4. [Simscape][Multibody][Joints] ライブラリから、4 つの Revolute Joint ブロックをモデルにドラッグします。

  5. MATLAB® コマンド プロンプトで「openExample('sm/DocDoublePendulumModelExample','supportingFile','DocCompoundRigidBodiesLibrary.slx')」と入力します。複合ボディ サブシステム ブロックを含むカスタム ライブラリが開きます。

  6. DocCompoundRigidBodiesLibrary ライブラリから、次のブロックをドラッグします。

    ブロック
    Pivot Mount2
    Binary Link A2
    Binary Link B1

  7. 図に示すようにブロックを接続して名前を付けます。カスタムのボディ サブシステム ブロックのフレーム端子を、図に示すとおり正確に配置していることを確認します。

ブロック パラメーターの指定

  1. Rigid Transform ブロックのダイアログ ボックスで、ピボット マウントとワールド フレームの間のオフセットを指定します。ピボット マウントは、このフレームの両側に対称的に配置されていると仮定されます。

    パラメーターCrank-Base TransformRocker-Base Transform
    [Translation][Method]Standard AxisStandard Axis
    [Translation][Axis]-Y+Y
    [Translation][Offset]15 (cm 単位)15 (cm 単位)

  2. バイナリ リンク ブロックの各ダイアログ ボックスで、長さのパラメーターを指定します。

    ブロックLength (cm)
    Binary Link A10
    Binary Link B35
    Binary Link A120

アセンブリのガイドとモデルの可視化

モデルの 1 つ以上のジョイントについて望ましい初期角度を指定することで、モデル アセンブリをガイドします。Base-Crank ジョイントに初期角度 30° を指定するには、以下を行います。

  1. Base-Crank Revolute Joint ブロックのダイアログ ボックスで [State Targets] を展開し、[Specify Position Target] を選択します。

  2. [Value] パラメーターを -30 deg に指定します。

  3. Coupler-Rocker Revolute Joint ブロックについて、[Z Revolute Primitive (Rz)][State Targets] セクションで [Specify Position Target] パラメーターを選択し、[Value] パラメーターを 0 deg に、[Priority] パラメーターを [Low (approximate)] に設定します。

  4. Simulink® ツールストリップの [モデル化] タブで、[モデルの更新] をクリックします。Multibody Explorer が開き、4 節リンク機構の静的表示が初期構成で提示されます。次の図は 4 節リンク機構の等角投影ビューです。

モデル アセンブリの検証

状態ターゲットが満たされたかどうか、またどの程度正確に満たされたかを確認するために、Simscape™ 変数ビューアーを使用できます。

Simscape 変数ビューアーを開くには、Simulink ツールストリップの [デバッグ] タブの [診断] セクションで、[Simscape][変数ビューアー] を選択します。

図に示すように、黄色のマーカーは、Base-Rocker Revolute Joint の状態ターゲットが近似的にしか満たされなかったことを示しています。他の緑のマーカーは、Base-Crank Revolute Joint の状態ターゲットが正確に満たされたことを示しています。

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

シミュレーションを実行します。Multibody Explorer に、4 節リンク機構のアセンブリの 3D アニメーションが表示されます。アセンブリは重力によって動きます。

4 節リンク機構アセンブリの完全なモデルを確認するには、MATLAB コマンド プロンプトで、「openExample("sm/DocFourBarLinkageModelExample")」と入力します。

参考

|

トピック