How to Use the GUI

To launch the IMU IK Tool:

Select Tools → IMU Inverse Kinematics... from the OpenSim main menu bar.

The Settings pane is used to specify parameters related to the IMU data.

Data Transformation pane describes how to transform sensor data to OpenSim coordinate system.

The IK trial pane is used to specify the sensor weights used in the weighted least squares equation and the time range to solve.

Output pane describes where to store resulting motion if desired.

The IMU Inverse Kinematics Tool window, like all other OpenSim tools, operates on the current model. Any model can be made the current model by right-clicking on its name and selecting Make Current.

The Control Panel

At the bottom of all the Tool dialog windows are four buttons, located in what we call the Control Panel.


  • The Load and Save buttons are used to load or save settings for the tool. 
  • The Run button starts execution. 
  • The Close button closes the window.
  • The Help button takes you to the relevant section of the User Guide.

Note that the Close button can be clicked immediately after execution has begun; the execution will complete even though the window has been closed.

  • If you click Load…, you will be presented with a file browser that displays all files ending with the .xml suffix. You may browse for an appropriate settings file (e.g., imuInverseKinematics_Setup.xml or imuIK_Setup.xml)) and click Open. The tool will then be populated with the settings in that setup file.
  • If you have manually entered or modified settings, you may save those settings to a file for future use. If you click Save…, a Save dialog box will come up in which you can specify the name of the settings file. The name you specify for the file should have a suffix of .xml. Click Save to save the settings to file.

Settings Pane

The Settings pane is used to specify parameters related to the running Inverse Kinematics on IMU data. The pane is organized into three main sections: 

  • The section for Data Transformation handles transforming data from Sensor-world frame to OpenSim frame. The transformation is a specified as world fixed rotations (X, Y, Z). The spinner moves up/down by 90 degrees for convenience since multiples of 90 degrees are typical, though arbitrary angles can be specified.
  • IK Trial section allows for specification of sensor data (IMUs) described by quaternions and stored in an OpenSim storage file. Users can specify IMU/Sensor weights (described below), indicate if orientation errors need to be reported, and also to specify start and end-time for inverse kinematics. The time range is populated once a Sensor orientation file is selected but can be modified by the user.
  • Output motion file will be written once the Run has finished. The folder containing the motion file is used as a an output directory so that other files (e.g. orientation errors) are written to the same folder.

Weights Panel

The weights panel pops up when the user clicks the "Weights..." button and it displays the list of available sensors and corresponding weights.

Weights default to equal values of 1 for all sensors but users can adjust the weights, in particular if the user has less confidence in a specific sensor, the corresponding weight should be reduced. Using a weight of 0 tells the solver to ignore the corresponding Sensor/IMU.