GeezerVison is showing github.com — create_statefbk_iosystem and optimal control enhancements by murrayrm · Pull Request #930 · python-control/python-control
Conversation
murrayrm
commented
Sep 10, 2023
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
This PR has two primary changes. motivated by some debugging I was doing in #929:
- The
create_statefbk_iosystem function now allows you to pass an I/O system instead of the a gain (or gain schedule) for the controller. This allows a more general state feedback controller (like an MPC controller) to be created using create_statefbk_iosystem. (I needed this so that I could gain easy access to the inputs in issue #929, since the feedback function does not pass through the controller inputs as a system output, but create_statefbk_iosystem does.)
- The
create_mpc_iosystem function now properly allows keyword parameters that go to the underlying OptimalControlProblem, for example setting the minimization method. Prior to this, the keyword parameters were passed to OptimalControlProblem but were also passed to NonlinearIOSystem, where they would generate an error.
- Unit tests and documentation updated as well. More specifically, the documentation for the
solve_ocp function has been updated to make more clear how the final time point is handled (see issue #929 for some discussion on this).
- Had to modify the
install_examples.yml workflow to explicitly include the latest python version, otherwise an early version of matplotlib got installed that was not current enough to work with current code (not sure why this was suddenly required...).
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
coveralls
commented
Sep 10, 2023
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|

coverage: 95.012% (+0.002%) from 95.01% when pulling 5e217ee on murrayrm:mpc_enhancements-10Sep2023 into a11d3be on python-control:main.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
murrayrm
changed the title
create_statefbk_iosystem and create_mpc_iosystem enhancements
create_statefbk_iosystem and optimal control enhancements
Sep 15, 2023
|
|
|
|
|
.. math::
|
|
|
|
|
|
J(x, u) = \sum_{k=0}^{N-1} L(x_k, u_k)\, dt + V \bigl( x_N \bigr).
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why does V(x_N) need big parens but L(.) does not?
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
above, V(.) gets regular sized parens.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
These seem like obvious improvements to make, so I see no issue with them. Just one tiny note in the comments.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|