Closed nickbianco closed 1 week ago
@aymanhab or @carmichaelong, do either of you have bandwidth for a review?
@AlbertoCasasOrtiz, if you're interested in learning more about opensim-core, tagging along as a second reviewer here would be a good place to start!
I've made a few updates: added Python and Matlab versions of the new example, and changes to the bindings to support these examples (and InputController
-derived types in Moco in general).
@carmichaelong @AlbertoCasasOrtiz I made a few small changes, but this is now ready for review.
Thanks @carmichaelong!
The failing tests on the Windows2022 are unrelated, so I'm merging.
Thanks @carmichaelong and @AlbertoCasasOrtiz!
Fixes issue #3677
Brief summary of changes
Adds
SynergyController
, a controller that computes controls for a model based on a linear combination of a set of Input control signals and a set of synergy vectors. These changes also include a new utility function for performing basic non-negative matrix factorization, and a sub-example inexampleMocoInverse
demostrating how to useSynergyController
with Moco.Other changes include:
CommonUtilities
function for performing basic non-negative factorization, to support the new example.report.py
andosimMocoTrajectoryReport.m
for plotting Input controls.MocoTrajectory
where thegetValuesTrajectory
,getSpeedsTrajectory
, etc., functions were returning the incorrect matrices if the trajectory was not organized a specific way.getInputControl()
).Testing I've completed
testMocoControllers.cpp
was refactored to useSynergyController.cpp
in favor of the customTriplePendulumController
class. Added unit tests specificSynergyController
.Looking for feedback on...
CHANGELOG.md (choose one)
[perf-win]
Performance analysis
Platform: Windows, self-hosted runner
This change is![Reviewable](https://reviewable.io/review_button.svg)