Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 39

Constant Disturbances in State-Space Systems

Recommended resources

Hello! Welcome back to our series on multivariable control.

In the last lesson, we built a powerful tool: an integral-augmented controller that provides robust, zero steady-state error for reference tracking. We saw that by adding an integrator state, the controller actively works to eliminate any persistent error between the reference and the output. I mentioned that this same principle would be our key to handling external disturbances, and today we'll lay the groundwork for that.

This lesson focuses on how to formally model the effect of constant input disturbances on a state-space system. These disturbances represent real-world imperfections like unmodeled friction, small biases in actuators, or environmental forces like a steady wind. By creating a mathematical model that includes these effects, we can later design a controller to specifically counteract them.

This directly prepares us for your goal of stabilizing the rotary inverted pendulum, where things like friction in the main joint are a primary concern.

1. What is a Disturbance?

Before we dive into the math, let's clarify what we mean by a "disturbance." In control systems, a disturbance is any unwanted input that affects the system's output. Unlike sensor noise, which corrupts our measurement of the state, a disturbance acts directly on the plant's dynamics.

The feedback controller we design is responsible for rejecting these disturbances to keep the system on track. The following short video provides a great conceptual overview of this.

What Is Feedforward Control? | Control Systems in Practice

This video from MATLAB, 'What Is Feedforward Control?', gives a clear introduction to the concept of disturbances and how a standard feedback controller responds to them.

Please watch the first 2 minutes of the video (0:00 - 1:55). It explains how both setpoint changes and disturbances create an error signal that the controller must act upon.

As the video explained, a disturbance knocks the system off its desired state, creating an error. A standard feedback controller will only react after this error has occurred. Our goal is to model the disturbance in a way that allows our controller to anticipate and cancel it more effectively.

For your rotary inverted pendulum, a constant disturbance could be:

  • Friction: The motor must overcome a certain amount of static friction in the rotary arm's joint. This is a constant opposing torque.
  • Imbalance: A slight imbalance in the pendulum arm could create a constant torque when it's near the upright position.
  • Actuator Bias: The motor driver might have a small voltage offset, causing it to apply a non-zero torque even when the command is zero.

The image below shows a Simulink model of a pendulum where friction is explicitly modeled as a block acting on the joint. This is a perfect example of the kind of disturbance we're talking about.

Simulink Model of a Revolute Joint with Friction and Pendulum Body
This Simulink model shows a revolute joint with a 'Friction' block. This frictional force is a disturbance that acts on the system's dynamics, affecting the angular position and velocity.

2. Incorporating Disturbances into the State-Space Model

Let's start with our standard linear time-invariant (LTI) system:

A common and practical way to model a disturbance is as an unknown, constant signal added to the control input. This is known as an input disturbance. The model becomes:

Here, is a vector of constant, unknown disturbances. We can expand this to:

The term represents how the disturbance affects the system's states. This model assumes the disturbance enters the system through the same channels as our control input, which is often a reasonable assumption for effects like actuator offsets or forces that the actuators must directly oppose (like friction).


3. Modeling the Disturbance with State Augmentation

The challenge is that is unknown. How can we design a controller to reject something we don't know? The answer lies in a powerful technique: we will treat the disturbance as a new state variable and augment our system model.

This approach is detailed in the following document, which introduces the concept of an "exo-system"—an external system that generates the disturbance.

State feedback and Observer Feedback

This document from the University of Minnesota, titled 'State feedback and Observer Feedback', explains a formal method for modeling disturbances by augmenting the plant model.

Please read the first part of Section 4.10, titled 'Internal model principle in states space' (page 115). Focus on the subsection 'Method 1 Disturbance estimate'. Pay close attention to how a disturbance d(t) is modeled by an exo-system and how the plant model is then augmented.

Let's break down the key idea from the reading.

We assume the disturbance is generated by its own dynamic system. Since we are dealing with a constant disturbance, its dynamic equation is the simplest possible: its rate of change is zero.

This is our "exo-system" model for a constant disturbance. The initial condition, , is the unknown constant value of the disturbance.

Now, we combine the plant dynamics and the disturbance dynamics into one larger system. Our new, augmented state vector is:

Let's find the dynamics for this augmented state, :

We substitute the equations we know:

Now, we write this in the standard state-space form :

So, our augmented system matrices are:

By doing this, we have achieved something remarkable. We have transformed the problem of an unknown disturbance into a standard state-space representation. The unknown constant d is now just another state of our system. If we can estimate this state, we can use it in our control law to cancel out the disturbance's effect.

Connection to Integral Control

Does this augmented system look familiar? In the last lesson, we augmented our system to add integral action for reference tracking. The augmented matrix was . Both models involve adding a new state with zero dynamics (an integrator).

This is not a coincidence. The "Internal Model Principle," which the resource mentions, states that to reject a certain type of disturbance, the controller must contain a model of that disturbance's dynamics. For a constant disturbance (), the required model is an integrator ( in the Laplace domain).

This means the integral controller we designed in the previous lesson is precisely what we need to reject constant disturbances! By augmenting the system with the integral of the error, we are implicitly creating a mechanism that estimates and cancels the effect of a constant disturbance. We will explore this design in detail in the next lesson.

Test your understanding!

Let's use the DC motor model from our previous lessons. The system is single-input, single-output (SISO).

Assume there is a constant input disturbance, , affecting the system. Construct the augmented system matrices, and , that model this disturbed system. How many states does the augmented system have?

Show answer

The original system has 2 states (). The disturbance is a scalar since the system is single-input, so it adds 1 new state. The augmented system will have 3 states.

The augmented matrices are constructed as follows:

Plugging in the matrices for the DC motor:

You would use this 3x3 matrix and 3x1 matrix to design a controller that can reject the disturbance .


Conclusion

In this lesson, we established a formal method for incorporating constant disturbances into our state-space models. By treating the disturbance as an unmeasured state with zero dynamics, we can augment the system model and handle the problem within the familiar state-space framework.

Key Takeaways:

  • Disturbances are unwanted inputs that directly affect the system's dynamics.
  • A constant input disturbance can be modeled by adding a term d to the input: .
  • By modeling the disturbance itself as a state with the dynamic , we can create an augmented state-space system: .
  • This transforms the disturbance rejection problem into a regulator problem for the augmented system.
  • The structure of the augmented model for a constant disturbance requires an integrator, linking this topic directly to the integral controller we developed previously.

Preview of the Next Lesson:
Now that we have a model for the disturbed system, the next logical step is to design a controller to reject the disturbance. We will see how the integral-augmented controller from our previous lesson on reference tracking does exactly that, providing zero steady-state error even in the presence of constant disturbances. We will formally design and simulate such a controller.