このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
拘束力の検出
モデルの概要
Simscape™ Multibody™ は、各種の力とトルクの検出機能を提供します。ジョイント ブロックを使用すると、個々のジョイント プリミティブを駆動する作動力と作動トルクを検出できます。また、ジョイント全体に働く合計力と拘束力も検出できます。
このチュートリアルでは、Weld Joint ブロックを使用して、ボディを一体として保持する時変内力を検出します。二重振子モデル smdoc_double_pendulum
がこのチュートリアルの開始点となります。このモデルの作成方法の詳細については、開ループ連鎖のモデル化を参照してください。
バイナリ リンク サブシステムの固体要素間に Weld Joint ブロックを接続することで、それらの固体要素の間に働く拘束力を検出できます。次の図に、このチュートリアルで検出する拘束力を示します。縦方向の拘束力は、Weld Joint 座標系の X 軸と一致しています。横方向の拘束力は、Y 軸と一致しています。Z 軸に沿った拘束力は非常に小さい値なので無視されます。
Weld Joint ブロックによって、follower 座標系が base 座標系に及ぼす拘束力、あるいは base 座標系が follower 座標系に及ぼす拘束力を検出できます。2 つの力の大きさは同じですが、バイナリ リンクの概略図に示されるように、方向が逆です。このチュートリアルでは、follower 座標系が base 座標系に及ぼす拘束力を検出します。
また、拘束力の測定値を解決するための座標系を選択することもできます。解決する座標系は、base 座標系と follower 座標系のどちらでもかまいません。特定のジョイント ブロックでは、端子の座標系に異なる向きをもたせることが可能です。それにより、同じ測定が、解決する座標系の選択によって異なる結果になります。しかし、Weld Joint ブロックの自由度はゼロであるため、解決するどちらの座標系でも、同じ拘束力ベクトル成分が生成されます。
モデルへの Weld Joint ブロックの追加
MATLAB® コマンド プロンプトで「
smdoc_double_pendulum
」と入力します。二重振子モデルが開きます。Binary Link A1 Subsystem ブロックで、[マスク内部を検索] 矢印をクリックします。
[Simscape] 、 [Multibody] 、 [Joints] ライブラリから、Weld Joint ブロックをドラッグします。
次の図のように Weld Joint ブロックを接続します。このブロックによって、運動中にボディをひとつに保持する拘束力を検出できるようになります。端子の座標系間に与えられる自由度はゼロであるため、モデル ダイナミクスへの影響はありません。
拘束力検出の追加
Weld Joint ブロックのダイアログ ボックスで、[Constraint Force] を選択します。ブロックに fc というラベルの付いた物理量信号出力端子が表示されます。
Simscape Output 端子をサブシステムのブロック線図に追加します。次の図のようにブロックを接続し、サブシステムのビューを抜けます。
次のブロックを、モデルのメイン ウィンドウにドラッグします。これらのブロックを使用して、拘束力の信号を MATLAB ワークスペースに出力できます。
ライブラリ ブロック [Simscape] 、 [Utilities] PS-Simulink Converter [Simulink] 、 [Sinks] To Workspace 次の図のようにブロックを接続します。PS-Simulink Converter ブロックが、新しく追加された Simscape 端子に接続されていることをチェックします。
次のブロック パラメーターを指定します。
ブロック ダイアログ ボックスのパラメーター 値 PS-Simulink Converter Output signal unit mN
To Workspace 変数名 fcf_weld
およそ 30 cm × 2 cm × 0.8 cm のアルミニウム製リンクが含まれるこのモデルには、単位
mN
が適切です。
ジョイントへの減衰の追加
各 Revolute Joint ブロックのダイアログ ボックスで、[Internal Mechanics] 、 [Damping Coefficient] を選択して 1e-5
と入力します。減衰係数を使用すると、運動中のエネルギー散逸をモデル化して、二重振子モデルがやがて静止するようにできます。
モデルのシミュレーション
[モデル化] タブで、[モデル設定] をクリックします。
[コンフィギュレーション パラメーター] ウィンドウの [ソルバー] タブで、[ソルバー] パラメーターを
[ode15s]
に設定します。これは、物理モデル用に推奨するソルバーです。同じタブで、[最大ステップ サイズ] パラメーターを
0.001
秒に設定します。シミュレーションを実行します。Mechanics Explorer に、モデルの動的な表示が開きます。Mechanics Explorer のメニュー バーで、[Isometric View] ボタンを選択して、等角投影の視点から二重振子を表示します。
拘束力のプロット
MATLAB コマンド プロンプトで、次のプロット コマンドを入力します。
figure; plot3(fcf_weld.time, fcf_weld.data(:,1), fcf_weld.data(:,2),... '.', 'MarkerSize', 1, 'Color', 'r'); grid on; xlabel('T, s'); ylabel('F_{C,X}, mN'); zlabel('F_{C,Y}, mN');
