René's URL Explorer Experiment


Title: Add optimization to flat systems trajectory generation by murrayrm · Pull Request #569 · python-control/python-control · GitHub

Open Graph Title: Add optimization to flat systems trajectory generation by murrayrm · Pull Request #569 · python-control/python-control

X Title: Add optimization to flat systems trajectory generation by murrayrm · Pull Request #569 · python-control/python-control

Description: This PR adds the ability to generate trajectories for differential flat systems taking into account cost functions and constraints, in a manner that is consistent with the control.optimal module. In particular, you can now call flat.point_to_point with cost and constraints keywords. The code then uses any extra degrees of freedom in the flat trajectory to minimize cost and satisfy constraints at a list of time points. For differentially flat systems, this method is much faster than solving an optimal control problem with terminal constraints. I also found and fixed some docstring glitches and naming inconsistencies in control.optimal along the way (these are all minor and don't change behavior. Unit tests, examples, and updated documentation are included.

Open Graph Description: This PR adds the ability to generate trajectories for differential flat systems taking into account cost functions and constraints, in a manner that is consistent with the control.optimal module. ...

X Description: This PR adds the ability to generate trajectories for differential flat systems taking into account cost functions and constraints, in a manner that is consistent with the control.optimal module. ...

Opengraph URL: https://github.com/python-control/python-control/pull/569

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:159e8be6-2065-44e7-faa2-1470f5df2716
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE958:82EB1:CA0BE:119D46:697A5AF5
html-safe-nonce7fc8d6ddc3850490c57654750f1c2eb4b391021d1790d6dd3798e0774a957c1e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOTU4OjgyRUIxOkNBMEJFOjExOUQ0Njo2OTdBNUFGNSIsInZpc2l0b3JfaWQiOiIyMTM4MDA4NTQzODkyNzU3MjM3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacede96f15ecde18349b6943b5c4b45af35c54d346703a9c9b9400277ccacaf5c9
hovercard-subject-tagpull_request:592421871
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python-control/python-control/pull/569/files
twitter:imagehttps://avatars.githubusercontent.com/u/293362?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/293362?s=400&v=4
og:image:altThis PR adds the ability to generate trajectories for differential flat systems taking into account cost functions and constraints, in a manner that is consistent with the control.optimal module. ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonea2296221ffa83b7f45f8ba9b62e1aed869492cb43693309e51b8111607e38282
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python-control/python-control git https://github.com/python-control/python-control.git
octolytics-dimension-user_id2285872
octolytics-dimension-user_loginpython-control
octolytics-dimension-repository_id22791752
octolytics-dimension-repository_nwopython-control/python-control
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id22791752
octolytics-dimension-repository_network_root_nwopython-control/python-control
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release46d8a07df71eb59259545c68ce36abf1075d2fca
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python-control/python-control/pull/569/changes#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-control%2Fpython-control%2Fpull%2F569%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-control%2Fpython-control%2Fpull%2F569%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python-control%2Fpython-control
Reloadhttps://github.com/python-control/python-control/pull/569/changes
Reloadhttps://github.com/python-control/python-control/pull/569/changes
Reloadhttps://github.com/python-control/python-control/pull/569/changes
python-control https://github.com/python-control
python-controlhttps://github.com/python-control/python-control
Notifications https://github.com/login?return_to=%2Fpython-control%2Fpython-control
Fork 447 https://github.com/login?return_to=%2Fpython-control%2Fpython-control
Star 2k https://github.com/login?return_to=%2Fpython-control%2Fpython-control
Code https://github.com/python-control/python-control
Issues 87 https://github.com/python-control/python-control/issues
Pull requests 8 https://github.com/python-control/python-control/pulls
Discussions https://github.com/python-control/python-control/discussions
Actions https://github.com/python-control/python-control/actions
Projects 0 https://github.com/python-control/python-control/projects
Wiki https://github.com/python-control/python-control/wiki
Security 0 https://github.com/python-control/python-control/security
Insights https://github.com/python-control/python-control/pulse
Code https://github.com/python-control/python-control
Issues https://github.com/python-control/python-control/issues
Pull requests https://github.com/python-control/python-control/pulls
Discussions https://github.com/python-control/python-control/discussions
Actions https://github.com/python-control/python-control/actions
Projects https://github.com/python-control/python-control/projects
Wiki https://github.com/python-control/python-control/wiki
Security https://github.com/python-control/python-control/security
Insights https://github.com/python-control/python-control/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython-control%2Fpython-control%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython-control%2Fpython-control%2Fissues%2Fnew%2Fchoose
murrayrmhttps://github.com/murrayrm
python-control:masterhttps://github.com/python-control/python-control/tree/master
murrayrm:optimal_flatsyshttps://github.com/murrayrm/python-control/tree/optimal_flatsys
Conversation 2 https://github.com/python-control/python-control/pull/569
Commits 7 https://github.com/python-control/python-control/pull/569/commits
Checks 0 https://github.com/python-control/python-control/pull/569/checks
Files changed https://github.com/python-control/python-control/pull/569/files
Please reload this pagehttps://github.com/python-control/python-control/pull/569/changes
Add optimization to flat systems trajectory generation https://github.com/python-control/python-control/pull/569/changes#top
Show all changes 7 commits https://github.com/python-control/python-control/pull/569/files
178af36 add missing derivs for Bezier basis murrayrm Mar 2, 2021 https://github.com/python-control/python-control/pull/569/commits/178af364be409969ba5760c62159d40e6dc6490d
8a9ab95 initial implementation of optimization for flatsystems murrayrm Mar 7, 2021 https://github.com/python-control/python-control/pull/569/commits/8a9ab951d589b169f916d4527be906f2d8858804
67a2169 updated docs, unit tests, code fixes murrayrm Mar 8, 2021 https://github.com/python-control/python-control/pull/569/commits/67a2169b78254d098888bb2b9c90f43a2ec9324f
f02b1be optimize via null space + updated testing murrayrm Mar 13, 2021 https://github.com/python-control/python-control/pull/569/commits/f02b1bebeaad3b3f8be778406569b7624fd9c760
c240e9b fix legacy matrix issue in flatsys murrayrm Mar 13, 2021 https://github.com/python-control/python-control/pull/569/commits/c240e9b02329933c0267512ea91add3f1710582b
1fe6e86 additional unit tests for code coverage murrayrm Mar 13, 2021 https://github.com/python-control/python-control/pull/569/commits/1fe6e866becc076cc59866b334b99e8dd7d69ded
0c1d638 slight code refactoring to consolidate flag matrix computation murrayrm Mar 13, 2021 https://github.com/python-control/python-control/pull/569/commits/0c1d63867d1fe6da82f1a4b055b7f82fb12f0832
Clear filters https://github.com/python-control/python-control/pull/569/files
Please reload this pagehttps://github.com/python-control/python-control/pull/569/changes
Please reload this pagehttps://github.com/python-control/python-control/pull/569/changes
.gitignore https://github.com/python-control/python-control/pull/569/changes#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
flatsys_bench.py https://github.com/python-control/python-control/pull/569/changes#diff-de534f31de5bb4c82c3d4fdf58ad6b6155d2bfb2a4a52e6a62c25c2c22ba5130
optimal_bench.py https://github.com/python-control/python-control/pull/569/changes#diff-6f5124f16143cce65ee38232c84268adec7f3929cae87765eaaa7176f3ecad4a
bezier.py https://github.com/python-control/python-control/pull/569/changes#diff-123c1531a9577a0e059978f323d4432428149ec4af2cfd52ea0e7c74549a78a6
flatsys.py https://github.com/python-control/python-control/pull/569/changes#diff-6fe8823920a89e1d41e1dd75a124d2139e96caf41093969a1070f219881d86cc
linflat.py https://github.com/python-control/python-control/pull/569/changes#diff-48f25f34ede67182a4f6094999656aa44a0ddef93de3c74d72b8d93c397f668d
iosys.py https://github.com/python-control/python-control/pull/569/changes#diff-12b378d96d36c9d59a9fbc5afbc7cc158d153ff7591b4769f8312772e1d74ed1
optimal.py https://github.com/python-control/python-control/pull/569/changes#diff-19ca2bf58874b6519164f42d62448fdcc1e05efe2b45263f6761f39392cdde01
flatsys_test.py https://github.com/python-control/python-control/pull/569/changes#diff-0236f5dd4bfd0410c9d278d8d845cd910e1dcc4ea3f9d9f811eefebe2fedde15
optimal_test.py https://github.com/python-control/python-control/pull/569/changes#diff-bca0c81c34fee75364f4e38c7cc0005a45ecd9fa9a40901c2b846f07945eb5d0
flatsys.rst https://github.com/python-control/python-control/pull/569/changes#diff-5a1faa02540e8a58e42c2af678151966c846be7ff868b3718cf7eebc3acab381
kincar-flatsys.py https://github.com/python-control/python-control/pull/569/changes#diff-5eead621c09610d288a32efaad8caeedca64bf24a60f1c3c7e87211b1159aa99
steering.ipynb https://github.com/python-control/python-control/pull/569/changes#diff-7d5b3f931d3c9959d8c45163e67d70e7f131922e48e2e2accc07b5971a6908ef
.gitignorehttps://github.com/python-control/python-control/pull/569/changes#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://github.com/murrayrm/python-control/blob/0c1d63867d1fe6da82f1a4b055b7f82fb12f0832/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/569/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/569/changes#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
benchmarks/flatsys_bench.pyhttps://github.com/python-control/python-control/pull/569/changes#diff-de534f31de5bb4c82c3d4fdf58ad6b6155d2bfb2a4a52e6a62c25c2c22ba5130
View file https://github.com/murrayrm/python-control/blob/0c1d63867d1fe6da82f1a4b055b7f82fb12f0832/benchmarks/flatsys_bench.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/569/{{ revealButtonHref }}
benchmarks/optimal_bench.pyhttps://github.com/python-control/python-control/pull/569/changes#diff-6f5124f16143cce65ee38232c84268adec7f3929cae87765eaaa7176f3ecad4a
View file https://github.com/murrayrm/python-control/blob/0c1d63867d1fe6da82f1a4b055b7f82fb12f0832/benchmarks/optimal_bench.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/569/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/569/changes#diff-6f5124f16143cce65ee38232c84268adec7f3929cae87765eaaa7176f3ecad4a
https://github.com/python-control/python-control/pull/569/changes#diff-6f5124f16143cce65ee38232c84268adec7f3929cae87765eaaa7176f3ecad4a
control/flatsys/bezier.pyhttps://github.com/python-control/python-control/pull/569/changes#diff-123c1531a9577a0e059978f323d4432428149ec4af2cfd52ea0e7c74549a78a6
View file https://github.com/murrayrm/python-control/blob/0c1d63867d1fe6da82f1a4b055b7f82fb12f0832/control/flatsys/bezier.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/569/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/569/changes#diff-123c1531a9577a0e059978f323d4432428149ec4af2cfd52ea0e7c74549a78a6
https://github.com/python-control/python-control/pull/569/changes#diff-123c1531a9577a0e059978f323d4432428149ec4af2cfd52ea0e7c74549a78a6
https://github.com/python-control/python-control/pull/569/changes#diff-123c1531a9577a0e059978f323d4432428149ec4af2cfd52ea0e7c74549a78a6
Please reload this pagehttps://github.com/python-control/python-control/pull/569/changes
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.