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

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

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


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

ポイントの作成

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

始める前に、mbd_modeling\interactiveフォルダーにあるCamProfile.h3dおよび CamProfile.csvファイルを自身の<作業ディレクトリ>にコピーします。
  1. 新しいMotionViewセッションを開始します。
  2. 以下のいずれかの方法で、Add Point or PointPairダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd Reference Entity > Pointを選択します。
    • Model-Referenceツールバーで、(Point)アイコンを右クリックします。
  3. LabelにPivotPointと入力します。デフォルトの識別子を受諾します。
  4. OKをクリックします。
  5. Propertiesタブをクリックし、X、Y、Z座標値を0.0と指定します。
  6. 表 1に指定したポイントについて、手順2から4までを繰り返します。
    表 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ブラウザ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ダイアログを閉じます。
      作成したボディがモデルツリーのBodiesフォルダーの下に現れます。
  3. 各ボディについてのPropertiesパネルで、表 2に示される情報を指定します。
    表 2.
    Body 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ブラウザ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ブラウザ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ブラウザModelを右クリックしてAdd > Reference Entity > Graphicsを選択します。
    • Model-Referenceツールバーで、(Graphics)アイコンを右クリックします。
  2. ダイアログで、LabelにCamと入力します。
  3. ドロップダウンメニューからFileをクリックします。


    図 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タブで、表 3にリストされている値を指定します。
    表 3.
    Property
    Length 75
    Offset -37.5
    Radius 1 2.000
    Radius 2 2.000
  13. CapのプロパティにCap Both Endsを選択します。
  14. 手順1を繰り返し、もう一つのグラフィックスを作成します。表 4および表 5に与えられているスペックを使用します。
    表 4.
    Name Type Direction(
    FollowerRoller Cylinder FollowerRoller FollowerRevJoint Global Z
    表 5.
    Property
    Length 5.0
    Offset -2.5
    Radius 1 5.000
    Radius 2 5.000
  15. CapのプロパティにCap Both Endsを選択します。
  16. 表 6表 7にあるスペックを用いて、CamPivotGraphicOneおよびCamPivotGraphicTwoを作成します。
    表 6.
    Name Type Direction(
    CamPivotGraphicOne Cylinder Ground Body PivotPoint Global Z
    CamPivotGraphicTwo Cylinder Cam PivotPoint Global Z
    表 7.
    Name プロパティ
    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タブで、表 8にリストされている値を指定します。
      表 8.
      Property
      Length X 15
      Length Y 10
      Length Z 10
    モデルは図 3ようになるはずです。


    図 3.

カーブの作成

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

カム輪郭のデータは、.csvフォーマットで用意されています。ローラーの輪郭は円形であるため、数式を使って定義することが可能です。
  1. 以下のいずれかの方法で、Add Curveダイアログを開きます:
    • Projectブラウザ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. 図 4に示されているカーブのプロパティを選択します。
    図 4.
  8. yラジオボタンをクリックします。ComponentをColumn 2に変更します。


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


    図 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ブラウザModelを右クリックしてAdd > Constraint > Advanced Jointを選択します。
    • Model-Referenceツールバーで、(Advanced Joint)アイコンを右クリックします。
  2. ダイアログで、LabelにCVCVと入力します。
  3. ドロップダウンメニューからCurveToCurveJointを選択し、OKをクリックします。
  4. Connectivityタブで各コレクター()をダブルクリックし、図 7に示す結合を指定します。
    図 7.

カムの動きの指定

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

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


    図 8.

重力の指定

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

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

出力リクエストの指定

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

  1. 以下のいずれかの方法で、Add Outputダイアログを開きます:
    • Projectブラウザ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)'と入力します。


    図 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パネルで、図 10にリストされている値を指定します。


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

結果の表示

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

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

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

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


    図 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パネルを図 14に示すとおり設定します。


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


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


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