Single Lane Change

Single Lane Change eventでは、定義された車線のセンターラインをたどるように、シングルレーンチェンジを経て車両を運転します。レーンチェンジの速度および車線の寸法を定義できます。経路に沿って走行するためにステアリングコントローラーが使用され、イベント全体を通して速度を維持するためにトルクコントローラーが使用されます。イベントでは、左右のレーンチェンジがサポートされます。結果をプロットするために、プロットテンプレートが用意されています。

Single Lane Change eventには、特定のメトリックは関連付けられていません。レーンチェンジは、通常は主観評価テストとして使用されますが、テストの客観的なメトリックを作成することは困難です。
注: Double Lane Changeテストも実行できます。


図 1. Single Lane Changeイベント


図 2. Single Lane Changeの経路の上面図


図 3. ボディグラフィックスが表示された車両モデル

イベントは、道路の初期直線セクション、移行セクション、およびリカバリーの直線セクションで構成されています。初期直線セクションでは、車両は定常状態になります。移行セクションでは、実際のレーンチェンジを行います。車両は最後の直線セクションに戻り、シミュレーションは終了します。車両はイベント中一定の速度を保ちます(トルクコントローラーにより)。車両のステアリングコントローラーは、経路上でボディのCGを道路のセンターラインに維持するように設計されています。

初期速度、コーンの縦方向および横方向の間隔、および車線のグラフィックスは、イベントフォームを介して変更できます。地上Z座標は計算値であり(青色の背景は計算値を示します)、左フロントタイヤ重心のZ位置から左フロントタイヤの転がり半径を減算することで算出します。

テストモデルは、このシミュレーションを60秒で実行します。約0.5の横Gが、テスト車両モデルおよびデフォルトのレーンチェンジパラメータによって発生します。速度とコーンの横方向の間隔を増やすと、車両によって発生する横フォースが増加します。車両が操縦の限界に近づくと、モデルは大幅に進路からそれるか、レーンチェンジを完了できません。Could not Find Ideal SWA in 20 Iterationsというエラーがログファイルに表示される場合があります。これは、ステアリングコントローラーが定義された経路に従えないことを示します。

Single Lane Change eventは、下記の図に従ってパラメータで定義します。


図 4. Single Lane Changeイベント - 道路グラフィックスのパラメータ定義

コーンの間隔(横方向および縦方向)および車線の幅は、車両の速度と合わせて変更できます。これらのパラメータを変更するには、イベントフォームを使用します。

アタッチメント

イベントは、次の図に示すようにモデルに結合されます。すべてのアタッチメントを定義してモデルを書き出す必要があります。アタッチメントは、イベントを実行するために必要なモデル内の参照です。


図 5. Single Lane Changeイベント - Attachments
変数 ラベル 説明
sys System マスターシステム。この場合は“Model”。
b_frnt_whl mot_frnt_wheel 前輪のボディペア。
b_rear_whl mot_rear_wheel 後輪のボディペア。
J_frnt_whl Front Wheel Joint 前輪をナックルに結合する回転ジョイント。
J_rear_whl Rear Wheel Joint 後輪をナックルに結合する回転ジョイント。
J_st_wheel Steering Wheel Joint ステアリングコラムが含まれない場合に、ハンドルをボディに、またはギアインプットシャフトをボディに結合する回転ジョイント。
B_body Vehicle Body 車体。
Drive_joint Drive Joint 車両の走行に使用されるジョイント。ドライブトレインに応じて異なります。通常は、エンジンに最も近いドライブトレインの回転ジョイントです。
J_clamp_1_body Vehicle Body Joint 1 車体のクランプ1。静的シミュレーション中に車両を固定させるために使用される2つのクランプのうちの1つ。
J_clamp_2_body Vehicle Body Joint 2 車体のクランプ2。静的シミュレーション中に車両を固定させるために使用される2つ目のクランプ。
b_str_dummy Steering Dummy Body ラック&ピニオン式ステアリングシステムのラック。Parallelogramステアリングシステムではリレーロッドです。
J_rackfix_att Joint Fixed Rack-Body ラック&ピニオン式ステアリングステアリングシステムのラックダミー方向ジョイント。ParallelogramステアリングシステムではIdler Armの球ジョイント。
J_ball_att Joint Pitman ラック&ピニオン式ステアリングステアリングシステムのピニオンジョイント。Parallelogramステアリングシステムではピットマンアームの球ジョイント。
Tire_dataset Tire Data タイヤシステムからの情報を含むデータセット。
b_str_dummy_racksteer Steering Dummy Body Rack Pinion Parallelogramおよびラック&ピニオン式ステアリングステアリングシステムの両方のステアリングダミーボディ。

参考資料

ISO 3888-2-2011 Passenger cars — Test track for a severe lane-change maneuver

NATO Allied Vehicle Testing Publication AVTP: 03-160 Sep. 1991

Single Lane Changeイベントの作成

  1. Task WizardをクリックしてSingle lane change analysisオプションを選択します。
  2. Nextをクリックします。
  3. Finishをクリックします。
    Projectブラウザに新しいデータが入力され、Car/Small truck - Full vehicle tasksダイアログが開きます。
  4. ダイアログでデータを確認してNextをクリックします。
    Car/Small truck - Full vehicle tasksダイアログにステアコントローラーのデータが表示されます。
  5. データを確認してNextをクリックします。
    Car/Small truck - Full vehicle tasksダイアログに駆動トルクコントローラーのデータが表示されます。
  6. Finishをクリックします。
  7. ProjectブラウザのSingle lane change analysisで、Data Setsを展開してFull Vehicle Dataをクリックします。
    データセットには、レーンチェンジの記述に使用するデータが収められています。データセットの上部に白色の背景で表示される4つのパラメータを変更することによって、Single Lane Changeフォームを使用するイベントを修正できます。データセットの下部にある6つのパラメータは、計算されるパラメータであり、変更してはいけません。青色の背景は、計算されたパラメータであることを示します。ユーザー入力は必要ありません。
    図 6.
  8. Projectブラウザで、Formsを展開してSingle lane change dataをクリックします。
    フォームは、レーンチェンジイベントを変更する必要のある唯一の場所です。変更可能なパラメータは、車両の速度とレーンチェンジの形状です。すべてのレーンチェンジデータと車両経路のグラフィックスは、この4つの入力を使用してパラメータで定義します。地上Z座標は計算値(青色の背景で示されています)であり、タイヤデータフォームの左フロントホイール重心のZ位置とタイヤ転がり半径を使用して計算されます。
  9. Projectブラウザで、Graphicsを展開します。
    路面グラフィックスは、走行する経路を示すために用意されており、シングルレーンチェンジフォームのデータを使用してパラメータで定義します。道路のグラフィックスはすべて車線の寸法を示すために使用されますが、タイヤ力の計算に使用される、実際の道路の車線寸法ではありません。道路のグラフィックスは、イベントが根本的に変更されないかぎり、編集する必要はありません。
    タイヤ力の計算に使用する道路は、道路のグラフィックスと同じ高さにあり、タイヤシステムで道路のファイル(.rdf)に定義します。車両ライブラリ内のデフォルトの平坦な道路のファイルは、摩擦係数が1.0の無限の大きさの平坦な道路です。道路のファイルはASCIIファイルで、編集可能です。


    図 7. コーンのグラフィックス


    図 8. 道路のグラフィックス
  10. Projectブラウザで、Jointsを展開してRack Dummy Ballをクリックします。
    Single lane changeイベントには、球ジョイントが1つ組み込まれています。このジョイントは、ダミーボディをステアリングラックに結合します。このジョイントは、特定のイベントをADAMSで機能させるために含まれています。モデルを手動で構築する場合は、ダミーボディをステアリングラックに結合します。
  11. モデルを手動で構築する場合は、パネルを使用してダミーボディをステアリングラックに結合します。
  12. Projectブラウザで、Markersを展開します。
    Single Lane Change eventには9つのマーカーがあります。マーカーを使用して、車線のグラフィックスを定義できます(コーンおよび車線の路面)。

    経路のアウトラインマーカーは、XYZ位置のPath Outlineポイントを指し示します。ポイントは、イベント入力データを使用してパラメータで定義されます。経路の原点は、すべてのレーンチェンジグラフィックスの原点であり、車体の重心になるようにパラメータで定義します。

    どのマーカーにもユーザー入力は必要ありません。

  13. Projectブラウザで、Motionsを展開します。
    3つのモーションがイベントに組み込まれています。車両に対するステアリングモーションは、ステアコントローラーによって提供され、ステアリングコラムを車体に接合する回転ジョイントに作用します。モデルにステアリングコラムがない場合、このジョイントはステアリングラック入力軸と車体の間で機能します。
    Steering Wheel Motion

    ハンドルのジョイントに回転モーションを適用します。モーションは値0のlinearタイプに初期設定されますが、イベントテンプレートを使用して式に変更できます。

    Front Wheel Motion
    前輪のスピンドルに適用され、タイプはlinearで値は0になります。
    Rear Wheel Motion
    後輪のスピンドルに適用され、タイプはlinearで値は0になります。

    前輪と後輪のモーションは、ホイールハブをナックルに結合する、ホイールスピンドルの回転ジョイントに作用します。ホイールがナックルに固定されていることから、当初のこのモーションは0なので、モデルは静的に収束します。動解析中にタイヤが回転できるように、静的平衡解析の後、モーションは非アクティブ化されます。

  14. Projectブラウザで、Pointsを展開します。
    17のポイントがイベント内で定義されています。ポイントはすべて、車線のグラフィックスと、車線を示すために使用するコーンのグラフィックスを作成するために使用されます。ポイントには、それらのX、Y、Zの位置を定義するパラメータのロジックが格納されます。ポイントは変更しないでください。
    Path Origin
    車両の出発地点である経路の原点を示すポイント。これはパラメータで車体のCG位置に設定されます。
    Path Outline1
    経路のグラフィックスに使用されるポイント。モデルからの様々なデータを使用してパラメータで定義されます。
    Path Outline2-N
    経路のグラフィックスに使用される追加のポイント。Path Outline 1と同様の方式によりパラメータで定義されます。
    Cone1
    コーンのグラフィックスを定義するために使用されるポイント。道路を図示するための経路に沿って道路の端に位置するようパラメータで定義されます。
    Cone2-N
    コーンのグラフィックスを定義するために使用される追加のポイント。道路を図示するための経路に沿って道路の端に位置するようパラメータで定義されます。
  15. Projectブラウザで、Solver Variablesを展開します。
    Single Lane Change eventには1つのソルバー変数があります。Steer Path変数は、ユーザー作成のサブルーチン呼び出しであり、目的の経路をたどるためにハンドルに適用する必要がある角度を返します。ハンドルのモーションは、レーンチェンジテンプレートでこの変数に設定されます。Steer Path変数のどの部分も編集しないでください。
    ソルバー変数USERサブルーチン呼び出しの番号は次のとおりです。
    5010
    ブランチID。5010はSingle lane changeイベントです。
    70000000
    ドライバーモデルコントローラーデータを記述したソルバー配列のID。この配列は、ステアコントローラーシステムにあります。
    70000100
    車両情報を含む車両データ配列のID。この配列は、ステアコントローラーシステムにあります。
    30.5
    レーンチェンジの移行セクションの長さ(m単位)です。
    3.66
    レーンチェンジの幅(m単位)です。
  16. Projectブラウザで、Templatesを展開してSingle Lane Change eventをクリックします。
    このテンプレートはソルバー固有で、MotionSolveテンプレートのみがドキュメント化されています。テンプレートは、</Model>コマンドの後にソルバーデックに挿入され、イベントの実行を制御します。

    if (tire_dataset.opt_omega.ival)ロジックは、オメガ方式のタイヤ回転を使用していたレガシーモデルを扱うために組み込まれています。この方式は現在ではサポートされていないため、値は必ず1に等しくなります。このロジックは、将来のリリースでは削除される予定です。

    最初の4つの非アクティブ化コマンドは、車輪とナックルとの間のモーションを非アクティブにし、それらを回転可能にします。最後の2つの非アクティブ化コマンドは、ボディクランプをオフにします。ボディクランプは、静解析時にボディの剛性を維持します。

    Motion_Jointコマンドは、0からステアリングコントローラーによって算出された値までの範囲で、ハンドルのジョイントの値を再度割り当てます。基本的には、ステアリングコントローラーをオンにします。

    Simulate過渡応答解析コマンドは、過渡応答解析シミュレーションを開始し、出力時間ステップとシミュレーションの終了時刻を確立します。このデータを編集して、イベントを変更することができます。このソリューションを拡張するために、その他のXMLコマンドを追加可能です。コマンドに関しては、MotionSolveリファレンスガイドCommand Statementsを参照してください。

    このイベントのテンプレートを以下に示します。テンプレートには、生成される出力ファイル、実行される一連のイベント用のコマンドと、Pulse Steerイベントシーケンスの作成に使用されるフォース、ジョイント、およびモーション用の実行時コマンドがあります。
    <ResOutput
         angle_type          = "YPR"
      />
      <ResOutput
         mrf_file            = "TRUE"
      />
      <ResOutput
         plt_file            = "TRUE"
      />
      <H3DOutput
         switch_on           = "TRUE"
         increment           = "1"
      />
      <ResOutput
         abf_file            = "TRUE"
      />
      
    {if (tire_dataset.opt_omega.ival ==1)}
    <!--Initial static analysis -->
    
    <Simulate
    	analysis_type = "Static"
    	end_time      = "0.0"
    />	
    {endif}
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_frnt_wheel.l.idstring}"
    />
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_frnt_wheel.r.idstring}"
    />
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_rear_wheel.l.idstring}"
    />
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_rear_wheel.r.idstring}"
    />
    {if (tire_dataset.opt_omega.ival ==2)}
    <!--Initial static analysis -->
    
    <Simulate
    	analysis_type = "Static"
    	end_time      = "0.0"
    />	
    {endif}
    <Deactivate
    	element_type = "JPRIM"
    	element_id = "{j_clamp_1_body.idstring}"
    />
    <Deactivate
    	element_type = "JPRIM"
    	element_id = "{j_clamp_2_body.idstring}"
    />
    <Motion_Joint
         id                  = "{wh_motion.idstring}"
         expr                = "VARVAL({sv_path.idstring})"
      />
    <Simulate
         analysis_type       = "Transient"
         end_time            = "6"
         print_interval      = "0.05"
      />
    <Stop/>