Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
added noteto docstring for how to use when no interative plots
  • Loading branch information
sawyerbfuller committed Apr 16, 2023
commit 5d7a8d3d8bb361ed6995b2e41b5692ac62b719b7
13 changes: 11 additions & 2 deletions control/sisotool.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,15 @@ def rootlocus_pid_designer(plant, gain='P', sign=+1, input_signal='r',
`'I'`, or `'D'`). Make sure to add the resulting `deltaK` to your chosen
initial gain on the next iteration.

Note: Clicking on interactive plots feature is not currently compatible
with in-line plots in the Jupyter Notebook including online notebooks.
The alternative is to iteratively explore calling this function with
different initial argument values `Kp0`, `Ki0`, and `Kd0`. If you are
running the notebook on your local computer, it may be possible to spawn
separate interactive plots outside of the notebook with a command, e.g.
`%matplotlib qt`; when you are done, `%matplotlib inline` returns to
inline plots.

Example: to examine the effect of varying `Kp` starting from an intial
value of 10, use the arguments `gain='P', Kp0=10`. Suppose a `deltaK`
value of 5 gives satisfactory performance. Then on the next iteration,
Expand Down Expand Up @@ -254,7 +263,7 @@ def rootlocus_pid_designer(plant, gain='P', sign=+1, input_signal='r',
its second input rather than being added to `u`.

Remark: It may be helpful to zoom in using the magnifying glass on the
plot. Just ake sure to deactivate magnification mode when you are done by
plot. Just make sure to deactivate magnification mode when you are done by
clicking the magnifying glass. Otherwise you will not be able to be able
to choose a gain on the root locus plot.

Expand Down Expand Up @@ -320,7 +329,7 @@ def rootlocus_pid_designer(plant, gain='P', sign=+1, input_signal='r',
deriv = tf([1, -1], [dt, 0], dt)

# add signal names by turning into iosystems
prop = tf2io(prop, inputs='e', outputs='prop_e')
prop = tf2io(prop, )
integ = tf2io(integ, inputs='e', outputs='int_e')
if derivative_in_feedback_path:
deriv = tf2io(-deriv, inputs='y', outputs='deriv')
Expand Down