Title: Optimization-based and moving horizon estimation by murrayrm · Pull Request #877 · python-control/python-control · GitHub
Open Graph Title: Optimization-based and moving horizon estimation by murrayrm · Pull Request #877 · python-control/python-control
X Title: Optimization-based and moving horizon estimation by murrayrm · Pull Request #877 · python-control/python-control
Description: This PR adds new functionality for computing the optimal estimate for a (nonlinear) I/O system using an explicit cost function of a fixed window of applied inputs and measured outputs. This optimal estimation problem is then used to create a system for solving moving horizon estimation (MHE) problems. Documentation and unit tests are included. Summary of changes: Added the obc.OptimalEstimationProblem class and obc.create_mhe_iosystem() function, which implement that main new functionality. Added gaussian_likelyhood_cost() to create cost function corresponding to Gaussian likelihoods for use in optimal estimation. Added disturbance_range_constraint() to create a range constraint on disturbances. Moved processing of control and disturbance indices for estimation problems into iosys.py and use that functionality consistently for obc.create_estimator_iosystem and obc.OptimalEstimationProblem. Created a function for processing legacy keywords in config.py and updated legacy keyword processing class to use that functionality. Added a pytest mark for slow tests (@pytest.mark.slow), which can be used during development to skip slow tests by running pytest -m "not slow". Added unit tests, docstrings, and user documentation for new functionality, including a Jupyter notebook demonstrating optimal estimation and moving horizon estimation the PVTOL model system (from FBS2e and OBC notes). Additional small updates to docstrings to fix typos and formatting issues.
Open Graph Description: This PR adds new functionality for computing the optimal estimate for a (nonlinear) I/O system using an explicit cost function of a fixed window of applied inputs and measured outputs. This optima...
X Description: This PR adds new functionality for computing the optimal estimate for a (nonlinear) I/O system using an explicit cost function of a fixed window of applied inputs and measured outputs. This optima...
Opengraph URL: https://github.com/python-control/python-control/pull/877
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:b8ddf227-9fae-b3b6-0e8d-c2879994fc45 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | CD8C:273154:1254920:1A00E4C:697A38C2 |
| html-safe-nonce | dca7ac534b76767bc0e1946842d7cd8e25d9308d8282f183dcc6ec206fde0ca2 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRDhDOjI3MzE1NDoxMjU0OTIwOjFBMDBFNEM6Njk3QTM4QzIiLCJ2aXNpdG9yX2lkIjoiMjU3MjI5MDA0NzQ0OTExODkxNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 19682264140fcce0bb20663f5b88e765d052f3f584179c2eb26664097b134138 |
| hovercard-subject-tag | pull_request:1290141160 |
| 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/877/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 new functionality for computing the optimal estimate for a (nonlinear) I/O system using an explicit cost function of a fixed window of applied inputs and measured outputs. This optima... |
| 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