-
Notifications
You must be signed in to change notification settings - Fork 438
create_statefbk_iosystem and optimal control enhancements #930
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
create_statefbk_iosystem and optimal control enhancements #930
Conversation
f9256cc
to
522a8d7
Compare
522a8d7
to
a40906e
Compare
doc/optimal.rst
Outdated
|
||
.. 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?
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.
These seem like obvious improvements to make, so I see no issue with them. Just one tiny note in the comments. |
727eb8e
to
f58b19b
Compare
f58b19b
to
5e217ee
Compare
This PR has two primary changes. motivated by some debugging I was doing in #929:
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 usingcreate_statefbk_iosystem
. (I needed this so that I could gain easy access to the inputs in issue #929, since thefeedback
function does not pass through the controller inputs as a system output, butcreate_statefbk_iosystem
does.)create_mpc_iosystem
function now properly allows keyword parameters that go to the underlyingOptimalControlProblem
, for example setting the minimization method. Prior to this, the keyword parameters were passed toOptimalControlProblem
but were also passed toNonlinearIOSystem
, where they would generate an error.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).install_examples.yml
workflow to explicitly include the latest python version, otherwise an early version ofmatplotlib
got installed that was not current enough to work with current code (not sure why this was suddenly required...).