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

Add optimization to flat systems trajectory generation#569

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:optimal_flatsys
Mar 19, 2021

Conversation

murrayrm
Copy link
Member

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 thecontrol.optimal module. In particular, you can now callflat.point_to_point withcost andconstraints 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 ismuch faster than solving an optimal control problem with terminal constraints.

I also found and fixed some docstring glitches and naming inconsistencies incontrol.optimal along the way (these are all minor and don't change behavior. Unit tests, examples, and updated documentation are included.

This commit allows a cost function and constraints to be passed to theflatsys point_to_point() function and when present will use sp.optimize tofind a trajectory.  Preliminary unit tests, benchmarks, docstrings anddocumentation also in place.Switched the order of arguments in point_to_point() so that Tf (or timepts)now comes before the initial and final states, consistent with orderingelsewhere in the package.Make some small updates to optimal.py docstrings and argument names to makethings consistent with flatsys.
This commit changes the way that cost functions and constraints are handledfor flat system to carry out optimization only in the null space of the flatsystem basis coefficients, eliminating the use of an equality constraint forthe terminal condition.
@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 89.027% when pulling0c1d638 on murrayrm:optimal_flatsys into0f951e1 on python-control:master.

@murrayrmmurrayrm added this to the0.9.x milestoneMar 13, 2021
@sawyerbfuller
Copy link
Contributor

I am not in a position to evaluate this at the moment, but my inclination would be to merge and include with 0.9 so people can play with it/find rough edges sooner rather than later.

bnavigator reacted with thumbs up emoji

@murrayrmmurrayrm merged commitc3c6596 intopython-control:masterMar 19, 2021
@murrayrmmurrayrm deleted the optimal_flatsys branchMarch 20, 2021 00:48
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.1
Development

Successfully merging this pull request may close these issues.

3 participants
@murrayrm@coveralls@sawyerbfuller

[8]ページ先頭

©2009-2025 Movatter.jp