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
  • Read and extract information
  • Multiple file format support
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

Map of driver signals and controllers to be assigned to them:
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
  • STEER
  • THROTTLE
  • BRAKE

Primary optional signals

(Required only for manual transmission)
  • GEAR
  • CLUTCH

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>

<LT>
“Less than” operation
<GT>
“Greater than” operation
<ET>
“Equal to” operation
<SS>
“Steady state” operation
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
$-----------------------------------------------------------------------
The end conditions specified above mean that driver should end the maneuver when:

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