Double Lane Change
Double Lane Change eventでは、規定された車線の中央線をたどりながら、走行している車線を変更して、その後元の車線に戻るように車両を運転します。レーンチェンジの速度および車線の寸法を定義できます。ステアコントローラーを使用して経路をたどり、駆動トルクコントローラーを使用してイベント全体を通じて速度を維持します。イベントでは、左右のレーンチェンジがサポートされます。結果をプロットするために、プロットテンプレートが用意されています。
Double Lane Change eventの経路を上の図に示します。車線の寸法は、メートル単位で入力され、使用されるさまざまな場所(ポイントのパラメトリック定義、ソルバー配列など)でミリメートル単位に変換されます。車線のグラフィックスは、経路の寸法から定義され、その経路を図示するために使用されます。タイヤが走行する路面は、タイヤシステムの.rdfファイルで定義するので、これらのグラフィックスからは独立しています。
初期速度は、イベントフォームを使用して変更できます。地上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ファイルで、編集可能です。
ジョイント
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) |
ソルバー配列内のデータポイント値は、Full Vehicle Dataデータセットから取得されます。車線データは、Data Pointパネル内でメートル単位からミリメートル単位に変換されます。このデータは、この配列のidstring
を使用してCURSUBサブルーチンに渡されます。
ソルバー変数
Double Lane Change eventは、1つのソルバー変数のSteer Path変数のみで構成されています。この変数は、必要な経路に沿って走行するためにハンドルに入力を適用するユーザーサブルーチンを呼び出します。
- 番号
- 説明
- 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