Flattening the Curve: Input/Output Linearization in Nonlinear Control

Some systems don’t follow easily.

You ask for one behavior, and they give you another.

You command an output—and the response arrives bent, delayed, entangled with states you never meant to disturb.


This is the nature of nonlinear systems. Their outputs twist through a dynamic terrain where straight lines become arcs, and cause and effect are blurred by complexity.


But beneath that complexity lies a technique—a way of flattening the system’s output behavior, of translating its nonlinear response into something linear, direct, and deeply controllable.

This technique is called Input/Output Linearization.


At its heart, input/output linearization reshapes a nonlinear system so that its input-output map behaves like a chain of integrators. It doesn’t try to control the full internal state—it focuses instead on the outputs we care about, and transforms the system just enough to make those outputs behave as if the system were linear.


Formally, we start with a nonlinear system:


  ẋ = f(x) + g(x)u

  y = h(x)


Where x is the state, u is the input, and y is the measured output.


We then ask: How many times must I differentiate y with respect to time before the input u appears explicitly in the equation?


This number is the relative degree.


If the system has a well-defined relative degree for each output, and certain regularity conditions are met (like the decoupling matrix being nonsingular), then the system can be rewritten through a change of variables into a form where:


  y^(r) = v


Where y^(r) is the r-th derivative of the output, and v is a new control input. In this transformed domain, the system behaves like a chain of linear integrators, and you can apply any linear control law—PD, PID, LQR, even trajectory tracking via pole placement.


In effect, input/output linearization gives you direct, decoupled control over the output—as if the nonlinear dynamics between input and output had been dissolved.


For flight systems, this is profound.


You can command altitude and track it exactly.

You can shape the aircraft’s attitude with precision, even when the internal dynamics are messy.

You can handle rapid, nonlinear aerodynamic changes during aggressive maneuvers, while still using linear control tools on the surface.


But there are limits.

Input/output linearization doesn’t control the internal states that don’t affect the output—a concept known as the zero dynamics. If those dynamics are unstable, they can destabilize the system even when the output looks perfect.


So it’s not just about linearizing. It’s about checking what remains beneath.


Still, when applied carefully, input/output linearization offers something rare:

The ability to speak clearly to a nonlinear system, and to have it answer back—directly, cleanly, and as expected.


Because sometimes, the smartest thing a controller can do is not to dominate complexity—but to flatten just enough of it to make the conversation simple again.