Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

I/O system enhancements#710

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
murrayrm merged 7 commits intopython-control:masterfrommurrayrm:lti_iosys
Mar 23, 2022
Merged

Conversation

murrayrm
Copy link
Member

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 thess(),rss(), anddrss() functions to returnLinearIOSystem objects (instead ofStateSpace 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. SinceLinearIOSystem objects are alsoStateSpace objects, no functionality is lost. (This change is implemented through the introduction of a internalNamedIOSystem class, to avoid import cycles.)

  • Added a new functioncreate_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. Theintegral_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).

  • Thelqr anddlqr commands now accept anintegral_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 theintegral_action functionality increate_statefbk_iosystem()).

@coveralls
Copy link

coveralls commentedMar 16, 2022
edited
Loading

Coverage Status

Coverage decreased (-0.001%) to 93.593% when pulling316945d on murrayrm:lti_iosys intoe10855e on python-control:master.

@murrayrmmurrayrm linked an issueMar 22, 2022 that may beclosed by this pull request
@murrayrm
Copy link
MemberAuthor

I have some changes that build on this one, so I'm accepting the PR. If you have comments on anything here, feel free to post and I can update with another PR to address.

@murrayrmmurrayrm merged commit2f3ca18 intopython-control:masterMar 23, 2022
@murrayrmmurrayrm deleted the lti_iosys branchMarch 24, 2022 05:19
@sawyerbfuller
Copy link
Contributor

Am a little late on this, but it looks good to me.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
0.9.2
Development

Successfully merging this pull request may close these issues.

Consider usingsuper idiom for child classes
3 participants
@murrayrm@coveralls@sawyerbfuller

[8]ページ先頭

©2009-2025 Movatter.jp