Users should be able to upgrade to OpenSim 3.1 from OpenSim 3.0 without any major changes to their models or simulation workflows. A few upgrade notes for users:
1) Several objects and functionality have been deprecated in OpenSim 3.1. In other words, the objects and functions are still available in OpenSim, but we advise removing from your code and workflows since they will be removed in future releases:
- Control Constraints for RRA is deprecated. This option is no longer exposed in the GUI, although old setup files with Control Constraints will still work as in previous releases. Users should set appropriate limits via the actuator file. For an example, see the gait2354 example included with the release of 3.1.
- In GUI scripts the function addModel is deprecated. Users should switch to loadModel.
- In Scripts (both Matlab and GUI), OpenSimContext, PropertyHelper, and ArrayDouble are deprecated. These helper functions are no longer necessary since Simbody classes like State, Vec3, etc. have been exposed. For more information see Common Scripting Commands.
- In Matlab scripting, the setDebugLevel method is no longer necessary. Messages are automatically logged.
- Users should change calss to updDefaultState to updWorkingState
- Several methods were moved from SimbodyEngine to Model. See the doxygen for more information. Users should switch to these new functions.
2) We have updated the main gait examples (2354 and 2392):
- Converted to Millard muscles
- Removed control constraints for RRA and CMC (these files are redundant since all properties can be specified in the Actuators file)
- Eliminated specification of kinematics for external loads (not necessary)
3) In the GUI, the option (under File) "Preview motion data..." has been changed to "Preview experimental data..." to reduce confusion with loading motions (.mot or .sto files in the OpenSim format).
4) We made several updates to the Millard Muscles, thought these updates should have minimal impact on users.
- Muscle curves are handled as OpenSim functions (to allow for plotting in the GUI via scripting)
- Function integrals are not calculated unless needed, speeding up computation time