Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Remove beta notice at top

OpenSim 4.3 Beta is now available. You can download the release here

We are pleased to announce the following new features, bug fixes, and other improvements in OpenSim 4.3. We also provide a list of key details for upgrading to OpenSim 4.3 from previous versions of OpenSim (see section Upgrade Notes), as well as pointers to additional information on the changes in OpenSim 4.3.


  • We introduced an IMU Component, which can be added to any model, along with an IMUDataReporter analysis. This analysis allows users to report Orientations and Accelerometer and Gyroscope orientation, accelerometer, and gyroscope signals from IMUs placed on a Model . The analysis allows and enables users to add IMUs on the fly for post-hoc calculation of IMU signals.
  • With the new IMU Component, the IMUPlacer (part of the process in computing kinematics based on IMU dataIMU Inverse Kinematics) now creates and places IMU Components on the Model. 


  • We added support in Moco for IMUTracking and EMGTrackingtracking IMU data and EMG data.
  • We also added the ability to optimize scale factors, including using the component MocoScaleFactor. There is also a new interface for MocoGoals to add these scale factors to a MocoProblem. This functionality allows users to scale the tracking reference data associated with a control in the tracking cost when tracking EMG data using MocoControlTrackingGoal.


  • New examples show how to track IMU and EMG signals with Moco in both Matlab and Python. Find these examples under the ResourcesDirThese are included with the files distributed with the release in the following locations:
    • MATLAB EMG Tracking: <ResourcesDir>/Code/Matlab/Moco/exampleEMGTracking
    • MATLAB IMU Tracking: <ResourcesDir>/Code/Matlab/Moco
    & ResourcesDir
    • /exampleSquatToStand/exampleIMUTracking
    • Python EMG Tracking: <ResourcesDir>/Code/Python/Moco/exampleEMGTracking
    • Python IMU Tracking: <ResourcesDir>/Code/Python/Moco
    • /exampleSquatToStand/exampleIMUTracking

Improvements and Additions to the API for Matlab, Python, and C++ Users:

  • We added "createSyntheticIMUAccelerationSignals" method to create Synthetic IMU data in SimulationUtilities.Scripting users can now access the API documentation (Doxygen) through scripting in Matlab and Python. (The documentation is available in Java files, but not clear how to show in Matlab, the Python side only work partially because of SWIG bugs that are still in progress, my remove this line item since not robust?)

Bug Fixes and Performance Enhancements:


  • The default installation of OpenSim comes with bindings built against Python 3.8 and Numpy 1.20. Note that the installation process for scripting on windows has changed to follow the python 3.8 changes to how libraries are located as described here Scripting in Python. (What exactly changed in the install? Does this just affect Python users? Yes, only users of python on windows need to run a script before install as described on the linked page. Too many details/conditions to describe here, that's why it's linked rather than repeated.) 

Full list of changes and updates: