MV-1027:点-可変形曲線(PTdCV)高次ペア拘束のモデル化

本チュートリアルでは、PTdCV(点-可変形曲線)ジョイントをモデル化する方法について学習します。

PTdCVジョイントはハイペア拘束です。この拘束は、1つのボディ上の指定したポイントを、別のボディ上の指定した可変形カーブに沿って動くよう拘束します。カーブは、開いているか、もしくは閉じている、平坦か、もしくは3D空間内にあることが可能です。ポイントは、剛体、弾性体またはポイント質量に属していることが可能です。そのために、両端において回転ジョイントでサポートされているビーム上の可変形曲線を定義します。質量は、PTdCV拘束でカーブに沿って動くよう制約されています。

ポイントの作成

このステップでは、PTdCVモデルにポイントを作成します。

始める前に、mbd_modeling\interactiveフォルダーにあるKG_N_MM_S_50elems2.h3dファイルを自身の<作業ディレクトリ>にコピーします。
  1. 新しいMotionViewセッションを開始します。
  2. 以下のいずれかの方法で、Add Point or PointPairダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd Reference Entity > Pointを選択します。
    • Model-Referenceツールバーで、(Point)アイコンを右クリックします。
  3. LabelにPointbeamInterface1と入力します。デフォルトの識別子を受諾します。
  4. OKをクリックします。
  5. Propertiesタブをクリックし、座標値を、X = 152.4、Y = 0.0、Z = 0.0と指定します。
  6. 表 1に指定したポイントについて、手順2から5までを繰り返します。
    表 1.
    Point X Y Z
    PointbeamInterface2 460.80 0.0 0.0
    Point0 183.24 0.0 0.0
    Point1 214.08 0.0 0.0
    Point2 244.92 0.0 0.0
    Point3 275.76 0.0 0.0
    Point4 306.60 0.0 0.0
    Point5 337.44 0.0 0.0
    Point6 368.28 0.0 0.0
    Point7 399.12 0.0 0.0
    Point8 429.96 0.0 0.0

ボディの作成

このステップでは、PTdCVモデルにボディを作成します。

モデル内には、グラウンドボディ以外に2つのボディ、すなわちビームとボールが含まれています。ボールの定義には、予め指定された慣性プロパティが使用されます。
  1. 以下のいずれかの方法で、Add Body or BodyPairダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd Reference Entity > Bodyを選択します。
    • Model-Referenceツールバーで、(Body)アイコンを右クリックします。
  2. ダイアログで、LabelにBeamと入力します。デフォルトの識別子を受諾します。
    注: 本チュートリアルにおいてこれ以降、残りの変数についてはすべてデフォルトの名称を受諾します。
  3. PropertiesタブでFlex Body (CMS)チェックボックスをクリックします。
  4. (Graphic fileブラウザ)アイコンをクリックし、<作業ディレクトリ>からKG_N_MM_S_50elems2.h3dを選択します。
    注: H3D file欄には自動的に同じファイルパスが表示されます。
  5. ステップ1を繰り返します。ダイアログで、LabelにBallと入力します。
  6. Propertiesタブで、表 2に与えられている情報を指定します。
    表 2.
    Mass Ixx Iyy Izz Ixy Iyz Izx
    100 1e6 1e6 1e6 0.0 0.0 0.0
  7. CM ConnectivityタブでUse center of mass coordinate systemチェックボックスをクリックします。
  8. をダブルクリックします。
  9. ダイアログでPoint4を選択し、OKをクリックします。軸のプロパティについては、デフォルトの設定を受諾します。
  10. Initial ConditionsタブでTranslational velocityの下のVxボックスにチェックマークを入れます。
  11. テキスト欄に、値100を入力します。その他はすべてデフォルト値を受諾します。
    これで、ボールのX方向の並進速度が100に設定されます。アニメーションでボールのモーションがはっきり見えるよう、Vxに多少大きい値を使用します。

マーカーの作成

このステップでは、ビームに必要なマーカーを定義します。

ビームのスパンに沿って等間隔に11個のマーカーを定義します。
  1. 以下のいずれかの方法で、Add Marker or MarkerPairダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Markerを選択します。
    • Model-Referenceツールバーで、(Marker)アイコンを右クリックします。
  2. ダイアログで、LabelにMarker0と入力し、OKをクリックします。
  3. Propertiesタブで、をダブルクリックします。
  4. ダイアログでBeamを選択し、OKをクリックします。
  5. をダブルクリックします。
  6. ダイアログでPointbeamInterface1を選択し、OKをクリックします。
    軸の方向については、デフォルトの設定を受諾します。
  7. 表 3に指定したポイントについて、手順1から6までを繰り返します。
    表 3.
    名称 Body Point
    Marker0 Beam PointbeamInterface1
    Marker1 Beam Point0
    Marker2 Beam Point1
    Marker3 Beam Point2
    Marker4 Beam Point3
    Marker5 Beam Point4
    Marker6 Beam Point5
    Marker7 Beam Point6
    Marker8 Beam Point7
    Marker9 Beam Point8
    Marker10 Beam Pointbeaminterface2

ジョイントの作成

このステップでは、モデルに必要な固定ジョイントを定義します。

PTdCVジョイント(後にadvancedジョイントとして定義)を除く必要なすべてのジョイントを定義します。モデルには2つのジョイントが必要であり、それらは2つとも、ビームとグラウンドボディとの間の固定ジョイントです。
  1. 以下のいずれかの方法で、Add Joint or JointPairダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Constraint > Jointを選択します。
    • Model-Constraintsツールバーで、(Joints)アイコンを右クリックします。
  2. ダイアログで、LabelにJoint0と入力します。
  3. ドロップダウンメニューでFixed Jointを選択し、OKをクリックします。
  4. パネル内で、をダブルクリックします。
  5. ダイアログでBeamを選択し、OKをクリックします。
  6. をダブルクリックします。
  7. ダイアログでGround Bodyを選択し、OKをクリックします。
  8. をダブルクリックします。
  9. ダイアログでPointbeamInterface1を選択し、OKをクリックします。
  10. ステップ1から9までを繰り返し、2つ目の固定ジョイントを作成します。
    1. LabelにJoint1と入力します。
    2. PointbeamInterface2を選択します。
    3. Joint0について、その他のステップすべてに上記と同じ入力を使用します。

可変形カーブの作成

このステップでは、ビームのサーフェス上に可変形カーブを定義します。

ボールはこのカーブに沿って動くよう制約されます。
  1. 以下のいずれかの方法で、Add DeformableCurveダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Deformable Curveを選択します。
    • Model-Referenceツールバーで、(Deformable Curve)アイコンを右クリックします。
  2. ダイアログで、LabelにDeformableCurve0と入力します。
  3. OKをクリックします。
  4. Propertiesタブで、可変形カーブのプロパティを指定します。
    1. Data typeにMarkerを選択します。
    2. Left end typeとRight end typeに、NATURALを選択します。
    3. の横のチェックボックスをクリックします。
      AddボタンがInsertボタンに変わります。
    4. Insertの横のテキストボックスに、10と入力します。続いて、Insertをクリックします。
      11個のコレクターがパネルに表示されます。
    5. 個々のをダブルクリックします。
    6. 各ダイアログで、マーカーの作成ステップにて作成したマーカーをそれぞれ、 Marker 0からMarker 10までその順で選択します。

PTdCVジョイントの作成

このステップでは、PTdCVジョイントを作成します。

  1. 以下のいずれかの方法で、Add AdvJointダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Constraint > Advanced Jointを選択します。
    • Model-Referenceツールバーで、(Advanced Joint)アイコンを右クリックします。
  2. ダイアログで、LabelにAdvancedJoint 0と入力します。
  3. Connectivityタブで、以下にリストされている結合を指定します。
    BodyにはPointToDeformableCurveJointBall、PointにはPoint4、DeformableCurveにはDeformableCurve 0

グラフィックスの作成

このステップでは、ボールにグラフィックを作成します。

  1. 以下のいずれかの方法で、Add Graphics or GraphicPairダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Graphicsを選択します。
    • Model-Referenceツールバーで、(Graphics)アイコンを右クリックします。
  2. ダイアログで、LabelにGraphic0と入力します。
  3. TypeドロップダウンメニューからSphereを選択します。続いて、OKをクリックします。
  4. Connectivityタブで、をダブルクリックします。
  5. ダイアログでBallを選択し、OKをクリックします。
  6. をダブルクリックします。
  7. ダイアログでPoint4を選択し、OKをクリックします。
  8. Propertiesタブで、Radiusの下に2.0と入力します。
  9. Visualizationタブで、グラフィックの色を選択します。

節点の検索

このステップでは、Bodies Panelに戻り、ビーム上の節点を探します。

  1. Projectブラウザで、Beamボディをクリックします。
  2. Referenceツールバーで、(Bodies)アイコンをクリックします。
  3. パネルで、Nodesボタンをクリックします。
  4. ダイアログで、Only search interface nodesボックスを非選択にします。
  5. Find All ボタンをクリックします。
  6. ダイアログを閉じます。
    モデルは、図 1で示すとおりになるはずです。


    図 1.

モデルの実行

このステップでは、PTdCVジョイントの制約を伴うモデルを実行します。

重要: この種の拘束は、接触のポイントがカーブについて指定されたデータ範囲内に留まるとは限りません。この要件を満たすためには、端部における追加の力をユーザーが定義する必要があります。接触ポイントがこのカーブについて指定されたデータ範囲に収まっていない場合、(これを満足するよう追加のフォースが定義されない限り)ソルバーはエラーを発します。そのような場合は、ボールの初期速度を変更するか、もしくはカーブについて指定されたデータ範囲を大きくする、もしくは、より短いタイムインターバルでシミュレーションを実行する必要があります。
  1. ツールバーで、(Run)をクリックします。
  2. Runパネルで、図 2にリストされている値を指定します。


    図 2.
  3. Save and run current modelラジオボタンをクリックします。
  4. (ブラウザアイコン)をクリックし、ソルバーファイルの名称を指定します。
  5. Saveをクリックします。
  6. Model Checkツールバーで、(Check Model)ボタンをクリックし、モデルのエラーをチェックします。
  7. ソルバーを起動するために、Runボタンをクリックします。
  8. ソルバーが完了したら、(Start/Pause Animation)ボタンをクリックし、アニメーションを見ます。

結果の表示

このステップでは、ボールの重心のZ位置をプロットします。

  1. (Add Page)アイコンをクリックします。
  2. アプリケーション選択ドロップダウンメニューを使って、クライアントをMotionSolve から HyperGraph 2D に切り替えます。
  3. Curvesツールバーから(Build Plotsl)アイコンをクリックします。
  4. (ブラウザアイコン)をクリックし、result.abfファイルを読み込みます。
  5. Plotパネルを図 3に示すとおり設定します。


    図 3.
  6. OKをクリックします。
    これで、ボールのZ変位がプロットされます。プロットは、図 4に示すようになるはずです。


    図 4.