nVIZ Ergonomics Plugin Version 2021.3

Documentation for other Versions

Installation

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:

nVIZ Ergonomics Plugin for Autodesk 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”.

Ergonomics Review

Ergonomics Project

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: A click on the traffic light button 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.

Tracking System

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.

Driver, 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”).

Ergonomics Data

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.

View Points

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

Vehicle Position

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.
  • Set 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).
  • Set 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.

Vehicle Rig

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:

  • C:/Users/Public/Documents/nVIZ/Ergonomics/UserData/VehicleRigs

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.
  • Reference Selected Node: Any vehicle rig node not found in the VRED scene graph, can be referenced here. Select the correct node in VRED, then click the button. The line should turn green.
  • Load Vehicle Rig: Loads the text file to be used for defining the rig node paths – see above.
  • Save Vehicle Rig File: Saves the referenced rig node paths to a text file.

Vehicle Rigs

This Tab gives a complete overview of the defined rig node paths and the related VRED scene graph node paths for all vehicles. The rename function to the top of the tab is useful for automatically renaming a vehicle’s VRED scene graph nodes and children to match the expected rig structure.

  • 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.
  • Rename: Use this function to easily rename all relevant VRED scene graph nodes of a given vehicle. The function will search for <string1> in all VRED node names under the vehicle switch and replace it with <string2>.

Adjustment Items

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.

Drivers

The drivers tab displays all the data stored in the driver files and offers function to edit the data.

  • Add Driver: Adds a new driver.
  • Rename Driver: Renames a driver.
  • Delete Driver: Deletes a driver.
  • Duplicate Driver: Duplicates a driver
  • Get Adjustments From Vehicle (context menu on a vehicle line): Copies all the adjustments data from a named vehicle (to be entered dialog box) to the selected vehicle for the selected driver.

Notes

This widget allows you to enter your notes and store them with the session file. Use the main menu File > Export / Import Drivers to export and import the data from files.

Options

  • 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.

Ergonomics Frontend

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.

  • localhost:8000

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:

  • Vehicle
  • View point
  • Seat Reference Point
  • SRP Tracking (switch on/off)
  • Driver
  • 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.

A click on the “Get Adjustment From Vehicle ” button will open a drop down list with the available vehicles. This function copies all the adjustments data from the selected vehicle to the active vehicle for the active driver.

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.

The “Settings” button on the bottom will switch to the settings screen with multiple functions to toggle the VRED render settings.

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.

Operation with VRED Plugin

To start or stop the communication with the CNC seating buck, toggle the radio buttons “Statiic Seating Buck” and “CNC Seating Buck”.

  • CNC Seating Buck: Toggling the radio buttons will activate the CNC seating buck control GUI and launch the program “CNCSeatingBuck.exe” as depicted documented below. The application takes care of the EtherCAT communication between the host PC and the CNC seating buck controllers.
  • Static Seating Buck: Toggling the radio button will close the program “CNCSeatingBuck.exe” and hide the CNC seating buck control GUI.
  • Connection Status: Shows the EtherCAT connection status. In case the connection gets interrupted, go to main menu > Connection > Reconnect Seating Buck.
  • 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.
  • Disable: Disables the power stages of the electric actuators and applies the brakes of the cylinders.
  • 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.
  • Move to position: 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.
  • Main Menu > Connection > Reconnect Seating Buck: Will try to re-establish the EtherCAT connection between the host PC and the CNC seating buck.
  • Click on any column in the Status Table: The status of each electric actuator is reported in the “Status Table” at the bottom of the GUI . The name of the clicked actuator will be printed in the VRED terminal window. This will help you identify any actuator reporting an issue.
  • 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.

The Vehicle selection, all the GUI tabs, the Tracking System selection, the Driver selection and the Adjustments of seat and steering will operate as documented for the static seating buck above.

  • The displays report the position of the selected Adjustment Item – driver seat or steering column.
  • The sliders (Forward-Backward, Left-Right and Up-Down) will adjust the selected item in the items local coordinate system.
  • The Offset Spinboxes will add an offset to the selected adjustment item in the vehicle coordinate system.

Operation with CNC Seating Buck Controller

The CNC seating buck can be operated from the VRED Plugin as documented above or directly from the CNC Seating Buck Controller software as documented below.

  • Connect: Starts the EtherCAT connection to the servo controllers of the seating buck and the UDP connection to the VRED session.
  • Disonnect: Closes the EtherCAT connection to the servo controllers of the seating buck and the UDP connection to the VRED session.
  • 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.
  • Disable: Disables the power stages of the electric actuators and applies the brakes of the cylinders.
  • 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.
  • STOP: Stops all electric actuators.
  • Position: 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.
  • Spin Boxes: Enter the seat reference point, steering reference point and heal point coordinates in the vehicle coordinate system.
  • Enter: For nVIZ’ debugging purposes only.
  • 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.
  • Acknowledge: Warnings and error messages will be reported per actuator on this tab. Any error will put the servo controller into error mode and stop the actuator. Further operation is only possible after removing the cause for the error and acknowledging the error. The “Acknowledge” button will reset the servo controller’s state machine and put the actuator back into the operational mode.

  • NB: Be very careful with these options! Contact nVIZ, if you are uncertain about these functions!
  • Move Seat TX Forward / Backward: All actuators have their minimum stroke in homing position, except for the Seat-TX actuator. For transportation of the seating buck, this actuator should also be moved to it’s minimum stroke! Click on the button to move the seat forward / backward. Release the button to stop the movement.
  • Enabled Pairing Distance Check: Some of the actuators need to move in sync (left and right side) to not jam the mechanism. The servo controllers will stop, if the difference between left and right position exceeds a certain value. Only! in cases where homing is no longer possible because the pairing distance check interrupts the homing, first! remove the cause for the blocked actuator, then uncheck this option and try homing again.