Autodesk VRED provides two paths for maintaining plugins. Please identify the directory where you want to keep the nVIZ Ergonomics Plugin. The paths are displayed in the VRED terminal window after launching VRED:
Download and execute the nVIZ Ergonomics Plugin installer. After the installer has completed, you need to copy the two following files to your VRED plugins directory:
- C:/Program Files/nVIZ/Ergonomics/nVIZ Ergonomics.py
- C:/Program Files/nVIZ/Ergonomics/nVIZ Ergonomics.ui
License File and Config Files
The plugin supports the import of ergonomics data from an Excel file. The definition of which data to read from the Excel file is defined in the config file “xlsximport.config”.
The plugin includes a frontend for iPAD Pro which allows you to easily perform the ergonomics analysis while seated in a seating buck. The default settings for the frontend are defined in the config file “frontend.config”.
Customers using the computer numerical controlled (CNC) seating buck of nVIZ also require the seating buck specific config file “cncSeatingBuck.config”.
nVIZ will provide you with the config files to meet the specific ergonomics process in your organization. Please contact nVIZ to receive your license file and config files.
The license and config files need to be copied to the directory:
- C:/Program Files/nVIZ/Ergonomics/
After installation, the nVIZ Ergonomics Plugin can be launched from the context menu like any other VRED module – right mouse click on the Main Tool Bar or on the Quick Access Bar:
Ergonomics Review Preparation
Scene Graph Nodes
For the full functionality of the Ergonomics plugin to be available for both the HTC and the ART tracking systems, also in combination with the nVIZ Motion plugin for driving simulation, we require a special scene graph structure as depicted below:
The naming of the nodes is arbitrary but they must be correctly referenced in the vehicle rig tab (see below “Vehicle Rig”) and the nodes need to be correctly referenced in the VRPN Tracking module (see below “Tracking System ART”) . Also, the structure, i.e., the parent-child relations are mandatory.
- Perspective Camera – the active camera needs to have a parent node and a grandparent node which are reserved for the nVIZ plugins to store transformations.
- TrackingTransformations – the parent of the active camera will be used by the Ergonomics plugin to store all the transformations required for setting the seat reference points and view points.
- CarMakerTransformations – the grandparent of the active camera is reserved for the Motion plugin to store the driving simulation data. When using only the Ergonomics plugin, the grandparent needs to have all its transformations = 0.0
- CarMakerFR1 – this node is mandatory. It stores the driving simulation data in reference frame FR1 from CarMaker when using the Motion plugin for driving simulations. This node needs to be referenced in the vehicle rig.
- nVIZErgoSeatReferencePoint – this node is mandatory. It must be setup as the cart node in the VRPN tracking module (see below). the node is required for offsetting the tracking system to align with seat reference points and view points. The node needs to be referenced in the vehicle rig.
- nVIZErgoSeatBuck — this node is mandatory. It must be setup to receive the coordinates of the seating buck target from the VRPN tracking (see below). The node is required for recording the position of the seating buck target. The node needs to be referenced in the vehicle rig.
- nVIZErgoViewPoint – this node is mandatory. It must be setup to receive the coordinates of the glasses target from the VRPN tracking (see below). The node is required for recording the position of the glasses. The node needs to be referenced in the vehicle rig.
- nVIZErgoHMDViewPoint – this node is optional. It receives the coordinates of the HMD view point in the tracking mode “ART DTrack with HMD” for rendering images from the HMD view point. The node needs to be referenced in the vehicle rig.
- VehicleSwitch – this node is mandatory for storing multiple vehicles to be reviewed.
For the adjustment of the seats, the steering and the mirrors to work correctly, each vehicle in the scene needs to be organized in a structure as depicted below. The node names and order are arbitrary but they need to be correctly referenced in the vehicle rig (see below “Vehicle Rig”).
Tracking System HTC
Ergonomics reviews with the HTC Vive require an extra HTC tracker to be positioned in the z-coordinate of the seat reference point. The “Reset HMD Pose” function (see “Ergonomics Review” below) will position the driver’s view in the scene at the x, y coordinates of the seat reference point and the z coordinate calculated from the vertical distance between the HMD and the tracker. The orientation will be aligned to the longitudinal vehicle axis.
Tracking System ART
Ergonomics reviews with the ART tracking system in a CAVE rely on the tracking of the seating buck by a VRED cart node. The imported ergonomics data needs to include the correct offsets for the seating buck targets.
The VRED scene graph nodes (see “Scene Graph Nodes” above) need to be correctly referenced to ART sensors in the VRPN Tracking module as depicted below. The “ViewPoint” node needs to be attached to the same sensor as the “Glasses” and the “SeatBuck” node needs to be attached to the same sensor as the “SeatReferencePoint”.
All the settings defined in an Ergonomics review can be saved to a project file and reloaded from there. The file format is *.egb
- File > Open: Opens an existing Ergonomics project. The Windows Explorer will be launched when clicking the button.
- File > Save: Saves the current state of the Ergonomics Plugin settings to a binary project file.
- File > Save As: Saves all the Ergonomics Plugin settings to a binary project file. The Windows Explorer will be launched when clicking the button.
- File > Import Ergo Data: Imports ergonomics data from an Excel file (see below “Ergonomics Data Import”)
- File > Export Driver: Exports all the adjustment settings (seat, steering, etc.) of the current driver to an XML file.
- File > Export All Drivers: Exports all the adjustment settings (seat, steering, etc.) of all drivers to individual XML files.
- File > Import Driver: Imports and applies all driver specific adjustment settings (seat, steering, etc.) from an XML file. Multiple driver files can also be selected to be loaded at once.
- File > Clear Drivers: Removes all the drivers from the project. Only the default “Initial Driver(K0)” will be remaining.
Ergonomics Data Import
The starting point for an ergonomics review is the import of the ergonomics data stored in an Excel file. Typically this data includes the seat references points of multiple vehicles as well as seating buck dimensions, view point coordinates, seat and steering wheel adjustment ranges, etc.
- File > Import Ergo Data: This function will launch the Windows Explorer, allow you to select the Excel file and then start an external process to extract the relevant ergonomics data from the Excel file according to the ‘xlsximport.config’ file. By default, the config file created by the installer will be used:
- C:/Program Files/nVIZ/Ergonomics/xlsximport.config
The results of the data import are displayed in a Windows terminal window. Additionally the results are written to a log file in the same directory as the imported Excel file:
- C:/…/…/Ergonomics_<Time Stamp><Excel File Name>.log
After successful data import, the combo boxes and the list fields on the different tabs of the plugin will be filled in.
The color on the “Check Active Vehicle” button indicates the completeness and consistency of the imported data per selected vehicle.
- Check Active Vehicle: This function performs a check on the data of the vehicle selected in the “Vehicle” combo box to make sure the required scene graph structure is correct ( see “Scene Graph Nodes” above). See the VRED terminal window for the results of the check as depicted below. The color on the button will also change according to the result:
- Green: Indicates that the data of the active vehicle is complete and consistent, i.e., all paths to mandatory and optional nodes in the vehicle rig have been found.
- Yellow: Indicates that the data is consistent, i.e., all paths to mandatory nodes in the vehicle rig have been found but some optional nodes could not be found.
- Red: Indicates that the data is inconsistent or incomplete.
Make sure that you have selected the correct tracking system.
- Tracking System: Select the tracking system you are using from the combo box.
- Seat Reference Point Tracking: This function is applicable only for reviews with the ART Tracking. Use it to deactivate the sensor which sets the seat reference point to get a smooth animation when adjusting the seat or when driving with the Motion plugin. Otherwise, the animation will be juddering at the refresh rate of the sensor.
- Sensor ID: The sensor ID assigned in the VRED VRPN tracking dialog.
- Body Name: The body name assigned in the VRED VRPN tracking dialog.
The tracking data is recorded from the sensors and will be shown in the LCD displays if the “Display Listener” is checked.
- Vehicle Reference: If the radio button “Vehicle Reference” is selected, the seat reference point and view point coordinates will be displayed in the vehicle reference coordinate system.
- DTrack Reference: If the radio button “DTrack Reference” is selected, the seating buck target and glasses target coordinates will be displayed in the DTrack reference coordinate system (depicted below).
Seating Position and View Point Simulation
The Ergonomics Plugin simulates different seating positions in the virtual scene based on the imported seat reference point coordinates as well as different view points based on the view point coordinates.
- Seat Reference Point: Select a seat reference point (driver, front passenger, etc.) from the combo box to simulate the seating position.
- View Point: Select a view point (95th percentile male, 5th percentile female, etc.) from the combo box to simulate the view point. The seat reference point coordinates will be offset by the delta between view point and glasses target at the moment the combo box gets switched. Select “Head Tracking” to reset the seat reference point coordinates to the original value.
Seat, Steering, etc. Adjustments
The Ergonomics Plugin simulates the adjustment of the vehicle items relevant for ergonomics (seat, steering column, and mirrors) within the defined ranges and based on the defined pivot points (see below “Adjustment Items”).
- Driver: Selection of individual settings of the driver for all the adjustment items.
- Save: Updated settings of the current driver will be exported back to the XML file.
- Save As: Current settings of the adjustment items will be exported to the XML file. The Windows Explorer will be launched when clicking the button to select the driver file name and location.
- Eye Separation: The distance between both eye-balls of the driver. This value is used to visualize the 3D elements properly for the driver.
- Adjustment Item: Selects the item to be adjusted, seat, steering column, interior mirror, etc.
- Reset Adjustment: Resets the adjustment items as per selection:
- This Item This Vehicle: Reset only the settings of the selected adjustment item of the selected vehicle for the selected driver.
- All Items This Vehicle: Reset the settings of all the adjustment items of the selected vehicle for the selected driver.
- All Items All Vehicles: Reset the settings of all the adjustment items of all vehicles for the selected driver.
- Forward-Backward: Moves the item within the defined ranges along the defined vector ( see tab “Adjustment Items”).
- Left-Right: Moves the item within the defined ranges along the defined vector ( see tab “Adjustment Items”).
- Down-Up: Moves the item within the defined ranges along the defined vector ( see tab “Adjustment Items”).
Seat Reference Points
The imported seat reference points per vehicle are listed in the list field. Select a line to edit the values in the spin boxes. Then click the update button.
- Update Seat Reference Point: Updates the selected seat reference point coordinates to the spin box values.
- Copy Seat Reference Point: Copies the seat reference point values from the vehicle and seating buck selected in the combo boxes to the active vehicle and seating buck.
The imported view points (95th percentile male, 5th percentile female, etc.) per vehicle are listed in the list field. Select a line to edit the values in the spin boxes. Then click the update button.
- Add View Point: Adds a view point to the list.
- Update View Point: Updates the selected view point to the spin box values.
- Delete View Point: Deletes the selected view point
The imported vehicle positions per vehicle are listed in the list field. Select a line to edit the values in the spin boxes. Then click the update button.
- Use Generic X-Offset for all Vehicles: This option will apply a single value for the x-offset between the design reference frame and the CarMaker FR1 reference frame to all vehicles.
- Use Vehicle Specific CarMaker FR1: This option will allow you to specify x-, y-, z-offset values per vehicle.
- Update (All) Vehicle Position(s): Depends on the option selected above. Updates the selected vehicle / all vehicles to the position entered in the spin boxes. The active vehicle is / all vehicles are transformed to that position.
- Design CSYS: The active vehicle will be positioned in the design reference frame (typically located in the center of the front axle with the X-axis pointing backward).
- CarMaker FR1: The active vehicle will be positioned in the CarMaker FR1 reference frame (located at the vehicle’s rearmost point on the ground with the X-axis pointing forward). This is required if the plugin is used together with the nVIZ Motion Plugin for driving simulations.
- Generic X-Offset: All vehicles will be positioned in a generic CarMaker FR1 reference frame, specified by the x-offset value.
- Environment Transformation Node: The name of the parent node of the environment in the graph node. This node is used by the plugin to apply transformations to convert the environment from the design reference system to the IPG CarMaker FR1 reference system.
The imported vehicle rig per vehicle is listed in the list field. At import of the Excel file with the ergonomics data, the plugin will check for vehicle rig files <name>.txt in the directory:
If a text file with a name identical to the vehicle name from the Excel sheet is found, the rig file will be imported for that vehicle. Otherwise, a customer-specific, default vehicle rig file will be imported from the directory:
- C:/Program Files/nVIZ/Ergonomics/UserData/VehicleRigs
The advantage of using a customer-specific, default rig-file: the vehicle numbering follows a specific nomenclature so that it can be automatically incremented at import. In this way, one vehicle rig file (as depicted below) can be used for all vehicles.
After import, the plugin will search for the node paths specified in the rig file and indicated found or missing node paths in color.
- Green Row: Node path was found.
- Red Row: Node path was not found and the node is mandatory.
- Yellow Row: Node path was not found but node is not mandatory.
The adjustment item ranges and pivots are listed in the two list fields. Select a line to edit the values in the spin boxes. Then click the update button.
- Update Adjustment Ranges: Updates the adjustment ranges of the selected item to the values of the spin boxes.
- Update Adjustment Pivot: Updates the adjustment items pivot point of the selected item to the values of the spin boxes.
- Pivot Position and Orientation: The pivot point position will be taken from the three coordinate values and the orientation will be taken from the three angles.
- 2 Points => Direction Vector: The pivot point position will be taken from the coordinates of the first point and the pivot orientation will be calculated from the direction vector P1-P2 such that the X-axis is aligned to the vector with the Z-axis upwards.
- Copy Adjustment Settings: Copies adjustment ranges and settings for all adjustment items from the vehicle selected in the “From” combo box to the active vehicle.
- Print Information: Prints debug information to the VRED terminal window.
- Viewpoint Y-Coordinate: Y-offset when switching from head tracking to view point simulation.
- Take from Viewpoint Data: The Y-offset will be calculated between the last tracking position and viewpoint data.
- Take from Last Tracking Position: The Y-offset will not be calculated between the last tracking position and viewpoint data.
- Auto-Disable Tracking: If checked, the cart node tracking will be automatically disabled when an adjustment slider is pressed, and will be enabled when the slider is released.
- ART DTrack HMD Camera Translation/Rotation: The “Reset Camera” function in the tracking mode “ART DTrack with HMD” will set the active camera’s transformation values to these settings.
For ease of use, ergonomics plugin can be connected to the frontend and controlled remotely. The bridge server needs to be running in the background which will realize the communication between the ergonomics plugin and the frontend dashboard.
The frontend bridge server can be started by finding “Ergo Frontend” in the start menu. It will initialize a command-line application and display the IP addresses of the machine as follows:
The ergonomics plugin communicates with the bridge server via UDP/IP connection on port 23054, so this port must be available for the frontend to work. In the ergonomics plugin, start the connection with frontend bridge server under:
- Connection > Connect Frontend
Once both of these steps are done, any web-browser can be used to access the frontend. (Microsoft Edge & Google Chrome have been tested for functionality and performance). If the frontend needs to be accessed on the same machine as of the frontend bridge server, then the following link can be used to access the frontend in the browser.
If the frontend needs to be accessed on a remote machine, then the IP address of the machine running frontend bridge server is required to access the frontend. The following link can be updated with the exact IP address to access the frontend from a remote device. The IP address is also displayed by the console application.
- <IP Address>:8000
The following settings of the ergonomics plugin can be remotely changed from the frontend:
- View point
- Seat Reference Point
- SRP Tracking (switch on/off)
- Adjustment Item
- Adjustment values (with on-screen joystick)
- Variant Sets
A long press on either one of the seat buttons will toggle the joystick to Y-axis adjustments.
The dropdown menu can be used to select the driver.
A click on the add driver button will lead to the dialog box where the name of the driver can be entered. The text box can be used to specify the driver file name for the “Save As” functionality. Note: the frontend page will refresh automatically after “Save As” to update the frontend and sync it with the ergonomics plugin.
The logo on the bottom can be used to switch between multiple screens of the frontend. All the available variant sets of the VRED scene will be available on the secondary screen of the frontend. The left list will show all the variant groups. When any one of the variant groups is selected, the respective variant sets will be shown in the right list which can be selected directly by clicking on it.
CNC Seating Buck
nVIZ designs and manufactures computer numerical controlled (CNC) seating bucks for a 100% correct user experience in virtual reality. The seating bucks are equipped with multiple electric actuators to adjust steering wheel and seat to the vehicle in the virtual scene.
The dimensions of the CNC seating bucks are designed to cover the complete vehicle fleet of a specific automotive OEM.
The physical seating position will always by correctly synchronized with the selected virtual vehicle and the driver’s seat and steering adjustments.
The CNC seating buck is connected to the host PC by EtherCAT – see documentation of the CNC seating buck for details.
To start or stop the communication with the CNC seating buck, toggle the radios “Statiic Seating Buck” and “CNC Seating Buck”.
- CNC Seating Buck: Toggling the radio button will activate the CNC seating buck control GUI and launch the program “CNCSeatingBuck.exe” which will run in a command shell as depicted below. The application takes care of the EtherCAT communication between the host PC and the CNC seating buck controllers. Do not close the command shell and do not klick into the command shell, this will interrupt the communication between host PC and CNC seating buck.
- Static Seating Buck: Toggling the radio button will close the program “CNCSeatingBuck.exe” and hide the CNC seating buck control GUI.
- Connection Status: Show the EtherCAT connection status. In case the connection gets interrupted, go to main menu > Connection > Reconnect Seating Buck (see below)
- STOP: Stops all electric actuators.
- Enable: Enables the power stages of the electric actuators and releases the brakes of the cylinders. This is the first step to take after connecting to the CNC seating buck.
- Homing: Moves all electric actuators to their home positions for referencing. The homing needs to be done once after every power-on. The referenced status is shown in the GUI for every actuator and needs to be “True” for all.
- Position Seat & Steering: Moves the seat and steering to the defined position. This will initially be the K0-position for the selected vehicle as given by the data imported from the Excel file.
- Reconnect Seating Buck: Will try to re-establish the EtherCAT connection between the host PC and the CNC seating buck.
The status of each electric actuator is reported in the table depicted below.
- NB: Keep an eye on the forces reported in the table. All forces should continuously remain below 80%. Higher forces can cause an overload of the actuator due to blocked slider mechanisms.
- Doppel click on any column: The name of the clicked actuator will be printed in the VRED terminal window. This will help you identify any actuator reporting an issue.
- Adjustment Item: Select the adjustment item seat or steering wheel. The reference point data for the selected item will be reported in the LED displays.
- Longitudinal: Enter a value for the longitudinal adjustment of seat/steering and click on “Position Seat and Steering” .
- Lateral: Enter a value for the lateral adjustment of the steering and click on “Position Seat and Steering”.
- Vertical: Enter a value for the vertical adjustment of seat/steering and click on “Position Seat and Steering”.
- Pitch: Enter a value for the pitch adjustment of seat/steering and click on “Position Seat and Steering”.
- Yaw: Enter a value for the yaw adjustment of the steering and click on “Position Seat and Steering”.