Step Steer

Step Steer eventは、ハンドルへの突然のステップ入力に対する車両の反応をシミュレートします。ステアリング入力は、ハンドルまたはステアリングギアへのインプットシャフトでの回転モーションまたはトルクです。車両の応答を測定するために、標準の出力リクエストが組み込まれています。イベント中のタイヤ力を認識するために、タイヤのリクエストが組み込まれています。イベント中に一定の速度を維持して車両が走行できるように、駆動トルクコントローラーが追加されています。結果をプロットするために、プロットテンプレートが用意されています。

操舵角を増大させながら行う一連のステップステアテスト(右回りと左回りの両方)を使用して、車両のアンダーステアと横方向の反応特性を計算することができます。



図 1. Step Steer event


図 2. Step Steer eventの上面図


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

説明

次の表は、イベントのステップシーケンスを示しています。表中の時間はデフォルト値を表しています。
時間 説明
0~2秒

(0->ステアリング入力開始時間)

イベントのFormに入力された初期速度(デフォルトは55mph)で車両が定常状態に落ち着きます。
2~4秒

(ステアリング入力開始時間-> ステアリング入力終了時間)

規定の関数(sine、step、またはramp)を使用して、ステアリング角度を0からステアリング最大値(デフォルトでは60度)まで急速に大きくします。
4~8秒

(ステアリング入力の終了時間-> ステアリング入力の終了時間 + 4秒)

車両が応答する間、ステアリングはステアリング最大値に保持されます。終了時間は必要に応じてイベントテンプレートで変更できます。

このイベントは、MotionView Assembly Wizardを使用して構築したフルビークルモデルで動作するように設計されています。Task Wizardを使用して追加したこのイベントは、自動的にモデルに付加されます。また、イベントのアタッチメント方式に厳密に従っていれば、手動で構築したモデルでもこのイベントを使用できます。

このイベントでは、車両は定常状態に到達するまでの2秒間、初期速度の55mphで直進します。2~4秒の間に、イベントフォームで選択した関数(sine、step、またはramp)を使用して、車両では0から規定の値(デフォルトは60度)までハンドルが操作されます。4秒後からシミュレーションの終了まで、ハンドルは同じ角度またはトルクで固定されたままです。

車両の初期速度、ステアリング入力の開始時間と終了時間、ステアリングの最大角度は、イベントフォームで変更できます(以下の図をご参照ください)。ステアリング入力のタイプとして、入力角度または入力トルクを使用できます。関数タイプは、Sine、Step、Rampの3つの中から選択できます。これらはゼロから“段上”入力までの傾斜を表します。

デフォルトのステップ入力時間は2秒です。ほとんどのステアリングテストはもっと高速の入力で実行されます。ISO 7401:2003仕様では、10%から90%の間のハンドル入力の時間が0.15秒を超えないようにすることが推奨されています。ステップ時間が0.1秒(2.1-2.0)のステアリングイベントはこれらの要件を満たします。ステップ入力が極度に素早いと(0.02秒未満)、ステアリングシステムに法外な力を強いる可能性があります。

公称Steering Wheel Angle vs. Timeのプロットは次のとおりです:


図 4. Steering Wheel Angle vs. Time

イベントを定義するために6タイプのモデリング要素コンテナーが使用されています(下記参照)。イベントには2つのサブシステム(Output RequestsとDrive torque controller)も含まれています。

アタッチメント

イベントは標準のイベントアタッチメントを使用します。Model Wizardを使用してモデルを構築している場合、アタッチメントは自動的に定義されます。アタッチメントには、イベントが解析を実行するために必要な最小限のデータが格納されています。アタッチメントは、大半のイベントで標準です。

データセット

このシステムでは、Step Steer eventを記述するデータを収めたデータセットが1つ使用されています。このイベントでは、車両初期速度、ステアリング入力タイプ(角度またはトルク)、ステアリング入力の開始時間と終了時間、ステアリングの最大値、および関数タイプ(sine、step、またはramp)を設定できます。ホイール回転速度と地上z座標は計算値です。データセットの値はフォームで編集できます。

フォース

ステップステアは、フォースであるステアリングトルクのみで構成されます。このフォースはステアリングに関する入力として使用されます。選択したステアリング入力タイプがトルクの場合、モーションは非アクティブになり、ハンドルの回転にはフォースが使用されます。

フォーム

フォームは、パルスステアイベントを変更する唯一の場所です。変更可能なパラメータは、車両の初期速度、ステアリング入力の開始時間と終了時間、ステアリングの最大値です。ステアリング入力は、ユーザーの要件に応じて、角度またはトルクのいずれかに設定できます。ステップイベントに使用する関数タイプも、sine、step、rampのいずれかに設定できます。

ジョイント

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

モーション

3つのモーションがイベントに組み込まれています。ステアリングモーションは、イベント内で車両を操縦するために使用され、ハンドルを車体に接合する回転ジョイントに作用します。ステアリングコラムがモデルに含まれない場合、ジョイントがステアリングラックのインプットシャフトと車体の間に作用します。車両を操作するために、モーションをイベントテンプレート内で変更できます。

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

Templates

Step Steer eventタスクにはテンプレートが1つあります。テンプレートはソルバー固有で、MotionSolveテンプレートのみがドキュメント化されています。テンプレートは、</Model>コマンドの後にソルバーデックに挿入され、イベントの実行を制御します。

このイベントのテンプレートを以下に示します:
<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}"
/>    

{if ds.inp_type.value == "Angle"}
  <Deactivate
	element_type = "FORCE"
	element_id   = "{tor_str.idstring}"
  />
{if ds.func_type.value == "Sine"}
<Motion_Joint
     id                = "{wh_motion.idstring}"
     expr              = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/2}D-({-ds.str_value.value/2}D)*COS(2*PI*{0.5/(ds.end_time.value-ds.str_time.value)}*(TIME-{ds.str_time.value})),{-ds.str_value.value}D,{-ds.str_value.value}D))"
/>
{elseif ds.func_type.value == "Step"}
<Motion_Joint
     id                = "{wh_motion.idstring}"
     expr              = "STEP(TIME,{ds.str_time.value},0.0,{ds.end_time.value},{-ds.str_value.value}D)"
/>
{else}
<Motion_Joint
     id                = "{wh_motion.idstring}"
     expr              = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/(ds.end_time.value-ds.str_time.value)}D*(TIME-{ds.str_time.value}),{-ds.str_value.value}D,{-ds.str_value.value}D))"
/>
{endif}

{else}
<Deactivate
 	element_type = "MOTION"
 	element_id   = "{wh_motion.idstring}"
/>
{if ds.func_type.value == "Sine"}
<Force_Scalar_TwoBody
     id                = "{tor_str.idstring}"
     type		 = "Torque"
     val_expression    = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/2}-({-ds.str_value.value/2})*COS(2*PI*{0.5/(ds.end_time.value-ds.str_time.value)}*(TIME-{ds.str_time.value})),{-ds.str_value.value},{-ds.str_value.value}))"
/>
{elseif ds.func_type.value == "Step"}
<Force_Scalar_TwoBody
     id                = "{tor_str.idstring}"
     type		 = "Torque"
     val_expression    = "STEP(TIME,{ds.str_time.value},0.0,{ds.end_time.value},{-ds.str_value.value})"
/>
{else}
<Force_Scalar_TwoBody
     id                = "{tor_str.idstring}"
     type		 = "Torque"
     val_expression    = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/(ds.end_time.value-ds.str_time.value)}*(TIME-{ds.str_time.value}),{-ds.str_value.value},{-ds.str_value.value}))"
/>
{endif}
{endif}

<Simulate
        analysis_type  = "Transient"
        end_time       = "{ds.end_time.value+4.0}" 
        num_steps      = "{(ds.end_time.value+4.0)*100}"
/>        
 <Stop/>

参考資料

ISO +7401-2003 - Road vehicles - Lateral transient response test methods - Open-loop test methods.