# Tutorial: Fractional-order PID Controller Design for a System with Input-output Delay

In this tutorial, we shall illustrate the use of the FOMCON toolbox in connection with the problem of designing a controller for a system with a significant input-output delay. For this purpose, a fractional-order first-order plus dead time (FO FOPDT) system is considered. We treat the continuous-time case.

## 1  Control design goal

Consider a system, that exhibits fractional-order dynamics, as well as a comparatively significant input-output delay, and is accurately described by a fractional-order transfer function

$$G(s) = \frac{6.902}{2.686s^{0.73}+1}\mathrm{e}^{-2.9s}. \tag{1}$$

We assume, that the actuator of this system saturates at $u=\pm 1$. Suppose also that the "ideal" transfer function (1) is not known. However, experimental data from a step experiment is available:

In what follows, we use the tools available in the FOMCON toolbox to identify the system and design a suitable controller by means of constrained optimization.

## 2  System identification

Our first task is to identify the system from the experimental dataset shown in Fig. 1. To identify the system, we may use the fractional-order transfer function time-domain identification tool (fotfid).

Figure 2. Fractional-order transfer function time-domain identification tool graphical user interface

From observation of the registered transient response, we can conclude, that the system may be described by a first-order model with the static gain being close to $7$. Additionally, an input-output delay is observed and is close to $3$ seconds. Thus, our initial guess model is

\begin{equation*} G(s)=\frac{7}{s+1}\mathrm{e}^{-3s} \end{equation*}

and may be entered into the tool text fields as shown in Fig. 2. With this initial model, the system is identified in several iterations, and after a simple transformation1 using the normalize() command the system becomes

$$\tilde{G}(s)=\frac{6.914}{2.5027s^{0.71187}+1}\mathrm{e}^{-3s}. \tag{2}$$

In the next section we shall use this model to obtain a fractional-order PID controller for the plant in (1).

## 3  Controller design

The first step in controller design is choosing a suitable controller structure. In this case, we are concerned with the design of a fractional-order PID controller. However, the plant to be controlled exhibits a significant input-output delay. Therefore, we consider using a Smith predictor [1]. The basic structure of the predictor is given in the next figure.

Figure 3. Basic structure of a Smith predictor in a control loop

The design of the controller $C(s)$ is carried out in two steps. First we formulate an integer-order PID controller, and then optimize the parameters of the obtained controller, including the orders of the integrator and differentiator, finally arriving at a fractional-order PID controller working in a Smith predictor based control scheme. Note, that we use the parallel form of the PID controller.

### 3.1  Conventional PID controller tuning

We now describe the procedure for tuning a classical, integer-order PID controller for a fractional-order plant in FOMCON. We can use the iopid_tune graphical tool to first approximate the fractional-order model by a conventional FOPDT model, and then apply classical tuning formulae to get the PID controller parameters.

Suppose, that the identified plant has a workspace name of Gp. Then, we can use the integer-order PID tuning tool and fill the data field of the Fractional plant model box as shown in the following figure.

Figure 4. Integer-order PID tuning tool graphical interface

The fractional-order model is thence identified:

$$G(s)=\frac{6.70913}{6.53847s+1}\mathrm{e}^{-1.57628s}. \tag{3}$$

The result of the approximation is illustrated on the following figure.

Figure 5. Classical FOPDT model approximation of the fractional-order model

Now we use the Ziegler-Nichols tuning formula to obtain PID controller parameters:

$$K_p=0.741921,K_i=0.235339,K_d=0.584738. \tag{4}$$

We shall use these parameters as the point of departure for our fractional PID controller design.

### 3.2  Fractional-order PID controller optimization

The design is carried out using the fpid_optim tool. Since a custom controller structure is used, we shall use Simulink for evaluating the characteristics of the transient response of our system. We set the parameters of the optimization as shown in Fig. 6.

Figure 6. FPID optimization tool graphical interface

You may notice, that we use an LTI system Gp1 instead of the aforementioned Gp, which is exactly the same system with the delay term removed, since it is compensated for by the predictor.

Now we need to build the Simulink model. We start by creating a new model fpid_optimize_Gp.mdl, which is a copy of the default model, and then clicking the Edit button. The model should open in a Simulink editor window as shown in the next figure.

Our task now is to modify this model and to add the predictor in Fig. 3. The identified model is added as part of the predictor, while the original, "ideal" model is added as the plant replacing the block in the inital model. With this setup it is also possible to evaluate the impact of the difference of the reference and original model on the control system. The resulting model is shown in Fig. 8.

We can now proceed to optimize the controller. After 100 iterations, the following controller is obtained:

$$C(s) = 2.0717 + \frac{0.10262}{s^{0.94962}} + 0.47143s^{0.89562}. \tag{5}$$

The results2 of the optimization are presented in Fig. 9. A clear improvement of the control system performance can be observed.

Figure 9. Fractional-order PID controller optimization results

## Conclusions

In this tutorial, we have illustrated the application of the FOMCON toolbox to the problem of designing a fractional-order controller for a process, exhibiting both fractional-order dynamics and a significant delay. The obtained results are considered satisfactory. However, in case of a real system the described procedure may need corrections, depending on particular performance specifications.

## References

 [1] N. Abe and K. Yamanaka, “Smith predictor control and internal model control – a tutorial,” in SICE 2003 Annual Conference, vol. 2, 2003, pp. 1383–1387.

• 1 This transformation is not strictly necessary
• 2 Your results may be slightly different

1. Pritesh
Posted June 26, 2013 at 14:51 | Permalink

Hi ALEKSEI,

I am trying to repeat this exercise. Up to point 2, I don’t have any issue.

Could you please share figure 8 model with needed LTI model?

I want to learn FPID for Input/Output System.

Thanking You,

• Posted June 27, 2013 at 13:07 | Permalink

Hi Pritesh,

Sorry; the model supplied in the figure description was the one without the predictor implementation. I have corrected that now.

• Pritesh
Posted June 28, 2013 at 06:21 | Permalink

Hi ALEKSEI,
In model given by you, there is block called Fractional PID Controller.
Inside that block, it is FPID LTI. In that there is LTI function fpid_optimize_fpid.
How should I create the same? Is it Fractional Transfer function of FPID?
I have created ft type of Fractional Controller. Error: The “LTI system variable” parameter of the LTI block must be set to a valid LTI model
Once again Thanks

• Posted June 28, 2013 at 07:29 | Permalink

This model should be used with the FPID Optimization tool (Figure 6). You may set the model in the Simulation parameters options box. The model must be present in the current workspace. Otherwise, if you just want to simulate the transient response, you may replace the controller and the plant with those described in the tutorial using blocks from the FOMCON Simulink library.

• Pritesh Shah
Posted June 29, 2013 at 10:40 | Permalink

Hi ALEKSEI,
I agree with your comment. FPID Optimization tool will give me fotf type of object. But in simulation, Fractional PID Controller block needs LTI Block.
How should I get LTI block from FPID Optimization tool ?

• Posted June 29, 2013 at 23:20 | Permalink

You may use the fractional PID contorller block from the FOMCON Simulink library.

2. vamsi krishna
Posted February 19, 2014 at 21:01 | Permalink

sir,after several iteration for initial guess model we are doing the normalize for fractional order transfer function ,but here it is showing same initial model????????.can u help me please.,.,.,.,.

• Posted February 20, 2014 at 10:35 | Permalink

Please provide a screenshot depicting this situation.

3. anitha
Posted May 31, 2014 at 07:45 | Permalink

sir,
wht is the function to open fomcon Simulink library…

4. Sandip
Posted June 3, 2014 at 06:18 | Permalink

Hi Aleksei,
In this tutorial why we use saturation block ? what is function of this block in this model ?

Thanking You

• Posted June 3, 2014 at 07:41 | Permalink

The block models actuator saturation. This is a purely physical phenomenon caused by limitations of what the actuator can actually produce (for example, a pump with max. displacement capacity of 100L/min cannot pump 200L/min).

5. manohar
Posted June 6, 2014 at 05:35 | Permalink

sir,
Can this tool be used for an integer order plant transfer function..should the plant transfer function changed into an fractional order ..or else is there any way to change it from the toolbox.please suggest..
Thanking you

• Posted June 6, 2014 at 12:11 | Permalink

Yes, the tool supports conventional (i.e. integer-order systems) as well. You can also convert tf objects into fotf objects, since the former is technically a subclass of the latter.

6. manohar
Posted June 9, 2014 at 08:33 | Permalink

sir,
can you just give me an example of using this toolkit with an integer order plant transfer function…I will be very thankful as I tried a lot…
thanking you

Posted June 23, 2014 at 15:48 | Permalink

i dont have fopid matlab block.what can i do?

• Posted July 8, 2014 at 19:00 | Permalink

I do not understand what the problem is.

8. priyanka
Posted August 7, 2014 at 09:53 | Permalink

Sir,
how would i get the FOMCON simulink library? Is it present in MATLAB software or we have access it seperately? Please help me ?

• Posted August 8, 2014 at 12:15 | Permalink

It is included with the toolbox distribution which you can obtain from this website.

9. Priyanka
Posted August 13, 2014 at 10:15 | Permalink

I download the FOMCON toolbox and follow the path as you suggest on your site to add toolbox in MATLAB, but i could not open the toolbox in MATLAB. what should i do?

• Posted August 14, 2014 at 10:09 | Permalink

Could you elaborate? What exactly does “could not open the toolbox in MATLAB” mean?

10. suresh kumar
Posted August 19, 2014 at 16:34 | Permalink

how to apply astrom hagguland method tofind kd value at particular phasemargin where as kp,ki fromknown zigler nicholas method and how to tune fractional order pid fromthese two methods because i am doing a project on tuning and analysis of fractional order pid please reply as early as possible

11. Moupali Chakraborty
Posted August 20, 2014 at 19:55 | Permalink

Hi sir,
I have downloaded this toolbox.This is an awesome toolbox.It gives wonderful control response of the plant.Thank you very much.

12. Posted August 27, 2014 at 08:22 | Permalink

how to find lamda and mu

• Posted August 27, 2014 at 10:32 | Permalink

In this case they are obtained by means of optimization.