These changes introduce new features to Moco for tracking joint moments (i.e., generalized coordinate forces) and computing them from an existing MocoTrajectory. Various other small changes to enable these features have been included.
The full list of changes:
Added Force::getForceIndex() to get access each Force's underlying SimTK::ForceIndex.
Updated the Simbody commit to utilize the newly added GeneralForceSubsystem::calcForceContributionsSum() for efficiently calculating a subset of a model's body and mobility forces.
Added the wrapper method Model::calcForceContributionsSum().
Added MocoGeneralizedForceTrackingGoal.
Added MocoUtilities::calcGeneralizedForces() and MocoStudy::calcGeneralizedForces() .
Added a new example to exampleMocoTrack (C++, Python, and Matlab) to feature the new joint moment tracking functionality, along with a few minor changes and upgrades.
Testing I've completed
Added a test for MocoGeneralizedForceTrackingGoal and beefed up the surrounding "tracking" tests. Incorporated the new goal into exampleMocoTrack and tested the examples locally.
Fixes issue #3689
Brief summary of changes
These changes introduce new features to Moco for tracking joint moments (i.e., generalized coordinate forces) and computing them from an existing
MocoTrajectory
. Various other small changes to enable these features have been included.The full list of changes:
Force::getForceIndex()
to get access eachForce
's underlyingSimTK::ForceIndex
.GeneralForceSubsystem::calcForceContributionsSum()
for efficiently calculating a subset of a model's body and mobility forces.Model::calcForceContributionsSum()
.MocoGeneralizedForceTrackingGoal
.MocoUtilities::calcGeneralizedForces()
andMocoStudy::calcGeneralizedForces()
.exampleMocoTrack
(C++, Python, and Matlab) to feature the new joint moment tracking functionality, along with a few minor changes and upgrades.Testing I've completed
Added a test for
MocoGeneralizedForceTrackingGoal
and beefed up the surrounding "tracking" tests. Incorporated the new goal intoexampleMocoTrack
and tested the examples locally.Looking for feedback on...
CHANGELOG.md (choose one)
This change is![Reviewable](https://reviewable.io/review_button.svg)