Stability and Control

[From Fred Nickols (2013.12.29.1508 EST)]

Bruce:

What you call “ringing” is what I know as “hunting” – more specifically, hunting about the point of correspondence. In a weapons (gun) system on board ship, the gun mount catches up to the ordered signal but, owing to inertia (and a five ton gun mount has a lot of that, especially when swinging out), it overshoots, then goes back the other way, overshooting a bit less until the oscillations dampen out and the gun mount is synced with the order. If the starting point had a huge discrepancy between ordered and actual position there would be some major oscillations, which is why the order given was “Train out, match up and shift to automatic.” The gun captain would then (using a device similar to a joy stick bring the mount into close correspondence with the order (read on a dial) and then shift to automatic. That way hunting was minimized (as was shaking up the guys inside the gun mount).

Fred

image00143.jpg

image0057.jpg

image00317.jpg

···

From: Bruce Abbott [mailto:bbabbott@FRONTIER.COM]
Sent: Sunday, December 29, 2013 11:39 AM
To: CSGNET@LISTSERV.ILLINOIS.EDU
Subject: Stability and Control

[From Bruce Abbott (2013.12.29.1140 EST)]

Here are some screen shots from the LiveBlock demo of LCS III. In the first one, I’ve set the gains as high as the limits of the program will allow me to set them, giving a loop gain of 500:

HiGain.jpg

Plotted at bottom are the values of the reference and perceptual signals. For the demonstration I used the reference signal slider to rapidly change the reference signal value between +15 and -15 units (green line). Notice how the perceptual signal (blue line) overshoots the reference value, then oscillates around it as the excursions diminish. This behavior is called “ringing.” Although ringing is not a sign of good control, the system is nevertheless stable since the perceptual signal eventually converges to a single value. By reducing the gain a bit we can eliminate the ringing.

In the next screenshot, the gains have been returned to their default values, but not the “input delay” has been increased. This change increases the lag in the system.

HighLag.jpg

Increasing the lag has again introduced ringing. Again the perceptual signal eventually converges on a single value so the system is stable, although once again it is on the verge of instability.

Ringing not confined to poorly tuned control systems. You can also observe it in equilibrium systems like the ball-in-the-bowl example if there is a bit of friction in the system. The ball oscillates in a diminishing pattern until it comes to rest at the minimum energy point, the bottom of the bowl. If you tip the bowl up a bit, the ball will still settle at the lowest point n the bowl, but this will be a different location than before – similar to a change of reference value in a control system. The new location is not a reference value, however; it’s just a new equilibrium position relative to the bowl’s inner surface.

The final screenshot shows what happens when the parameters of gain and/or lag are such that the system becomes unstable.

Unstable.jpg

The system actually started to ring before I had a chance to change the reference. The magnitude of the excursions above and below the reference level increases with each swing. The amplitude is running off to infinity (or at least the maximum output the system is capable of delivering to the CV) and can lead to destruction of a physical output device. What is happening is that the usual negative feedback has changed to positive feedback because the output is getting out of phase with the changes to the CV: by the time the system begins to correct a swing in one direction, the CV is changing in the other direction and the output amplifies that swing rather than attenuating it.

From these demonstrations I think it’s safe to conclude that stability/instability is a property of behavior that can be observed in dynamical systems in general, including both control systems and equilibrium systems.

Bruce

[From Bruce Abbott (2013.12.29.1800 EST)}

[Martin Taylor 2013.12.29.12.56] –

[From Bruce Abbott (2013.12.29.1140 EST)]

BA: Here are some screen shots from the LiveBlock demo of LCS III. In the first one, I’ve set the gains as high as the limits of the program will allow me to set them, giving a loop gain of 500:

MT: Using the assumption that all the waveforms in the loop have the same growth rates, which is a pretty good assumption since all the functions are linear, I have computed stability measures for Bruce’s conditions. I printed out Bruce’s message and measured as best I could the parameters based on the values in the panel. The problem is that the lines are pretty thick compared to the range of data. I judged the time scale by looking at when the excursion started after the change in reference value, and assuming I could correctly read the “Input delay” panel item. However, here are my estimates.

Did you try clicking on the on-screen pictures and then resizing them before printing them out? You might have been able to produce a higher resolution image by doing so.

image00143.jpg

MT: Stability 2.0 per second

image0057.jpg

MT: Stability 0.6 per second

image00317.jpg

MT: Stability -0.95 per second

Martin, is that the correct unit of measure? Normally one would expect another unit in there, “somethings” per second. Is the “something” absent because the demo does not specify the units in which the various quantities around the loop were measured? If so, I would suggest “units per second.” Or is that a unitless quantity per second? It looks strange to have “per second” without specifying what is changing per second.

How did you arrive at those figures? What do they mean, in layman’s terms?

BA: The system actually started to ring before I had a chance to change the reference.

MT: Actually it probably started to ring as soon as you started the program, but the excursions were initially infinitesimal.

Yes.

MT: That was an interesting exercise. Something that would be even more interesting would be to have a series of these with a given lag and gain varying upward from zero until the stability goes negative.

Anyone who has the LCS III demos and either a PC or a Mac with a PC emulator can do these experiments for him- or herself. However, the limits imposed on manually changing the gains would prevent one from reaching the negative stability range by manipulating the gain alone. (Perhaps I should change those limits and post the revision on the demo website, www.billpct.org .) I used combination of a small increase in lag plus the maximum loop gain permitted to produce the third screenshot, showing instability.

Bruce

[From Bruce Abbott (2013.12.29.1715 EST)]

Fred Nickols (2013.12.29.1508 EST) –

FN: What you call “ringing” is what I know as “hunting” – more specifically, hunting about the point of correspondence. In a weapons (gun) system on board ship, the gun mount catches up to the ordered signal but, owing to inertia (and a five ton gun mount has a lot of that, especially when swinging out), it overshoots, then goes back the other way, overshooting a bit less until the oscillations dampen out and the gun mount is synced with the order. If the starting point had a huge discrepancy between ordered and actual position there would be some major oscillations, which is why the order given was “Train out, match up and shift to automatic.” The gun captain would then (using a device similar to a joy stick bring the mount into close correspondence with the order (read on a dial) and then shift to automatic. That way hunting was minimized (as was shaking up the guys inside the gun mount).

Thanks, Fred. I’ve heard that term applied to this behavior as well. I suppose “hunting” sounds more appropriate than “ringing”, when the oscillations are slower, as they would be with a heavy gun mount, due to its high inertia.

Bruce

[Martin Taylor 2013.12.29.23.45]

No I didn't, but I don't think the actual numbers matter so much as

the fact that one can get stability numbers at all. Rick wanted to
know about getting measures of stability for control systems
(although he also said he already could do it). I don’t know how to
produce a formula in Gain Rate and Loop Delay, but when you produced
your diagrams, I could at least produce numbers for those empirical
conditions.
You are absolutely right. It should be “log units per second”.
In layman’s terms, the stability measures indicate how fast the
system converges toward its attractor (fixed point at zero error).
The higher the stability index, the quicker the response of the
system.
The procedure is so trivial as to suggest it must be wrong. And it
would truly be wrong if the system circuitry were not so simple. I
measured the height of the largest peaks and computed the log10 of
the ratio between the heights of successive positive peaks. Not
knowing the timing of the tick marks on the X axis, I read the input
time delay and assumed that was the time from the excursion of the
reference to the excursion of the perceptual signal. That gave me an
approximate time scale.
In technical terms, imagine a small box in phase space around the
location of the system in phase space. In this system, the phase
space has six dimensions (p, e, o, and their time derivatives), so
the box is a 6-D hypercube. After a short time dt the orbit of the
system has moved the location in phase space to a new set of values.
All the orbits through points in the box will likewise have moved,
and the set of resulting locations after dt form a new, perhaps
distorted, box. This new box may be bigger or smaller than the old
one. The stability index ought to have 6 dimensions, but one can
make a gross index by treating only the hypervolume ration between
the new box and the old box. The log of that ratio divided by dt is
the negative of the stability index. In the case of your diagrams, I assumed that all the dimensions of
the box would grow or shrink by the same ratio, and used the ratio
from the one dimension for which I had data. The number of
dimensions is a scale factor, but it seems more natural to treat a
per-dimension ratio than to use the total hypervolume ratio when all
the dimensions behave the same. Often, only the largest of the
individual dimensional ratios is used, because after a while, that
one completely dominates measurable effects on the behaviour of the
system.
If I ever do it, it won’t be soon. I have too many projects on the
go right now, including the recently added projected chapter for
Warren. I may do it as a byproduct of coding models to fit my
“Flexible Tracker” experiments (which I do hope to distribute in a
beta-2 version soon – one of my projects). Art some point, I may
well include a stability calculation in the modelling software.
Martin

···

On 2013/12/29 5:01 PM, Bruce Abbott
wrote:

        [From Bruce Abbott

(2013.12.29.1800 EST)}

[Martin Taylor 2013.12.29.12.56] –

          [From

Bruce Abbott (2013.12.29.1140 EST)]

BA: Here are some screen shots from
the LiveBlock demo of LCS III. In the first one, I’ve set
the gains as high as the limits of the program will allow
me to set them, giving a loop gain of 500:

      MT:             Using the assumption that all

the waveforms in the loop have the same growth rates, which
is a pretty good assumption since all the functions are
linear, I have computed stability measures for Bruce’s
conditions. I printed out Bruce’s message and measured as
best I could the parameters based on the values in the
panel. The problem is that the lines are pretty thick
compared to the range of data. I judged the time scale by
looking at when the excursion started after the change in
reference value, and assuming I could correctly read the
“Input delay” panel item. However, here are my estimates.

        Did you try clicking

on the on-screen pictures and then resizing them before
printing them out? You might have been able to produce a
higher resolution image by doing so.

      MT: Stability 2.0 per second
      MT: Stability 0.6 per second



      MT: Stability -0.95 per second
        Martin,  is that the

correct unit of measure? Normally one would expect another
unit in there, “somethings” per second.

        How did you arrive at

those figures? What do they mean, in layman’s terms?

MT: That was an interesting
exercise. Something that would be even more interesting
would be to have a series of these with a given lag and gain
varying upward from zero until the stability goes negative.

        Anyone who has the

LCS III demos and either a PC or a Mac with a PC emulator
can do these experiments for him- or herself. However, the
limits imposed on manually changing the gains would prevent
one from reaching the negative stability range by
manipulating the gain alone. (Perhaps I should change those
limits and post the revision on the demo website, www.billpct.org
.) I used combination of a small increase in lag plus the
maximum loop gain permitted to produce the third screenshot,
showing instability.

[From Rick Marken (2013.12.29.2200)]

Bruce Abbott (2013.12.29.1140 EST) –

BA: Here are some screen shots from the LiveBlock demo of LCS III. In the first one, I’ve set the gains as high as the limits of the program will allow me to set them, giving a loop gain of 500:

RM: Beautiful work Bruce!

BA: From these demonstrations I think it’s safe to conclude that stability/instability is a property of behavior that can be observed in dynamical systems in general, including both control systems and equilibrium systems.

RM: Yes, indeed. And I have also shown that the stability/instability of the behavior of a control system can be indistinguishable from the behavior of an open loop (equilibrium) system, as seen in this plot from my RT experiment (the subject/model had to move a cursor to one target or another based on the color of the cursor; so the stimulus (disturbance) was a square wave and the response is the behavior of the cursor in response to this disturbance. One plot is the behavior of a control model; the other is the behavior of an S-R (equilibrium) model with the output being filtered with a simple low pass filter. The stability/instability of the two plots is nearly identical; they would become identical with a more complex filtering of the S-R output.

The only way to distinguish the behavior of the two kinds of system is by introducing disturbances that would be resisted by a control system but not by the S-R system.

Best

Rick

···


Richard S. Marken PhD
www.mindreadings.com

The only thing that will redeem mankind is cooperation.
– Bertrand Russell