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 |