NADS MiniSim Configuration Files Continued II

Table of Contents

◄PREVIOUS NEXT►

AnalogButtonConfig.txt

This file contains state configurations of multi-state buttons using analog input channels from daq boards. Currently two types of daq boards are supported: Measurement Computing MCCDAQ board, which has 8 analog input channels, and US Digital USB4 board, which has 4 analog input channels. The configuration file contains mappings from analog input channel voltage values to button states. For each button, the first line contains two integers, specifying the button number (see section on “JoystickButtonConfig.txt”) and number of states, respectively. This is followed by appropriate number of lines, each listing an integer state number and a float voltage value. For example, a configuration file containing the following lines specifies the configuration of two analog buttons:

2200 4

0 4.84

1 2.92

2 1.64

3 2.21

2201 3

0 4.84

1 2.20

2 2.63


The first button is mapped to the MCCDAQ board analog input channel 0, with 4 states, and the second is mapped to MCCDAQ board analog input channel 1, with 3 states. The order of appearance for the state-voltage mappings is flexible. They do not need to be sorted by state number or voltage value.

TOP

SteeringInputCurve.ecci_original.txt

This file provides mapping from physical steering angles of the steering wheel to steering angles to be fed to the vehicle dynamics.

The first line contains two values, the maximum physical angle for the steering wheel, and the maximum mapped angle for the steering wheel, both in degrees.

The ensuing lines provide mapping from physical steering angles of the joystick wheel to the angles sent to the vehicle dynamics. Linear interpolation is used for interim values. Only non-negative angles need to be provided. The mapping for the negative angles is assumed to be symmetric to that for the positive angles.

For other joystick types, steering input curve files with appropriate names will be used. The following strings can be used in place of “ecci_original” for appropriate joystick types:

  • ecci_original”, for the stock ECCI Trackstar 6000 wheel.
  • “ecci”, for the hybrid ECCI wheel with shifter stalk.
  • “msjoy”, for generic MicroSoft wheel.
  • “gamepad”, for Logitech Gamepad.
  • “g25”, for Logitech G25 wheel.
  • “happ”, for the hybrid HAPP board wheel with shifter stalk.
  • “wingman”, for Logitech Wingman Formula GP wheel.
  • “g27”, for Logitech G27 wheel.
  • “ecci_original”, for the original ECCI wheel.
  • “fanatec”, for the Fanatec Porsche 911 GT3 RS wheel.
  • “daq”, for using combined MCCDAQ and US Digital USB4 daq boards for all inputs.

TOP

SteeringInputCurve.ecci_orginal.txt

This file provides mapping from physical steering angles of the original ECCI steering wheel to steering angles to be fed to the vehicle dynamics.

The first line contains two values, the maximum physical angle for the steering wheel, and the maximum mapped angle for the steering wheel, both in degrees.

The ensuing lines provide mapping from physical steering angles of the joystick wheel to the angles sent to the vehicle dynamics. Linear interpolation is used for interim values. Only non-negative angles need to be provided. The mapping for the negative angles is assumed to be symmetric to that for the positive angles.

For other joystick types, steering input curve files with appropriate names will be used.

TOP

titlerConfig.txt

This file contains configuration information for the text overlay on the MiniSim video recording files when the video capture subsystem is running. The titler is a Horita SCT-50 Serial Control Titler, connected to the MiniSim PC through a serial port. The number of the serial port needs to be specified in the command option [-titler port] for the MiniSim visual server. For example, if the serial port that the titler is connected to is COM3, then the port number is 3. This option needs to be specified for the visual server to send commands to the titler. The batch file that starts the MiniSim visual server is named either “NadsMiniSimVisualserver.bat” or “NadsMiniSimVisualserver_nves.bat” and is located under %MININADSROOT%\bin. Check the file to make sure the titler option is specified.

The titler is capable of printing 9 rows of text, each with a maximum of 20 columns. Three types of commands are used in the configuration file: Initialization options. These commands start with the tag “INIT”, followed by the command and numerical values. Recognized commands are shown in the following table. For example,For example, if the serial port that the titler is connected to is COM3, then the port number is 3. This option needs to be specified for the visual server to send commands to the titler. The batch file that starts the MiniSim visual server is named either “NadsMiniSimVisualserver.bat” or “NadsMiniSimVisualserver_nves.bat” and is located under %MININADSROOT%\bin. Check the file to make sure the titler option is specified.

The titler is capable of printing 9 rows of text, each with a maximum of 20 columns. Three types of commands are used in the configuration file:

INIT RATE 100

will make the titler refresh the text every 100 milliseconds.

Static labels. These commands start with the tag “STATIC”, followed by a string, and end with row and column values.

If the string contains spaces or other weird characters, it must be enclosed in double quotes. Double quote itself cannot be part of the string. For example,

STATIC “Test 2” 2 10

will make the titler display the static string “Test 2” starting at row 2, column 10.

Variable displays. These commands start with the tag “VAR”, followed by the variable name, the index of the element inside an array variable, then row and column values, and finally the print formatting as used by the printf() function in C and C++ languages. The variable must be present in the cell element configuration (CEC) file, which is named “NadsMiniSim.cec” and located under %MININADSROOT%\data. If the variable is scalar, the index can be omitted or set to -1. Any other value will be ignored. If the variable is an array, the index number must be specified; otherwise the first element in the array will be used. If the index number is set to a value outside the range of the array, the last element in the array will be used. Array variables of character type are treated differently. The whole character string will always be displayed, regardless of the index number. For example, suppose VDS_Veh_Speed is a scalar variable in the CEC file of type float, the following command

VAR VDS_Veh_Speed -1 8 5 %.1f

will display it at row 8, column 5 with a single digit after the decimal point. Alternatively, the command can also be written as

VAR VDS_Veh_Speed 8 5 %.1f

by omitting the index value.

Another example, suppose VDS_Chassis_CG_Position is an array variable of type float and size 3, the following commands

VAR VDS_Chassis_CG_Position 0 5 8 %.2f

VAR VDS_Chassis_CG_Position 1 6 8 %.2f

VAR VDS_Chassis_CG_Position 2 7 8 %.2f

will display the three values at column 8 on rows 5, 6 and 7, respectively.

A third example, suppose Experiment is a character array, the following command

VAR Experiment 4 6 %s

will display the string at row 4, column 6. The index number is omitted.

Cell variables in the CEC file can be of type float, double, integer, short, or character. The corresponding arguments in the print formatting string are: %f, %lf, %d, %hd, and %s.

TOP

EyeTrackerScreenConfig.txt

This file contains layout information of the MiniSim display screens. The data is required to correctly render the two crosshair targets that track driver left and right eye gaze locations on the display screens when the eye tracker subsystem is running.

For the driver gaze location to be rendered correctly, the following cell elements need to be present in the cell element configuration (CEC) file and updated at run time by the eye tracker subsystem:

  • ET_is_tracking: a single integer that indicates if eye tracking data is being updated. When this value is 0, the gaze location crosshairs will be turned off.
  • ET_eye_ball_pos: an array of six floats, specifying the x, y and z positions for the right eye and the left eye.
  • ET_gaze_rot_unfiltered: an array of four floats, specifying the pitch and yaw angles of the gaze vectors for the right eye and the left eye.
  • ET_gaze_quality_level: an array of two integers that indicates the quality levels of the gaze value for the right and left eyes, respectively. The value can be 0, 1, 2 or 3, indicating gaze quality ranging from poor to excellent. The color of the crosshair targets will change from semitransparent red, semitransparent yellow, semitransparent green to solid green to reflect the gaze quality level.

Currently, three types of display screen configuration are available for the NADS MiniSim, single main display screen, three main display screens individually connected to the MiniSim PC, and three main display screens connected to the MiniSim PC via a Triple Head adapter. All three configurations can have the optional instrument panel display. The configuration type will be automatically detected by the MiniSim. However, the number of display screens listed in the configuration file must match the physical setup, otherwise undetermined results will occur.

The first line of the configuration file contains a single value. It is the gaze vector filter factor, which indicates how much weight the latest gaze values have in the accumulated values. This filter factor is used to smooth out the gaze vector due to instability in the unfiltered outputs. If the factor is set to 1, the gaze vector outputs will be used directly without filtering.

The following lines specify the MiniSim display screen location and size. Each line corresponds to one screen, and they must be listed in the order of either

left center right [instrument_panel]

or

main [instrument_panel]

depending on the number of screens present in the physical setup. The line for the instrument panel screen is optional. Its values are currently not used even if present. The current MiniSim will not render crosshair targets on the instrument panel screen when the driver is looking at the instrument panel. Each line for a screen contains 8 values, they are:

x_position y_position z_position x_rotation y_rotation z_rotation width height

The position refers to the center of the screen. Location and size values are in inches, and rotation values are in degrees. The position and rotation values are specified in the eye tracker’s world coordinate system, whose origin is marked on the camera mount. When facing the cameras, the +x axis points to the right, +y axis points up, and +z axis points toward the driver. When the rotation values are all zeros, the display screen faces the driver. The position, rotation and size values match those of an object when specified in the world model of the eye tracker software.

Here is a sample configuration file that specifies three main display screens:

gaze vector filter factor 0.25

#left screen

#origin (inches) x y z rotation (degrees) rotx roty rotz size (inches) width height

-19.0 10.56 8.0 0 25.0 0 17.5 9.88

#center screen

0 10.56 3.75 0 0 0 17.5 9.88

#right screen

19.0 10.56 8.0 0 -25.0 0 17.5 9.88

TOP

DRTSettings.txt

This file contains settings for communicating with the TNO DRT (Peripheral Detection Device) device. There are four lines in the file. See the example below:

DRT_HOST_IP 127.0.0.1

DRT_SERVER_TCPPORT 8010

DRT_HOST_UDPPORT 8012

DRT_RT_TO_SEC 8


The first line contains the tag DRT_HOST_IP and specifies the IP address of the host computer where the DRT device is connected to. If the DRT device is connected to the MiniSim computer, the loop back address of 127.0.0.1 can be used. Replace the address with the word none to prevent the MiniSim software from communicating with the DRT device.

The second line contains the tag DRT_SERVER_TCPPORT and specifies the port number used by the TCP server, which in this case is the MiniSim software. If not specified, the default value used by MiniSim is 8010.

The third line contains the tag DRT_HOST_UDPPORT and specifies the port number that the DRT device receives the sync data which will be written into the log file generated by the DRT device. The default value is 8012.

The fourth line contains the tag DRT_RT_TO_SEC, and specifies the maximum amount of time in seconds that the MiniSim software waits to receive the reaction time data from the DRT device after it sends the command to trigger the DRT stimulus. The default value is 8 seconds. Make sure this value is larger than the response window set for the DRT task and used by the DRT device so that the MiniSim will wait long enough to get the reaction time from the DRT device.

Not all four lines need to be present expect the line that contains the tag DRT_HOST_IP, and they can appear in any order. Comment lines that start with the character # can be included.

The DRT device needs to be configured to work with the MiniSim software. Please refer to the DRT device user manual for details. The following are the issues related to working with MiniSim:

  • The DRT device should be connected to the host computer using the USB cable.
  • In the PDT.init file under the System1\Init subfolder for the DRT (PDT) software, make sure the following lines are present:

[UDP]

EXTERN_rec_port=8012

EXTERN_rec_IP=127.0.0.1

[TCP]

TCP_port=8010

ServerIP=127.0.0.1

EXTERN_rec_port should match DRT_HOST_UDPPORT in the MiniSim DRT settings file. EXTERN_rec_IP should match DRT_HOST_IP. A loop back address of 127.0.0.1 can be used if it is the same computer as the MiniSim. TCP_port should match DRT_SERVER_TCPPORT. ServerIP should be set to the IP address of the MiniSim computer. Again, a loop back address can be used if DRT device is connected to the MiniSim computer. Please note that the [TCP] section may not be present in the PDT.init file when the DRT software is installed.

  • The DRT device needs to be running in the “triggered stimulus” mode. This is achieved by typing “1” in the commands box of the user interface for the PDT software, sending it to device, which prompts the lists of PDT modes in the information window at bottom left, and then sending “1” again to choose the triggered stimulus mode. Sometimes it takes sending the “1” three times to set the correct mode. The Device remembers the mode it was in when it was disconnected from the computer the last time, so the above procedure does not need to be performed every time the PDT software is started. Note: it is necessary to do an Led test (there is a button for that in the user interface) when the software is started, as it appears that the first command sent by the MiniSim to turn on the stimulus gets lost if a test is not done after the software is started, leading to a missing DRT stimulus.
  • Desired stimulus on time and detection period need to be set for the DRT device. They are done in similar manner to setting the PDT mode. See the “PDT commands” section in the DRT device user manual. The corresponding triggers in the MiniSim scenario need to be set with matching values. For example, in the sample scenario DRT_test2.scn, the stimulus on time should match the delay between the two actions that set DRT stimulus state to 1 and -1 in the triggers named “Trigger DRT n”. Also, make sure the value for DRT_RT_TO_SEC in the MiniSim DRT settings file is longer than the detection period.
  • Logging for the DRT device needs to be started manually by clicking the “Star Log” button on the DRT device user interface, and stopped by clicking the “Stop Log” button. This generates the DRT device’s own log and it DOES NOT affect the running of the MiniSim scenarios, triggering of the stimuli, including those generated by the DRT device, or calculation and logging of the reaction time into the MiniSim DAQ file. The SyncTime field in the DRT log file contains the sync data sent from the MiniSim, which is the MiniSim frame number. The reaction time is recorded as SCC_ReactionTime, a float value in the MiniSim DAQ file.

TOP

◄PREVIOUS NEXT►