Difference between revisions of "NADS MiniSim Configuration Files Continued II"

Line 95: Line 95:
  
 
[[#top|TOP]]
 
[[#top|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
 +
 +
[PHOTO]
 +
 +
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:
 +
 +
[PHOTO]
 +
 +
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:
 +
 +
[PHOTO]
  
 
[[NADS_MiniSim_Configuration_Files_Continued|◄PREVIOUS]]
 
[[NADS_MiniSim_Configuration_Files_Continued|◄PREVIOUS]]

Revision as of 17:52, 4 October 2016

◄PREVIOUS

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:

[PHOTO]

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,

[PHOTO]

                   will make the titler refresh the text every 100 milliseconds.

[PHOTO]

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,

[PHOTO]

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 [PHOTO]

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

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

[PHOTO]

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

[PHOTO]

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

[PHOTO]

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:

[PHOTO]

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:

[PHOTO]

◄PREVIOUS