Altair Driverファイルブロック

Altair Driverファイルは、ヘッダー、単位、車両の初期条件、Driverの出力標準、および運転操作リストに記載された運転操作に分解した解析またはイベントで構成されます。

この運転操作は、該当のコントローラーセクションで定義します。各コントローラーセクションには、コントローラー設定およびそのコントローラーセクションで指定する要求信号(要求経路や要求速度など)が記述されています。

$--------------------------------------------------ALTAIR_HEADER             
[ALTAIR_HEADER]                                                                             
FILE_TYPE    = 'ADF'                                                                  
FILE_VERSION = 1.0                                                                
FILE_FORMAT  = 'ASCII'                                                            
$-----------------------------------------------------------------UNITS            
[UNITS]                                                                                     
(BASE)                                                                                      
{ length  force         angle           mass     time }                                               
  'mm'   'newton'      'radians'        'kg'    'sec'                                              
$-----------------------------------------------------VEHICLE_IC                    
[VEHICLE_INITIAL_CONDITIONS]                                                                 
$These are wrt marker attached to the driver analysis - Vehicle IC reference marker          
$Default Global Frame                                                                        
VX0 = -2683.33                                                                                     
VY0 = 0.0                                                                                    
VZ0 = 0.0                                                                                    
ENGINE_INIT_SPEED = 300                                                                                    
$-----------------------------------------------------STEERING_STANDARD            
[STEER_STANDARD]                                                                            
MAX_VALUE  = 9.4248                                      
MIN_VALUE  = -9.4248                                      
SMOOTHING_FREQUENCY  = 10                            
INITIAL_VALUE 	= 0                                  
$------------------------------------------------------THROTTLE_STANDARD            
[THROTTLE_STANDARD]                                                                         
MAX_VALUE  = 1                                     
MIN_VALUE  = 0                                     
SMOOTHING_FREQUENCY  = 10                           
INITIAL_VALUE  = 0                                 
$------------------------------------------------------BRAKING_STANDARD            
[BRAKE_STANDARD]                                                                            
MAX_VALUE  = 1                                     
MIN_VALUE  = 0                                     
SMOOTHING_FREQUENCY  = 10                           
INITIAL_VALUE  = 0                                 
$------------------------------------------------------GEAR_STANDARD            
[GEAR_STANDARD]                                                                         
MAX_VALUE  = 6                                      
MIN_VALUE  = 1                                      
SMOOTHING_FREQUENCY  = 10                            
INITIAL_VALUE  = 1                                  
$-----------------------------------------------------CLUTCH_STANDARD            
[CLUTCH_STANDARD]                                                                            
MAX_VALUE  = 1                                     
MIN_VALUE  = 0                                     
SMOOTHING_FREQUENCY  = 10                           
INITIAL_VALUE  = 0                                 
$--------------------------------------------------------MANEUVERS_LIST            
[MANEUVERS_LIST]                                                                            
{ name		simulation_time		h_max		print_interval}                         
'MANEUVER_1' 	   12 	            	0.01		   0.05                        
$----------------------------------------------------------------MANEUVER_1            
[MANEUVER_1]                                                                                
TASK = 'STANDARD'                                                                           
(CONTROLLERS)                                                                               
{DRIVER_SIGNAL  		PRIMARY_CONTROLLER		ADDITIONAL_CONTROLLER}      
 STEER			OL_STEER_0                                NONE                  
 THROTTLE			FF_TRACTION_CONTROLLER                    NONE                  
 BRAKE			FF_TRACTION_CONTROLLER                    NONE                  
 GEAR			GEAR_CLUTCH_CONTROL                       NONE                  
 CLUTCH		         GEAR_CLUTCH_CONTROL                       NONE                  
$---------------------------------------------------------OL_STEER_0             
[OL_STEER_0]                                                                      
TAG  = 'OPENLOOP'                                                             
TYPE  = 'CONSTANT'                                            
VALUE  = 0                                            
$-----------------------------------------------------------FF_TRACTION_CONTROLLER            
[FF_TRACTION_CONTROLLER]                                                                      
TAG  = 'FEEDFORWARD'                                                             
TYPE  = 'FOLLOW_VELOCITY'                                                         
LOOK_AHEAD_TIME  = 0.5                                                                
DEMAND_SIGNAL = 'DEMAND_VEL' 
$-----------------------------------------------------------DEMAND_VEL                    
[DEMAND_VEL]                                                                              
TYPE  = 'CONSTANT'                                                                           
VALUE  = 2683.33                                                                     
$-----------------------------------------------------------GEAR_CLUTCH_CONTROL 
$Used in case of models with IC Engine 
[GEAR_CLUTCH_CONTROL] 
TAG = 'ENGINE_SPEED'  
(GEAR_SHIFT_MAP)      
{G  US      DS      CT      CRT     TFD     TFT     CFT     TRD     TRT}    
 1   650     125     0.45    0.05    0.1     0.1     0.05    0.05    0.05   
 2   650     125     0.45    0.05    0.1     0.1     0.05    0.05    0.05   
 3   650     125     0.45    0.05    0.1     0.1     0.05    0.05    0.05   
 4   650     125     0.45    0.05    0.1     0.1     0.05    0.05    0.05   
 5   650     125     0.45    0.05    0.1     0.1     0.05    0.05    0.05   

上記は、単一の運転操作においてステアリング角がゼロで車両速度が一定のイベントを記述したサンプルADFです。

Altairヘッダー

Altairヘッダーブロックは、ADFの基本情報をソルバーのAltair Driverファイルに提供します。

$-------------------------ALTAIR_HEADER
[ALTAIR_HEADER]
FILE_TYPE          = 'ADF'
FILE_VERSION       = 1.0
FILE_FORMAT        = 'ASCII'
  必須条件
ブロック名

[ALTAIR_HEADER]

文字列 必須
FILE_TYPE 属性-文字列 必須
  • 読み出しおよび抽出情報
  • 複数ファイルフォーマットサポート
FILE_VERSION 属性-実数 必須 = 1.0
FILE_FORMAT 属性-文字列 オプション

現時点ではオプション。将来の強化用には必須

Units

ADFには、SLCでのセグメントの長さ、経路の座標、要求速度、ステアリング角などのパラメータが記述されています。シミュレーションの際に、Altair DriverによってMotionSolveでADFが解析され、イベントデータが抽出されます。ADFの解析では、Altair Driverで単位ブロックを読み取り、ADFに記述されたデータをSI単位に変換します。そのデータを以降のシミュレーションで使用します。

単位ブロックでは、ADFに記述したすべてのデータの単位を指定します。長さ、力、角度、質量、および時間の単位を指定します。
  • 単位は、大文字小文字を区別しない – meter、Meter、METER、MeTerはいずれも同じと解釈される
  • Unitsブロックは、全てのタイプのデータファイルがドライバーによって読み出されるために必要
$---------------------------------------------UNITS            
[UNITS]
(BASE)
{length   force      angle       mass    time}
'meter'   'newton'   'radians'   'kg'    'sec'
寸法 オプション SIへの変換係数
Length meter、meters または m

foot、feet または ft

mile またはmiles

millimeter、millimeters または mm

inch、inches または in

1.0

0.3048

1609.344

0.001

0.0254

Force Newton

Dyne

Knewton

Ounce_Force

Kilogram_Force または Kgf

Kpound_Force

Pound_Force または lbf

1.0

0.00001

1000

0.27801

9.80665

4448.2216

4.4482216

Angle Radian、radians、rad または r

Degrees、degree、deg または d

1.00

0.017453

Mass Kg、kilogram または kilograms

G、gram または grams

Pound、pounds、lb または lbs

1.0

0.001

0.453592

Time sec、second または seconds

milliseconds、millisecond、millisec、millisecs または ms

1.0

0.001

車両の初期条件

このブロックで車両の初期条件を指定します。この条件は、車両のICマーカー(Altair Driverの添付ファイルにあります)の3つの軸方向車両速度と、ICエンジンを備えたモデルの場合に使用するエンジンの初期回転速度で構成します。

Altair Driverでは、初期条件を使用して、モデルに存在するすべてのボディのICが設定されます。

車両の正面方向は、MotionViewライブラリモデルでのX軸の負方向です。

$--------------------------------------------------------------VEHICLE_IC                    
[VEHICLE_INITIAL_CONDITIONS]                                                                 
$These are wrt marker attached to the driver analysis - Vehicle IC reference marker          
$Default Global Frame                                                                        
VX0 = -2683.33                                                                                     
VY0 = 0.0                                                                                    
VZ0 = 0.0                                                                                    
ENGINE_INIT_SPEED = 300                                                                                    
  必須条件

ブロック名

[VEHICLE_INTIAL_CONDITIONS]
文字列 必須
VX0 属性-実数 必須

車両ICマーカーを基準にしたX方向の初期速度。

VY0 属性-実数 必須

車両ICマーカーを基準にしたY方向の初期速度。

VZ0 属性-実数 必須

車両ICマーカーを基準にしたZ方向の初期速度。

ENGINE_INIT_SPEED 属性-実数 オプション

ICエンジンモデルで使用するエンジンの初期角速度。

出力標準

出力標準ブロックには、Altair Driver出力の出力設定(Steering、Throttle、Brake、Gear、およびClutch)が記述されます。

出力設定は、出力信号の最大値、最小値、スムージング周波数、および初期値で構成されます。

$---------------------------STEERING_STANDARD
[STEER_STANDARD]
MAX_VALUE 	        =  6.28 
MIN_VALUE 	        = -6.28
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
$----------------------------GEAR_STANDARD
[GEAR_STANDARD]
MAX_VALUE           = 6
MIN_VALUE           = 1
INITIAL_VALUE       = 1
$----------------------------CLUTCH_STANDARD
[CLUTCH_STANDARD]
MAX_VALUE           = 1
MIN_VALUE           = 0
INITIAL_VALUE       = 0.0
                                                                                   
  必須条件 & コメント

ブロック名

[STEERING_STANDARD]
  オプション
BLOCK NAME 文字列 必須

ステアリング出力上のグローバル設定

MAX_VALUE 属性-実数 オプション

上限値。

MIN_VALUE 属性-実数 オプション

上限値。

SMOOTHING_FREQUENCY 属性-実数 オプション

この周波数を上回る信号の変化が遮断されます(ローパスフィルタ)。

  必須条件 & コメント
[THROTTLE_STANDARD] オプション

STEERING_STANDARDブロックと同様のパラメータ。

[BRAKE_STANDARD] オプション

STEERING_STANDARDブロックと同様のパラメータ。

[CLUTCH_STANDARD] オプション

STEERING_STANDARDブロックと同様のパラメータ。

[GEAR_STANDARD] オプション

STEERING_STANDARDブロックと同様のパラメータ。

例外:

GEAR_STANDARDには、SCALING_FACTOR、SMOOTHING、およびFEEDBACK_FREQUENCYの各属性がありません。

MANEUVERS_LIST

イベントは簡潔な運転操作に分解され、Altair Driverで1つずつ実行されます。

MANEUVER_LISTブロックには、イベントのすべての運転操作のリストが記述されています。各運転操作の記述は、運転操作のブロック名、シミュレーション時間、ステップサイズ、および出力間隔で構成されます。

$------------------------------------------MANEUVERS_LIST
[MANEUVERS_LIST]
{name            simulation_time   h_max   print_interval}
'GO_STRAIGHT'    2.0               0.001   0.01
'LEFT_TURN'      12.0              0.001   0.001
'RIGHT_TURN'     10.0              0.001   0.001
  必須条件 & コメント

ブロック名

[MANEUVERS_LIST]
  必須
BLOCK NAME 文字列 必須

<MANEUVERS_LIST>

MANEUVERS_TABLE テーブル 必須

運転操作の数 * 4

MANEUVERS_TABLE
COLUMN 1 属性-文字列 必須

<name>

運転操作情報のブロック名のリスト。

COLUMN 2 属性-実数 必須

<simulation_time>

運転操作の移行が行われる際のシミュレーション時間。終了条件のいずれも真ではない、もしくは、終了条件が定義されていない場合。

COLUMN 3 属性-実数 必須

<h_max>

運転操作についての最大ソルバーステップサイズ

COLUMN 4 属性-実数 必須

<print_interval>

運転操作についての出力間隔

運転操作

運転操作は、すべてのDriver出力のコントローラーブロック名(Steer、Throttle、Brake、Gear、およびClutch)と運転操作の終了条件で構成されます。これは、Driver信号とそれに割り当てるコントローラーとのマッピングです。

[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
(END_CONDITIONS)
{SIGNAL       GROUP   ABS   OPERATOR   VALUE   TOLERANCE   WATCH_TIME}
 ROLL_ANGLE   0       Y     SS         0       0.05        0.5
 TIME         0       N     GT         12      0.001       0.0
 STEER        1       Y     GT         6.0     0.001       0.0
$------------------------------------------------------------------------
  必須条件 & コメント
BLOCK NAME 文字列 必須

運転操作リストテーブルで指定した値。

TASK 属性-文字列 オプション

異なる運転操作のタイプについて将来の開発のためのプレースホルダー

(CONTROLLERS) サブブロック 必須

運転操作に必要なコントローラーのリストを有したテーブルを含む

{DRIVER_SIGNAL

PRIMARY_CONTROLLER

ADDITIONAL_CONTROLLER}

テーブル 必須
COLUMN 1 属性-文字列 <DRIVER_SIGNAL>

アクティブなドライバー出力信号のリスト。リストは下記を含んでいる必要あり:

必須のプライマリ信号
  • STEER
  • THROTTLE
  • BRAKE

オプションのプライマリ信号

(マニュアルトランスミッションにのみ必須)
  • GEAR
  • CLUTCH
COLUMN 2 属性-実数 <PRIMARY_CONTROLLER >

プライマリコントローラーのブロック名。

プライマリコントローラーは、ドライバー信号出力の投入を担当。

COLUMN 3 属性-実数 <ADDITIONAL_CONTROLLER >

追加のコントローラーのブロック名。

*すべてのコントローラーが追加のコントローラーとして追加できるわけではない。

*例:フィードフォワードトラクションコントローラーによるPID。

END_CONDITIONS サブブロック 必須
SUB_BLOCK_NAME 文字列 必須

名前は“END_CONDITIONS”にする必要があります。

TABLE 文字列 必須

運転操作の終了条件

COLUMN1 文字列 必須

<SIGNAL>

信号名のキーワード

COLUMN2 整数 必須

<GROUP>

そのグループの固有の番号。同じグループ信号はOR結合され、異なるグループ番号の信号はAND結合される。

COLUMN3 ブール 必須

<ABS>

絶対値。

真の場合、信号の絶対値が比較される。

COLUMN4 文字列 必須

<OPERATOR>

<LT>
“Less than”演算
<GT>
“Greater than”演算
<ET>
“Equal to”演算
<SS>
“Steady state”演算
COLUMN5 実数 必須

<VALUE>

比較値

COLUMN6 実数 必須

<TOLERANCE>

比較の許容値

COLUMN7 実数 必須

<WATCH TIME>

条件が初めて真となると直ちに、この指定時間の値について全てのセンサーが観察される。観察時間について条件が連続的に真となると、センサーは作動される。

$Example ADF end conditions block
(END_CONDITIONS)
 {SIGNAL    GROUP   ABS   OPERATOR   VALUE   TOLERANCE   WATCH_TIME}
  LONG_VEL    0     Y      LT        15.0     0.001      0.50
  ROLL_ANGLE  1     Y      SS         0.0     0.0001     1.50
  PITCH_ANGLE 1     Y      ET         0.0     0.0001     2.0
  TIME        2     N      GT         3.0      0.001    0.00
$-----------------------------------------------------------------------
上記で指定されている終了条件は、ドライバーが次のときに運転操作を終了するべきであることを意味します:

終了条件は、さまざまな信号に適用できます。以下の表は、終了条件テーブルで使用可能な信号名を示しています。

信号名 意味 コメント 成分
TIME シミュレーション時間 NA NA
DIS 移動距離 Driver出力 F2
LONG_VEL 縦方向の速度 Driver入力(2) F2
LAT_VEL 横方向の速度 Driver入力(2) F3
LONG_ACC 横方向の加速度 Driver入力(3) F2
LAT_ACC 横方向加速度 Driver入力(3) F3
YAW_RATE ヨーレート Driver入力(2) F4
ROLL_RATE ロールレート Driver入力(2) F6
PITCH_RATE ピッチレート Driver入力(2) F7
CG_X 車両重心位置 X Driver入力(1) F2
CG_Y 車両重心位置 Y Driver入力(1) F3
CG_Z 車両重心位置 Z Driver入力(1) F4
ROLL_ANGLE ロール角 Driver入力(1) F6
YAW_ANGLE ヨー角 Driver入力(1) F4
PITCH_ANGLE ピッチ角 Driver入力(1) F7
ENG_SPD エンジン回転数 Driver入力(2) F8
STEER ステア角 Driver出力 F2
THROTTLE スロットル信号 Driver出力 F3
BRAKE ブレーキ信号 Driver出力 F4
GEAR ギア信号 Driver出力 F6
CLUTCH クラッチ信号 Driver出力 F7