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


What's New in OpenSim 4.3?

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 orientation, accelerometer, and gyroscope signals from IMUs placed on a Model 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 IMU Inverse Kinematics) now creates and places IMU Components on the Model. 


Moco Updates:

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

  • New examples show how to track IMU and EMG signals with Moco in both Matlab and Python. These 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/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.


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 for scripting on windows has changed to follow the python 3.8 changes to how libraries are located as described here Scripting in Python


Full list of changes and updates:

OpenSim is supported by the Mobilize Center , an NIH Biomedical Technology Resource Center (grant P41 EB027060); the Restore Center , an NIH-funded Medical Rehabilitation Research Resource Network Center (grant P2C HD101913); and the Wu Tsai Human Performance Alliance through the Joe and Clara Tsai Foundation. See the People page for a list of the many people who have contributed to the OpenSim project over the years. ©2010-2024 OpenSim. All rights reserved.