Assigns an expression driver signal. The expression syntax should be consistent with MotionSolve. This expression is similar to a MotionView based open loop signal in execution. Driver assigns the expression to the MotionView signal attached at the signal channel specified in the block. The driver then uses the variable value of the signal to generate the signal.
[OPEN_LOOP_EXPRESSION]
TAG = 'OPENLOOP'
TYPE = 'EXPRESSION'
SIGNAL_CHANNEL = 0
EXPRESSION = '5*SIN(TIME)'
[OPENLOOPCONTROLLER - EXPRESSION] |
||||||
---|---|---|---|---|---|---|
TAG |
Attr - string |
Required <OPENLOOP> |
||||
TYPE |
Attr - string |
Required <EXPRESSION> |
||||
SIGNAL_CHANNEL |
Attr - int |
Required <0 to 4>
|
||||
EXPRESSION |
Attr - string |
Required Expression should be consistent with MotionSolve expression statements. |
When in a multi-maneuver event, expressions need to be re-evaluated before the start of the maneuver in order to maintain the continuity of the signals.
Example:
Throttle off cornering event
• | Maneuver 1 – Constant radius cornering, constant radius path with constant velocity - until roll angle reaches its maximum and stabilizes. |
• | Maneuver 2 – Step down the throttle while following the same path. |
In this event, Maneuver 1 would typically consist of closed loop steering and throttle controllers. In Maneuver 2, the steering controller still remains the same, however the throttle controller is aopen loop, type expression – ‘STEP(TIME – end time of maneuver 1 , 0, throttle value at the end of maneuver 1, 0.5, 0)’.
• | Curly braces {} – indicate driver will re-evaluate the expression at the start of the maneuver |
• | {SIGNAL} is evaluated as VARVAL(signal solver variable id) |
• | {SIGNAL_0} is evaluated as Signal Value at the end of last maneuver |
• | {%SIGNAL} is evaluated as {SIGNAL} – {SIGNAL_0} |
• | SIGNAL can be any of the predefined key words or user defined key words. In case of user defined key word, user needs to explicitly define the keyword in the MotionView interface. |
List of predefined keywords:
KEY |
Signal |
TIME |
Time |
DIS |
Distance traveled |
LONG_VEL |
Longitudinal velocity |
LONG_ACC |
Longitudinal acceleration |
LAT_VEL |
Lateral velocity |
LAT_ACC |
Lateral acceleration |
ROLL_ANGLE |
Roll angle |
YAW_ANGLE |
Yaw angle |
PITCH_ANGLE |
Pitch angle |
ROLL_RATE |
Roll rate |
YAW_RATE |
Yaw rate |
PITCH_RATE |
Pitch rate |
CG_X |
Vehicle CG x displacement |
CG_Y |
Vehicle CG y displacement |
CG_Z |
Vehicle CG z displacement |
ENG_SPD |
Engine speed |
STEER |
Steering angle |
THROTTLE |
Throttle signal |
BRAKE |
Brake signal |
CLUTCH |
Clutch signal |
GEAR |
Gear signal |
User defined keywords can be used in the Altair Driver File (ADF).
1. | From the MotionView browser, select a Signal dimension data set in the Altair Driver Analysis. |
The panel is displayed.
2. | Expand the table by clicking on “…”, located under Value. |
3. | Use entry 26 to 30 to define signal key and dimensions. |
Name |
Key |
---|---|
Solver Variable ID |
ID of the solver variable of interest. |
Mass dimension Length dimension Time dimension Force dimension Angle dimension |
Exponents of the dimensions of the signal. Example: Drive Torque has dimensions F1 L1 Expected entries: Mass dimension : 0 Length dimension : 1 Time dimension : 0 Force dimension : 1 Angle dimension : 0 |