Additional Altair Driver File Blocks
The following sections are either required or optional to the Altair Driver File:
Header
$-------------------------ALTAIR_HEADER
[ALTAIR_HEADER]
FILE_TYPE = 'ADF'
FILE_VERSION = 1.0
FILE_FORMAT = 'ASCII'
Type | Requirement | |
---|---|---|
[HEADER] | REQUIRED | |
BLOCK NAME | String | REQUIRED |
FILE_TYPE | Attr-String | REQUIRED
|
FILE_VERSION | Attr-Real | REQUIRED = 1.0 |
FILE_FORMAT | Attr-String | OPTIONAL Optional currently, required for future enhancement. |
Units
[UNITS]
(BASE)
{length force angle mass time}
'meter' 'newton' 'radians' 'kg' 'sec'
- Units are not case sensitive – meter, Meter, METER, or MeTer are all interpreted same.
- Units block is required for all types of data files to be read by the driver.
Dimension | Options | Conversion factor to SI |
---|---|---|
Length | meter or meters or m foot or feet or ft mile or miles millimeter or millimeters or mm inch or inches or in |
1.0 0.3048 1609.344 0.001 0.0254 |
Force | Newton Dyne KNewton Ounce_Force Kilogram_Force or Kgf KPound_Force Pound_Force or lbf |
1.0 0.00001 1000 0.27801 9.80665 4448.2216 4.4482216 |
Angle | Radian or radians or rad or r Degrees or degree or deg or d |
1.00 0.017453 |
Mass | Kg or kilogram or kilograms G or gram or grams Pound or pounds or lb or lbs |
1.0 0.001 0.453592 |
Time | sec or second or seconds milliseconds or millisecond or millisec or millisecs or ms |
1.0 0.001 |
Signal_Global_setting
[THROTTLE_STANDARD]
MAX_VALUE = 1
MIN_VALUE = 0
SCALING_FACTOR = 1
SMOOTHING_FREQUENCY = 5
INITIAL_VALUE = 0.0
Type | Requirement & Comments | |
---|---|---|
[STEERING_STANDARD] | OPTIONAL | |
BLOCK NAME | String | Required Global settings on steer output. |
MAX_VALUE | Attr - real | Optional Upper bound |
MIN_VALUE | Attr - real | Optional Lower bound |
SMOOTHING_FREQUENCY | Attr - real | Optional Cuts changes to the signal above this frequency (low-pass filter). |
$---------------------------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
Type | Requirement & Comments |
---|---|
[THROTTLE_STANDARD] | OPTIONAL Parameters similar to STEERING_STANDARD block. |
[BRAKE_STANDARD] | OPTIONAL Parameters similar to STEERING_STANDARD block. |
[CLUTCH_STANDARD] | OPTIONAL Parameters similar to STEERING_STANDARD block. |
[GEAR_STANDARD] | OPTIONAL Parameters similar to STEERING_STANDARD block. Exceptions: GEAR_STANDARD does not have SCALING_FACTOR, SMOOTHING, and FEEDBACK_FREQUENCY attributes |
MANEUVERS_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
Type | Requirement & Comments | |
---|---|---|
[MANEUVERS_LIST] | REQUIRED | |
BLOCK NAME | String | REQUIRED <MANEUVERS_LIST> |
MANEUVERS_TABLE | Table | REQUIRED Size number of maneuvers * 4 |
MANEUVERS_TABLE | ||
COLUMN 1 | Attr - string | REQUIRED <name> List of block names of the maneuver information. |
COLUMN 2 | Attr - real | REQUIRED <simulation_time> Simulation time at which the maneuver transition takes place. In case none of the end conditions hold true or no end condition is defined. |
COLUMN 3 | Attr - real | REQUIRED <h_max> Maximum solver step size for the maneuver. |
COLUMN 4 | Attr - real | REQUIRED <print_interval> Print interval for the maneuver. |
MANEUVERS
[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
$------------------------------------------------------------------------
Type | Requirement & Comments | |
---|---|---|
[{MANEUVERS_TABLE(0 ,0)}] | REQUIRED | |
BLOCK NAME | String | REQUIRED |
TASK | Attr String | OPTIONAL Place holder for future development for different types of maneuvers. |
(CONTROLLERS) | Sub-block | REQUIRED Contains table with list of required controllers for the maneuver. |
(CONTROLLERS) REQUIRED
DRIVER_SIGNAL CONTROLLER_NAME Map |
Table | REQUIRED |
COLUMN 1 | Attr - string | <DRIVER_SIGNAL> List of active driver output signals. List should contain: Primary required signals
Primary optional signals (Required only for manual
transmission)
Additional controllers can be switched with name ADDITIONAL. List can have only one instance of primary signals and multiple instances of ADDITIONAL. |
COLUMN 2 | Attr - real | <PRIMARY_CONTROLLER > Block names of the primary controllers. Primary controllers are in charge of populating the driver signal output. |
COLUMN 3 | Attr - real | <ADDITIONAL_CONTROLLER > Block names of the additional controllers. *Not every controller can be added as additional controller. *Example: PID with Feedforward traction controller. |
END_CONDITIONS | SubBlock | REQUIRED |
SUB_BLOCK_NAME | String | REQUIRED Name should be “END_CONDITIONS”. |
TABLE | String | REQUIRED End conditions for the maneuver. |
COLUMN1 | String | REQUIRED <SIGNAL> Key word for the signal name. |
COLUMN2 | Integer | REQUIRED <GROUP> Unique number for the group. Same group signals are OR-ed together whereas different group number signals are AND-ed together. |
COLUMN3 | Bool | REQUIRED <ABS> Absolute value. If true absolute value of the signal is compared. |
COLUMN4 | String | REQUIRED <OPERATOR>
|
COLUMN5 | Real | REQUIRED <VALUE> Compare value |
COLUMN6 | Real | REQUIRED <TOLERANCE> Comparison tolerance |
COLUMN7 | Real | REQUIRED <WATCH TIME> All sensors are watched for this value of specified time as soon as the condition is true for the very first time. Sensor gets actuated when the condition is true continuously for 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
$-----------------------------------------------------------------------
Signal Names | Meaning | Output Request ID | Comment | Component |
---|---|---|---|---|
TIME | Simulation Time | NA | NA | NA |
DIS | Distance Traveled | REQ/70000066 | Driver Outputs | F2 |
LONG_VEL | Longitudinal Velocity | REQ/70000068 | Driver Inputs (2) | F2 |
LAT_VEL | Lateral Velocity | REQ/70000068 | Driver Inputs (2) | F3 |
LONG_ACC | Longitudinal Acceleration | REQ/70000069 | Driver Inputs (3) | F2 |
LAT_ACC | Lateral Acceleration | REQ/70000069 | Driver Inputs (3) | F3 |
YAW_RATE | Yaw rate | REQ/70000068 | Driver Inputs (2) | F4 |
ROLL_RATE | Roll rate | REQ/70000068 | Driver Inputs (2) | F6 |
PITCH_RATE | Pitch rate | REQ/70000068 | Driver Inputs (2) | F7 |
CG_X | Vehicle CG X | REQ/70000067 | Driver Inputs (1) | F2 |
CG_Y | Vehicle CG Y | REQ/70000067 | Driver Inputs (1) | F3 |
CG_Z | Vehicle CG Z | REQ/70000067 | Driver Inputs (1) | F4 |
ROLL_ANGLE | Roll Angle | REQ/70000067 | Driver Inputs (1) | F6 |
YAW_ANGLE | Yaw Angle | REQ/70000067 | Driver Inputs (1) | F4 |
PITCH_ANGLE | Pitch Angle | REQ/70000067 | Driver Inputs (1) | F7 |
ENG_SPD | Engine Speed | REQ/70000068 | Driver Inputs (2) | F8 |
STEER | Steer Angle | REQ/70000066 | Driver Outputs | F2 |
THROTTLE | Throttle Signal | REQ/70000066 | Driver Outputs | F3 |
BRAKE | Brake Signal | REQ/70000066 | Driver Outputs | F4 |
GEAR | Gear Signal | REQ/70000066 | Driver Outputs | F6 |
CLUTCH | Clutch Signal | REQ/70000066 | Driver Outputs | F7 |