new Pid design function built on sisotool by sawyerbfuller · Pull Request #662 · python-control/python-control

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.