Main Content

ジョイントの作動トルクの指定

モデルの概要

Simscape™ Multibody™ で、ジョイント ブロックを使用してジョイントを直接作動させます。用途によって、ジョイントの作動入力には力/トルクまたは運動変数を含めることができます。この例では、4 節リンク機構モデルで、回転ジョイントの作動トルクを指定します。

Transform Sensor ブロックにより、モデルに運動検出が追加されます。検出した変数をプロットして、そのプロットを運動学的解析に使用できます。この例では、3 つの 4 節リンク機構タイプ (クランクロッカー、ダブルクランク、ダブルロッカー) のカプラー曲線をプロットします。

4 節リンク機構

4 節リンク機構には 4 つのリンクが含まれ、それらが 4 つの回転ジョイントを使用して平面閉ループを形成しています。このリンク機構は、入力リンクの運動を出力リンクの運動に変換します。4 つのリンクの相対的な長さに応じて、4 節リンク機構は回転を回転に、回転を振動に、または振動を振動に変換できます。

リンク

リンクは、4 節リンク機構での機能によって異なる名前で呼ばれます。たとえば、カプラー リンクはクランク リンクとロッカー リンク間の運動を伝達します。次の表は、4 節リンク機構に使用される各種のリンク タイプをまとめています。

リンク運動
クランク接地リンクに対して回転
ロッカー接地リンクに対して発振
カプラークランク リンクとロッカー リンクの間で運動を伝達
接地4 節リンク機構をワールドまたはその他のサブシステムに剛結合

一般的に、リンクは複雑な形状をしています。これは特に接地リンクの場合に当てはまります。接地リンクは単に、クランク リンクまたはロッカー リンクに接続する 2 つのピボット マウントを保持する固定具である場合があります。複雑な形状をもつリンクは、隣接する 2 つの回転ジョイント間の剛性範囲として指定できます。閉ループ連鎖のモデル化の例では、2 つのピボット マウント間の剛性範囲が接地リンクを表します。

リンク機構

4 節リンク機構で提供される運動変換のタイプは、含まれるリンクのタイプによって異なります。たとえば、2 つのクランク リンクを含む 4 節リンク機構は、入力リンクにおける回転を、出力リンクにおける回転に変換します。このタイプのリンク機構は、ダブルクランク リンク機構と呼ばれます。他のリンクの組み合わせでは、異なるタイプの運動変換が与えられます。次の表で、モデル化可能な各種の 4 節リンク機構について説明します。

リンク機構入出力運動
クランクロッカー連続的な回転-振動 (およびその逆)
ダブルクランク連続的な回転-連続的な回転
ダブルロッカー振動-振動

グラスホフ条件

グラスホフの定理は、4 節リンク機構において、少なくとも 1 つのリンクが完全な回転を達成することを満たさなければならない基本的な条件を与えます。この定理によると、最も短いリンクと最も長いリンクの長さの合計が、残りの 2 つのリンクの長さの合計を上回っていない場合、4 節リンク機構には 1 つ以上のクランク リンクが含まれます。グラスホフ条件を数学的に表すと次のようになります。

s+l ≤ p+q(1)
ここで、

  • s は最も短いリンク

  • l は最も長いリンク

  • p と q は残り 2 つのリンク

グラスホフ リンク機構

グラスホフ リンク機構は 3 つの異なるタイプのいずれかになります。

  • クランクロッカー

  • ダブルクランク

  • ダブルロッカー

接地リンクを変更することで、グラスホフ リンク機構のタイプを変更できます。たとえば、クランクロッカー リンク機構のクランク リンクを接地リンクとして割り当てると、ダブルクランク リンク機構が得られます。次の図に、接地リンクを変更して得られる 4 つのリンク機構を示します。

モデル化の方法

この例では、2 つのタスクを行います。最初に、モデルにトルク作動入力を追加します。次に、クランク リンクとロッカー リンクの、ワールド座標系に対する運動を検出します。作動入力は、ベースがクランク リンクに接続されているジョイントに適用するトルクです。トルクをジョイントの位置で適用するため、ジョイント ブロックを介してこのトルクを直接追加できます。作動入力を追加する対象となるブロックは、Base-Crank Revolute Joint と呼ばれます。

物理量信号の入力端子を介して、作動入力をジョイント ブロックに追加します。この端子は既定では非表示です。表示するには、[Actuation][Torque] ドロップダウン リストから [Provided by Input] を選択しなければなりません。

これで、Simscape ブロックまたは Simulink® ブロックを使用してトルク値を指定できます。Simulink ブロックを使用する場合は、Simulink-PS Converter ブロックを使用しなければなりません。このブロックは、Simulink 信号を、Simscape Multibody が使用可能な物理量信号に変換します。詳細については、物理量信号による作動と検出を参照してください。

クランク リンクとロッカー リンクの運動を検出するには、Transform Sensor ブロックを使用します。このブロックを使用して、モデルにある任意の 2 つの座標系間で運動を検出できます。この例では、このブロックを使用して、ワールド座標系に対する、クランク リンクとロッカー リンクの [Y Z] 座標を検出します。

Transform Sensor ブロックの物理量信号出力端子は、既定で非表示になっています。表示するには、適切な運動出力を選択しなければなりません。PS-Simulink Converter を使用して、物理量信号の出力を Simulink 信号に変換できます。その後、結果の Simulink 信号をその他の Simulink ブロックに接続できます。

この例では、Simulink の To Workspace ブロックを使用して、クランク リンクとロッカー リンクの座標をワークスペースに出力します。これらのブロックからの出力により、さまざまなリンク パスを示す位相プロットの基礎が与えられます。

モデルの作成

ジョイントの作動入力を提供し、ジョイントの内部の仕組みを指定して、カプラー リンクの末端座標系の位置座標を検出します。

ジョイントの作動入力の指定

  1. MATLAB® コマンド プロンプトで「openExample("sm/DocFourBarLinkageModelExample")」と入力します。4 節リンク機構のモデルが開きます。このモデルの作成方法の説明については、閉ループ連鎖のモデル化を参照してください。

  2. Base-Crank Revolute Joint ブロックのダイアログ ボックスの [Actuation][Torque] ドロップダウン リストで、[Provided by Input] を選択します。ブロックに t というラベルの付いた物理量信号入力端子が表示されます。

  3. 次のブロックをモデルにドラッグします。これらのブロックを使用して、作動トルク信号を指定できます。

    ライブラリブロック
    [Simulink][Sources]Constant
    [Simscape][Utilities]Simulink-PS Converter

  4. 次の図のようにブロックを接続します。新しいブロックはグレーの影付きで表示されています。

ジョイントの内部の仕組みの指定

実世界のジョイントは、減衰のためエネルギーが散逸します。ブロックのダイアログ ボックスで、ジョイントの減衰を直接指定できます。各 Revolute Joint ブロックのダイアログ ボックスで、[Internal Mechanics][Damping Coefficient] に「5e-4」と入力して [OK] を押します。

リンクの位置座標の検出

  1. 次のブロックをモデルに追加します。これらのブロックを使用して、シミュレーション時に座標系の位置を検出できます。

    ライブラリブロック
    [Simscape][Multibody][Frames and Transforms]Transform Sensor2
    [Simscape][Multibody][Frames and Transforms]World Frame1
    [Simscape][Utilities]PS-Simulink Converter4
    [Simulink][Sinks]To Workspace4

  2. Transform Sensor ブロックのダイアログ ボックスで、[Translation][Y][Translation][Z] を選択します。必要に応じてブロックのサイズを変更します。

  3. PS-Simulink Converter ブロックのダイアログ ボックスの [出力信号単位] パラメーターで、「cm」と入力します。

  4. To Workspace ブロックのダイアログ ボックスの [変数名] パラメーターで、次の変数名を入力します。

    • y_crank

    • z_crank

    • y_rocker

    • z_rocker

  5. 図に示すようにブロックを接続して名前を付け、必要に応じて回転します。変数名 z_crank と z_rocker をもつ各 To Workspace ブロックが Transform Sensor ブロックの z 座標系端子に接続されていることを確認します。新しいブロックは黄色で彩色されています。

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

シミュレーションを実行します。これを行うには、Simulink ツール バーで実行ボタンをクリックします。Mechanics Explorer は、4 節リンク機構アセンブリの物理学に基づくアニメーションを再生します。

シミュレーションが終了したら、カプラー リンクの末端座標系の位置座標をプロットできます。たとえば MATLAB コマンド ラインで次のコードを入力します。

figure;
plot(y_crank.data, z_crank.data, 'color', [60 100 175]/255); 
hold;
plot(y_rocker.data, z_rocker.data, 'color', [210 120 0]/255); 
xlabel('Y Coordinate (cm)'); 
ylabel('Z Coordinate (cm)'); 
axis equal; grid on;

次の図に、表示されるプロットを示します。このプロットは、クランクが完全に回転する間にロッカーは部分的に回転 (たとえば振動) を達成することを示します。この動作は、クランクロッカー システムの特性です。

ダブルクランク モードでのモデルのシミュレーション

モデルをダブルクランク モードでシミュレーションしてみます。次の表に従ってバイナリ リンクの長さを変更することで、4 節リンク機構をダブルクランク リンク機構に変更できます。

ブロックパラメーター
Binary Link ALength25
Binary Link BLength20
Binary Link A1Length30
Crank-Base Transform[Translation][Offset]5
Rocker-Base Transform[Translation][Offset]5

モデルを更新してシミュレーションを実行します。次の図に、Mechanics Explorer で更新された可視化表示を示します。

カプラー リンクの末端座標系の位置座標をプロットします。MATLAB コマンド ラインで次のように入力します。

figure; 
plot(y_crank.data, z_crank.data, 'color', [60 100 175]/255);
hold; 
plot(y_rocker.data, z_rocker.data, 'color', [210 120 0]/255); 
xlabel('Y Coordinate (cm)'); 
ylabel('Z Coordinate (cm)'); 
axis equal; grid on;

次の図に、表示されるプロットを示します。このプロットは、両方のリンクが完全な回転を達成することを示します。この動作は、ダブルクランク リンク機構の特性です。