saturate_controls is widely used so should be part of the OptimalControlProblem base class
Should depend on a control_bounds property
The control_bounds can by default return (None, None), or by default return a reference to parameters.control_bounds. Either way the user will have to implement these with _update, which is clunky and further motivates redoing this architecture (https://github.com/Tenavi/benchmark_ocp/issues/13)
dynamics and jac need not saturate the controls: we can do this inside simulate
saturate_controls
is widely used so should be part of theOptimalControlProblem
base classcontrol_bounds
propertycontrol_bounds
can by default return(None, None)
, or by default return a reference toparameters.control_bounds
. Either way the user will have to implement these with_update
, which is clunky and further motivates redoing this architecture (https://github.com/Tenavi/benchmark_ocp/issues/13)dynamics
andjac
need not saturate the controls: we can do this insidesimulate