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>
Similar to OPENLOOP - MotionView controller,
internally uses solver variable at the specified index in the signal
generator system.
All open loop signals should be linked to unique channel.
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)’Figure 1.
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.