MV-8002:複数の運転操作イベント
本チュートリアルでは、運転操作またはサブイベントの終了条件の定義、パラメトリックな式の書き出し、およびイベントの連続して実行される複数のサブイベントとしての定義を行う方法について学びます。
- 終了条件
- 指定のシミュレーション終了時刻の前に特定の運転操作を終了する条件。
- 複数の運転操作イベント
- 2つ以上の運転操作から成るイベント – これらの運転操作は連続して実行される。
- パラメトリックな式
- 複数の運転操作イベントでは、信号の連続性を保つために、運転操作の開始に先駆けて、式を再評価する必要がある。
- { 波括弧(中括弧)内の式 }
- MotionSolveに渡される前に式を評価するようドライバーに指示
- {SIGNAL}
- VARVAL(信号ソルバー変数ID)として評価される
- {SIGNAL_0}
- 最後の運転操作の終了時における信号値として評価される
- {%SIGNAL}
- {SIGNAL} – {SIGNAL_0} として評価される
車両の組み立て
チュートリアルMV-8000のStep 1の指示に従って、以下のトポロジーの車両を生成します:
ページ | ラベル | 選択 |
---|---|---|
1 | Model type | Full vehicle with advanced driver |
2 | Driveline configuration | Front wheel drive |
3 | 車体 | Body |
3 | Front subframe | None |
3 | Front suspension | Frnt macpherson susp (1 pc. LCA) |
3 | Steering linkages | Rackpin steering |
3 | Rear subframe | None |
3 | Rear suspension | Rear quadlink susp |
3 | Powertrain | Linear torque map powertrain |
3 | Tires | AutoTires |
4 | Steering column | Steering column 1 (not for Abaqus) |
4 | Steering boost | None |
5 | Front struts | Frnt strut (with inline jts) |
5 | Front stabilizer bars | Frnt stabar with links |
5 | Rear struts | Rear strut (with inline jts) |
5 | Rear stabilizer bars | Rear stabar with links |
6 | Front jounce bumpers | None |
6 | Front rebound bumpers | None |
6 | Rear jounce bumpers | None |
6 | Rear rebound bumpers | None |
7 | Disk brakes | Disk brakes |
7 | Front driveline | Independent fwd |
8 | Aerodynamic Forces | None |
9 | ABS/ESP System | None |
9 | Traction Control | None |
10 | Drive system | Altair Driver |
11 | Finish |
ドライバー解析の追加
-
Task Wizardを使って、ドライバー解析を読み込みます。
図 2. -
Event TypeとしてAltairDriverFileを選択し、OKをクリックします。
図 3.
Altair Driver File(ADF)の書き出し
3つの連続する運転操作を使用してフィッシュフックイベントをモデル化します。
![](../../../images/tutorials/mv/mv-8002_fish_hook_example.png)
-
任意のテキストエディタを開き、次のテキストをコピーして貼り付け、このテキストファイルをmultievents.adfとして保存します。
重要: ファイルを保存する前に、すべての空白行を削除する必要があります。
ADFに何が書かれているかをより良く理解するために、コメントをよく読んでください。
$-----------------------------------------------------------------ALTAIR_HEADER [ALTAIR_HEADER] FILE_TYPE = 'ADF' FILE_VERSION = 2.0 FILE_FORMAT = 'ASCII' $--------------------------------------------------------------------------UNITS [UNITS] (BASE) {length force angle mass time} 'meter' 'newton' 'radians' 'kg' 'sec' $--------------------------------------------------------------VEHICLE_IC [VEHICLE_INITIAL_CONDITIONS] VX0 = 17.5 VY0 = 0.0 VZ0 = 0.0 $--------------------------------------------------------------STEERING_STANDARD [STEER_STANDARD] $Upper and lower bounds are kept to match the event requirement of saturating at $270 deg and -540 deg respectively MAX_VALUE = 4.712 MIN_VALUE = -9.425 SMOOTHING_FREQUENCY = 5 INITIAL_VALUE = 0.0 $--------------------------------------------------------------THROTTLE_STANDARD [THROTTLE_STANDARD] MAX_VALUE = 1 MIN_VALUE = 0 SMOOTHING_FREQUENCY = 5 INITIAL_VALUE = 0.0 $---------------------------------------------------------------BRAKING_STANDARD [BRAKE_STANDARD] MAX_VALUE = 1 MIN_VALUE = 0 SMOOTHING_FREQUENCY = 5 INITIAL_VALUE = 0.0 $-----------------------------------------------------------------MANEUVERS_LIST [MANEUVERS_LIST] {name simulation_time h_max print_interval} 'GO_STRAIGHT' 2.0 0.01 0.1 'LEFT_TURN' 10.0 0.001 0.1 'RIGHT_TURN' 10.0 0.001 0.1 $-----------------------------------------------------------------MANEUVER_1 [GO_STRAIGHT] TASK = 'STANDARD' (CONTROLLERS) {DRIVER_SIGNAL PRIMARY_CONTROLLER ADDITIONAL_CONTROLLER} STEER OL_CONSTANT_STEER NONE THROTTLE FEED_FORWARD_TRACTION NONE BRAKE FEED_FORWARD_TRACTION NONE $---------------------------------------------------------------------MANEUVER_2 [LEFT_TURN] TASK = 'STANDARD' (CONTROLLERS) {DRIVER_SIGNAL PRIMARY_CONTROLLER ADDITIONAL_CONTROLLER} STEER OL_LEFT_STEER NONE THROTTLE FEED_FORWARD_TRACTION NONE BRAKE FEED_FORWARD_TRACTION NONE $The TIME end condition defined below will trigger the Roll Rate end condition after the time value (3s) $We want to end the left turn maneuver if the roll rate reaches steady state in other words, d(Roll rate)/dt = 0 any time after the time value (3s $ Operator definition: SS = Steady State, GT = Greater Than (END_CONDITIONS) {SIGNAL GROUP ABS OPERATOR VALUE TOLERANCE WATCH_TIME} TIME 0 Y GT 3 0 0 ROLL_RATE 1 Y SS 0 0.005 0.5 $---------------------------------------------------------------------MANEUVER_3 [RIGHT_TURN] TASK = 'STANDARD' (CONTROLLERS) {DRIVER_SIGNAL PRIMARY_CONTROLLER ADDITIONAL_CONTROLLER} STEER OL_RIGHT_STEER NONE THROTTLE FEED_FORWARD_TRACTION NONE BRAKE FEED_FORWARD_TRACTION NONE $--------------------------------------STEER for Maneuver 1 [OL_CONSTANT_STEER] TAG = 'OPENLOOP' TYPE = 'CONSTANT' VALUE = 0 $--------------------------------------STEER for Maneuver 2 $Ramp up the steering wheel @ 360 deg per second [OL_LEFT_STEER] TAG = 'OPENLOOP' TYPE = 'EXPRESSION' SIGNAL_CHANNEL = 0 EXPRESSION = '{STEER_0} + {%TIME}*PI*2' $--------------------------------------STEER for Maneuver 3 [OL_RIGHT_STEER] TAG = 'OPENLOOP' TYPE = 'EXPRESSION' SIGNAL_CHANNEL = 0 EXPRESSION = '{STEER_0} - {%TIME}*PI*2' $--------------------------------------THROTTLE and BRAKE controller for entire event [FEED_FORWARD_TRACTION] TAG = 'FEEDFORWARD' TYPE = 'FOLLOW_VELOCITY' LOOK_AHEAD_TIME = 0.5 DEMAND_SIGNAL = 'DEMAND_VEL' $----------------Demand Velocity [DEMAND_VEL] TYPE = 'CONSTANT' VALUE = 17.5
-
AltairDriverFileを右クリックし、Edit Eventを選択します。
図 5.
-
multievent.adfファイルを入力し、シミュレーションを実行します。
図 6.
-
HyperGraphでステアリング角とロール変化率をプロットします。
図 7. ステアリング角
図 8. ロール変化率
このプロットは、3秒後に0.5秒間、ロール変化率が一貫して0(表記のトレランスで)である場合、運転操作2が停止することを示しています。その後、シミュレーションは運転操作3に移り、車両はmultievent.adfに示されているように右に曲がります。図 9.