Skip to content

Optimal control enhancements #712

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 30, 2022

Conversation

murrayrm
Copy link
Member

This PR includes enhancements to the optimal control module:

  • Added config.defaults['optimal'] to allow default optimal control options (minimize_method, etc) to be set using set_defaults
  • Improved keyword handling in solve_ocp and other optimal control functions, including checking for unrecognized keywords
  • Allow t_eval keyword in input_output_response to allow a different set of time points to be used for the input vector and the computed output
  • The final cost is now saved in optimal control result (Optimal control results should include the final cost achieved #694)
  • Fixed doc/optimal.rst example (generates working solution; Steering optimal control example from documentation failing #636)
  • Updated optimal docstrings and user documentation, including adding optimization tips to doc/optimal.rst
  • Fixed user documentation warnings/errors (not related to optimal)
  • Additional unit tests: nonuniform sampling in simulations, not implemented test for continuous MPC

All previous functionality still works.

* Added config.defaults['optimal']
* Improved keyword handling (including unknown check)
* Allow t_eval in input_output_response to chnage timepts
* Save cost in optimal control result
* Fixed doc/optimal.rst example (generates working solution)
* Updated optimal docstrings and user documentation
* Added optimization tips to doc/optimal.rst
* Fixed user documentation warnings/errors (not related to optimal)
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.05%) to 93.546% when pulling f3d46bc on murrayrm:optimal_18Mar2022 into 2f3ca18 on python-control:master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants