Tutorial_ Fractional-order PID Controller Design for a System with Input-output Delay
Tutorial_ Fractional-order PID Controller Design for a System with Input-output Delay
Blog A-Lab Fractional Calculus Toolbox Documentation Bug Tracker Publications Forums Links About
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 Login/register
Log in
purpose, a fractional-order first-order plus dead time (FO FOPDT) system is considered. We
treat the continuous-time case.
Supported by
Table of Contents
2 System identification
Conclusions
paper proceedings
release support teaching
lb
toolbox tracker tsp tuning
update
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
7
−3s
G(s) = e
s + 1
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
6.914 −3s
˜
G(s) = e . (2)
0.71187
2.5027s + 1
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.
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.
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
6.70913 −1.57628s
G(s) = e . (3)
6.53847s + 1
Now we use the Ziegler-Nichols tuning formula to obtain PID controller parameters:
We shall use these parameters as the point of departure for our fractional PID controller
design.
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.
Figure 8. Fractional Smith predictor control system (download model for R2010a)
We can now proceed to optimize the controller. After 100 iterations, the following controller
is obtained:
0.10262
0.89562
C(s) = 2.0717 + + 0.47143s . (5)
0.94962
s
The results2 of the optimization are presented in Fig. 9. A clear improvement of the control
system performance can be observed.
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
This entry was posted in Tutorials and tagged approximation, delay, docs, documentation, fomcon, fractional pid,
input-output delay, optimization, tuning. Bookmark the permalink. Trackbacks are closed, but you can post a
comment.
« Forums now available Paper to be presented at ACC’2013 conference »
44 Comments
Hi ALEKSEI,
Could you please share figure 8 model with needed LTI model?
Thanking You,
Log in to reply.
Hi Pritesh,
Sorry; the model supplied in the figure description was the one without the predictor
implementation. I have corrected that now.
Log in to reply.
Hi ALEKSEI,
Thanks for your kind reply.
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
Please advice me…..
Once again Thanks
Log in to reply.
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.
Log in to reply.
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 ?