You need to know what right-half-plane zeros are
"I need to know about what now?!"
Right-half-plane zeros. Or at least, I want you to know about them, because there's a really critical one that's about to play out and could affect the well-being of a lot of people.
So what am I talking about exactly?
I'll admit that this isn't quite the order of presentation that I had originally planned for this material. I intend to gradually put together a series of notes on control theory targeted at the undergraduate to graduate level, and right-half-plane (RHP) zeros would probably show up somewhere towards the middle.
But the intended audience of this post is everybody.
Imagine that you’re on a diet, so while eating ice cream makes you happy for a few fleeting minutes, it leaves you feeling guilty for the next few hours afterward. Imagine if you started eating ice cream and then, at each following moment, tried to cancel out the sadness about the ice cream you’d just eaten by eating an even larger amount of ice cream.
By eating an exponentially-growing amount of ice cream, you could perhaps maintain a perfectly balanced emotional state, with the increasing guilt over those calories precisely cancelled out by the delicious delight of an even larger next spoonful… until, at least, the neighbourhood runs out of ice cream, at which point it all comes crashing down.
That’s a right-half-plane zero in action, if you know how to spot one.
A dynamical system is anything that evolves over time in some roughly deterministic way. Examples include, well, anything governed by the laws of physics, but typically include things like the flow of current in a coil of wire, the motion of a car or an airplane, the flow of water in a river, and the motion of goods and prices in an economy.
A system may be a small component of some bigger system, like a single aileron on a plane, or it may be the whole thing — any assemblage of systems is, itself, a system. The evolution of a system may be influenced by some inputs from outside, and also might influence other systems that it’s connected to via some outputs. And we sometimes find ourselves with the job of guessing which input we can apply to get the output behaviour we want. Like how hard we should tap the brakes to come to a gentle stop, or how we should we angle an aircraft’s control surfaces to pitch up.
As a first step toward making a system behave the way we want it to, we try to create a concrete description of the way that system behaves, using differential equations. Often these descriptions are very hand-wavy and approximate, and may only capture very high-level features of the system while sweeping a lot of very important details under the rug, but that’s actually okay. We make up for the shortcomings by using feedback to correct us as we go.
(This won’t be on the quiz, but a good-enough model for our ice cream system is: dy/dt = dx/dt - x, where y is your happiness and x is how much ice cream you are eating at time t.)
Control theorists like to classify the behaviour of dynamical systems based on what we call poles and zeros. (The mathematical origin of these terms is beyond the scope of this article, but I’ve added brief explanation in the footnotes1). Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
It turns out that in a surprisingly broad range of cases, a list of poles and zeros are almost all we need to capture the key dynamics of a system.
Now, between poles and zeros, poles are no doubt the most important of the two. You’ll find that control engineers absolutely obsess about poles. That’s because if you care about the system output at t = 1 minute, you probably still care about it at t = 2 minutes, so you’re in it for the long-haul anyway, and the system poles are going to dominate that.
But more on that in another article. Right now, you need to know about right-half-plane zeros.
Zeros characterize how a system reacts to an input at first. Like poles, they are a feature of the differential equations that govern the system. Left-half-plane zeros are mostly harmless, so I won’t talk about them much here. But right-half-plane zeros are not.
A system with a right-half-plane zero is one type of non-minimum-phase system, which is a code-word for “trouble”.
To put it as simply as possible, when subjected to an input that ought to make it move up, a system with an RHP zero will move down first, before moving up. This is known as an inverse response.
For example, an aircraft can enter a climb by pitching up, which requires pushing down on the tail.2 That means that airplanes drop a little first, before they ascend. (I’ve overemphasized it below, to convey the point):
Sometimes, this happens in such a small way, or on such a brief timescale, that it can almost be neglected. But sometimes it can’t. In a hard drive, the voice coil applies an unbalanced force that bumps the read head to the right before swinging it to the left. It’s a tiny bump — caused by the non-infinite stiffness of the ball bearing pivot — but hard drive tracks are also so tiny that it needs to be accounted for.
Countersteering on a bicycle is another example: To turn right, a cyclist will first steer slightly to the left. This is such a subtle motion that it can be hard to perceive, but it’s crucial nonetheless.
So the first important lesson of inverse response is: don’t ride your bicycle on the edge of a cliff.
You don’t want to be stuck in a situation where the only motion that takes you away from the cliff will also knock you over the edge. Oops!
But the most important lesson is: don’t let your flight controller do this…
… Because when we start applying feedback control is where we really have to be careful of right-half-plane zeros.
Let’s say our airplane is running in auto-pilot. We’ve sent a request to pitch up and gain altitude, so the flight controller tilts the elevators3 to initiate a climb. But suddenly the airplane is losing altitude, moving farther away from our target? Do we pull up even harder?
The danger of the right-half-plane zero is that it lures you into reacting to it, but that is precisely the wrong thing to do. Attempting to apply a new control input to cancel the inverse response only sets off an even worse chain of events, where the resulting secondary inverse reaction becomes even more severe, requiring even more corrective action, until finally you’ve slammed into the ground.
In this situation, the flight controller’s only option is to ignore the initial misdirection and wait patiently until the airplane eventually begins to climb as intended.
That might sound easy, but it places a hard physical limit on your controller’s reaction rate. No matter how fast your flight control computer is, it is impossible to fully correct for disturbances (like a sudden downdraft) that occur on the timescale of the right-half-plane zero. That limitation is a limitation of the system itself, not your control algorithm.
And if your system is nonlinear or inherently unstable, you should pay twice as much respect to this, because you definitely don’t want to end up in a situation where your corrective action isn’t able to react on the timescale at which the error is exponentially growing. With a system like that, the only corrective action is to plan ahead to avoid putting yourself in that position in the first place.
The third important lesson of the right-half-plane zero is: don’t lose track of which way the elevators ultimately move the airplane.
(Up eventually, but not immediately).
We all know which way is up with airplanes, but it’s all too easy to forget when it comes to ice cream. That’s why I’d still like to build your intuition about this, because airplane control is not the most important example of a right-half-plane zero in action — just an easy-to-visualize explanatory example. In the next post, I will explore a less intuitive right-half-plane zero that’s about to play out across Canada, and to a lesser extent, the United States.
This post isn’t intended as professional engineering advice. If you are looking for professional engineering advice, please contact me with your requirements.
I didn’t want to lose your attention by opening with calculus, but if you want to know more about poles and zeros and how they relate to the equations that govern the system, here’s a very basic introduction.
Here is an example of a differential equation relating a system’s input x to its output y:
dy/dt = dx/dt + Ax
where “dy/dt” means the rate of change of y. Also known as the derivative of y with time. So this equation states that the increase of y is proportional to the input signal it’s provided, and also how fast that input is increasing.
A pole of the system is a growth rate for y that makes the y part of the equation cancel out. For example, with the above equation, if we had a situation where y was a constant value like say, 3, then that would do it, since it would make dy/dt disappear. The growth rate of a constant is 0, so we can say “this system has a pole at 0 Hz”. (We usually refer to 0 Hz as “DC”, as in the frequency of direct-current electricity.)
Similarly, a zero of the system is a growth rate for x that makes the x part of the equation cancel out. For example, with the above equation, the x terms cancel out if x is exponentially shrinking at a rate of e⁻ᴬᵗ, because then dx/dt = -Ax, which means that dx/dt + Ax = 0 and the x terms cancel out. Therefore, this system has a zero at -A.
“Right-half-plane” rate refers to any positive growth rate: exponential growth instead of exponential decay.
Putting this all together: a right-half-plane zero therefore implies a situation where some exponentially growing input signal has absolutely no effect on the output. That’s because with the x terms cancelled out, there’s nothing left to influence y. The system’s long-term reaction keeps getting cancelled out by the short-term inverse reaction to that ever-growing input.
Now let’s go back to the ice cream example. If your exponentially growing input (ice cream) results in no net effect on the output (happiness), then you have a right-half-plane zero in the transfer function from ice cream → happiness.
(I have nothing against ice cream, by the way. I love ice cream.)
And now you know how to spot a right-half-plane zero.
As pilots or aircraft enthusiasts reading this article will readily comment, an airplane will usually climb without adjusting its pitch, by increasing its thrust; the resulting increase in airspeed causes the wings to develop more lift and this allows the airplane to ascend without adjusting its angle of attack. Climbing by only pitching up will cost some speed, both because of increased drag and because the plane trades its kinetic energy against gravity as it ascends. Pitching up can assist a climb at low speeds, both because it increases the wing’s angle-of-attack which increases its lift coefficient (but also drag), and because the thrust gains a vertical component (although this might be a net loss when considered against the loss of airspeed).
But this isn’t an article about aircraft control! This is an article about right-half-plane zeros. (I’d be happy to write an in-depth article about controlling aircraft, if anyone would be interested in reading it — let me know in the comments!).
Airplanes are multi-input, multi-output (MIMO) control systems with many options available to the pilot to manipulate their state, and this RHP zero does not pose a significant challenge to stable control of most aircraft. In this article I am merely using airplanes as an easy-to-visualize example to help explain, in a visual way, the behaviour of transfer-function zeros as best as possible, as most people find transfer functions quite abstract.
I was trying to avoid jargon, because this is not an article about aircraft, and I know not every reader is a pilot, and most readers will think of the other kind of elevators. Anyway, in this context, elevators are the control surfaces on the tail responsible for controlling pitch.