STISIM Drive - Scenario Definition Language (SDL)
Before you can begin designing your scenarios you must decide what information you will be presenting to the driver as they negotiate through the simulation run. Additionally, you must also consider the data that you would like to collect from the driver as they encounter the various pitfalls that you have built into your scenario. All of this is controlled by individual events that will be linked to one another in your events file. Therefore, to efficiently create an events file, the following steps should be followed.
To help you understand what an events file is and how the parameters work, we have included several example event files with the simulator. You should review these sample files (found in the Projects directory under the STISIM Drive directory, usually C:\STISIM\Projects) and drive them. You can also use them or parts of them in your own scenarios, or as a start to a scenario that you are creating.
Because the program requires 2 different files (configuration and project) in order to create a simulation run, you must be careful not to mix different units. Trying to use a metric project file with an English configuration file will produce some interesting results. This is generally noticeable right away because the roadway will be the wrong dimensions, however to help prevent this from happening we recommend that in the first line of your project file you include a units descriptor. By simply placing the word "Metric" or "English" as the first line of your project file, STISIM Drive will check this with the units you have specified in your configuration and will warn you if the two don't match. If no units descriptor is in the file, STISIM Drive will assume the project is in English units.
The events file has a floating file format, this means that each line of the file does not have the same number of parameters in them. The general format for each line of the file is:
ON DISTANCE,EVENT SPECIFIER,PARAMETER 1,...,PARAMETER N,COMMENTS
The ON DISTANCE parameter is the longitudinal distance down the road (since the start of the simulation run) that the driver has driven when the event will initially appear on the screen. When checking simulation scenarios, you may at times want to delete an event from the display, but not from your events file. To do this simply make the ON DISTANCE parameter be a negative value. This way you can delete the event from the screen without removing the entire line from your events file. To put the line back in, make the ON DISTANCE parameter be a positive value again.
The total number of events for any simulation run is limited to a total of 10000 individual events.. If you try to use more than this amount, the program will report an error.
The event specifiers, and the remaining parameters will now be discussed individually. Some of the parameters have physical units associated with them, for instance the ON DISTANCE is a length so it is measured in feet or meters. In this document, all of the physical units are specified in English units. If you will be running the simulation using metric units, simply use the metric equivalent of the units specified.
The comments parameter allows you to place a line in the file that gives a description of what you are trying to accomplish. We recommend that if you use the comment parameter, you never use a numeral as the first character. Some of the STISIM Drive events use a numeric value in this field for doing internal testing. Therefore, if you set the first character in the comments field to a numeric value, the simulation may give you strange results.
In the discussion of each of the events that are supported by STISIM Drive, there is an example that demonstrates a typical use of the event being discussed. You should use these examples as a guide when defining events of your own. With each example comes a description of what the event is trying to accomplish and what each of the parameters is. Additionally, after the discussion parameters, the parameter values that appear in the event syntax will generally be included in parenthesis so that you can reference their use to their position in the events syntax.
One final note about event parameters. There are numerous events that require you to specify physical distances in order to use the event. When these parameters are discussed in the documentation, they will call for either a longitudinal, lateral or vertical distance in the real world driving scene. Therefore before continuing, you should acquaint your self with the STISIM Drive axis system.
The events that are currently supported are:
A - Vehicle ahead of driver, approaching in the other lane
AO - Analog output
B - Blank the roadway display screen for x.xx seconds
BARL - Construction zone barrels
BLCK - Display blocks or rectangles on the display screen
BLDG - Display a building
BRK – Activate the brake pedal
BSAV - Begin saving dynamic data for the output file
C - Add curvature to the roadway display
CAO - Continuous analog output
CSET - Set crash parameters
CT - Cross traffic in an intersection
CV - Control vehicle automatically
D - Diamond sign
DA - Add a divided attention symbol to the display
DI - Digital input event
DO - Digital output event
ES - End simulation run
ESAV - End saving dynamic data for the output file
FOG - Add a patch of fog to scene
I - Display a roadway intersection
IA - Display an intersection ahead sign
JBAR - Jersey barrier
L - Left diamond sign
LS - Change the speed limit
PB - Police officer shows up
PDE - Previously defined event
PE - Police officer goes away
PED - Pedestrian
PI - Performance index simulation
POLY - 2 dimensional polygons
PR - Play recording
Q - Rectangle sign
R - Right diamond sign
RMSB - Begin taking RMS data
RMSE - End taking RMS data
ROAD - Display a specific roadway
RSA - Change the current road surface attributes
RT - Reaction Time
S - Stop sign
SA - Display the signal ahead sign
SIGN - Display a roadway sign
SL - Display a traffic signal light
SOBJ - Add a static object
SPCW - Speed control warning
STCW - Steer control warning
T - Yield sign
TDO - Triggered digital output
TREE - Display trees on the side of the road
V - Vehicle ahead of driver in driver's lane
VC - Vertical curvature
WG - Wind gusts
It should be noted that several events that were available with the DOS based version of STISIM are currently not available with STISIM Drive. These events are the MS, OVAL, PED, TEXT, and W events. At some point in the near future we hope to add these events back into the program, but as of this release they are not available. We have made an effort to keep the events and their parameters the same between STISIM and STISIM Drive, however, in some cases parameters have changed or new parameters have been added. Therefore we recommend that you review each event because even old events have new functionality that makes them even better than before.
Included with the STISIM Drive program (in the C:\STISIM\Projects folder) are some sample event files (SAMPLE.EVT, STEERING.EVT, TERRAIN.EVT, etc.) . These, plus others, have been included so that you can see how many of the SDL events work. If you use these to test drive the simulator and then go back and look at the events and their parameters, you will have a much better feel for how the program works. These sample files are all specified in English units as are all of the parameter definitions that follow. If you will be designing your scenarios using metric units, simply use meters anywhere a parameter is defined with feet, and use kilometers instead of miles.
One final general note. Many STISIM Drive events require a file that contains additional information. STISIM Drive automatically defaults to the Projects (usually C:\STISIM\Projects) directory. Therefore, you will either need to store the files in the projects directory, or include the full path name with the file name. Otherwise STISIM Drive will not be able to find the file, causing an error message to be generated and the event to be ignored.