In order to support automatic differentiation in Moco through MocoCasADiSolver, we need to first verify that basic AD formulations will be compatible with how we currently construct OCPs at the low-level with CasADi. Most importantly, we need to verify that an additional compile step will not be necessary to convert an OpenSim model to an autodiff'd function (as in Antoine's framework).
A toy problem will let us test different AD solutions, notable using the Recorder type or Enzyme.
In order to support automatic differentiation in Moco through MocoCasADiSolver, we need to first verify that basic AD formulations will be compatible with how we currently construct OCPs at the low-level with CasADi. Most importantly, we need to verify that an additional compile step will not be necessary to convert an OpenSim model to an autodiff'd function (as in Antoine's framework).
A toy problem will let us test different AD solutions, notable using the Recorder type or Enzyme.