MV-1020:2D剛体間接触シミュレーションのモデル化

カーブエンティティおよびカーブグラフィックスの作成、マクロを使ったそれらの同時作成、および2D剛体曲線-曲線接触のセットアップを行う方法を学びます。

本チュートリアルでは、MotionSolveの2D剛体接触機能について説明します。これは、平面内で接触が生じる際に使用できます。面外接触力は予測されないため、2D剛体間接触を用いてローラータイプのカムフォロワー機構をモデル化します。


図 1.

モデルの確認

MotionSolveを使ってモデルを実行することによって確認を行います。

<installation_directory>\tutorials\mv_hv_hg\mbd_modeling\interactive\フォルダーから、ファイルCam_Follower_Input.mdlCamProfile.h3dCam_Fixed.csvおよびCam_Variable.csvを自身の作業ディレクトリ<working directory>にコピーしてください。
部分的にセットアップされたモデルがMotionViewに用意されています。2D接触以外はすべてセットアップ済みです。

  1. MotionViewを起動します。
  2. 以下のいずれかでモデルを開きます:
    • Standardツールバーから(Open Model)をクリックします。
    • メニューバーFile > Open > Modelをクリックします。
  3. Open modelダイアログで、作業ディレクトリにあるファイルCam_Follower_Input.mdlを選択し、Openをクリックします。
    モデルのBody、Graphic、Marker、JointおよびMotionについて確認します。モデルは図 2ようになるはずです。


    図 2.
  4. (Runパネル)アイコンをクリックします。
  5. Save and run current modelブラウザボタンをクリックします。Runボタンをクリックします。
  6. シミュレーションが完了したら、ソルバーウィンドウとメッセージログを閉じます。
  7. RunパネルでAnimateボタンをクリックし、結果のアニメーションを確認します。
    モデル内で接触は定義されていないため、FollowerRollerはCamと接触していない点にご注目ください。


    図 3.
  8. (Page Window Layout)ボタンをクリックし、MotionViewウィンドウに戻ります。


    図 4.

カーブエンティティとカーブグラフィックスの作成

FollowerRollerについてカーブエンティティとカーブグラフィックスを作成します。

FollowerRollerのプロファイルは円形であるため、数式を使って容易に定義することが可能です。まずは、閉じた円形のカーブエンティティを(Mathオプションを使って)作成します。続いて、このカーブエンティティをFollowerRollerで関連付けするためのカーブグラフィックスを作成します。これは、2D接触のセットアップに使用されます。
  1. 以下のいずれかの方法で、Add Curveダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Curveを選択します。
    • Reference Entityツールバーで、(Curves)アイコンをクリックします。
  2. ダイアログで、LabelにRoller_Curveと入力します。Variableにcrv_rollerと入力します。
  3. OKをクリックします。


    図 5.
  4. Propertiesタブで、1つ目のドロップダウンメニューを使って、カーブを3D Cartesianに変更します。
    注: カーブグラフィックスには、3Dデカルトタイプのカーブエンティティのみがサポートされています。
  5. 4番目のドロップダウンメニューを使って、カーブをOpen CurveからClosed Curveに変更します。
  6. xラジオボタンをクリックし、ドロップダウンメニューからMathを選択します。
  7. Expression Builderで、5*SIN(2*PI*(0:1:0.01))と入力し、Enterキーを押します。
  8. y座標とz座標のMath式にそれぞれ5*COS(2*PI*(0:1:0.01))0.0*(0:1:0.01)と入力します。


    図 6.
    これで、カーブエンティティの作成が完了しました。続いて、FollowerRollerボディを表すグラフィックスを作成します。後に、これを使って2D接触を定義します。
  9. 以下のいずれかの方法で、Add CurveGraphicダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Graphicを選択します。
    • Reference Entityツールバーで、(Graphics)アイコンをクリックします。
  10. ドロップダウンメニューからCurveを選択します。
  11. ダイアログで、LabelにRoller_Curveと入力します。Variableにgcrv_rollerと入力します。
  12. OKをクリックします。
    図 7.
    注: Body/Pointオプション(Parentタイプ)はConnectivityタブ上でデフォルトで選択されています。
  13. Connectivityタブで、コレクターをダブルクリックします。ダイアログで、FollowerRollerを選択します。
    コレクターはデフォルトでハイライト表示されます。
  14. コレクターをクリックします。ダイアログで、FollowerRevJointを選択します。
  15. コレクターをクリックします。ダイアログで、Roller_Curveを選択します。パネル上のその他のオプションはデフォルトの設定のままとします。


    図 8.
    FollowerRollerを表すカーブグラフィックスが見えているはずです。


    図 9.
  16. これで新しいグラフィックスが作成され、FollowerRollerを表すために使用されていた元のシリンダーグラフィックスは非アクティブとなります。
    1. ProjectブラウザFollwerRollerを右クリックします。
    2. コンテキストメニューDeactivateをクリックします。


      図 10.

Camについてカーブエンティティとカーブグラフィックスを作成

フォロワーの特定の変位プロファイルを達成するための最良なカムの形状を決定するために、カムのプロファイルを固定(Fixed)部分と可変(Variable)部分の2つに分けます。



図 11.

カムの可変部分は、モデル内の一部のポイントの座標値によってコントロールされます。

Camプロファイルの固定部分の作成

カーブエンティティを作成するためのポイントのx、y、z座標を含んだ.csvファイルを使用します。

  1. 以下のいずれかの方法で、Add Curveダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Curveを選択します。
    • Reference Entityツールバーで、(Curves)アイコンをクリックします。
  2. ダイアログで、LabelにCam_fixed_Curveと入力します。Variableにcrv_cam_fixと入力します。続いて、OKをクリックします。
  3. Propertiesタブで、1つ目のドロップダウンメニューを使って、カーブを3D Cartesianに変更します。
  4. 4つ目のドロップダウンメニューの選択がOpen Curveとなっていることを確認します。
  5. Propertiesタブでxラジオボタンをクリックします。2番目のドロップダウンメニューでは、デフォルトのFileオプションを保持します。
  6. をクリックし、 <作業ディレクトリ>からCam_Fixed.csvを選択します。
  7. Openをクリックします。
  8. ComponentにColumn 1を選択します。パネル上のその他の値についてはすべてデフォルトを保持します。


    図 12.
  9. yおよびzラジオボタンでComponentにそれぞれColumn 2Column 3を選択します。
  10. カムを可視化するためにカーブグラフィックスを作成し、インポートされたデータが希望通りの位置にあるかを確認します。
    1. カーブエンティティとカーブグラフィックスの作成9から16までの手順を、表 1の情報を使って繰り返します。
      表 1.
      変数
      ラベル Cam_Fixed_Curve
      変数 gcrv_cam_fix
      Body Cam
      Origin Point Global Origin
      Curve Cam_Fixed_Curve


      図 13.
      Camの固定部分を表すカーブグラフィックスが見えるようになったはずです。


      図 14.

Camプロファイルの可変部分の作成

マクロを使用し、モデル内の既存のポイント群から自動的にカーブエンティティとカーブグラフィックスの両方を作成します。

  1. 以下のいずれかの方法で、モデル内にいくつかのポイントを作成します:
    • メニューバーMacros > Create Points > Using Coordinatesをクリックします。
    • MotionViewツールバーで、(Create Points using Coordinates)をクリックします。


  2. Parametric Pointsダイアログで、(ファイルブラウザ)をクリックします。
  3. Cam_Variable.csvファイルを選択し、Openをクリックします。
  4. OKをクリックし、10個のポイント(Point 0~Point 9)を作成します。


    図 15 には新たに作成されたポイント群が示されています。
    図 15.
  5. これで新しいグラフィックスが作成され、Camを表すために使用されていた元のH3Dファイルグラフィックスは非アクティブとなります。
    1. ProjectブラウザCamを右クリックします。
    2. コンテキストメニューDeactivateをクリックします。


      図 16.

      ここで、新たに作成されたポイント群を使用し、Create Curve from Points/Nodesマクロを用いてCamプロファイルの可変部分を作成します。

  6. 以下のいずれかの方法で、Create Curve from Points/Nodesマクロを開きます:
    • メニューバーから、MacrosCreate Curve from Points/Nodes/Edges/Facesをクリックします。
    • MotionViewツールバーで、(Create Curve from Points/Nodesボタン)をクリックします。


    図 17.
  7. コレクターをダブルクリックし、Camボディを選択します。
  8. 作成される新しいカーブエンティティおよびカーブグラフィックスについてLabelsのプリフィクスをCam_Variable_Curveとして編集します。
  9. コレクターに、以下のいずれかの方法でPoint 0を選択します:
    • モデリングウィンドウPoint 0をクリックします。
    • コレクターをクリックします。Select a Pointダイアログで、フィルタリングされたポイントのリストからPoint 0をダブルクリックします。
    Point 0がモデリングウィンドウ内でハイライト表示され、パネルにもリストされます。
  10. 手順9を繰り返し、残りのポイント群(1~9)をピックします。
    パネルは、図 18に示すように見えるはずです:


    図 18.
    注: FileグラフィックH3Dと関連付けされた節点もピックすることが可能です。しかしながら、作成されたカーブはその節点とパラメトリックにリンクはされません。ポイントをピックすると、ポイントとカーブとの間のパラメトリックな関係は保持されます。
  11. Createをクリックします。
    新しいカーブエンティティと新しいカーブグラフィックス(Cam_Variable_Curve)がモデルに追加されました。


    図 19.
    Camの可変部分を表す新たに作成されたカーブグラフィックスは、モデリングウィンドウに示すように見えているはずです。


    図 20.
  12. 新たに作成されたカーブエンティティを、Modelブラウザモデルツリーから選択することで確認します。
    注: 図 21に示すようにクリックすると、パネル内のX、Y、Z値は、マクロの使用中に選択されたポイント群をパラメトリックに指していることが分かります。このように、モデル内のこれらのポイントの座標値を変更することによって、カーブを修正することができます。


    図 21.

Camプロファイルの結合されたカーブの作成

Camの固定部分と可変部分を結合し、2D接触をセットアップするための新しい閉じたカーブを作成します。

Step 3.1とStep 3.2で作成されたCamグラフィックスの固定部分と可変部分は、開いたカーブエンティティを使用しているため、接触のセットアップに用いることができません。これらは、カーブデータが正しい位置にあるかを確認するために作成しました。FollowerRollerとCamの連続した接触には、閉じたカーブが必要です。このステップでは、Camの固定部分と可変部分を結合し、その過程で、2つのカーブエンティティを結合するために数学関数(CAT)を使用する方法について学びます。
  1. 表 2の入力詳細を用いて、ステップカーブエンティティとカーブグラフィックスの作成の手順1から5までを繰り返し、新しいカーブエンティティを挿入します。
    表 2.
    変数
    ラベル Cam_Curve
    変数 crv_cam
    Curve Type 3D Cartesian
    Open/Closed Closed
  2. Propertiesタブでxラジオボタンをクリックし、2つ目のドロップダウンメニューからMathを選択します。
  3. Expression Builderで、{CAT(crv_cam_fix.x, crv_0.x)}と入力します。Enterキーを押します。
  4. y座標とz座標のMath式にそれぞれ{CAT(crv_cam_fix.y, crv_0.y)}{CAT(crv_cam_fix.z, crv_0.z)}と入力します。
    注: CAT関数を使用することにより、Camの可変部分のデータポイントを固定部分のデータポイントに追加することができます。パネルには、Camプロファイルの固定部分と可変部分両方の統合されたデータが表示されます。


    図 22.
    これで、カーブエンティティの作成が完了しました。続いて、Camボディを表すグラフィックスを作成します。後に、これを使って2D接触を定義します。
  5. 以下のいずれかの方法で、Add CurveGraphicダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > Reference Entity > Graphicを選択します。
    • Reference Entityツールバーで、(Graphics)アイコンをクリックします。
  6. ドロップダウンメニューからCurveを選択します。
  7. ダイアログで、LabelにCam_Curveと入力します。Variableにgcrv_camと入力します。
  8. OKをクリックします。
    注: Body/Pointオプション(Parentタイプ)はConnectivityタブ上でデフォルトで選択されています。ここでは、Markerオプションを使用します。これは、Cam (Body)とPivotPoint (Point)に関連付けされたCamMarkerが既にモデル内にあるためです。
  9. ConnectivityタブでParentのドロップダウンメニューを選択し、Markerに変更します。
  10. コレクターをダブルクリックします。
  11. Select a Markerダイアログで、CamMarkerを選択し、OKをクリックします。
  12. コレクターをダブルクリックします。
  13. Select a Curveダイアログで、Cam_Curveを選択します。


    図 23.
    Camを表すカーブグラフィックスは、モデリングウィンドウに示すように見えているはずです。
    図 24.

2D接触のセットアップ

CamとFollowerRollerとの間の接触を、それぞれのカーブグラフィックスを使って定義します。

  1. Force Entityツールバーで、(Contact)ボタンを右クリックします。
  2. ダイアログでLabelに2D Contact 0と入力し、デフォルトのVariableはそのままにします。
  3. ドロップダウンメニューでTypeを2D Rigid to Rigidに変更し、OKをクリックします。


    図 25.
  4. Connectivityタブで、(I Body)コレクターをクリックします。続いて、モデリングウィンドウ内のカーブグラフィックスをクリックしてCamボディを選択します。


    図 26.
    (J Body)コレクターが自動的にハイライト表示されます。
  5. コレクターをクリックし、ダイアログ内のFollwerRollerボディを選択します。
    Contactパネルが図 27に示すように現れるはずです。


    図 27.
    注: FixedおよびVariableのカーブグラフィックスはCamボディに関連付けされているため、デフォルトで選択されます。これらは必要でないため、接触の定義から除いてかまいません。
  6. の下で、Cam_Fixed_CurveCam_Variable_Curveの選択を解除またはチェックを外します。
  7. 接触する予定の選択されたカーブの側を確認します。
    1. Highlight contact sideチェックボックスをクリックしてオンにします。
      注: 矢印の表示は、FollowerRollerとCamの内側を接触する側として示しています。これは修正の必要があります。
    2. カーブとカーブの両方について、Flip Contact Sideチェックボックスをクリックしてオンにします。
      注: ハイライト表示されている、両方のボディの接触する側は、図 28のように見えるはずです。


      図 28.
  8. Propertiesタブで、デフォルトの選択はそのままにします。
  9. AdvancedタブでFind precise contact eventおよびChange simulation max step sizeオプションをデフォルト値でオンにします。

モデルの保存と実行

2D接触モデルを保存し、それをMotionSolveを使って実行します。

  1. メニューバーFile > Save As > Modelをクリックします。


    図 29.
  2. ダイアログで<作業ディレクトリ>をブラウズし、ファイル名をCam_Follower.mdlと指定します。


    図 30.
  3. モデルを実行します。
    2次元のメッシュ化された形状について接触を定義するためにソルバーがより多くの労力を必要とする3D接触を同じモデルに使用した場合と比較し、カーブの2D接触シミュレーションは短時間で実行されることが期待できます。
    1. (Runパネル)アイコンをクリックします。
      注: 正確な結果を得るために、このモデルでは、より小さなステップサイズとより細かい出力インターバルを選択しています。Simulation Settings…ボタンをクリックすることで、それらを確認することができます。
    2. (ファイルブラウザ)をクリックし、ファイルの新しい名称としてCam_Follower.xmlと指定します。
    3. Saveをクリックします。


      図 31.
  4. Run ボタンをクリックします。

結果のポスト処理

HyperViewHyperGraphを用いて、MotionSolveシミュレーションのサマリーを確認します。

シミュレーションが完了すると、MotionSolveは、このシミュレーションについて最大貫通深さおよび最大接触荷重で順位付けされた接触ペアをリストしたサマリーテーブルを、画面のソルバービューウィンドウ上および生成されるログファイル内に出力します。


図 32.
  1. Animateボタンをクリックし、HyperViewでアニメーションを確認します。
  2. 接触力を確認します。
    1. Vectorプロットを選択します。
    2. Results typeをContact Forceにします。
    3. 適用(Apply)をクリックします。続いて、(Start Animation)をクリックします。


      図 33.
  3. HyperGraphを使って、シミュレーション全体の間のFollowerShaftの縦方向の変位をプロットします。
    1. MotionViewウィンドウのRunパネルで、Plotボタンをクリックします。
      これで、.abfファイルがHyperGraphで開きます。
    2. (Build Plots)をクリックします。
    3. Y Type (Axis)にBodyを選択します。Y RequestにFollowerShaftを選択します。Y ComponentにYを選択します。
    4. 適用(Apply)をクリックします。


    図 34.
  4. オプション: MotionViewで、Point 0からPoint 9までのすべて、または一部の座標値を変更してCamプロファイルを更新し、モデルを再実行して、CamまたはFollowerShaftの変位の接触荷重に対する影響を検討します。