2 つの固体間の接触力のモデル化
互いに接触する固体ブロックをモデル化する場合、固体ブロックの動作方法では接触力が重要な役割を果たします。垂直抗力 fn
と摩擦力 ff
はいずれも、モデルの動作が大きく変化する原因となる可能性があります。接触力は、次のような多種多様なモデル化で利用されます。
荷物のコンベヤ
ロボットの動作
レース カーのダイナミクス
Spatial Contact Force ブロックは、base 座標系と follower 座標系の固体間の力をモデル化します。2 つの固体ブロックが接続されているとき、Spatial Contact Force ブロックは、共通の接触平面に沿って大きさの等しい逆向きの力を適用します。これらの力はニュートンの第三法則に従います。垂直抗力は、侵入深度および侵入速度に基づいて適用されます。摩擦力 (適用される場合) は、垂直抗力および接触点における相対速度に基づきます。
Simscape™ Multibody™ は、ボディ間の接触をモデル化する際に "ペナルティ法" を使用します。これにより、ボディの侵入量を小さくすることができます。垂直方向の接触力は、バネ-ダンパー力の法則を使用して計算されます。侵入が深いほど、また侵入方向の相対速度が大きいほど、垂直接触力は大きくなります。
Spatial Contact Force ブロックの力
Spatial Contact Force ブロックのプロパティは 3 つの展開可能なノードに分割されます。[Normal Force]、[Frictional Force] および [Sensing] です。Spatial Contact Force ブロックを使用して 2 つの固体間の接触力をモデル化する場合は、これらのプロパティを設定します。
これらのプロパティの詳細については、Spatial Contact Force を参照してください。
Normal Force
[Normal Force] セクションのパラメーターは、2 つの固体が相互に及ぼす垂直抗力 fn
を特定する際に使用します。[Stiffness]、[Damping] および [Transition Region Width] を指定できます。
Frictional Force
[Frictional Force] セクションのパラメーターは、2 つの固体が相互に及ぼす摩擦力 ff
を特定する際に使用します。[Method] を [Smooth Stick-Slip]
に設定する場合は、[Coefficient of Static Friction]、[Coefficient of Dynamic Friction] および [Critical Velocity] を指定できます。これらのオプションは、[Method] が [None]
に設定されている場合は使用できません。
Sensing
2 つの固体ブロック間の接触をモデル化するだけでなく、Spatial Contact Force ブロックを使用すると以下の検出も可能です。
Separation Distance — 2 つの固体間の距離。
Normal Force — それぞれの固体がもう一方の固体に及ぼす垂直抗力。
Frictional Force Magnitude — それぞれの固体がもう一方の固体に及ぼす摩擦力。
これらのオプションを有効にするには、Spatial Contact Force ブロックのプロパティを開きます。[Sensing] の下で、ブロックで検出するプロパティを選択します。各プロパティについて、1 つ端子がブロック上に表示されます。これらの端子を選択したビューアーに接続します。
固体ブロックへの接続
そのままでは、Spatial Contact Force ブロックは 2 つの接続されている固体に関する情報を認識しません。固体ブロックのパラメーターで、[Export: Entire Geometry] オプションを有効にします。
このオプションが有効になると、新しいジオメトリ端子 [G] が固体ブロック上に表示されます。
このジオメトリ端子を Spatial Contact Force ブロック上の base 端子または follower 端子に接続します。もう一方の固体ブロックに関しても同じ手順に従って、残りの端子に接続します。base 座標系と follower 座標系の詳細については、測定座標系の選択を参照してください。
接触のモデル化に関する考慮事項
マルチボディ システム内の機械的関係をモデル化する場合と比較して、接触のモデル化にはより多くの選択肢があり、選択した手法がシミュレーション速度、精度、およびモデルの保守性に影響する場合があります。Simscape Multibody には接触のモデル化のための基本的な構造体が用意されていますが、それらには多くの使用方法があります。
ソルバー パラメーター
計算される垂直接触力は、侵入深度と侵入速度の連続関数です。Simscape Multibody では、深度が [Transition Region Width] より小さい場合にバネとダンパーの力を低減することにより、これらの垂直抗力を計算します。[Transition Region Width] を大きくすると、接触力の鮮鋭度が低下し、システムはソルバーにとって進めやすくなりますが、侵入量は大きくなります。[Transition Region Width] を小さくすると、接触力のプロファイルがより鮮鋭になり、理想的な剛体接触に近付きます。ただし、[Transition Region Width] を小さくすると、ソルバーのパフォーマンスも低下する場合があります。
最大ステップ サイズを 1e-3 秒以下に設定すると、多くのモデルで精度が向上します。ソルバーの相対許容誤差を小さくしても、同じ効果が得られます。ただし、ステップ サイズを小さくすると、シミュレーション速度も低下します。
高速衝突や接触の変化が多いシステムの場合は、通常は [ode45]
などの陽的ソルバーのほうが適しています。そのような状況では、陰的ソルバーでは処理が困難な場合があります。接触の変化が頻繁でなく、安定している場合は、接触力による剛性を処理できるため、陰的ソルバーのほうが高速になる場合があります。
侵入深度の制限
2 つの固体ブロックの間の分離距離は、2 つのジオメトリが接触していない場合は正、接している場合はゼロ、ジオメトリ間に非自明の侵入がある場合は負となります。分離距離が負の場合、その大きさは "侵入深度" とも呼ばれます。侵入深度は、ジオメトリの位置と向きの連続関数です。
Simscape Multibody は、小型の接触モデル化アプリケーション用に調整されたジオメトリ解析アルゴリズムを使用します。一部のアルゴリズムでは、侵入深度はジオメトリのサイズと比較して小さいと仮定されています。これが該当しない場合は、計算された (負の) 分離距離は単なる概算であるか、不連続になる場合があり、結果の接触力は一貫性を欠く可能性があります。最善の結果を得るために、モデル内の侵入深度を制限してください。
参考
Spatial Contact Force | Brick Solid | Cylindrical Solid | Spherical Solid