Double Lane Change

Double Lane Change eventでは、規定された車線の中央線をたどりながら、走行している車線を変更して、その後元の車線に戻るように車両を運転します。レーンチェンジの速度および車線の寸法を定義できます。ステアコントローラーを使用して経路をたどり、駆動トルクコントローラーを使用してイベント全体を通じて速度を維持します。イベントでは、左右のレーンチェンジがサポートされます。結果をプロットするために、プロットテンプレートが用意されています。

Double Lane Change eventには、特定のメトリックは関連付けられていません。レーンチェンジは、通常は主観評価テストとして使用されます。Double Lane Change eventは、ISOの障害物回避性能やNATOのダブルレーンチェンジに類似していますが、これらの規格に厳密に準拠しているわけではありません。
注: Single Lane Changeテストも実行できます。


図 1. Double Lane Changeイベント


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


図 3. ボディグラフィックスが表示された車両モデル
このイベントは、ある方向に突然曲がり、短時間で持ち直し、元の走行車線に戻る操縦をシミュレーションするように設計されています。イベントでは、障害物を回避する車両の過渡的な動特性をシミュレーションします。車両経路は、Double Lane Change解析でフルビークルデータセットに定義します。ドライバーモデルによって車体のCGが規定経路に従うようにし、それと同時に、トルクコントローラーによって初期速度を維持します。


図 4. Double Lane Changeの経路図

Double Lane Change eventの経路を上の図に示します。車線の寸法は、メートル単位で入力され、使用されるさまざまな場所(ポイントのパラメトリック定義、ソルバー配列など)でミリメートル単位に変換されます。車線のグラフィックスは、経路の寸法から定義され、その経路を図示するために使用されます。タイヤが走行する路面は、タイヤシステムの.rdfファイルで定義するので、これらのグラフィックスからは独立しています。

このイベントは、ISOイベント3888-2”Passenger cars-Test track for a severe lane change maneuver-Part 2: Obstacle avoidance”に似ています。このISOイベントは、車線およびコーンのテストトラック設定を定義します。車線幅は車両幅の役目を果たし、コーンが乱れなければ、どのような経路でも走行可能です。このISOイベントの経路を以下に示します。


図 5. ISOの片側1車線道路レーンチェンジ図(ISO 3888-2 Part 2 Obstacle Avoidanceより)
Double Lane Change eventは、NATO Allied Vehicle Testing Publication AVTP: 03-160 Sep. 1991に規定されたNATOの片側1車線道路レーンチェンジにも似ています。このNATOイベントの車線の幅と長さは車両全体の長さと幅の役目を果たし、レーンチェンジの全期間でどのような経路でも走行可能です。NATOの片側1車線道路レーンチェンジ経路を以下に示します。


図 6. NATOの片側1車線道路レーンチェンジAVTP 03-160

初期速度は、イベントフォームを使用して変更できます。地上z座標は計算値であり(青色の背景は計算値を示します)、左フロントタイヤ重心のZ位置から左フロントタイヤの転がり半径を減算することで算出します。

イベントにあるエンティティがProjectブラウザに表示されます。

イベントを定義するために9タイプのモデリング要素コンテナーが使用されています。このイベントには、2つのサブシステムとしてステアコントローラーと駆動トルクコントローラーがあります。

カーブ

このイベントにはカーブが1つ組み込まれています。このカーブは、経路のセンターラインを定義するユーザー作成のCURSUBです。Full Vehicle Dataデータセットに入力した経路寸法を使用して、Lane Parametersソルバー配列を定義します。ソルバー配列のIDは、カーブ形状を生成するCURSUBサブルーチンに渡されます。

データセット

このシステムでは、Double Lane Change eventを記述するデータを収めたデータセットが1つ使用されています。このイベントでは、車両制御、レーンチェンジの範囲、およびコーン底面の直径を設定できます。ホイール回転速度、地面の高さ、および最終セクションの距離は計算された値で、変更できません。

フォーム

フォームには、イベント入力を変更するデータが記述されています。Vehicle velocityは、変更可能な唯一のパラメータ(白色の背景で示される)です。地上z座標は計算値(青色の背景で示されています)であり、タイヤデータフォームの左フロントホイール重心のZ位置とタイヤ転がり半径を使用して計算されます。

車線の寸法は、フォームには記述されていない値であり、データセットで変更します。Double Lane Change eventの設定は、他のほとんどのイベントとは異なっています。このイベントの今後のバージョンでは、車線データがフォームに記述されるようになる予定です。

グラフィックス

27のグラフィックスがイベント内で定義されています。グラフィックスは、コーンと路面のグラフィックスを定義し、ユーザーが入力する必要はありません。グラフィックスの詳しい説明をここに記載します。

道路のグラフィックスは、走行する経路を示すために組み込まれ、Double Lane Change eventフォームのデータを使用してパラメータで定義します。道路のグラフィックスはすべて車線の寸法を示すために使用されますが、これらは実際の道路のものではなく、タイヤ力を計算するために使用されます。道路のグラフィックスは、イベントが根本的に変更されないかぎり、編集する必要はありません。

タイヤ力の計算に使用する道路は、道路のグラフィックスと同じ高さにあり、タイヤシステムで道路のファイル(.rdf)に定義します。車両ライブラリ内のデフォルトの平坦な道路のファイルは、摩擦係数値が1.0の無限の大きさの平坦な道路です。道路のファイルはASCIIファイルで、編集可能です。



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


図 8. 道路のグラフィックス

ジョイント

Double Lane Change eventにはボールジョイントが1つあります。このジョイントは、ダミーボディをステアリングラックに結合します。ジョイントは、特定のイベントをADAMSで機能させるために含まれています。モデルを手動で構築する場合は、ダミーボディをステアリングラックに結合します。

マーカー

Double Lane Change eventには13個のマーカーがあります。経路の原点は、すべてのレーンチェンジグラフィックスの原点で、車体のCGになるようにパラメータで定義されます。マーカーはポイントを指し示し、ポイントにはパラメータのロジックが含まれます。

経路のアウトラインマーカーは、XYZ位置のPath Outlineポイントを指し示します。これらのマーカーは車線のグラフィックスを定義するために使用されます。どのマーカーにもユーザー入力は必要ありません。

モーション

3つのモーションがイベントに組み込まれています。車両に対するステアリングモーションは、ステアコントローラーによって提供され、ステアリングコラムを車体に接合する回転ジョイントに作用します。ステアリングコラムがモデルに含まれない場合、ジョイントがラック&ピニオン式ステアリングシステム上のステアリングラックのインプットシャフトと車体の間に作用します。

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

ポイント

35のポイントがイベント内で定義されています。ポイントは、車線のグラフィックスと、車線を示すために使用するコーンのグラフィックスを作成するために使用されます。ポイントには、それらのX、Y、Zの位置を定義するパラメータのロジックが格納されます。ポイントは変更しないでください。

Solver Arrays

Double Lane Change eventには、車両を運転する経路を定義したソルバー配列Lane Parametersがあります。

パラメータ番号 説明
0 1 車線タイプ(1=片側1車線道路のレーンチェンジ)
1 1 補間タイプ(1=3次)
2 0 最初のレーンチェンジ方向(左=0、右=1)
3 125000 全長(mm)
4 15000 レーンチェンジの開始点までの距離(mm)
5 30000 最初のレーンチェンジ: 縦方向の距離(mm)
6 3500 最初のレーンチェンジ: 横方向の距離(mm)
7 25000 最初のレーンチェンジの終了点から、2回目のレーンチェンジの開始点までの距離(mm)
8 25000 2回目のレーンチェンジ: 縦方向の距離(mm)
9 3500 2回目のレーンチェンジ: 横方向の距離(最初の車線と反対方向)(mm)


図 9. Double Lane Changeイベントの図

ソルバー配列内のデータポイント値は、Full Vehicle Dataデータセットから取得されます。車線データは、Data Pointパネル内でメートル単位からミリメートル単位に変換されます。このデータは、この配列のidstringを使用してCURSUBサブルーチンに渡されます。

ソルバー変数

Double Lane Change eventは、1つのソルバー変数のSteer Path変数のみで構成されています。この変数は、必要な経路に沿って走行するためにハンドルに入力を適用するユーザーサブルーチンを呼び出します。

ソルバー変数USERサブルーチン呼び出しの番号は次のとおりです。
番号
説明
5000
ブランチID。5000はDouble Lane Change eventです。
70000000
ドライバーモデルコントローラーデータを記述したソルバー配列のID。この配列は、ステアコントローラーシステムにあります。
70000100
車両情報を記述した車両データ配列のID。この配列は、ステアコントローラーシステムにあります。
317001
車線経路の定義に使用されるカーブのID。
1
カーブのスケーリング係数。

Templates

Double Lane Change eventタスクにはテンプレートが1つあります。このテンプレートはソルバー固有で、MotionSolveテンプレートのみがドキュメント化されています。テンプレートは、</Model>コマンドの後にソルバーデックに挿入され、イベントの実行を制御します。最初の4つのコマンドは、さまざまな出力データセットを定義します。これらのコマンドの詳細については、MotionSolve リファレンスガイドをご参照ください。

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

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

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

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

このイベントのテンプレートを以下に示します:
<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       = "{350000.0/(ds.veh_vel.value*447.04)}"
	print_interval = "0.02"
/>

<Stop/>

参考資料

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

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