Skip to content

Update benchmarks to help with optimal control tuning #800

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 5 commits into from
Nov 26, 2022

Conversation

murrayrm
Copy link
Member

This PR updates the benchmarks to allow for more useful characterization and tuning of the optimal module. The main change is to switch from using the kinematic car (vehicle) example as the basis for benchmarking to using a simpler linear system. The kinematic car was problematic because it is a marginally stable system and so the shooting method using for the optimal control computations was not numerically stable, causing lots of failures.

Almost all of the changes here are in the benchmarks/ directory, with a few small changes in the main code to fix some small issues identified along the way.

Once this PR and #799 are merged, I'll add some benchmarks comparing the shooting method to collocation.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.002%) to 94.842% when pulling 54de2a3 on murrayrm:benchmarks-24Aug2022 into 832527d on python-control:main.

@murrayrm murrayrm merged commit 4d89991 into python-control:main Nov 26, 2022
@murrayrm murrayrm added this to the 0.9.3 milestone Dec 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants