Title: I/O system enhancements by murrayrm · Pull Request #710 · python-control/python-control · GitHub
Open Graph Title: I/O system enhancements by murrayrm · Pull Request #710 · python-control/python-control
X Title: I/O system enhancements by murrayrm · Pull Request #710 · python-control/python-control
Description: This PR adds some new functionality for I/O systems that I used in a recent course on optimization-based control that I taught at Caltech: Modify the ss(), rss(), and drss() functions to return LinearIOSystem objects (instead of StateSpace objects). This makes it easier to create LTI state space systems that can be combined with other I/O systems without having to add a conversation step. Since LinearIOSystem objects are also StateSpace objects, no functionality is lost. (This change is implemented through the introduction of a internal NamedIOSystem class, to avoid import cycles.) Added a new function create_statefbk_iosystem() that creates an I/O system for implementing a linear state feedback controller of the form u = ud - Kp(x - xd). The function returns an I/O system that takes xd, ud, and x as inputs and generates u as an output. The integral_action keyword can be used to define a set of outputs y = C x for which integral feedback is also included: u = ud - Kp(x - xd) - Ki(C x - C xd). The lqr and dlqr commands now accept an integral_action keyword that allows outputs to be specified for implementing integral action. The resulting gain matrix has the form K = [Kp, Ki]. (This is useful for combining with the integral_action functionality in create_statefbk_iosystem()).
Open Graph Description: This PR adds some new functionality for I/O systems that I used in a recent course on optimization-based control that I taught at Caltech: Modify the ss(), rss(), and drss() functions to return L...
X Description: This PR adds some new functionality for I/O systems that I used in a recent course on optimization-based control that I taught at Caltech: Modify the ss(), rss(), and drss() functions to return L...
Opengraph URL: https://github.com/python-control/python-control/pull/710
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:2bfcface-fea8-3fd4-4c1a-e9c5072c9917 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | 9E26:35326F:130811E:1B1F879:697A38B5 |
| html-safe-nonce | 89c4a632a463b5af4d3f93a10432469a37509d20e0c2b187f6010fde17adecd5 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTI2OjM1MzI2RjoxMzA4MTFFOjFCMUY4Nzk6Njk3QTM4QjUiLCJ2aXNpdG9yX2lkIjoiMzk4MzA3NTkxMjQyNDUwMzQ3NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 809998323986d4a63921fb3dfda6b0cc7d94ada4dc32bf57c97352182d3ccf1c |
| hovercard-subject-tag | pull_request:880942895 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python-control/python-control/pull/710/checks |
| twitter:image | https://avatars.githubusercontent.com/u/293362?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/293362?s=400&v=4 |
| og:image:alt | This PR adds some new functionality for I/O systems that I used in a recent course on optimization-based control that I taught at Caltech: Modify the ss(), rss(), and drss() functions to return L... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | af6de804ceb83ad30bb9b348cdeaccaa30cdcb566762d5e74e21e2bad88885d0 |
| turbo-cache-control | no-preview |
| go-import | github.com/python-control/python-control git https://github.com/python-control/python-control.git |
| octolytics-dimension-user_id | 2285872 |
| octolytics-dimension-user_login | python-control |
| octolytics-dimension-repository_id | 22791752 |
| octolytics-dimension-repository_nwo | python-control/python-control |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 22791752 |
| octolytics-dimension-repository_network_root_nwo | python-control/python-control |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 2d980605f0959039ddebcbcf522b072508302977 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width