The stability of a dynamic system describes whether its response remains bounded or returns to equilibrium after an input or disturbance, according to the stability criterion we are using.
If you remember the previous articles, we have modeled our physical plant with a Transfer Function and have seen how second-order systems can oscillate. But today we will touch upon the most critical concept in all of control engineering.
An unstable system is a useless and dangerous system. No matter how beautiful your C++ code is or how expensive your microcontroller is; if your algorithm makes the physical system unstable, the motors will burn, drones will fall from the sky, and mechanical parts will fly off. And all this can be predicted simply by looking at two things: Poles and Zeros.
Anatomy of the Transfer Function
We had said that the Laplace domain Transfer Function G(s) is a fraction of polynomials. It has a numerator and a denominator.
If we factor those polynomials (i.e., find their roots or the values of s that make them zero), we obtain the following form, which is the one that truly interests us:
This is where our two protagonists are born:
Zeros (z)
Zeros are the roots of the numerator. They are the values of s that make the transfer function equal to zero, i.e., G(s) = 0.
Physically, zeros act as “black holes” for certain frequencies. A zero means the system blocks a specific signal. They affect the shape of the response (they can increase overshoot), but they do not decide whether the system lives or dies.
Poles (p)
Poles are the roots of the denominator. They are the values of s that make the denominator zero and, therefore, the transfer function go to infinity (G(s)=∞). Physically, the poles represent the natural “resonances” or behavioral modes of the system. Poles are the absolute masters of stability.
If you want to know whether your robot will work or burst into flames, forget about the zeros. You only need to look at where the poles are.
The Complex Plane (s-plane)
The Laplace variable s is a complex number. This means it has a real part (σ) and an imaginary part (jω).
Since it has two dimensions, we can’t draw it on a simple straight line. We need a 2D map, which we call the Complex Plane or S-Plane:
- The horizontal axis (Real Axis, σ): Represents pure exponential growth or decay.
- The vertical axis (Imaginary Axis, jω): Represents pure oscillation.
We represent poles with crosses (X) and zeros with circles (O) on this map.
The Practical Rule of Stability
To understand why poles dictate the fate of your hardware, we must remember that, when we undo the Laplace transform to return to the real world of time, a pole at position s=σ+jω becomes an exponential mathematical function:
Look closely at the term e^{σt}. This is the key to the entire control universe:
- If σ is NEGATIVE (Left Half-Plane): The exponential term becomes smaller and smaller as time passes. The oscillation dampens. The system stabilizes. We are safe!
- If σ is POSITIVE (Right Half-Plane): The exponential term grows without bound towards infinity. The oscillation (or movement) becomes more and more violent until something breaks. Fire, destruction, and tears!
- If σ is ZERO (Imaginary Axis): The exponential term equals
1. The system neither grows nor decays. It oscillates forever like a frictionless pendulum (marginally stable).
For a continuous LTI system, the practical rule is clear: for it to be asymptotically stable, all its poles must be in the left half-plane (have a negative real part).
With just a single pole crossing over to the right side, the entire plant collapses.
Why Do Things Become Unstable?
You might be wondering: “Luis, if instability is so destructive, why do engineers build unstable systems?”
The short answer is that they usually don’t do it on purpose (except in designs that accept an unstable plant to gain performance and rely on control to stabilize it). Many passive plants are stable, but an inverted pendulum, certain processes with internal feedback, or a system with integrators can be unstable or cannot return to an equilibrium point by themselves.
We cause instability when we close the control loop.
If our controller reacts too late (due to delays) or with too much force (excessively high gain), the controller pushes the system when it is already returning, amplifying the error instead of correcting it. In the Laplace domain, mathematically, what we have done is “push” the poles from the left side to the right side of the complex plane.