Suggested by Ton van den Bogert, PolynomialPathFitter could be improved in several ways to increase performance in the generated FunctionBasedPaths:
[x] Replace the pseudoinverse solve using a factorization method (e.g., SimTK::FactorQTZ), which produces more reliable results for poorly conditioned matrices (which is the case in PolynomialPathFitter).
[ ] Implement a "stepwise regression" algorithm to include only the minimum set of coefficients needs to fit a path
[ ] Reduce default tolerances which are probably too tight and might be leading to overfitting and a larger number of coefficients overall.
[x] Automatically generate polynomial functions for moment arms and lengthening speed. Including these functions to calculate these quantities can be more efficient than taking derivatives of the length function.
Suggested by Ton van den Bogert,
PolynomialPathFitter
could be improved in several ways to increase performance in the generatedFunctionBasedPath
s:SimTK::FactorQTZ
), which produces more reliable results for poorly conditioned matrices (which is the case inPolynomialPathFitter
).