Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new Pid design function built on sisotool #662

Merged
merged 10 commits into from Dec 26, 2021

Conversation

sawyerbfuller
Copy link
Contributor

@sawyerbfuller sawyerbfuller commented Nov 2, 2021

Provides a manual means of tuning a PID controller but does not attempt an automatic solution, thus its name pid_designer. Edit: renamed function to rootlocus_pid_designer to distinguish it from loopshaping techniques. Partially addresses #657.

Uses Sisotool to investigate the effect of adding or subtracting an
amount deltaK to the proportional, integral, or derivative (PID) gains of
a controller. One of the PID gains, Kp, Ki, or Kd, respectively, can
be modified at a time. Sisotool plots the step response, frequency
response, and root locus.

When first run, deltaK is set to 0; click on a branch of the root locus
plot to try a different value. Each click updates plots and prints
the corresponding deltaK. To tune all three PID gains, repeatedly call
pid_designer, and select a different gain each time ('P', 'I',
or 'D'). Make sure to add the resulting deltaK to your chosen initial
gain on the next iteration.

@bnavigator
Copy link
Contributor

Same CI failure as in #659. #663 might work around it.

@coveralls
Copy link

coveralls commented Nov 4, 2021

Coverage Status

Coverage increased (+0.1%) to 90.077% when pulling 4ee9fd1 on sawyerbfuller:pid-designer into affe4d3 on python-control:master.

@bnavigator bnavigator merged commit 89291e6 into python-control:master Dec 26, 2021
@murrayrm
Copy link
Member

FYI: this is generating a bunch of warning messages. We should clean up when we get a chance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

I'm having problems with the ax parameters of the rlocus function
4 participants