AboutDownloadsForumsSource CodeNews

Release Name: v1.3.0

Release Notes
### Added
- Joint Model Personalization can scale point constraints with bodies
- Individual Muscle-Tendon Personalization (MTP) design variables can be included or excluded
- MTP supports a series of `<MTPTask>`s, setting up multiple-stage optimizations with individual sets of design variables and cost terms
- Plotting function `plotMtpHillTypeMuscleParamsCompare()` can compare sets of muscle parameters optimized by MTP
- Ground Contact Personalization (GCP) can optimize a change in experimental electrical center values to correct for force plate errors and produce ground reaction moments more consistent with physical models
	- Individual electrical center shift dimensions can be added as design variables `<electricalCenterX>`, `<electricalCenterY>`, and `<electricalCenterZ>`
	- Electrical center adjustment can be regularized with the `electrical_center_shift` cost term
	- An updated version of the experimental ground reactions file will be saved with the new electrical center
- GCP saves updated full-body kinematics and modeled ground reactions with modified foot motion if all `<GCPContactSurface>`s have the same time range
- GCP kinematic periodicity relative to experimental motion can be enforced with the new `kinematic_periodicity` cost term
- Model personalization plot windows have titles indicating the data displayed
- Treatment Optimization (TO) now uses a `tracked_quantities_directory` for experimental data or data to track and an `initial_guess_directory` for initial values
	- Missing intial guess values will be copied from tracked quantities, and missing quantities to track will be copied from initial guess data if available
- TO states and controls can optionally have minimum search bounds set in addition to search scale factors
	- Fields ending in `scale_factor` have an equivalent `minimum_range`
- TO cost calculations can be normalized within individual cost term types instead of by the total number of cost terms by setting the optional `<normalize_cost_by_term_type>` to true 
- New TO cost terms: 
	- Controller shape tracking
	- Controller minimization
	- Scaled controller tracking
		- Adding a `<scale_factor>` to a `controller_tracking` cost term will track a scaled version of the reference control
- User-defined TO model functions can be used to modify either an element of the OpenSim model or part of the states or controls
	- This allows users to create their own rules for modifying states or controls with custom parameters or feedback mechanisms before model dynamics are calculated
- TO joint velocities can be plotted with the `plotTreatmentOptimizationJointVelocities()` function
- New plotting functions for all tools will plot relevant results from settings files when run in the same directory as the settings file. Functions include:
	- `plotJmpResultsFromSettingsFile()`
	- `plotMtpResultsFromSettingsFile()`
	- `plotNcpResultsFromSettingsFile()`
	- `plotGcpResultsFromSettingsFile()`
	- `plotTreatmentOptimizationResultsFromSettingsFile()`
- Using the OpenSim 4.5.1 API linked with MATLAB is now supported


### Fixed
- MTP plots can properly display absolute length adjustments from Muscle-Tendon Length Initialization
- GCP updates tracked experimental ground reaction moments to use the modified spring resting length for consistency


### Changed
- GCP rotation tracking allowable error should now be given in radians to be consistent with TO cost terms
- Plot visuals have been improved and made more consistent between tools with new MATLAB grid features
- TO computes metabolic cost with a MATLAB implementation of a Bhargava metabolic cost model
Feedback