Open Loop Controller - Curve

Method 1 – Specify curve in the same file under Block name = CURVE.value

[OL_CURVE_BLOCK]
TAG = 'OPENLOOP'
TYPE = 'CURVE'
BLOCK = 'DEMAND_CURVE'

[DEMAND_CURVE]
INDEPENDENT_VARIABLE = 'PATH_S'
DEPENDENT_VARIABLE = SIGNAL
INTERPOLATION = 'AKIMA'
(CURVE)
{PATH_S      SIGNAL}
0     100
10    100
20    100
30    0
40    0
50    0

Method 2 – Point to some other file and block containing the curve data

[OL_CURVE_FILE]
TAG = 'OPENLOOP'
TYPE = 'CURVE'
FILE = 'E:\datafiles\brake_signal.txt'
BLOCK = 'BRAKE_CURVE'
Driver searches for the curve data in the BRAKE_CURVE block in the brake_signal.txt file.
[OPENLOOPCONTROLLER - CURVE] - Populates a curve from the data:
TAG Attr - string Required

<OPENLOOP >

TYPE Attr - string Required

<CURVE >

CURVE Attr - string OPTIONAL
If absent:
  • Method 1
    Specify curve in the same block under CURVE sub-block.
If present:
  • Method 2
    Curve in the same file under Block name = CURVE.value.
  • Method 3
    Point to some other file and block containing the curve data.
Table 1. [OPENLOOPCONTROLLER - CURVE] - Populates a curve from the data:
[DEMAND_CURVE_BLOCK]
INDEPENDENT_VARIABLE Attr- string OPTIONAL
  • Name of the independent column vector.
If absent:
  • Assumes TIME to be independent variable.
If present:
  • Interprets INDEPENDENT_VARIABLE.value as independent variable.
  • Options
    • TIME
      Simulation time
    • PATH_S
      Distance traveled along centerline.
      Note: For open loop steer events where "distance along centerline" is undefined, distance traveled is used instead.
    • DIS
      Distance traveled by vehicle.
DEPENDENT_VARIABLE Attr- string OPTIONAL
  • Name of the dependent column vector.
If absent:
  • Assumes Column 1 to be independent variable.
If present:
  • Interprets DEPENDENT_VARIABLE.value as independent variable.
INTERPOLATION Attr- string OPTIONAL
If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options – AKIMA, CUBIC, LINEAR, QUINTIC.
  • These interpolation schemes are similar to those of MotionSolve. See the MotionSolve documentation for details on interpolation schemes.
CURVE Sub-Block REQUIRED

Contains data table.

Table 2. [OPENLOOPCONTROLLER - CURVE] - Populates a curve from the data:
(CURVE)
CURVE_DATA Table REQUIRED