MV-3000: MotionView - HyperStudyを使用したDOE
- HyperStudyを使用して、MotionViewモデルのDOEスタディを設定する。
- MotionView - HyperStudy環境でDOEスタディを実行する。
- DOEの結果を使用して、MotionViewモデルの最適化実行で使用できる近似を作成する。
理論
HyperStudyでは、CAE環境内でDOE(実験計画法)、最適化、確率統計スタディを行うことができます。DOE(Design of Experiments: 実験計画法)の目的は、モデルにおけるパラメータ(設計変数)の変更がモデルの性能(応答)にいかなる影響をもたらすかを理解することです。
DOEスタディが完了した後、DOEスタディの結果から近似関数を作成することができます。近似関数は、全入力変数の関数として出力の多項式の形にしたものです。この式は回帰方程式と呼ばれています。
この回帰方程式を使用して最適化を実行できます。
HyperStudyでは、非線形挙動を含む様々な条件下、設計における異なる側面のスタディが実施できます。
- ユーザー定義を含む様々なDOEスタディタイプを提供
- 複合領域のDOE、最適化および確率統計スタディの支援
- 確率統計スタディについて様々なサンプリング手法および分布を提供
- ユーザーフレンドリーなインターフェースによりソルバー入力モデルをパラメータ化
- 拡張的な数式ビルダーを使って数値処理を実行
- ロバストな最適化エンジンを使用
- スタディ結果のポスト処理用にビルトインサポートを包含
- MVWやTXTなどの複数の結果フォーマットによるスタディ結果をサポートする。
ツール
- メニューバーからApplications >HyperStudyを選択する。
続いて、DOEまたは最適化の演習で使用する設計変数としてMDLプロパティデータを選択できます。MotionViewのプリファレンスファイルにはソルバースクリプトが登録されていて、HyperStudyインターフェースから使用できます。これらのスクリプトを使用して複数のソルバーを連続的に実行し、DOEまたは最適化を実現できます。
どのようなスタディでも、HyperStudyのプロセスは以下の図のようになります。
HyperStudyのプロセス
MotionViewのMDLファイルはHyperStudyに直接読み込むことができます。MotionSolve、ADAMSまたはAbaqusといったソルバー入力ファイルはパラメータ化され、HyperStudy用の入力としてテンプレートファイルがサブミットされます。パラメータ化されたファイルは、DOE、最適化または確率統計スタディ中に変更される設計変数を認識します。ソルバーランはそれに応じて実行され、結果はHyperStudy内でポスト処理されます。
mbd_modeling\doeフォルダーにあるファイルhs.mdlおよびtarget_toe.csvを、自身の<作業ディレクトリ>にコピーします。
後続のステップで、スタディを作成し、フロントSLAサスペンションモデルについてDOEスタディを実行します。
Static Ride Analysisを実行し、トーカーブ上の内側および外側タイロッドジョイントの原点の座標位置を変化させる効果を判断します。
Step 1: スタディのセットアップ
- 新しいMotionViewセッションを開始します。
- Model-Mainツールバー上のOpen Modelアイコンをクリックします。
メニューバーからFile > Open > Modelを選択します。
- 作業ディレクトリ内にあるモデルファイルhs.mdlを選択し、開くをクリックします。
- Static Ride Analysisの下で、モデルとトーカーブ出力リクエストを確認します。
-
ApplicationsメニューからHyperStudyを選択します。
HyperStudyが起動します。メッセージ“
Establishing connection between MotionView and HyperStudy
”が表示されます。 -
下記のいずれかの方法で、新規スタディを開始します。
- ウェルカムページページで新規スタディアイコンをクリックします。
- ツールバーで(新規スタディ)アイコンをクリックします。
- メインメニューからFile(ファイル) > New(新規)を選択します。HyperStudy - Add Studyダイアログが表示されます。
-
デフォルトのラベルを受諾します。
- Location(位置)の下でファイルブラウザをクリックし、<作業ディレクトリ>を選択します。
- OKをクリックします。
-
モデル定義
- スタディのSetup(セットアップ)ツリーからDefine models(モデルの定義)を選択します。
- をクリックしてAdd(追加)ダイアログを開きます。
- Type(タイプの選択)の下で、MotionViewを選択し、MotionViewモデルをスタディに追加します。
- デフォルトの識別子を受諾します。
-
OKをクリックします。
モデルデータを含んだ、下に示す表が作成されます。
-
モデルデータ
ユーザーがモデルを定義する際に、以下の詳細は自動的に入力される点(1つ前の手順)にご留意ください。
- Active(アクティブ)の下で、スタディからモデルをアクティブにするには、ボックスにチェックマークを入れます。
- 前の手順で入力されたモデルのラベル
- 前の手順で入力されたモデルの識別子
- 前の手順で選択されたモデルタイプ
- ソースファイルを指定(ここでは、モデルファイルはMotionView – HyperStudyインターフェースを介してMotionViewから供給される)
- 正しい拡張子のついたソルバー入力ファイルの名称を入力し、(MotionSolveの場合、拡張子は.xml)ソルバー実行スクリプトMotionSolve - standalone ( ms )を選択します。
-
設計変数の作成
- Import Variables(変数のインポート)をクリックし、スタディの設計変数を指定します。
- MotionViewでModel Browserウィンドウが開き、ここで変数をインタラクティブに選択することができます。
-
Model Parameter Tree(モデルパラメータツリー)ダイアログを使って、browserから下記を選択します:
System Point Coordinate Function Front SLA susp. Otr tie-rod ball-jt -left Y ダブルクリック、またはAddをクリック Front SLA susp. Otr tie-rod ball-jt –left Z ダブルクリック、またはAddをクリック Parallel Steering Inr tie-rod ball - left Y ダブルクリック、またはAddをクリック Parallel Steering Inr tie-rod ball - left Z ダブルクリック、またはAddをクリック - OKをクリックします。
- Next(次)をクリックし、設計変数の定義に進みます。
-
設計変数の定義
-
Define design variables(設計変数の定義)タブで、下の一覧に従い、設計変数の上限と下限を編集します。
Point Coordinate Lower Bound(下限値) Upper Bound(上限値) Outer tie-rod ball-jt -left Y -571.15 -559.15 Outer tie-rod ball-jt - left Z 246.92 250.92 Inner tie-rod ball - left Y -221.9 -209.9 Inner tie-rod ball - left Z 274.86 278.86 - この手順には、設計変数への他のプロパティの定義も含まれています。オプションのModes(モード)およびDistributions(分布)は、指定した範囲での入力変数のバリエーションを指定します。オプションのLinks(リンク)は、数式を介して異なる設計変数同士をリンクするために使用されます。
- 各タブをクリックし、これらのオプションを確認します。
-
追加可能なオプションを確認するには、列のヘッダーの行を右クリックします。
- Next(次)をクリックし、Specifications(スタディ仕様)に進みます。
-
Define design variables(設計変数の定義)タブで、下の一覧に従い、設計変数の上限と下限を編集します。
-
モデルをテストします。
このセクションでは、HyperStudyが計算を実行し、そのファイルにアクセスして同じ結果を抽出できることを確認するためのテストランを実行することができます。
-
Run Definition(実行定義)をクリックし、シミュレーションを開始します。
Note: 完了すると、以下のオプションに緑色のチェックマークが表示されます。Write(書き出し)、Execute(実行)またはExtract(抽出)。
- Next(次へ)をクリックすると、Define Output Responses(出力応答の定義)に移動します。
-
Run Definition(実行定義)をクリックし、シミュレーションを開始します。
-
応答の定義
- Add Response(応答の追加)をクリックし、新しい応答を追加します。
- 応答のラベルをSum of Squared Errorとします。
-
変数名を受諾し、OKをクリックします。
-
応答テーブル内、Expression(式)セルの…をクリックしてExpression Builder(式ビルダー)を起動します。
Note: 関数の上にカーソルを移動すると、その関数についてのヘルプを得ることができます。本演習では、応答関数は次の2つのデータソースを必要とします:
- Data Source 1の要素には、ベース設定についてソルバーランからのトーカーブの実際のデータポイントが含まれます。
- Data Source 2の要素には、ターゲットカーブからのデータポイントが含まれます。
- Data Sources(データソース)タブをクリックし、ファイルからデータを得ます。
-
Data Source 1
-
クリックし、ソルバー出力ファイルを使って新しいデータソースを追加します。
- Data Source(データソース)テーブルのFile(ファイル)セルで…をクリックしてData Source Builder: Data Source 1 (ds_1)ダイアログボックスを開きます。
- ファイルブラウザボタンをクリックし、<working directory>\approaches\setup_1-def\run__00001\m_1\からm_1.mrfを選択します。
- これで、Type、RequestおよびComponent欄に入力が可能となります。
- TypeドロップダウンメニューからExpressionsを選択します。
- Requestドロップダウンメニューから REQ/70000033 toe-curve.を選択します。
-
Component ドロップダウンメニューからF2を選択します。
これで、Data Source 1用のデータ要素として、ソルバーランからのトーカーブデータが選択されました。
- OKをクリックします。
-
クリックし、ソルバー出力ファイルを使って新しいデータソースを追加します。
-
Data Source 2
- ターゲットトーカーブからのデータ要素を保持するデータソースを作成します。
-
Add Data Source(データソースの追加)をクリックし、リファレンスファイルを使って新しいデータソースを追加します。
- Data Source(データソース)テーブルのFile(ファイル)セルで…をクリックしてData Source Builder: Data Source 2 (ds_2)ダイアログボックスを開きます。
-
ファイルブラウザボタンをクリックし、<working directory>\にあるファイルtarget_toe.csvを選択します。
- TypeをUnknown、RequestをBlock 1に設定します。
- ComponentドロップダウンメニューからColumn 1を選択します。
- OKをクリックします。
-
Expression(式)欄を編集し、以下の式を作成します:
sum((ds_1-ds_2)^2)
この式は、“実際のトーの変化”の値(ソルバーランより)と“目標のトーカーブ”(インポートされたファイルより)との差の二乗の和を評価します。後続のチュートリアルMV-3010では、HyperStudyを使用し、この式の値を最小化して、必要とされるサスペンションのコンフィギュレーションを求めます。
- Evaluate Expression(式の評価) をクリックし、式が正しく評価されていることを確認します。値16.284が得られるはずです。
- OKをクリックし、Expression builder(式ビルダー)を閉じてEvaluate(評価)ボタンをクリックします。
- ファイルメニューからSave As…(名前をつけて保存…)を選択します。
- このスタディのセットアップを<working directory>\にsetup.hstudyとして保存します。
Step 2: DOEスタディ
-
新規DOEスタディの追加
-
エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてAdd Approach(アプローチの追加)ダイアログを表示させます。
-
Next(次へ)ボタンで新しいDOEスタディを追加します。
Note: Add Approachダイアログが表示されます。
- Select Type(タイプの選択)の下で、Doeを選択します。
-
デフォルトのラベルと識別子を受諾し、OKをクリックします。
DOE 1という名称のDOEスタディツリーがブラウザに表示されます。
-
Next(次へ)をクリックし、次の定義に移動します。
Note: モデルと入力変数は以前のセットアップから抽出され、すでに定義されているのを確認してください。本スタディ内の全ての設計変数は制御変数である点に注意します。
-
エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてAdd Approach(アプローチの追加)ダイアログを表示させます。
-
Test models(モデルをテスト)定義します。
-
Review(レビュー)をクリックすると、Test Models(モデルをテスト)ステップに移動します。
-
Run Definition(実行定義)をクリックして、モデルのテスト実行します。
-
Review(レビュー)をクリックすると、Test Models(モデルをテスト)ステップに移動します。
-
DOEスタディのための応答の選択:
- 現在のスタディには応答は1つしかありません。その応答を選択してください。
- Next(次)をクリックし、Specifications(スタディ仕様)に進みます。
-
DOEスタディの仕様:
DOEスタディの設計空間は、このステップで作成されます。現在のスタディには、それぞれが2つのレベルを有した4つの設計変数が含まれています。実験数はより少ないため、完全要因は、2の4乗 = 16 実験となります。完全要因のランを行います。
-
Show more...をクリックし、Full Factorial(完全要因)モードを選択します。
Note: リストから任意のモードを選択すると、GUIの右側のパラメータパネルに、使用可能なオプションの全てが表示されます。
-
Levels(レベル)タブをクリックし、設計変数とレベル数を確認します。
-
Interactions(交互作用)タブをクリックし、適用不可であることを確認します。これは、全ての交互作用がデフォルトで完全要因のランに選択されているためです。
Note: 適用されないオプションはグレイアウトされているか、もしくはメッセージが表示されます。
-
Show more...をクリックし、Full Factorial(完全要因)モードを選択します。
- Apply(適用)をクリックし、設計空間を作成します。
- Next(次)をクリックし、Evaluate(評価)に進みます。
-
DOEラン:
タスクタブには、16行4列のテーブルが表示されています。列1は実験番号、その他の列はモデルの実行の3つのステージ書き出し、実行、抽出において各実験が更新された失敗または成功の実験ステータスに対応しています。
各実験下で使用される設計変数値は、Evaluation Data(評価データ)タブで確認できます。
一番右の列は、各ランからの応答値に対応しています。これらの値は、ランが完了した際に入力されます。
-
Evaluate Tasks(評価タスク)をクリックしてDOEスタディを開始します。
すべてのランが完了すると、タスクテーブルで各ランについてのステータス(成功/失敗)が示されます。
- 現在のDOEスタディでは、すべてのランが正常に完了しています。Next(次)をクリックし、Post Processing(ポスト処理)に進みます。
-
Evaluate Tasks(評価タスク)をクリックしてDOEスタディを開始します。
-
主効果と交互作用のプロットの確認:
ポスト処理セクションには、ユーザーが結果のポスト処理を効果的に行うための様々なユーティリティが用意されています。ポスト処理ページでは、設計と応答のサマリーが表示されます。
新世代のHyperStudyでは、列のヘディングを右クリックしてコンテキストメニューからオプションを選択することにより、データをソートすることが可能です。
ポスト処理のためのオプション群は、その他のタブにも用意されています。主効果は、Linear Effects(線形効果)タブを選択することによりプロットできます。
-
主効果
- Linear Effects(線形効果)タブをクリックして、主効果のプロットウィンドウを開きます。Channel(チャンネル)ページで、主効果をプロットする必要のあるVariables and Responsesを選択します。複数の選択を行う場合は、マウスの左ボタンを押し、変数または応答のリストの上で移動させます。
-
全ての制御変数と応用を選択し、主効果のプロットを描画します。このプロットは、応答の各パラメータの効果を示します。
Note: ウィンドウアイコン(上の図のハイライト部分)をクリックし、複数ウィンドウのアイコンに切り替えます。各カーブが異なるプロットウィンドウ内に表示されます。
-
交互作用
交互作用は、別の入力変数の異なるレベルにおける出力応答に同じ影響を及ぼすための1つの変数の失敗です。すなわち、影響の強さまたはサイン(方向)は、他の変数の値(ラベル)によって異なります。交互作用は正でも負でもあり得ます。
交互作用は、Interactions(交互作用)タブで上記のプロシージャに従ってプロットすることが可能です。
- 設計変数Otr_tierod_ball_jt-left-zおよびInr_tierod_ball_jt-left-z、および応答Sum of Squared Errorを選択します。
-
Interactions(交互作用)タブをクリックし、適用不可であることを確認します。これは、全ての交互作用がデフォルトで完全要因のランに選択されているためです。
これは、これら2つの変数のみについての交互作用を表示します。
Step 3: 近似関数
システム応答は、様々なカーブフィッティングの手法を用いることで近似されます。異なる設計変数での応答の近似は、上記のDOEスタディからのデータを使って計算されます。近似の精度は確認し、向上させることが可能です。
-
近似関数の追加
-
エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてAdd Approach(アプローチの追加)ダイアログを表示させます。
- Select Type(タイプの選択)の下でFit(フィット)を選択します。
-
デフォルトのラベルと識別子を受諾し、OKをクリックします。
Fit 1という名称の新しいツリーがブラウザに生成されます。
-
Next(次へ)をクリックし、次の定義に移動します。
Note: モデルと入力変数は以前のセットアップから抽出され、すでに定義されています。
-
Test models(モデルをテスト)定義します。Review(レビュー)をクリックすると、Test Models(モデルをテスト)ステップに移動します。Run Definition(実行定義)をクリックして、モデルのテスト実行します。
- Next(次へ)をクリックして出力応答を確認します。
- Next(次へ)をクリックして、スタディ仕様を定義します。
-
エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてAdd Approach(アプローチの追加)ダイアログを表示させます。
-
スタディ仕様を定義します。
-
Note: デフォルトでマトリックスが追加されています。DOE結果を入力マトリックスとして設定するための以下のオプションが選択されているかどうかを確認します。 - Type(タイプ)の下で、ドロップダウンメニューを使ってInputを選択します。
-
Matrix Source(マトリックスソース)に、ドロップダウンメニューからDoe 1を選択します。
現在のスタディでは、検証マトリックスは使用していません。したがって、検証マトリックスにはいずれのマトリックスも追加されません。
- Display欄の下にあるView(ビュー)をクリックして、実行マトリックスを確認します。Close(閉じる)で戻ります。
- フィットタイプをMoving Least Squares(移動最小自乗法)に変更し、デフォルトを受け入れます。
- Apply(適用)をクリックし、近似の手法を適用します。
- Next(次)をクリックし、Evaluate(評価)に進みます。
- DOE実験に対応した空のTasks(タスク)テーブルを確認します。
-
Evaluate Tasks(評価タスク)をクリックし、DOE実験についての近似を評価します。
完了時には、テーブルにステータスの値(Success(成功)または(失敗))が入力されます。
- 他のタブをクリックして、フィッティングを確認します。
- Evaluation Data(評価データ)タブをクリックし、MotionSolveのランからの応答を含んだ実験テーブルと、近似を使って予測された応答を確認します。Evaluation plot(評価プロット)タブを選択すると、同じものがグラフフォーマットで確認できます。
-
Sum of Squared of Squared ErrorとSquared of Squared Error_MLSMを選択し、実験番号に対しプロットを生成します。
このフィッティングは、応答への良好な近似を示しています。
-
Next(次)をクリックし、Post Processing(ポスト処理)に進みます。
ポスト処理は、近似の正確さの検証において有益な統計的パラメータとグラフィカルなツールを提供します。
(残差)タブには、ソルバーからの応答値と回帰式からの応答値との差が表示されています。
残差値は、どのランが回帰モデル内でより多くのエラーを生み出しているかを知るために使用できます。
Trade-off(トレードオフ)タブには、主効果vs.近似からの応答のプロットが表示されています。
-
X軸としてOtr_tierod_ball_jt-left-yを、Y軸としてOtr_tierod_ball_jt-left-zを選択し、vs.近似からの応答をプロットします。
-
ツールバーで保存のアイコンをクリックし、スタディを保存します。
Note: スタディのファイルは全て、ツリーの変数名と同じ名称のついたフォルダでスタディディレクトリに保存されます。たとえば、nom_1、doe_1およびfit_1。
-