MotionView入門 - パート2
このチュートリアルでは、重力の設定、ブッシュの定義、モーションの適用方法を学びます。
本チュートリアルには以下に関する演習が含まれています:
- ジョイントとブッシュ
- 重力
- モーション
- 冗長な拘束の除去
- 出力
- 解析とポスト処理
注: チュートリアルの作業用に作業ディレクトリを作成することをお勧めします。
このチュートリアルでは、前回のチュートリアルのモデルを引き続き使用します。開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。
ソルバーログファイルの確認
-
MotionViewを起動し、Home(ホーム)グループのOpen
Model
を使用して、前のチュートリアルで保存したMV_intro1.mdlファイルを開きます。
または、
を選択してモデルを開きます。
重要: 前のチュートリアルのモデルと結果がない場合は、上記のリンクを使用して結果を生成するrunファイルをダウンロードし、実行してください。 -
リボンバーでAnalyze(解析)を選択し、Solution(ソリューション)グループのRun(実行)アイコンの横にあるRun
History(実行履歴)サテライトをクリックします。
図 1. Run History(実行履歴)サテライトアイコン
注: ‘Run History’には、モデルごとのすべての実行履歴が維持されています。このツールを通じて、以前の実行のモデルと結果にアクセスできます。現在のモデルのエントリを展開し、実行名MV_intro1_Runを右クリックしてView Logをクリックします。図 2. ソルバーログの表示
ソルバーログがテキストエディターに読み込まれます。モデル内で2つの冗長な拘束が特定されているのがわかります。図 3. 2つの冗長な拘束を示すソルバーログ
各ジョイントは、そのタイプに基づいて、一連の拘束を課すか、1つ以上のボディの自由度を削除します。各ジョイントタイプによって削除される自由度の数の詳細は、Jointsのトピックを参照してください。現在結合されているジョイントの構成では、モデル内の自由度の合計数より多くの拘束があります。MotionSolveは、冗長な拘束を検出して自動的に削除し、一意のソリューションを見つけてシミュレーションを進めることができるように設計されています。ただし、そのようなシミュレーションには次のような可能性があります:- 望ましくない、または予期しない結果をもたらす。
- メカニズムのロックアップまたはシミュレーションの失敗。
自分自身でモデルを確認し、冗長な拘束を削除することが推奨されるベストプラクティスです。次のステップでは、ジョイント構成を変更し、冗長な拘束が存在しないことを確認します。
- Run Historyダイアログを閉じます。
-
を使用してモデルを保存します。
- 表示されるSave As Modelダイアログで、作業ディレクトリに移動して、このファイルにMV_intro2.mdlという名前を付けます。
- Saveをクリックします。
冗長な拘束の除去
-
モデルブラウザからジョイントJoint 1を選択します。エンティティエディターで、以下のプロパティを変更します:
-
Labelを
Crank-Conrod
に変更 -
Varnameを
j_crank_conrod
に変更
注: エンティティエディターがデフォルトで表示されない場合は、モデルブラウザでジョイントを右クリックし、コンテキストメニューからShow Propertiesオプションを選択するか、メニューバーの を使用して、これをオンにします。同様に、次のジョイントを1つずつ選択し、次のテーブルに従ってラベルの名前と変数名を変更します:現在のラベル名 現在の変数名 変更後のラベル名 変更後の変数名 Joint 0 j_0 Crank j_crank Joint 2 j_2 Piston Pin j_pistonpin Joint 3 j_3 Piston-Cylinder j_piston_cyl 注: Varnameは変数名の略で、エンティティに固有の識別子です。変数名を使用して、あるエンティティのプロパティを別のエンティティのプロパティに関連付けることができます。同様に、次のポイントを1つずつ選択し、次のテーブルに従って名前を変更します:現在のラベル名 現在の変数名 変更後のラベル名 変更後の変数名 Point 0 p_0 Crank Center p_crank_cent Point 1 p_1 Crank-Conrod p_crank_conrod Point 2 p_2 Piston Pin p_pistonpin Point 3 p_3 Piston Pin Axis p_pistonpin_axis Point 4 p_4 Piston Center p_piston_cent -
Labelを
-
エンティティエディターを使用してジョイントPiston Pinを変更します。
- モデルブラウザでジョイントを選択します。
- TypeをUniversalに変更します。
- Orientationで、Alignment Type 1をShaftに変更します。
- Method 1をPointに変更します。
- Point 1コレクター(Method 1の下)をアクティブにして、モデリングウィンドウからCrank-Conrodポイントを選択します。
図 4. Piston Pinのユニバーサルジョイントへの変更
変更後のエンティティエディターは、次の図のようになります。図 5. 変更後のPiston Pinのエンティティエディター
-
Crank-Conrodのジョイントタイプを変更します。エンティティエディターから:
- モデルブラウザでジョイントを選択します。
- TypeをCylindricalに変更します。
-
モデルを実行します。
注: 実行アニメーションからわかるように、モデルの動作は以前と同じままです。それに加え、ソルバーログに冗長な拘束がレポートされなくなります。Crank-CrankrodジョイントとPiston Pinジョイントからそれぞれ1つの拘束を削除することによって、以前レポートされていた冗長な拘束が効果的に解決されました。
選択したジョイント構成で冗長な拘束が削除されたとしても、それはパートが持つジョイント相互作用の種類を表していない可能性があります。
冗長な拘束条件を解決するには、他に次のような方法があります:- ジョイントをコンプライアントに変更します(ジョイントを剛性および減衰プロパティを持つブッシュと呼ばれる力要素に変換します)。
- いずれかのボディを弾性体として表します。
弾性体の作成と使用法については、別のチュートリアルで説明します。次のステップでは、ブッシュとコンプライアントジョイントについて説明します。
ジョイントのブッシュへの置換
-
ジョイントPiston Pinを非アクティブにします。
- モデルブラウザからジョイントを選択します。
- 右クリックして をクリックします。
注: エンティティは、エンティティエディターのActiveチェックボックスをクリアすることで非アクティブにできます。 -
ブッシュを追加します。
-
エンティティエディターを使用してブッシュプロパティを変更します。
-
Trans DampingおよびRot
Dampingプロパティを設定します。
-
Trans DampingのValue(cx、cy、cz)を
10 N-sec/mm
に設定します。 -
Rot DampingのValue(ctx、cty)を
1000 N-mm-sec/rad
に設定します。
図 10. ブッシュの減衰プロパティ
-
Trans DampingのValue(cx、cy、cz)を
-
Crank-Conrod円筒ジョイントをコンプライアントジョイントに変更します。
注: ジョイントのコンプライアンスは、剛性ジョイントをブッシュに、またはその逆に切り替えることができる機能です。これは、ジョイントに問題があるモデルやブッシュ表現の潜在的な問題のデバッグに非常に有用な機能です。
重力の設定
注: 新しいモデルでは、デフォルトで負のZ方向に沿って重力がオンになっています。
-
Geometry(ジオメトリ)リボンのSetup(セットアップ)グループで、Gravity(重力)アイコン
をクリックします。
-
表示されるマイクロダイアログで:
図 13. デフォルトの重力のマイクロダイアログ
クランク運動の適用
運動は:
- ジョイント、またはボディに属する参照フレーム(すなわち、マーカー)に適用できます。
- 時間に応じて変化できます。
- 自由度を奪います。
このモデルでは、Crankジョイントに運動を適用して、特定の速度でクランクを回転させます。
-
Model(モデル)リボンのEntitie(エンティティ)sグループで、Motions(モーション)アイコン
をクリックしてMotionsコンテキストに入ります。
- 表示されるガイドバーで、Jointコレクターをアクティブにして、モデリングウィンドウでCrankジョイントを選択します。
-
ジョイントの選択時に表示されるCreateボタン
をクリックします。
-
ガイドバーのCancel
をクリックして、Jointコンテキストを終了します。
またはモデリングウィンドウの空白領域を右クリックし、
をクリックします。
-
作成した運動のEntity Editorで:
-
LabelとVarnameの名前をそれぞれ
Crank Motion
とmot_crank
に変更します。 - PropertyをVelocityに変更します。
-
Propertiesセクションで、TypeをExpressionに、Expression
Valueを
60d
に変更します。
注: 値が1.0472
rad/sに評価されていることがわかります。“d”は、度をラジアンに変換する演算子です。 -
LabelとVarnameの名前をそれぞれ
-
Save
をクリックしてモデルを保存します。
-
モデルブラウザでDefault Analysisを選択し、End Timeを
6
に変更します。 -
モデルの動作を確認します。
-
Run(実行)アイコンの近くにあるAnalysis settingsサテライトアイコン
をクリックします。
-
Run Motion Analysisダイアログで、Run
nameを
MV_intro2_Motion
に変更します。 - Runをクリックします。
ヒント: モデルを構築する際は、複雑さをすべて一度に加えて最後にそれを解析するのではなく、徐々に複雑さを加え、頻繁にモデルを解析して検証する(Crawl-Walk-Runアプローチ)ことをお勧めします。 -
Run(実行)アイコンの近くにあるAnalysis settingsサテライトアイコン
出力の追加
-
Analyze(解析)リボンから、Solution(ソリューション)グループのOutputs(出力)アイコン
をクリックします。
-
表示されるガイドバーで:
-
モデルブラウザから出力を選択し、LabelとVarnameをそれぞれ
Crank Displacement
とo_crank_disp
に変更します。同様に、ガイドバーの次の選択肢を使用して、ピストンの変位を測定するための出力を追加します:- Type: Displacement、Entity、Body
- Body Collector: Piston
- Reference Marker: Global Frame
- Label:
Piston Displacement
- Varname:
o_piston_disp
モデルの実行と出力の確認
- Run(実行)アイコンを使用してモデルを実行します。
- 実行が完了したらRun StatusダイアログのPlotボタンをクリックします。
-
HyperGraphページ、Create Curve by Files dialog (Y Source Tab)で、以下を選択します:
- Types: Marker Displacement
- Requests: Crank on Bearing (Crank Displacement)
- Components: YAW
図 15. クランク変位出力
注: YAWはZ軸中心の回転変位を保持するコンポーネントです。グラフは、クランクの変位が6秒間に0度から360度まで変化する様子を示しています。 -
同様に、以下の選択肢を使ってピストンの変位をプロットします
- Types: Marker Displacement
- Requests: Piston (Piston Displacement)
- Components: DZ
図 16. ピストン変位出力