MV-1026: 曲線-曲線(CVCV)高次ペア拘束の構築

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

CVCV(曲線-曲線)ジョイントは、高次ペア拘束です。この拘束は、別のボディ上のカーブ上を回転およびスライドする1つのボディ上のカーブから成ります。カーブは同じ平面上になくてはなりません。この拘束は、接触が1つの平面内で起こる数多くのケースにおける接触のモデリングの代替として機能し得ます。その一例として、フォロワーがローラーの形であるカム-フォロワー機構が挙げられます。カムとフォロワーとの間の接触をモデル化する代わりに、それらの輪郭間のCVCV拘束を指定することが可能です。


Figure 1.
本チュートリアルでは、CVCV拘束を用いて、ローラータイプのカムフォロワーの機構をモデル化します。

ポイントの作成

このステップでは、カム-フォロワーモデルにポイントを作成します。

始める前に、mbd_modeling\interactiveフォルダーにあるCamProfile.h3dおよび CamProfile.csvファイルを自身の<作業ディレクトリ>にコピーします。
  1. 新しいMotionViewセッションを開始します。
  2. 以下のいずれかの方法で、Add Point or PointPairダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add Reference Entity > Pointを選択します。
    • Model-Referenceツールバーで、(Point)アイコンを右クリックします。
  3. LabelにPivotPointと入力します。デフォルトの識別子を受諾します。
  4. OKをクリックします。
  5. Propertiesタブをクリックし、X、Y、Z座標値を0.0と指定します。
  6. Table 1に指定したポイントについて、手順2から4までを繰り返します。
    Table 1.
    Point X Y Z
    FollowerShaftCM 0.0 67.5 0.0
    FollowerTransJoint 0.0 85.0 0.0
    FollowerRevJoint 0.0 30.0 0.0
    CamCM 0.0 -14.1604 0.0

ボディの作成

このステップでは、カム-フォロワーモデルにボディを作成します。

ボディの定義には、予め指定されている慣性のプロッティングを使用します。
  1. 以下のいずれかの方法で、Add Body or BodyPairダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add Reference Entity > Bodyを選択します。
    • Model-Referenceツールバーで、(Body)アイコンを右クリックします。
  2. ダイアログで、Cam、FollowerShaftおよびFollowerRollerボディを追加します。
    1. 1つ目のLabelにCamと入力します。右記をクリックします: Apply
    2. 2つ目のLabelにFollowerShaftと入力します。Applyをクリックします。
    3. 3つ目のLabelにFollowerRollerと入力します。
    4. OKをクリックし、Add Body or BodyPairダイアログを閉じます。
      作成したボディがModel TreeのBodiesフォルダーの下に現れます。
  3. 各ボディについてのPropertiesパネルで、Table 2に示される情報を指定します。
    Table 2.
    ボディ Mass Ixx Iyy Izz Ixy Iyz Izx
    Cam 0.1724 59.339 62.6192 121.240 0.0 0.0 0.0
    FollowerShaft 0.0072 3.4270 0.0144 3.4270 0.0 0.0 0.0
    FollowerRoller 0.0030 0.0251 0.0251 0.0375 0.0 0.0 0.0
  4. Camボディについて、CM Coordinateタブの設定を指定します。
    1. Use center of mass coordinate systemボックスにチェックマークを入れます。
    2. をダブルクリックします。
    3. Select a Pointダイアログで、CamCMを選択します。
    4. OKをクリックします。
    5. 軸の方向のプロパティについては、デフォルトの設定を受諾します。
  5. FollowerShaftボディについて、CM Coordinateタブの設定を指定します。
    1. Use CM Coordsysボックスにチェックマークを入れます。
    2. をダブルクリックします。
    3. Select a Pointダイアログで、FollowerShaftCMを選択します。
    4. OKをクリックします。
    5. 軸の方向のプロパティについては、デフォルトの設定を受諾します。
  6. FollowerRollerボディについて、CM Coordinateタブの設定を指定します。
    1. Use CM Coordsysボックスにチェックマークを入れます。
    2. をダブルクリックします。
    3. Select a Pointダイアログで、FollowerRevJointを選択します。
    4. OKをクリックします。
    5. 軸の方向のプロパティについては、デフォルトの設定を受諾します。

ジョイントの作成

このステップでは、カム-フォロワーモデルにジョイントを作成します。

この後に定義するCVCVジョイントを除くすべてのジョイントを定義します。
  1. 以下のいずれかの方法で、Add Joint or JointPairダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add > Constraint > Jointを選択します。
    • Model-Constraintsツールバーで、(Joints)アイコンを右クリックします。
  2. CamPivotジョイントを作成します。
    1. Add Joint or JointPairで、LabelにCamPivotと入力します。
    2. TypeにRevolute Jointを選択します。
    3. OKをクリックします。
    4. Connectivityタブでをダブルクリックし、Camとします。
    5. Ground Bodyとし、OKをクリックします。
    6. Connectivityタブでをダブルクリックし、PivotPointとします。
    7. Alignment Axisをに変更します。VectorをGlobal Zとします。
  3. FollowerTransJointを作成します。
    1. Add Joint or JointPairで、LabelにFollowerTransJointと入力します。
    2. TypeにTranslational Jointを選択します。
    3. OKをクリックします。
    4. Connectivityタブでをダブルクリックし、FollowerShaftとします。
    5. Ground Bodyとし、OKをクリックします。
    6. Connectivityタブでをダブルクリックし、FollowerTransJointとします。
    7. Alignment Axisをに変更します。VectorをGlobal Yとします。
  4. FollowerRollerJointを作成します。
    1. Add Joint or JointPairで、LabelにFollowerRollerJointと入力します。
    2. TypeにRevolute Jointを選択します。
    3. OKをクリックします。
    4. Connectivityタブでをダブルクリックし、FollowerRollerとします。
    5. FollowerShaftとし、OKをクリックします。
    6. Connectivityタブでをダブルクリックし、FollowerRevJointとします。
    7. Alignment Axisをに変更します。VectorをGlobal Zとします。

マーカーの作成

このステップでは、カム-フォロワーモデルにマーカーを作成します。

  1. 以下のいずれかの方法で、Add Marker or MarkerPairダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add > Reference Entity > Markerを選択します。
    • Model-Referenceツールバーで、(Marker)アイコンを右クリックします。
  2. CamMarkerを作成します。
    1. Add Marker or MarkerPairダイアログで、LabelにCamMarkerと入力します。
    2. OKをクリックします。
    3. PropertiesタブでをダブルクリックしてCamとし、OKをクリックします。
    4. Propertiesタブでをダブルクリックし、PivotPointとします。
    5. OKをクリックします。軸の方向については、デフォルトの設定を受諾します。
  3. FollowerMarkerを作成します。
    1. Add Marker or MarkerPairダイアログで、LabelにFollowerMarkerと入力します。
    2. OKをクリックします。
    3. PropertiesタブでをダブルクリックしてFollowerRollerとし、OKをクリックします。
    4. Propertiesタブでをダブルクリックし、FollowerRevJointとします。
    5. OKをクリックします。軸の方向については、デフォルトの設定を受諾します。

グラフィックスの作成

このステップでは、カム-フォロワーモデルにボディとジョイントのグラフィックスを作成します。

カムのグラフィックスには、用意されているh3dファイルを使用します。フォロワーシャフトおよびローラーは、プリミティブグラフィックスで表現できます。
  1. 以下のいずれかの方法で、Add Graphics or GraphicPairダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add > Reference Entity > Graphicsを選択します。
    • Model-Referenceツールバーで、(Graphics)アイコンを右クリックします。
  2. ダイアログで、LabelにCamと入力します。
  3. ドロップダウンメニューからFileをクリックします。


    Figure 2.
  4. (File Browser)アイコンをクリックし、モデルフォルダーからCamProfile.h3dを開きます。
  5. OKをクリックします。
  6. Connectivityタブでをダブルクリックし、グラフィックスをCamボディとします。
  7. 手順1を繰り返し、もう一つのグラフィックスを作成します。LabelにFollowerShaftと入力します。
  8. ドロップダウンメニューからCylinderを選択し、OKをクリックします。
  9. Connectivityタブでをダブルクリックし、グラフィックスをFollowerShaftボディとします。
  10. をダブルクリックし、FollowerShaftCMを選択します。続いて、OKをクリックします。
  11. Alignment Axisをに変更します。VectorをGlobal Yとします。
  12. Propertiesタブで、Table 3にリストされている値を指定します。
    Table 3.
    Property Value
    Length 75
    Offset -37.5
    Radius 1 2.000
    Radius 2 2.000
  13. CapのプロパティにCap Both Endsを選択します。
  14. 手順1を繰り返し、もう一つのグラフィックスを作成します。Table 4およびTable 5に与えられているスペックを使用します。
    Table 4.
    Name Type Direction(
    FollowerRoller Cylinder FollowerRoller FollowerRevJoint Global Z
    Table 5.
    Property Value
    Length 5.0
    Offset -2.5
    Radius 1 5.000
    Radius 2 5.000
  15. CapのプロパティにCap Both Endsを選択します。
  16. Table 6Table 7にあるスペックを用いて、CamPivotGraphicOneおよびCamPivotGraphicTwoを作成します。
    Table 6.
    Name Type Direction(
    CamPivotGraphicOne Cylinder Ground Body PivotPoint Global Z
    CamPivotGraphicTwo Cylinder Cam PivotPoint Global Z
    Table 7.
    Name Property Value
    CamPivotGraphicOne Length 7.5
    Offset -3.75
    Radius 1 4.000
    Radius 2 4.000
    CamPivotGraphicTwo Length 7.6
    Offset -3.8
    Radius 1 2.000
    Radius 2 2.000
  17. RollerPivotGraphicOneRollerPivotGraphicTwoを作成します。
    1. FollowShaft上にPut RollerPivotGraphicOneを置きます。Propertiesで、長さ7.5、半径2と指定します。
    2. FollowerRoller上にPut RollerPivotGraphicTwoを置きます。Propertiesで、長さ7.6、半径1と指定します。
  18. FollowerTransJointGraphicを作成します。
    1. Add Graphics or GraphicPairダイアログで、Boxを選択します。
    2. Connectivityタブでをダブルクリックし、グラフィックスをGround Bodyボディとします。
    3. TypeドロップダウンメニューからCenterを選択します。
    4. をダブルクリックし、FollowerTransJointを選択します。続いて、OKをクリックします。
    5. axis orientationの下で、Z-axisにベクトルGlobal Zを、ZX planeにベクトルGlobal Xを選択します。
    6. Propertiesタブで、Table 8にリストされている値を指定します。
      Table 8.
      Property Value
      Length X 15
      Length Y 10
      Length Z 10
    モデルはFigure 3ようになるはずです。


    Figure 3.

カーブの作成

このステップでは、カムとローラーを定義するカーブを作成します。

カム輪郭のデータは、.csvフォーマットで用意されています。ローラーの輪郭は円形であるため、数式を使って定義することが可能です。
  1. 以下のいずれかの方法で、Add Curveダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add > Reference Entity > Curveを選択します。
    • Model-Referenceツールバーで、(Curves)アイコンを右クリックします。
  2. LabelにCamProfileと入力し、OKをクリックします。
  3. Propertiesタブで、1つ目のドロップダウンメニューを使って、カーブを2D Cartesianから3D Cartesianに変更します。
  4. ドロップダウンメニューをクリックし、カーブタイプをClosed curveに設定します。
  5. xラジオボタンを選択します。
  6. をクリックし、CamProfile.csvを開きます。
  7. Figure 4に示されているカーブのプロパティを選択します。
    Figure 4.
  8. yラジオボタンをクリックします。ComponentをColumn 2に変更します。


    Figure 5.
  9. zラジオボタンをクリックします。ComponentをColumn 3に変更します。


    Figure 6.
  10. ステップ1を繰り返します。ダイアログで、LabelにFollowerRollerProfileと入力します。
  11. OKをクリックします。
  12. Propertiesタブで、1つ目のドロップダウンメニューを使って、カーブを2D Cartesianから3D Cartesianに変更します。
  13. ドロップダウンメニューをクリックし、カーブタイプをClosed curveに設定します。
  14. xラジオボタンを選択します。ドロップダウンメニューからMathをクリックします。
  15. Expression Builderで、5*sin(2*PI*(0:1:0.01))と入力します。
  16. yラジオボタンをクリックし、ドロップダウンメニューからMathを選択します。
  17. Expression Builderで、5*cos(2*PI*(0:1:0.01))と入力します。
  18. zラジオボタンをクリックし、ドロップダウンメニューからMathを選択します。
  19. Expression Builderで、0.0*(0:1:0.01)と入力します。

CVCVジョイントの作成

このステップでは、CVCV(曲線-曲線)ジョイントを作成します。

  1. 以下のいずれかの方法で、Add AdvJointダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add > Constraint > Jointを選択します。
    • Model-Referenceツールバーで、(Advanced Joint)アイコンを右クリックします。
  2. ダイアログで、LabelにCVCVと入力します。
  3. ドロップダウンメニューからCurveToCurveJointを選択し、OKをクリックします。
  4. Connectivityタブで各コレクター()をダブルクリックし、Figure 7に示す結合を指定します。
    Figure 7.

カムの動きの指定

このステップでは、式を使ってカムの動きを指定します。

  1. 以下のいずれかの方法で、Add Motion or MotionPairダイアログを開きます:
    • Project Browserで、Modelを右クリックして Add > Constraint > Motionを選択します。
    • Model-Referenceツールバーで、(Motion)アイコンを右クリックします。
  2. ダイアログ内で、LabelにCamMotionと入力し、OKをクリックします。
  3. Connectivityタブで、をダブルクリックします。CamPivotを選択し、OKをクリックします。
  4. Propertiesタブで、ドロップダウンメニューのExpressionにより動きを定義します。
  5. Expression欄に、`10*TIME`と入力します。


    Figure 8.

重力の指定

このステップでは、負のY方向に重力を指定します。

  1. Project Browserで、Misc.をクリックして拡張します。Forms.
  2. Formsフォルダーで、Gravityをクリックします。パネル内で、以下の値を指定します。
    • X Component = 0
    • Y Component = -9810
    • Z Component = 0

出力リクエストの指定

このステップでは、出力応答を指定します。

  1. 以下のいずれかの方法で、Add Outputダイアログを開きます:
    • Project Browserから、Modelを右クリックし、Add > General MDL Entity > Outputを選択します。
    • Generalツールバーで、(Outputs)アイコンをクリックします。
  2. ダイアログで、LabelにCVCV Reactionと入力し、OKをクリックします。
  3. Propertiesタブで、ドロップダウンメニューのExpressionにより動きを定義します。
  4. F2欄内をクリックし、ボタンをアクティブにします。
  5. ボタンをクリックします。
  6. Expression Builderで、式を'CVCV({aj_0.idstring},1,2,0)'と入力します。


    Figure 9.
  7. OKをクリックします。
  8. F3、F4、F6、F7、F8について、手順4から6までを繰り返します。式内の3番目のパラメータはそれぞれ34678に変更します。
    CVCV(idjflagref_marker) 関数は、CVCVジョイントの反力を戻します。
    • id CVCVジョイントのID
    • jflag 0はIマーカー、1はJマーカーにかかる反力、
    • comp 反力の成分
    • ref_marker 参照マーカー(0はGlobal Frameを意味する)

モデルの実行

このステップでは、カム-フォロワーモデルを実行します。

  1. ツールバーで、(Run)をクリックします。
  2. Runパネルで、Figure 10にリストされている値を指定します。


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

結果の表示

このステップでは、アニメーションの確認とフォロワーのY変位をプロットする方法について学習します。

  1. ソルバーがジョブを完了すると、Animateボタンがアクティブになります。Animateをクリックします。
    (Start/Pause Animation)ボタンをクリックし、アニメーションを見ます。

    この機構に含まれるフォロワーの変位のプロファイルにも注目する必要があります。そのためには、フォロワーの重心のY位置をプロットします。

  2. Page Controlsツールバーで、 > をクリックします。下部右側のウィンドウをクリックしてアクティブにします。
  3. アプリケーション選択ドロップダウンメニューを使って、クライアントをMotionViewからHyperGraph 2Dに切り替えます。
  4. Curvesツールバーから(Build Plotsl)アイコンをクリックします。
  5. (ブラウザアイコン)をクリックし、result.abfファイルを読み込みます。
  6. PlotパネルをFigure 11に示すとおり設定します。
    Figure 11.
  7. Applyをクリックします。これにより、フォロワーの重心のY位置をプロットします。
    フォロワーのY変位のプロファイルは、Figure 12に示すようになっているはずです。
    Figure 12.
    X-軸プロパティを1つのサイクルにズームインするよう設定した場合、プロファイルはFigure 13のようになります。


    Figure 13.

潜在的なリフトオフについてモデルをチェック

このステップでは、フォロワーローラーのCVCV反力のY輪郭をプロットすることによって、潜在的なリフトオフについてカムフォロワーの機構をチェックします。

機構の動きによって、フォロワーはカムとの接触を失う場合があります。これは‘リフトオフ’と呼ばれます。そのようなケースにおいてCVCVで機構をモデル化すると、ジョイントがフォロワーポイントを常にカーブ上にあるよう制約する(ゆえに、リフトオフをモデル化できない)ため、正しくない結果が与えられてしまいます。そのような場合は、接触のモデル化(MV-1010: 3Dメッシュ形状間の接触のシミュレーションを参照)を使用する必要があります。しかしながら、CVCVジョイントのモデル化は接触のモデル化よりもかなり易しいため、CVCVモデルから始めたいことになります。この状況を鑑み、CVCVジョイントを使って機構をモデル化し、CVCVジョイントの反力を監視します。フォロワーにかかる反力が‘引く‘反力である場合、リフトオフが生じており、接触のモデル化に切り替える必要があることを示しています。そうでない場合は、接触のモデル化は不要です。ここで、本チュートリアルで使用するモデルをチェックします。フォロワーはY軸に沿って動いているため、Y軸に沿った負の反力は‘引く’反力です。
  1. (Add Page)をクリックし、セッションに新規ページを追加します。
  2. クライアントをHyperGraph 2D に切り替えます。
  3. (Build Plots)をクリックします。
  4. (ブラウザアイコン)をクリックし、result.abfファイルを読み込みます。
  5. PlotパネルをFigure 14に示すとおり設定します。


    Figure 14.
  6. OKをクリックし、フォロワーローラーのCVCV反力のYプロファイルをプロットします。


    Figure 15.
  7. x軸をスケーリングして、プロファイルを1つのサイクルについて見てみます。


    Figure 16.
    Figure 16に示されたとおり、フォロワーにかかるCVCV反力のY成分は常に正となっています。引く反力はなく、CVCVモデルはこの機構に適しています。