MotionView User's Guide

Open Loop Controller - Expression

Open Loop Controller - Expression

Previous topic Next topic No expanding text in this topic  

Open Loop Controller - Expression

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

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 aopen loop, type expression – ‘STEP(TIME – end time of maneuver 1 , 0, throttle value at the end of maneuver 1, 0.5, 0)’.

altair_driver_open_loop_param_expr_mv

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

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.

altair_driver_open_loop_expr_browser_mv

The panel is displayed.

2.Expand the table by clicking on “”, located under Value.

altair_driver_open_loop_expr_panel_prop_tab_mv

3.Use entry 26 to 30 to define signal key and dimensions.

altair_driver_open_loop_expr_panel_table_mv

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