Press "Enter" to skip to content

DO-DAT: A MATLAB Toolbox for Design & Analysis of Disturbance Observer

  • Published in: 9th IFAC Symposium on Robust Control Design (ROCOND) 2018
  • Authors: Hamin Chang, Hyuntae Kim, Gyunghoon Park, Hyungbo Shim
  • Abstract: Although the disturbance observer (DOB)-based controller has been extensively applied and various theoretical results on the DOB have been presented, the exclusive, user-friendly, and unified tool for the computer-aided design of DOB has not been developed yet. In this paper, the MATLAB toolbox DO-DAT (Disturbance Observer – Design & Analysis Toolbox) is introduced. Particularly, we explain the way of using the toolbox and present the applications of main functions in terms of the stabilization of the system and the time-domain performance analysis.


Disturbance Observer we are interested in

A basic configuration of the closed-loop system controlled by conventional DOB(Disturbance OBserver) which has been one of the main research topics in CDSL is depicted in Figure 1.

Figure 1

It is well-known that as long as the external inputs \(r\)(reference signal) and \(d\) (disturbance signal) dominantly belong to a low-frequency range, the DOB controlled system in Figure 1 with a large bandwidth of the Q-filter approximates the (disturbance-free) nominal closed-loop system in Figure 2, and thus the output \(y\) behaves like the nominal one \(y_n\) in a sense. This is often called nominal performance recovery, which is one of the key features of the DOB scheme. To achieve the nominal performance recovery and stability of the closed-loop system at once, CDSL has concentrated on how to design Q-filter.

Figure 2

There is a necessary and sufficient condition for robust stability under sufficiently large bandwidth of the Q-filter though [Shim, H., & Jo, N. H. “An almost necessary and sufficient condition for robust stability of closed-loop systems with disturbance observer.” Automatica, 2009], the specific structure and minimum bandwidth of the Q-filter required for desired nominal performance recovery and robust stability were not explicitly computed. This kind of difficulty restricts the usage of the theory-based DOB designs.

What is this paper mainly about?

Therefore, we developed a MATLAB toolbox named Disturbance Observer – Design & Analysis Toolbox (simply, DO-DAT). The main purpose of DO-DAT is to fill the gap between theories and applications of the DOB, and to provide an easy-to-use solution to users in various fields who are trying to employ the DOB scheme in their own problems. DO-DAT can design the Q-filter which satisfies robust stability and enables desired nominal performance recovery.

On the other hand, DO-DAT is developed to have a Graphic User Interface (GUI) in Figure 3.

Figure 3

At first, DO-DAT suggests proper \(a_i\) and \(c_j\) of \(Q(s;\tau)\) with which the tau that stabilizes the closed-loop system exists. It is based on the theory in [Shim, H., & Jo, N. H. “An almost necessary and sufficient condition for robust stability of closed-loop systems with disturbance observer.” Automatica, 2009]

Secondly, DO-DAT finds a range of \(\tau\), \(0\) to \(tau^*\) corresponding to the previously suggested \(a_i\) and \(c_j\) of the Q-filter. Any \(\tau\) which belongs to the range stabilizes the closed-loop system.

Finally, DO-DAT picks a size of \(\tau\) in the suggested interval to find a practical value. This value of \(\tau\) enables the nominal performance recovery to satisfy the specific condition. At this moment, DO-DAT supports two options of the condition. The maximum value of error or the RMS value of the error, for a simulation time, bounded above by a \(\epsilon\).

Application: a practical example


$$r(t) = {1}(t),$$(Heaviside step function)

$$d(t) = 0.002\sin t,$$

$$C(s) = \frac{0.00189(s+0.1)}{s},$$

$$P_n(s) = \frac{520s+10.3844}{s^3+2.6817s^2+0.11s+0.0126},$$

$$P(s) = \frac{\beta_1 s + \beta_0}{\alpha_3 s^3 + \alpha_2 s^2 + \alpha_1 s + \alpha_0},$$ where


$$0.05\leq\alpha_1\leq0.15, 2\leq\alpha_2\leq3, \alpha_3 = 1,$$



This is an example from the reference [Craig, I. K., Xia, X., & Venter, J. W. “Introducing HIV/AIDS education into the electrical engineering curriculum at the University of Pretoria.” IEEE Transactions on Education, 2004]. The system we are dealing with is the HIV virus control system.

After putting in all corresponding parameters, DO-DAT suggests the structure of the Q-filter and the recommended value of \(\tau\) which stabilize the closed-loop system as in Figure 4.

Figure 4

Then, DO-DAT picks a size of \(\tau\) that will successfully restrict our maximum value of error to a \(\epsilon\) by \(0.1\) as in the following Figure 5.

Figure 5

As a result, we can accept the following two results of DO-DAT to design the Q-tiler that achieves robust stability of the closed-loop system.

We can also accept the following value of tau to achieve desired nominal performance recovery as well.

Now, let’s go deeper into details to verify the result of DO-DAT. The simulation result of \(y\) and \(y_n\), for the system under the following parameters, designed by DO-DAT, is given in Figure 6.

Figure 6

First, roots of the characteristic polynomial for a hundred randomly chosen real plants are given in Figure 7. We can see that the roots of the characteristic polynomial are strictly on the left half plane for all real plants. Therefore, the robust stability for all plant uncertainty is achieved.

Figure 7

Next, the graph in Figure 8 shows the value of error during the simulation. For arbitrarily chosen five real plants \(P(s)\), we can observe that the maximum value of error during the simulation is bounded to the presumed condition \(0.1\) robustly. Therefore, we can utilize this value of \(\tau\) for actual implementation.

Figure 8


Concluding remark

You can download DO-DAT in The detailed instruction manual of DO-DAT can be found on the toolbox’s HELP or the paper which will be published soon.

Comments are closed.