MV-1020:2D剛体間接触シミュレーションのモデル化
カーブエンティティおよびカーブグラフィックスの作成、マクロを使ったそれらの同時作成、および2D剛体曲線-曲線接触のセットアップを行う方法を学びます。
モデルの確認
MotionSolveを使ってモデルを実行することによって確認を行います。
<installation_directory>\tutorials\mv_hv_hg\mbd_modeling\interactive\フォルダーから、ファイルCam_Follower_Input.mdl、CamProfile.h3d、Cam_Fixed.csvおよびCam_Variable.csvを自身の作業ディレクトリ<working directory>にコピーしてください。
- MotionViewを起動します。
-
以下のいずれかでモデルを開きます:
- Standardツールバーから(Open Model)をクリックします。
- メニューバーでFile > Open > Modelをクリックします。
-
Open modelダイアログで、作業ディレクトリにあるファイルCam_Follower_Input.mdlを選択し、Openをクリックします。
モデルのBody、Graphic、Marker、JointおよびMotionについて確認します。モデルは図 2ようになるはずです。
- (Runパネル)アイコンをクリックします。
- Save and run current modelブラウザボタンをクリックします。Runボタンをクリックします。
- シミュレーションが完了したら、ソルバーウィンドウとメッセージログを閉じます。
-
RunパネルでAnimateボタンをクリックし、結果のアニメーションを確認します。
モデル内で接触は定義されていないため、FollowerRollerはCamと接触していない点にご注目ください。
-
(Page Window Layout)ボタンをクリックし、MotionViewウィンドウに戻ります。
カーブエンティティとカーブグラフィックスの作成
FollowerRollerについてカーブエンティティとカーブグラフィックスを作成します。
-
以下のいずれかの方法で、Add Curveダイアログを開きます:
- ProjectブラウザのModelを右クリックしてAdd > Reference Entity > Curveを選択します。
- Reference Entityツールバーで、(Curves)アイコンをクリックします。
- ダイアログで、LabelにRoller_Curveと入力します。Variableにcrv_rollerと入力します。
-
OKをクリックします。
-
Propertiesタブで、1つ目のドロップダウンメニューを使って、カーブを3D Cartesianに変更します。
注: カーブグラフィックスには、3Dデカルトタイプのカーブエンティティのみがサポートされています。
- 4番目のドロップダウンメニューを使って、カーブをOpen CurveからClosed Curveに変更します。
- xラジオボタンをクリックし、ドロップダウンメニューからMathを選択します。
- Expression Builderで、5*SIN(2*PI*(0:1:0.01))と入力し、Enterキーを押します。
-
y座標とz座標のMath式にそれぞれ5*COS(2*PI*(0:1:0.01))、0.0*(0:1:0.01)と入力します。
これで、カーブエンティティの作成が完了しました。続いて、FollowerRollerボディを表すグラフィックスを作成します。後に、これを使って2D接触を定義します。
-
以下のいずれかの方法で、Add CurveGraphicダイアログを開きます:
- ProjectブラウザのModelを右クリックしてAdd > Reference Entity > Graphicを選択します。
- Reference Entityツールバーで、(Graphics)アイコンをクリックします。
- ドロップダウンメニューからCurveを選択します。
- ダイアログで、LabelにRoller_Curveと入力します。Variableにgcrv_rollerと入力します。
-
OKをクリックします。
注: Body/Pointオプション(Parentタイプ)はConnectivityタブ上でデフォルトで選択されています。
-
Connectivityタブで、コレクターをダブルクリックします。ダイアログで、FollowerRollerを選択します。
コレクターはデフォルトでハイライト表示されます。
- コレクターをクリックします。ダイアログで、FollowerRevJointを選択します。
-
コレクターをクリックします。ダイアログで、Roller_Curveを選択します。パネル上のその他のオプションはデフォルトの設定のままとします。
FollowerRollerを表すカーブグラフィックスが見えているはずです。
-
これで新しいグラフィックスが作成され、FollowerRollerを表すために使用されていた元のシリンダーグラフィックスは非アクティブとなります。
- ProjectブラウザでFollwerRollerを右クリックします。
-
コンテキストメニューでDeactivateをクリックします。
Camについてカーブエンティティとカーブグラフィックスを作成
フォロワーの特定の変位プロファイルを達成するための最良なカムの形状を決定するために、カムのプロファイルを固定(Fixed)部分と可変(Variable)部分の2つに分けます。
カムの可変部分は、モデル内の一部のポイントの座標値によってコントロールされます。
Camプロファイルの固定部分の作成
カーブエンティティを作成するためのポイントのx、y、z座標を含んだ.csvファイルを使用します。
-
以下のいずれかの方法で、Add Curveダイアログを開きます:
- ProjectブラウザのModelを右クリックしてAdd > Reference Entity > Curveを選択します。
- Reference Entityツールバーで、(Curves)アイコンをクリックします。
- ダイアログで、LabelにCam_fixed_Curveと入力します。Variableにcrv_cam_fixと入力します。続いて、OKをクリックします。
- Propertiesタブで、1つ目のドロップダウンメニューを使って、カーブを3D Cartesianに変更します。
- 4つ目のドロップダウンメニューの選択がOpen Curveとなっていることを確認します。
- Propertiesタブでxラジオボタンをクリックします。2番目のドロップダウンメニューでは、デフォルトのFileオプションを保持します。
- をクリックし、 <作業ディレクトリ>からCam_Fixed.csvを選択します。
- Openをクリックします。
-
ComponentにColumn 1を選択します。パネル上のその他の値についてはすべてデフォルトを保持します。
- yおよびzラジオボタンでComponentにそれぞれColumn 2とColumn 3を選択します。
-
カムを可視化するためにカーブグラフィックスを作成し、インポートされたデータが希望通りの位置にあるかを確認します。
-
カーブエンティティとカーブグラフィックスの作成の9から16までの手順を、表 1の情報を使って繰り返します。
表 1. 変数 値 ラベル Cam_Fixed_Curve 変数 gcrv_cam_fix Body Cam Origin Point Global Origin Curve Cam_Fixed_Curve Camの固定部分を表すカーブグラフィックスが見えるようになったはずです。
-
カーブエンティティとカーブグラフィックスの作成の9から16までの手順を、表 1の情報を使って繰り返します。
Camプロファイルの可変部分の作成
マクロを使用し、モデル内の既存のポイント群から自動的にカーブエンティティとカーブグラフィックスの両方を作成します。
-
以下のいずれかの方法で、モデル内にいくつかのポイントを作成します:
- メニューバーでMacros > Create Points > Using Coordinatesをクリックします。
- MotionViewツールバーで、(Create Points using Coordinates)をクリックします。
- Parametric Pointsダイアログで、(ファイルブラウザ)をクリックします。
- Cam_Variable.csvファイルを選択し、Openをクリックします。
- OKをクリックし、10個のポイント(Point 0~Point 9)を作成します。
-
これで新しいグラフィックスが作成され、Camを表すために使用されていた元のH3Dファイルグラフィックスは非アクティブとなります。
- ProjectブラウザでCamを右クリックします。
-
コンテキストメニューでDeactivateをクリックします。
ここで、新たに作成されたポイント群を使用し、Create Curve from Points/Nodesマクロを用いてCamプロファイルの可変部分を作成します。
-
以下のいずれかの方法で、Create Curve from Points/Nodesマクロを開きます:
- メニューバーから、MacrosCreate Curve from Points/Nodes/Edges/Facesをクリックします。
- MotionViewツールバーで、(Create Curve from Points/Nodesボタン)をクリックします。
- コレクターをダブルクリックし、Camボディを選択します。
- 作成される新しいカーブエンティティおよびカーブグラフィックスについてLabelsのプリフィクスをCam_Variable_Curveとして編集します。
-
コレクターに、以下のいずれかの方法でPoint 0を選択します:
- モデリングウィンドウのPoint 0をクリックします。
- コレクターをクリックします。Select a Pointダイアログで、フィルタリングされたポイントのリストからPoint 0をダブルクリックします。
Point 0がモデリングウィンドウ内でハイライト表示され、パネルにもリストされます。 -
手順9を繰り返し、残りのポイント群(1~9)をピックします。
パネルは、図 18に示すように見えるはずです:注: FileグラフィックH3Dと関連付けされた節点もピックすることが可能です。しかしながら、作成されたカーブはその節点とパラメトリックにリンクはされません。ポイントをピックすると、ポイントとカーブとの間のパラメトリックな関係は保持されます。
-
Createをクリックします。
新しいカーブエンティティと新しいカーブグラフィックス(Cam_Variable_Curve)がモデルに追加されました。 Camの可変部分を表す新たに作成されたカーブグラフィックスは、モデリングウィンドウに示すように見えているはずです。
-
新たに作成されたカーブエンティティを、Modelブラウザでモデルツリーから選択することで確認します。
注: 図 21に示すようにクリックすると、パネル内のX、Y、Z値は、マクロの使用中に選択されたポイント群をパラメトリックに指していることが分かります。このように、モデル内のこれらのポイントの座標値を変更することによって、カーブを修正することができます。
Camプロファイルの結合されたカーブの作成
Camの固定部分と可変部分を結合し、2D接触をセットアップするための新しい閉じたカーブを作成します。
-
表 2の入力詳細を用いて、ステップカーブエンティティとカーブグラフィックスの作成の手順1から5までを繰り返し、新しいカーブエンティティを挿入します。
表 2. 変数 値 ラベル Cam_Curve 変数 crv_cam Curve Type 3D Cartesian Open/Closed Closed - Propertiesタブでxラジオボタンをクリックし、2つ目のドロップダウンメニューからMathを選択します。
- Expression Builderで、{CAT(crv_cam_fix.x, crv_0.x)}と入力します。Enterキーを押します。
-
y座標とz座標のMath式にそれぞれ{CAT(crv_cam_fix.y, crv_0.y)}、{CAT(crv_cam_fix.z, crv_0.z)}と入力します。
注: CAT関数を使用することにより、Camの可変部分のデータポイントを固定部分のデータポイントに追加することができます。パネルには、Camプロファイルの固定部分と可変部分両方の統合されたデータが表示されます。これで、カーブエンティティの作成が完了しました。続いて、Camボディを表すグラフィックスを作成します。後に、これを使って2D接触を定義します。
-
以下のいずれかの方法で、Add CurveGraphicダイアログを開きます:
- ProjectブラウザのModelを右クリックしてAdd > Reference Entity > Graphicを選択します。
- Reference Entityツールバーで、(Graphics)アイコンをクリックします。
- ドロップダウンメニューからCurveを選択します。
- ダイアログで、LabelにCam_Curveと入力します。Variableにgcrv_camと入力します。
-
OKをクリックします。
注: Body/Pointオプション(Parentタイプ)はConnectivityタブ上でデフォルトで選択されています。ここでは、Markerオプションを使用します。これは、Cam (Body)とPivotPoint (Point)に関連付けされたCamMarkerが既にモデル内にあるためです。
- ConnectivityタブでParentのドロップダウンメニューを選択し、Markerに変更します。
- コレクターをダブルクリックします。
- Select a Markerダイアログで、CamMarkerを選択し、OKをクリックします。
- コレクターをダブルクリックします。
-
Select a Curveダイアログで、Cam_Curveを選択します。
Camを表すカーブグラフィックスは、モデリングウィンドウに示すように見えているはずです。
2D接触のセットアップ
CamとFollowerRollerとの間の接触を、それぞれのカーブグラフィックスを使って定義します。
- Force Entityツールバーで、(Contact)ボタンを右クリックします。
- ダイアログでLabelに2D Contact 0と入力し、デフォルトのVariableはそのままにします。
-
ドロップダウンメニューでTypeを2D Rigid to
Rigidに変更し、OKをクリックします。
-
Connectivityタブで、(I Body)コレクターをクリックします。続いて、モデリングウィンドウ内のカーブグラフィックスをクリックしてCamボディを選択します。
(J Body)コレクターが自動的にハイライト表示されます。
-
コレクターをクリックし、ダイアログ内のFollwerRollerボディを選択します。
Contactパネルが図 27に示すように現れるはずです。注: FixedおよびVariableのカーブグラフィックスはCamボディに関連付けされているため、デフォルトで選択されます。これらは必要でないため、接触の定義から除いてかまいません。
- の下で、Cam_Fixed_CurveとCam_Variable_Curveの選択を解除またはチェックを外します。
-
接触する予定の選択されたカーブの側を確認します。
-
Highlight contact sideチェックボックスをクリックしてオンにします。
注: 矢印の表示は、FollowerRollerとCamの内側を接触する側として示しています。これは修正の必要があります。
-
カーブとカーブの両方について、Flip
Contact Sideチェックボックスをクリックしてオンにします。
注: ハイライト表示されている、両方のボディの接触する側は、図 28のように見えるはずです。
-
Highlight contact sideチェックボックスをクリックしてオンにします。
- Propertiesタブで、デフォルトの選択はそのままにします。
- AdvancedタブでFind precise contact eventおよびChange simulation max step sizeオプションをデフォルト値でオンにします。
モデルの保存と実行
2D接触モデルを保存し、それをMotionSolveを使って実行します。
-
メニューバーでFile > Save As > Modelをクリックします。
-
ダイアログで<作業ディレクトリ>をブラウズし、ファイル名をCam_Follower.mdlと指定します。
-
モデルを実行します。
2次元のメッシュ化された形状について接触を定義するためにソルバーがより多くの労力を必要とする3D接触を同じモデルに使用した場合と比較し、カーブの2D接触シミュレーションは短時間で実行されることが期待できます。
-
(Runパネル)アイコンをクリックします。
注: 正確な結果を得るために、このモデルでは、より小さなステップサイズとより細かい出力インターバルを選択しています。Simulation Settings…ボタンをクリックすることで、それらを確認することができます。
- (ファイルブラウザ)をクリックし、ファイルの新しい名称としてCam_Follower.xmlと指定します。
-
Saveをクリックします。
-
(Runパネル)アイコンをクリックします。
- Run ボタンをクリックします。
結果のポスト処理
HyperViewとHyperGraphを用いて、MotionSolveシミュレーションのサマリーを確認します。
- Animateボタンをクリックし、HyperViewでアニメーションを確認します。
-
接触力を確認します。
- Vectorプロットを選択します。
- Results typeをContact Forceにします。
-
適用(Apply)をクリックします。続いて、(Start Animation)をクリックします。
-
HyperGraphを使って、シミュレーション全体の間のFollowerShaftの縦方向の変位をプロットします。
-
MotionViewウィンドウのRunパネルで、Plotボタンをクリックします。
これで、.abfファイルがHyperGraphで開きます。
- (Build Plots)をクリックします。
- Y Type (Axis)にBodyを選択します。Y RequestにFollowerShaftを選択します。Y ComponentにYを選択します。
- 適用(Apply)をクリックします。
-
MotionViewウィンドウのRunパネルで、Plotボタンをクリックします。
- オプション: MotionViewで、Point 0からPoint 9までのすべて、または一部の座標値を変更してCamプロファイルを更新し、モデルを再実行して、CamまたはFollowerShaftの変位の接触荷重に対する影響を検討します。