WELCOME TO THE NEW PLATFORM FOR THE OPENSIM DOCUMENTATION

Remember to update your bookmarks with our new URL.
If you find missing content or broken links, let us know: opensim@stanford.edu


Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

OpenSim 4.1 is currently in beta testing. If you'd like to try out the software, you can download it here (scroll down to OpenSim Beta Releases) and get the testing instructions here.


The OpenSim 4.1 release enables users to read in inertial measurement unit (IMU) data and compute inverse kinematics based on IMU orientations. This workflow is called OpenSense. This is an exciting initial step towards supporting biomechanical with IMUs in OpenSim. For this release, the user is primarily responsible for ensuring proper calibration and registration of the sensors to an appropriate OpenSim model. In the future, we plan to add more advanced algorithms for calibration, registration, and drift correction. You can read more about these new capabilities and try an example: /wiki/spaces/OpenSim/pages/53084286.

We have also fixed a number of bugs and improved the user experience in a number of ways. A few highlights include the following:

  • We fixed a bug in InverseKinematics and Scaling where markers not included the MarkerWeightSet were still tracked.
  • Disabled muscles are removed during static optimization and on playback in the graphical user interface (GUI), disabled muscles show in gray.
  • Based on user feedback, we changed the default time for a forward simulation via the GUI simulate button to 5 seconds (from 1000 seconds).
  • We streamlined the interface to read data files into tables. In Matlab, Python, or C++ this now requires one line instead of three and avoids downcasting. Read more on the Common Scripting Commands page.
  • We improved the provided Matlab utilities for C3D reading. You can find these utilities in your distribution where you saved the OpenSim resources. See the folder "Code/Matlab".
  • We added utilities to trim TimeSeriesTables, including trim(startTime, endTime), trimTo(newEndTime), and trimFrom(newStartTime).

  • Vector operations in Matlab are faster (3-4X) by exposing API commands for addition, subtraction, etc. with vectors.  To see usage, see "Code/Matlab/Utilities/osimC3D.m".
  • The dynamic walker examples have been upgraded and completely converted to Matlab code. They show users how to build a simple model and run a forward simulation with varying model components and parameters. The examples include Building a Dynamic Walker in Matlab and Dynamic Walking Challenge: Go the Distance!.
  • We updated to Python 3.7, since the previous version 2.7 will be deprecated soon. Users can still create bindings for Python 2 if building from source.
  • We fixed a bug where wrap geometry with multiple via points over wrap objects was not displayed correctly when wrap objects went from engaged to disengaged. Note that in 4.0 the display of muscles may be incorrect, but computations are still correct.

More details and additional changes in OpenSim 4.1 are detailed in our change logs for the OpenSim libraries and the OpenSim GUI

How to Upgrade

Upgrade to version 4.1 should be seamless overall. A few things to note:

  • If you have code that reads data files into tables, you will need to update to use the new methods. 
  • Static Optimization results may be different from version 4.0 if you ran the analysis with disabled muscles. 
  • Your inverse kinematics and scaling results could change based on bug fixes described above (e.g., if you have set-up files where markers were omitted from the MarkerWeightSet). 


  • No labels