Open Loop Controller - Expression
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. |
Parametric Expressions
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 an open 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 |