MV-3023:サスペンションの最適化

本チュートリアルでは、サスペンションモデルについてMotionSolveのOptimization Wizardを使って最適化問題をセットアップする方法について学習します。

このモデルは、MV- 3010:MotionView - HyperStudyを使用した最適化からのものです。以下について習得します:
  • 設計変数としてのポイントの座標の定義
  • カーブにマッチングさせるための応答タイプ'Root Mean Square Deviation'を定義
  • 目的関数としての応答の使用
  • 最適化の実行とHyperGraphでの結果の比較
概要
本チュートリアルでは、MV-3010(MotionView - HyperStudyを用いた最適化)でのサスペンションの最適化問題を引継ぎます。内側のタイロッドボールジョイントと外側のタイロッドボールジョイントの位置(yおよびz座標)を、トー角vs.ライド高さのカーブが希望する設計にマッチングするよう変化させます。


図 1. 最適化するサスペンションのトポロジー


図 2. 初期設計、最適化された設計およびターゲット設計の‘トー-ライド高さ’のカーブ
MotionSolve最適化とMotionView + HyperStudy最適化の違いを比較し、それぞれの利点について検証します。

設計変数の追加

このステップでは、最適化のための設計変数を追加します。

開始に先立ち、mbd_modeling\motionsolve\optimization\MV-3023にあるファイルmv_3023_initial_susp_opt.mdlおよびtarget_toe.csvを自身の<作業ディレクトリ>にコピーします。
  1. MotionViewmv_3023_initial_susp_opt.mdlを開きます。
  2. ProjectブラウザModelを右クリックし、コンテキストメニューからOptimization Wizardを選択します。
  3. Design Variableの下で、Pointsタブをクリックします。
    リストされているすべてのポイントが下に示されています。
  4. 内側のタイロッドボールジョイントおよび外側のタイロッドボールジョイントのy座標とz座標を設計変数とします。
    1. Frnt SLA susp(1 pc LCA)システムの下のポイントOtr tierod ball jt - leftに移動します。
    2. そのデータ番号を拡張し、yzを選択します。
    3. Addをクリックします。
    4. Parallel steeringシステムの下に、ポイントInr tierod ball - leftのy座標とz座標を追加します。
    5. 設計変数の上限および下限を、表 1に従って変更します:
      表 1.
      DV 下限値 上限値
      Otr tierod ball jt(DV)-left-y -651.15 -551.15
      Otr tierod ball jt(DV)-left-z 190.92 250.92
      Inr tierod ball(DV)-left-y -298.9 -209.9
      Inr tierod ball(DV)-left-z 230.86 278.86

      設計変数の作成後、最適化ウィザードは以下のとおりに見えるはずでs;



      図 3.

応答変数の追加

このステップでは、最適化のための応答変数を追加します。

この問題の目的は、トー角vs.ライド高さのカーブをターゲットの設計にマッチングさせることにあります。モデルには既に希望するターゲットカーブが定義されており、作成する応答にはこれを使用します。
  1. Responsesページ上をクリックします。
  2. をクリックして、応答変数を追加します。デフォルトのラベルと識別子を保持し、OKをクリックします。
  3. 応答変数が作成されたら、Response Typeの下でResponse Type, Root Mean Square Deviationを選択します。
    この応答には3つのユーザー入力が必要です:
    • Desired Curve - ターゲットカーブ
    • Response Expression - 計測する値
    • Independent Variable - ターゲット値の計算に使用される独立変数を定義
  4. Desired CurveにCurveボタンをクリックし、toe_rhを選択します。
  5. Specify independent variable のチェックボックスを有効にします。SolverVariableをクリックしてtoe_angleを選択します。
  6. Response Expressionで、ライド高さの式を次のとおり入力します:`(DZ({MODEL.sys_frnt_susp.b_wheel.l.cm.idstring})-282.57)`.
    これで、応答の作成が完了しました。ユーザーインターフェースは図 4のようになっているはずです。


    図 4.

目的関数と制約条件の追加

このステップでは、目的関数を問題に追加します。

この問題の目的は、トー角vs.ライド高さのカーブをターゲットの設計にマッチングさせることにあります。このチュートリアルで先に作成した応答を目的関数として使うことができます。
Goalsページに進みます。Objectivesの下で、をクリックします。
これで、応答rv_0で目的関数が追加されます。この問題では、制約条件はありません。したがってこれで、モデルを実行する準備が整いました。


図 5. 目的関数の定義

最適化の実行

このステップでは、最適化を実行します。

  1. Solutionsページに進み、最適化の設定を指定して解析を実行します。
    注: モデルは実行の前に保存されます。それが望ましくない場合は、最適化の開始前に異なるmdlファイル名で別名保存してください。これを行うには、一旦ウィザードを閉じてモデルを異なる名称で保存したうえで再度ウィザードを開く必要があります。
  2. この実行については、デフォルトの最適化設定をすべて使用します。
  3. Save & Optimizeをクリックして最適化を実行します。


    図 6. ソリューションのセットアップ

ポスト処理

このステップでは、最適化の結果をポスト処理します。

  1. 最適化プロセスが完了したら、Review Resultsページをクリックして結果を確認します。
    サマリーは、図 7に示すように見えるはずです:


    図 7.
    これより前のチュートリアルで説明したように、PlotページとAnimationページに進んでプロットとアニメーションを見ることも可能です。この最適化については、異なる反復計算でのトーvs.ライド高さのカーブをプロットし、ターゲットカーブにどれだけアプローチしているかを確認することに価値があります。
  2. 異なる反復計算でのトーvs.ライド高さのカーブをプロットし、ターゲットカーブにどれだけアプローチしているかを確認します。
    1. Optimization Wizardを閉じます。
    2. セッションにHyperGraphページを1つ追加します。
    3. ファイルtarget_toe.csvを開きます。
    4. Plotパネルで、XおよびYのType、Request、Componentを図 8に示すように変更します。


      図 8. ターゲットカーブをプロットするための設定
      プロッティングウィンドウには直線が見られるはずです。
  3. initial designフォルダーに進み、.mrfファイルを読み込みます。
  4. XおよびYのType、Request、Componentを図 9に示すように変更します。


    図 9. 初期設計をプロットするための設定
  5. 適用(Apply)をクリックします。
    初期設計の'toe-ride height'を表す凸曲面が見られるはずです。
  6. サブフォルダー'iter-18'(最終反復計算)に進みます。
  7. .mrfファイルをインポートし、同じ設定でカーブをプロットします。
    最適化設定の'toe-ride height'カーブは、ターゲットカーブとオーバーラップします。


    図 10.