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

Compare with Current View Page History

« Previous Version 6 Next »


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.


New Features for Working with Inertial Measurement Unit (IMU) Data:

  • 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 signals from IMUs placed on a Model. The analysis allows 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 data) now creates and places IMU Components on the Model. 


Moco Updates:

  • We added support in Moco for IMUTracking and EMGTracking.
  • We also added the ability to optimize scale factors, including 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 Features and Examples for Matlab Users:

  • New examples show how to track IMU and EMG signals with Moco in both Matlab and Python. Find these examples under the ResourcesDir/Code/Matlab/Moco & 
  • ResourcesDir/Code/Python/Moco.


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:

  • We fixed a bug with Actuation analysis that would lead to extra columns in the output when an actuator is disabled (Issue #2977)
  • We fixed an issue where incorrect header information was produced in BodyKinematics file output
  • We fixed a bug applying non-uniform scaling to inertia matrix of a Body due to using local variable of type SysMat33 which resulted in non-uniform scaling of Body not being applied to inertia (Issue #2871) 


Upgrade Notes:

  • The default installation of OpenSim comes with bindings built against Python 3.8 and Numpy 1.20. Note that the installation process 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: