GeezerVison is showing github.com — Fixes to various optimization-based control functions by murrayrm · Pull Request #709 · python-control/python-control
Conversation
murrayrm
commented
Mar 13, 2022
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
I recently finished teaching an optimization-based controls course and found a but of small things in the code that needing fixing/improving:
- Parameters were not being passed properly to differentially flat systems.
- Basis functions derived from
BasisFamily were not calling BasisFamily.__init__.
- Changed
constraints keyword in optimal.solve_ocp and flatsys.point_to_point to trajectory_constraints for more consistency (legacy keyword still works).
- Initial conditions for simulation of discrete time systems was being passed as a list instead of an ndarray, which caused some odd behavior and wasn't consistent with continuous time system usage.
- Added check for constraint types in optimal control problem setup (rather than when solving the optimal control problem).
- Fixed small inconsistency in the way discrete time was handled in setting up an I/O system for model predictive control (should be inherited from system, not passed separately).
- Unused keywords in
OptimalControlProblem now generate an error (mentioned here).
- To be consistent with the normal problem formulation, the discrete time optimal cost calculation no longer includes the endpoint (use
terminal_cost instead).
create_mpc_iosystem now re-computes the optimal controller when returning the output, which eliminates an unintended one-step delay in the MPC dynamics.
- Added unit tests.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|

Coverage increased (+0.006%) to 93.601% when pulling f807b33 on murrayrm:cds112 into e10855e on python-control:master.
|
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
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.