November 23, 2024

Introduction to Disturbance Observers and Controllers Based Disturbance Observers


In this control theory and control engineering tutorial, we provide a brief introduction to disturbance observers and controllers that are based on disturbance observers. The field of disturbance observers is well-developed and it is challenging and time-consuming to explain all the caveats of disturbance observers. Instead, in this tutorial, we provide an intuitive explanation of disturbance observers that can serve as a starting point for a deeper study of disturbance observers. In the YouTube tutorials we explain how to implement disturbance observers in MATLAB and Simulink. The YouTube tutorials are given below.

What are Disturbances in Control Engineering?

There are a large number of disturbances that can affect the dynamics of the system. Consequently, there are different classifications of disturbances. In this tutorial, we focus on the input disturbances in the context of presenting the main ideas of the disturbance observers. That is, we focus on the disturbances that affect the plant dynamics through the input signals. We also have disturbances that do not affect inputs and outputs, but instead, that affect some other signal in a control system.

Let us first define external input disturbances.

Definition of external input disturbances: External input disturbances are external inputs that affect the dynamics of the system (plant dynamics) and that are not computed by the control algorithm. We are not able to actively control external input disturbances. The external input disturbances are usually not known or we only have limited knowledge about certain aspects of external input disturbances. That is, external input disturbances are inputs that are not control inputs.

Let us now give a practical example of the external input disturbances. Consider a mass-spring-damper system shown below.

Figure 1: Mass-spring damper system.

In this figure, k_{v} and k_{d} are spring and damping constants, F(t) is the control force (control input) calculated by the controller, y is the displacement of the mass from its equilibrium point, and D(t) is the disturbance force (external input disturbance) that acts on the system dynamics. F(t) and D(t) are functions of time t. The disturbance D(t) has a unit of force and it can originate from a number of external sources. D(t) can be a stochastic force acting on the plant dynamics or can be a deterministic force. In addition, D(t) can be a combination of stochastic and deterministic components, such a harmonic (periodic) force perturbed by a random signal.

Here, the goal can be to control the displacement y, despite the effect of the external input disturbances D(t). That is, the goal is to control the position of the mass despite the effect of external disturbance forces.

Next, we provide an explanation and definition of internal input disturbances. For that purpose, let us write a model of the mass-spring-damper system. From Newton’s second law, we obtain an ordinary differential equation describing the dynamics of the system:

(1)   \begin{align*}m\ddot{y}+k_{d}\dot{y}+k_{s}\dot{y}=F(t)-D(t)\end{align*}

where \dot{y} and \ddot{y} are the first and second time derivatives of the displacement y. Let us now assume that a modeler and a control designer think that the model of the system looks like this:

(2)   \begin{align*}m\ddot{y}+k_{s}\dot{y}=F(t)-D(t)\end{align*}

That is, the system modeler and control designer think that the damping is not affecting the system. That is why they have omitted the damping in their model given by equation (2). However, in reality, the damping is affecting the model. After some model validation steps in which they have compared the model with the experimental data, they came to the conclusion that something was missing in their model. To overcome this fact, they have included the damping term as an input disturbance. Namely, from (1), we have

(3)   \begin{align*}m\ddot{y}+k_{s}\dot{y}=F(t)-D(t)-k_{d}\dot{y}\end{align*}

The last equation, can be written like this:

(4)   \begin{align*}& m\ddot{y}+k_{s}\dot{y}=F(t)-\bar{D}(t)-D(t),\\\bar{D}(t)=-k_{d}\dot{y}\end{align*}

where \bar{D}(t) is the internal input disturbance. Note that this input disturbance is actually dependent on the control signal. This is because the term \bar{D}(t)=-k_{d}\dot{y} depends on the first derivative of the displacement, and displacement is controlled by the force F that is determined by the control disturbance. This form of input disturbance comes from the lack of knowledge of the model structure. Model structure is the mathematical form of the model that includes all the terms, derivatives, and constants.

However, there are also internal input disturbances that originate from the lack of knowledge of model parameters. To explain this, consider this scenario. Let us assume that our modelers and control engineers only know the nominal values of the model parameters. That is, let us assume the following

(5)   \begin{align*}m& = \bar{m}+\Delta m \\k_{s}&=\bar{k}_{s}+\Delta k_{s} \\k_{d}&=\bar{k}_{d}+\Delta k_{d}\end{align*}

where

  • m, k_{s}, and k_{d} are the exact values of the model parameters that match the physical reality perfectly. These values are called true model parameters
  • \bar{m}, \bar{k}_{s}, and \bar{k}_{d} are the values of the model parameters that are used by the modeler and control designer. These parameters are usually called nominal parameters.
  • \Delta m, \Delta k_{s}, and \Delta k_{d} are model uncertainties. That is, these variables represent a mismatch between the true and nominal model parameters.

By substituting (5) in (1), we obtain

(6)   \begin{align*}(\bar{m}+\Delta m )\ddot{y}+(\bar{k}_{d}+\Delta k_{d})\dot{y}+(\bar{k}_{s}+\Delta k_{s} )\dot{y}=F(t)-D(t)\end{align*}

After rearranging the last equation, we obtain

(7)   \begin{align*}\bar{m}\ddot{y}+\bar{k}_{d}\dot{y}+\bar{k}_{s}y=F(t)-D(t)-\Delta m \ddot{y}-\Delta k_{d}\dot{y}-\Delta k_{s}y\end{align*}

Next, we can define the internal input disturbance \bar{D}

(8)   \begin{align*}\bar{D}(t)=\Delta m \ddot{y}+\Delta k_{d}\dot{y}+\Delta k_{s}y\end{align*}

Consequently, our dynamics can be written in the compact nominal form

(9)   \begin{align*}\bar{m}\ddot{y}+\bar{k}_{d}\dot{y}+\bar{k}_{s}y=F(t)-D(t)-\bar{D}(t)\end{align*}

The system modeler and control engineer can now work with the nominal model parameters \bar{m}, \bar{k}_{d}, and \bar{k}_{s} and they can consider the model uncertainties as disturbances. This is a very important technique in control engineering that is the basis of robust and data-driven control approaches.

Consequently, from the previous example, we can conclude that internal input disturbances can also originate from the lack of knowledge of the values of system parameters and not only the lack of knowledge of the system structure.

Definition of the internal input disturbances: the internal input disturbances are inputs that affect the nominal plant dynamics and that take into account our lack of knowledge of the numerical values of the model parameters and the lack of knowledge of the model structure.

Disturbance Observers – Basic Idea

The main motivation for introducing disturbance observers: Consider the control structure shown in the figure below.

In the figure above:

  • Y(s), D(s), and F(s) are Laplace transforms of the system output (displacement) y(t), input disturbance D(t), and control input force F(t), respectively.
  • P(s) is the transfer function of the system model (plant).
  • C(s) is the transfer function of the control algorithm.
  • R(s) is the Laplace transform of the reference signal r(t).
  • E(s)=R(s)-Y(s) is the control error.

Let us assume that the controller C(s) is a PID controller, that the plant is a second-order stable system, and that the disturbance is a constant signal. Then, due to the integral term, the PID controller will be able to suppress the constant disturbance. However, let us now assume that the disturbance is a sinusoidal signal. The PID controller cannot achieve a complete rejection and attenuation of these disturbances. This motivates us to introduce a disturbance observer.