User Tools

Site Tools


visual3d:documentation:third-party:xsens:xsens

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
visual3d:documentation:third-party:xsens:xsens [2025/06/18 20:42] – Cleaned up page and reordered so that the modern, flexible impementation comes first. wikisysopvisual3d:documentation:third-party:xsens:xsens [2025/06/24 11:53] (current) – Cleaned up page. wikisysop
Line 15: Line 15:
 ===== Important Version-related Information ===== ===== Important Version-related Information =====
  
-The legacy implementation of the MVNX model was released in Visual3D v5.02.24. If you are using Visual3D versions prior to this, you will need to follow the instructions [[Visual3D:Documentation:Third-Party:XSens:XSens_v5|here]]. +The legacy implementation of the MVNX model was released in Visual3D v5.02.24. If you are using Visual3D versions prior to this, you will need to follow the instructions [[Visual3D:Documentation:Third-Party:XSens:XSens_v5|here]]. A more flexible implementation of the MVNX model was released in Visual3D 2024.05.2.
- +
-A more flexible implementation of the MVNX model was released in Visual3D 2024.05.2.+
  
 ===== Opening MVNX Files ===== ===== Opening MVNX Files =====
  
-MVNX files can be opened by going to File -> Open in Visual3D. They can also be opened using the File_Open pipeline command. +MVNX files can be opened by going to File -> Open in Visual3D. They can also be opened using the File_Open pipeline command. These [[https://www.has-motion.com/download/examples/Xsens/MVNX_Files.zip|sample MVNX files]] were downloaded from the [[https://www.xsens.com/|Xsens Website]] and then exported from MVN Studio as MVNX files. They can be used to test both MVNX reader implementations.
  
-Visual computes the model's pose using a [[visual3d:documentation:modeling:modeling_overview|Link Model]] that matches the Xsens link model. As of Visual3D version 2024.05.2, the user can choose one of two implementations of a model based on the MVNX file. As users will likely want to use the same implementation each time an MVNX file is loaded, the selection of models can be made in the Program Options, which will save the selection to the registry.+Visual3D computes the model's pose using a [[visual3d:documentation:modeling:modeling_overview|Link Model]] that matches the Xsens link model. As of Visual3D version 2024.05.2, the user can choose one of two implementations of a model based on the MVNX file. As users will likely want to use the same implementation each time an MVNX file is loaded, the selection of models can be made in the Program Options, which will save the selection to the registry.
  
 {{FileOpenOptions.png}} {{FileOpenOptions.png}}
Line 31: Line 29:
 The Flexible Implementation uses default anthropometric values, which can later be modified by the user. This is so that users who are only interested in kinematics are not prompted for unnecessary information every time a file is loaded. The Flexible Implementation uses default anthropometric values, which can later be modified by the user. This is so that users who are only interested in kinematics are not prompted for unnecessary information every time a file is loaded.
  
-In this implementation, the information in the MVNX file is used to create [[visual3d:documentation:c3d_signal_types:rotation_data_type|4x4 ROTATION signals]] similar to the output from markerless tracking systems like Theia3D, and Kinatrax, and consistent with the ROTATION signals created from bvh files (Fujitsu implementation of bvh). Using model based information in the mvnx file, a model is created automatically from the ROTATION signals. Kinetic_Kinematic variables are then created consistently with the other ROTATION-based models. +In this implementation, the information in the MVNX file is used to create [[visual3d:documentation:c3d_signal_types:rotation_data_type|4x4 ROTATION signals]] similar to the output from markerless tracking systems like Theia3D, and Kinatrax, and consistent with the ROTATION signals created from bvh files (Fujitsu implementation of bvh). Using model based information in the mvnx file, a model is created automatically from the ROTATION signals. Kinetic_Kinematic variables are then created consistently with the other ROTATION-based models. Unlike the legacy implementation the segment pose is explicitly defined.
- +
-Unlike the legacy implementation the segment pose is explicitly defined.+
  
 ==== Prop Sensors ==== ==== Prop Sensors ====
  
-If a prop sensor exists in the mvnx file, a ROTATION matrix is created from the prop pose. The user can create/modify a segment definition using this pose +If a [[visual3d:documentation:third-party:xsens:xsens_prop|prop sensor]] exists in the mvnx file, a ROTATION matrix is created from the prop pose. The user can create/modify a segment definition using this pose.
- +
-==== Download Files ==== +
- +
-These [[https://www.has-motion.com/download/examples/Xsens/MVNX_Files.zip|sample MVNX files]] were downloaded from the [[https://www.xsens.com/|Xsens Website]] and then exported from MVN Studio as MVNX files.+
  
 =====Legacy Implementation===== =====Legacy Implementation=====
Line 47: Line 39:
 When the file is opened, the user will be prompted for all the necessary model metrics to create the model. When the file is opened, the user will be prompted for all the necessary model metrics to create the model.
  
-The model's root, which is the pelvis, has both an orientation and a position (all 6 degrees of freedom). Visual3D then work through model's chain (assuming a ball and socket at all joints) using the .mvnx segment orienation variables to compute the joint angles. This give us the position and orientation (POSE) of the entire model.+The model's root, which is the pelvis, has both an orientation and a position (all 6 degrees of freedom). Visual3D then work through model's chain (assuming a ball and socket at all joints) using the .mvnx segment orientation variables to compute the joint angles. This give us the position and orientation (POSE) of the entire model.
  
 ==== Segment Kinematics ==== ==== Segment Kinematics ====
  
-In the data tree, under KINETIC_KINEMATIC you can see there are "Pose" based variables one could use to reconstruct an the model (ProxEndPos, DistEndPos and CGPos) . Note these pose-based variables are computed directly from .mvnx orientation data (and pelvis position) as described above.+In the data tree, under KINETIC_KINEMATIC you can see there are "Pose" based variables one could use to reconstruct an the model (ProxEndPos, DistEndPos and CGPos). Note these pose-based variables are computed directly from .mvnx orientation data (and pelvis position) as described above.
  
 In the KINETIC_KINEMATIC there are also "velocity and acceleration" variables (AngAcc, AngVel, CGAcc, CGVel, DistEndVel and ProxEndVel.) These are obtained from the .mnx file variables : velocity, accelaration, angularVelocity and angularAcceleration. (The velocity and acceleration are at the segment origin.) Note these variables and not are not obtained via derivatives of the pose variables. (Relative motion equations are used to compute the "velocity and acceleration" variables from the Xsens input.) In the KINETIC_KINEMATIC there are also "velocity and acceleration" variables (AngAcc, AngVel, CGAcc, CGVel, DistEndVel and ProxEndVel.) These are obtained from the .mnx file variables : velocity, accelaration, angularVelocity and angularAcceleration. (The velocity and acceleration are at the segment origin.) Note these variables and not are not obtained via derivatives of the pose variables. (Relative motion equations are used to compute the "velocity and acceleration" variables from the Xsens input.)
Line 65: Line 57:
 ==== Prop Sensors ==== ==== Prop Sensors ====
  
-Visual3D v2020.## supports reading MVNX files with one prop sensor. The sensor will be loaded automatically as a segment (ex. PR1). When using an Xsens prop in Visual3D, all information is loaded automatically and no further steps are required. A sample MVNX file with a prop can be downloaded **[[https://www.has-motion.com/download/examples/Xsens/Xsens_Prop_Example.zip|here]].**\\+Visual3D v2020.## and onwards supports reading MVNX files with one prop sensor. The sensor will be loaded automatically as a segment (ex. PR1). When using an Xsens prop in Visual3D, all information is loaded automatically and no further steps are required. A sample MVNX file with a prop can be downloaded **[[https://www.has-motion.com/download/examples/Xsens/Xsens_Prop_Example.zip|here]].**
  
-[[Visual3D:Documentation:Third-Party:XSens:XSens_Prop|This tutorial explains how to adjust the location of the prop segment and assign a graphics object to the prop using a script]].\\+[[Visual3D:Documentation:Third-Party:XSens:XSens_Prop|This tutorial explains how to adjust the location of the prop segment and assign a graphics object to the prop using a script]].
  
 ===== Exporting Xsens Data from MVN Studio ===== ===== Exporting Xsens Data from MVN Studio =====
visual3d/documentation/third-party/xsens/xsens.1750279348.txt.gz · Last modified: 2025/06/18 20:42 by wikisysop