# Discrete-Time Fractional, Variable-Order PID Controller for a Plant with Delay

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

## 2. Materials and Methods

**Definition**

**1.**

**Definition**

**2.**

#### A Digital Fractional-, Variable-Order PID Controller

- ${v}_{i1}$, ${v}_{d1}$ for the ratio ${\rho}_{k}>0.8$;
- ${v}_{i2}$, ${v}_{d2}$ for the ratio ${\rho}_{k}\in (0.6,0.8\rangle $;
- ${v}_{i3}$, ${v}_{d3}$ for the ratio ${\rho}_{k}\in (0.4,0.6\rangle $;
- ${v}_{i4}$, ${v}_{d4}$ for the ratio ${\rho}_{k}\in (0.2,0.4\rangle $;
- ${v}_{i5}$, ${v}_{d5}$ for the ratio ${\rho}_{k}\u2a7d0.2$.

- Finding parameters ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ of the first-order PID controller using some selected method (e.g., Ziegler–Nichols or any other tuning approach).
- Using Nelder–Mead optimisation to find new parameters ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ of first-order PID controller (as the starting point of the optimisation, ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ values calculated in step 1 should be used).
- Using Nelder–Mead optimisation to find fractional order PID (FOPID) controller parameters (as the starting point of the optimisation, ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ values calculated in step 2 should be used). In this case, besides ${K}_{p}$, ${K}_{i}$, ${K}_{d}$ parameters, the optimisation algorithm additionally searches for optimal constant order values ${v}_{i}$ (summation) and ${v}_{d}$ (difference).
- Using Nelder–Mead optimisation to find new parameters ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ and order values ${v}_{i1}-{v}_{i5}$, ${v}_{d1}-{v}_{d5}$ of variable, fractional-order PID controller (as the starting point of the optimisation, ${K}_{p}$, ${K}_{i}$, ${K}_{d}$, ${v}_{i}$, ${v}_{d}$ values calculated in step 3 should be used).

- Finding parameters ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ of the first-order PID controller using some selected method (e.g., Ziegler–Nichols or any other tuning approach).
- Using Nelder–Mead optimisation to find new parameters ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ of first-order PID controller (as the starting point of the optimisation, ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ values calculated in step 1 should be used).
- Using Nelder–Mead optimisation to find new parameters ${K}_{p}$, ${K}_{i}$, and ${K}_{d}$ and order values ${v}_{i1}-{v}_{i4}$, ${v}_{d1}-{v}_{d4}$ of variable, fractional-order PID controller (as the starting point of the optimisation, ${K}_{p}$, ${K}_{i}$, ${K}_{d}$ values calculated in step 2 should be used).

## 3. Results

#### 3.1. Simulation Results for Controllers with Unconstrained Control Signal Values

#### 3.2. Simulation Results for Controllers with Constrained Control Signal Values

#### 3.3. Computational Effort

## 4. Discussion

## 5. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Ziegler, J.G.; Nichols, N.B. Optimum settings for automatic controllers. Trans. ASME
**1942**, 64, 759–768. [Google Scholar] [CrossRef] - Shah, P.; Agashe, S. Review of fractional PID controller. Mechatronics
**2016**, 38, 29–41. [Google Scholar] [CrossRef] - Podlubny, I. Fractional-Order Systems and Fractional-Order Controllers; The Academy of Sciences Institute of Experimental Physics: Kosice, Slovakia, 1994. [Google Scholar]
- Chen, Y.Q. Ubiquitous fractional order controls? IFAC Proc. Vol.
**2006**, 39, 481–492. [Google Scholar] [CrossRef][Green Version] - Monje, C.A.; Chen, Y.; Vinagre, B.M.; Feliubatlle, V. Fractional-Order Systems and Controls: Fundamentals and Applications; Springer Science & Business Media: Berlin/Heidelberger, Germany, 2010. [Google Scholar]
- Petras, I. Tuning and implementation methods for fractional-order controllers. Fract. Calc. Appl. Anal.
**2012**, 15, 282–303. [Google Scholar] [CrossRef] - Debarma, S.; Saikia, L.C.; Sinha, N. Automatic generation control using two degree of freedom fractional order PID controller. Int. J. Electr. Power Energy Syst.
**2014**, 58, 120–129. [Google Scholar] [CrossRef] - Padula, F.; Visioli, A. Set-point weight tuning rules for fractional order PID controllers. Asian J. Control.
**2013**, 15, 678–690. [Google Scholar] [CrossRef] - Tepljakov, A.; Petlenkov, E.; Belikov, J. A flexible MATLAB tool for optimal fractional-order PID controller design subject to specifications. In Proceedings of the the 31st Chinese Control Conference, Hefei, China, 25–27 July 2012; pp. 4698–4703. [Google Scholar]
- Veloni, A.; Miridakis, N. Digital Control Systems; CRC Press: New York, NY, USA, 2018. [Google Scholar]
- Mozyrska, D.; Ostalczyk, P. Variable-fractional-order Grünwald-Letnikov backward difference selected properties. In Proceedings of the 39th International Conference on Telecommunications and Signal Processing, Vienna, Austria, 27–29 June 2016. [Google Scholar]
- Mozyrska, D.; Wyrwas, M. Systems with fractional variable-order difference operator of convolution type and its stability. Elektron. Elektrotech.
**2018**, 24, 69–73. [Google Scholar] [CrossRef][Green Version] - Mozyrska, D.; Ostalczyk, P. Generalized Fractional-Order Discrete-Time Integrator. Complexity
**2017**, 2017. [Google Scholar] [CrossRef][Green Version] - Oziablo, P.; Mozyrska, D.; Wyrwas, M. A digital PID controller based on Grunwald-Letnikov fractional-, variable-order operator. In Proceedings of the 24th International Conference on Methods and Models in Automation and Robotics (MMAR), Międzyzdroje, Poland, 26–29 August 2019. [Google Scholar]
- Sun, H.G.; Chang, A.; Zhang, Y.; Chen, W. A review on variable-order fractional differential equations: Mathematical foundations, physical models, numerical methods and applications. Fract. Calc. Appl. Anal.
**2019**, 22, 27–59. [Google Scholar] [CrossRef][Green Version] - Patnaik, S.; Hollkamp, J.P.; Semperlotti, F. Applications of variable-order fractional operators: A review. Proc. R. Soc. A
**2020**, 476, 2234. [Google Scholar] [CrossRef] [PubMed][Green Version] - Ortigueira, M.D.; Valerio, D.; Machado, J.T. Variable order fractional systems. Commun. Nonlinear Sci. Numer. Simul.
**2019**, 71, 231–243. [Google Scholar] [CrossRef] - Sierociuk, D.; Malesza, W.; Macias, M. On a new definition of fractional variable-order derivative. In Proceedings of the 14th International Carpathian Control Conference (ICCC), Rytro, Poland, 26–29 May 2013; pp. 340–345. [Google Scholar]
- Sierociuk, D.; Malesza, W. Fractional variable order anti-windup control strategy. Bull. Pol. Acad. Sci. Tech. Sci.
**2018**, 66, 427–432. [Google Scholar] - Ostalczyk, P. Stability analysis of a discrete-time system with a variable-, fractional-order controller. Bull. Pol. Acad. Sci. Tech. Sci.
**2010**, 58, 613–619. [Google Scholar] [CrossRef] - Kaczorek, T. Fractional positive linear systems. Kybernetes
**2009**, 38, 1059–1078. [Google Scholar] [CrossRef] - Ostalczyk, P. Discrete Fractional Calculus: Applications in Control and Image Processing; World Scientific Publishing Co Pte Ltd.: Singapore, 2016; Volume 4. [Google Scholar]
- Panagopoulos, H.; Åström, K.J.; Hägglund, T. Design of PID controllers based on constrained optimisation. IEE Proc. Control. Theory Appl.
**2002**, 149, 32–40. [Google Scholar] [CrossRef] - MathWorks. Available online: https://www.mathworks.com/products/matlab.html (accessed on 29 June 2020).
- Nelder, J.A.; Mead, R. A simplex method for function minimization. Comput. J.
**1965**, 7, 308–313. [Google Scholar]

**Figure 1.**Comparison of the results for SSE error minimisation—constant-order controllers, unconstrained control signal value (Table 2).

**Figure 2.**Comparison of the results for SSE error minimisation—fractional-order controllers, unconstrained control signal value (Table 2).

**Figure 3.**Control signal generated by controllers which minimise SSE error—unconstrained control signal value (Table 2).

**Figure 4.**Comparison of the results for SSTE error minimisation—constant-order controllers, unconstrained control signal value (Table 3).

**Figure 5.**Comparison of the results for SSTE error minimisation—fractional-order controllers, unconstrained control signal value (Table 3).

**Figure 6.**Control signal generated by controllers that minimise SSTE error—unconstrained control signal value (Table 3).

**Figure 7.**Comparison of the results for SST2E error minimisation—constant-order controllers, unconstrained control signal value (Table 4).

**Figure 8.**Comparison of the results for SST2E error minimisation—fractional-order controllers, unconstrained control signal value (Table 4).

**Figure 9.**Control signal generated by controllers which minimise SST2E error—unconstrained control signal value (Table 4).

**Figure 10.**Comparison of the results for SSE error minimisation—constant order controllers, constrained control signal value (Table 5).

**Figure 11.**Comparison of the results for SSE error minimisation—fractional order controllers, constrained control signal value (Table 5).

**Figure 12.**Control signal generated by controllers which minimise SSE error—constrained control signal value (Table 5).

**Figure 13.**Comparison of the results for SSTE error minimisation—constant-order controllers, constrained control signal value (Table 6).

**Figure 14.**Comparison of the results for SSTE error minimisation—fractional-order controllers, constrained control signal value (Table 6).

**Figure 15.**Control signal generated by controllers which minimise SSTE error—constrained control signal value (Table 6).

**Figure 16.**Comparison of the results for SST2E error minimisation—constant-order controllers, constrained control signal value (Table 7).

**Figure 17.**Comparison of the results for SST2E error minimisation—fractional-order controllers, constrained control signal value (Table 7).

**Figure 18.**Control signal generated by controllers which minimise SST2E error—constrained control signal value (Table 7).

SSE ^{1} | SSTE ^{2} | SST2E ^{3} | Rise Time | Overshoot | Control Min. | Control Max. |
---|---|---|---|---|---|---|

3.438234 $\times {10}^{2}$ | 9.559020 $\times {10}^{3}$ | 1.705381 $\times {10}^{6}$ | 4.1219 s | 22.6163 | 0.5619 | 48.8435 |

^{1}Integral squared error

^{2}Integral squared time weighted error

^{3}Integral squared time-squared weighted error.

Optimal PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

${K}_{p}$ | 0.637404 | 1.142785 | 1.333838 | 1.008945 |

${K}_{i}$ | 0.173603 | 0.121679 | 0.159479 | 0.182504 |

${K}_{d}$ | 1.777942 | 2.875904 | 3.184161 | 2.814701 |

${v}_{i1}$ | 1.000000 | 1.096174 | $-1.255358$ | 0.205089 |

${v}_{i2}$ | 1.000000 | 1.096174 | 1.329446 | 0.814011 |

${v}_{i3}$ | 1.000000 | 1.096174 | 1.016607 | 1.194610 |

${v}_{i4}$ | 1.000000 | 1.096174 | 2.359346 | 1.738563 |

${v}_{i5}$ | 1.000000 | 1.096174 | 1.039244 | 1.000000 |

${v}_{d1}$ | 1.000000 | 1.498183 | 1.508917 | 1.357796 |

${v}_{d2}$ | 1.000000 | 1.498183 | 1.054854 | $-0.203925$ |

${v}_{d3}$ | 1.000000 | 1.498183 | 2.468621 | 0.998131 |

${v}_{d4}$ | 1.000000 | 1.498183 | 0.974423 | 1.176751 |

${v}_{d5}$ | 1.000000 | 1.498183 | 1.010596 | 1.000000 |

Rise Time | 2.7540 s | 2.7461 s | 0.9507 s | 1.4970 s |

Overshoot | 17.1629 | 21.0487 | 5.1426 | 3.6411 |

SSTE | 3.069558 $\times {10}^{2}$ | 2.798207 $\times {10}^{2}$ | 2.693099 $\times {10}^{2}$ | 2.768806 $\times {10}^{2}$ |

Control Min. | 0.5882 | $-501.8611$ | $-597.4076$ | $-203.0352$ |

Control Max. | 89.5359 | 1.0108 $\times {10}^{3}$ | 1.1887 $\times {10}^{3}$ | 571.6405 |

Optimal PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

${K}_{p}$ | 0.626576 | 0.905323 | 0.984849 | 0.602993 |

${K}_{i}$ | 0.149453 | 0.144390 | 0.164533 | 0.160865 |

${K}_{d}$ | 1.253809 | 2.140174 | 2.416669 | 2.053849 |

${v}_{i1}$ | 1.000000 | 1.024119 | 0.129042 | 0.684564 |

${v}_{i2}$ | 1.000000 | 1.024119 | 1.048072 | $-0.177614$ |

${v}_{i3}$ | 1.000000 | 1.024119 | 0.985392 | 0.842508 |

${v}_{i4}$ | 1.000000 | 1.024119 | 1.009021 | 1.941464 |

${v}_{i5}$ | 1.000000 | 1.024119 | 1.003853 | 1.000000 |

${v}_{d1}$ | 1.000000 | 1.326989 | 1.268651 | 0.889926 |

${v}_{d2}$ | 1.000000 | 1.326989 | 1.947691 | 0.990233 |

${v}_{d3}$ | 1.000000 | 1.326989 | 2.148687 | 0.916384 |

${v}_{d4}$ | 1.000000 | 1.326989 | 1.232540 | 1.689788 |

${v}_{d5}$ | 1.000000 | 1.326989 | 1.083751 | 1.000000 |

Rise Time | 3.8204 s | 3.2553 s | 1.6809 s | 1.8856 s |

Overshoot | 9.8411 | 14.3733 | 3.5313 | 9.6220 |

SSTE | 4.917492 $\times {10}^{3}$ | 3.672276 $\times {10}^{3}$ | 3.056599 $\times {10}^{3}$ | 3.779749 $\times {10}^{3}$ |

Control Min. | 0.6326 | $-124.8473$ | $-91.7940$ | $-0.7087$ |

Control Max. | 63.3196 | 385.4887 | 346.7894 | 67.3750 |

Optimal PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

${K}_{p}$ | 0.576304 | 0.728516 | 0.733325 | 0.708525 |

${K}_{i}$ | 0.135226 | 0.142496 | 0.154479 | 0.150976 |

${K}_{d}$ | 0.933056 | 1.492910 | 1.929674 | 1.264259 |

${v}_{i1}$ | 1.000000 | 1.005405 | 0.411674 | $-0.306919$ |

${v}_{i2}$ | 1.000000 | 1.005405 | 0.681375 | 1.055421 |

${v}_{i3}$ | 1.000000 | 1.005405 | 1.423439 | 1.199411 |

${v}_{i4}$ | 1.000000 | 1.005405 | 1.005424 | 1.273247 |

${v}_{i5}$ | 1.000000 | 1.005405 | 1.003021 | 1.000000 |

${v}_{d1}$ | 1.000000 | 1.185370 | 1.025674 | 0.680862 |

${v}_{d2}$ | 1.000000 | 1.185370 | 2.117634 | 0.415573 |

${v}_{d3}$ | 1.000000 | 1.185370 | 1.521393 | 1.035127 |

${v}_{d4}$ | 1.000000 | 1.185370 | 1.425342 | 1.179871 |

${v}_{d5}$ | 1.000000 | 1.185370 | 1.062023 | 1.000000 |

Rise Time | 4.5937 s | 3.9967 s | 2.2262 s | 2.2649 s |

Overshoot | 3.7552 | 6.9269 | 2.0505 | 3.0619 |

SST2E | 2.140708 $\times {10}^{5}$ | 1.407958 $\times {10}^{5}$ | 8.475202 $\times {10}^{4}$ | 1.071856 $\times {10}^{5}$ |

Control Min. | 0.5817 | $-27.8483$ | $-1.9650$ | 0.2866 |

Control Max. | 47.2320 | 154.8977 | 107.4541 | 19.3490 |

Optimal PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

${K}_{p}$ | 0.654698 | 0.381153 | 0.417026 | 0.882641 |

${K}_{i}$ | 0.138119 | 0.237605 | 0.253014 | 0.172904 |

${K}_{d}$ | 0.963717 | 1.655254 | 1.894754 | 1.594753 |

${v}_{i1}$ | 1.000000 | 0.869949 | 0.257874 | $-0.520604$ |

${v}_{i2}$ | 1.000000 | 0.869949 | 0.837584 | 0.526714 |

${v}_{i3}$ | 1.000000 | 0.869949 | 1.335904 | 2.129147 |

${v}_{i4}$ | 1.000000 | 0.869949 | 1.242142 | 0.477752 |

${v}_{i5}$ | 1.000000 | 0.869949 | 0.877228 | 1.000000 |

${v}_{d1}$ | 1.000000 | 0.863119 | 0.823752 | 0.862873 |

${v}_{d2}$ | 1.000000 | 0.863119 | 0.938978 | 0.576656 |

${v}_{d3}$ | 1.000000 | 0.863119 | 0.727007 | 0.576989 |

${v}_{d4}$ | 1.000000 | 0.863119 | 1.134938 | 1.491228 |

${v}_{d5}$ | 1.000000 | 0.863119 | 0.281767 | 1.000000 |

Rise Time | 3.9919 s | 3.0231 s | 2.1032 s | 1.8657 s |

Overshoot | 11.0732 | 15.9887 | 5.9138 | 9.3329 |

SSE | 3.266260 $\times {10}^{2}$ | 3.119663 $\times {10}^{2}$ | 3.003019 $\times {10}^{2}$ | 2.994700 $\times {10}^{2}$ |

Control Min. | 0.6602 | 0.7358 | 0.0087 | 0.0346 |

Control Max. | 48.8435 | 48.8388 | 48.0527 | 48.8412 |

Optimal PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

${K}_{p}$ | 0.597129 | 0.574524 | 0.639936 | 0.899289 |

${K}_{i}$ | 0.137571 | 0.153988 | 0.157705 | 0.157568 |

${K}_{d}$ | 0.964873 | 1.153461 | 1.920653 | 1.519192 |

${v}_{i1}$ | 1.000000 | 0.981612 | 0.093985 | $-0.801974$ |

${v}_{i2}$ | 1.000000 | 0.981612 | 0.471846 | 0.651051 |

${v}_{i3}$ | 1.000000 | 0.981612 | 2.161123 | 1.718251 |

${v}_{i4}$ | 1.000000 | 0.981612 | 0.921158 | 1.271052 |

${v}_{i5}$ | 1.000000 | 0.981612 | 1.005050 | 1.000000 |

${v}_{d1}$ | 1.000000 | 0.954468 | 0.823224 | 0.862127 |

${v}_{d2}$ | 1.000000 | 0.954468 | 0.696274 | 1.116588 |

${v}_{d3}$ | 1.000000 | 0.954468 | 0.240237 | 1.398955 |

${v}_{d4}$ | 1.000000 | 0.954468 | 1.454721 | 1.250374 |

${v}_{d5}$ | 1.000000 | 0.954468 | 1.033150 | 1.000000 |

Rise Time | 4.3902 s | 3.9903 s | 1.8090 s | 1.9914 s |

Overshoot | 5.8941 | 8.6595 | 6.6260 | 4.9527 |

SSTE | 5.301965 $\times {10}^{3}$ | 5.058847 $\times {10}^{3}$ | 3.700782 $\times {10}^{3}$ | 3.754522 $\times {10}^{3}$ |

Control Min. | 0.6026 | 0.7589 | $-0.0899$ | 0.0635 |

Control Max. | 48.8434 | 48.8430 | 48.8425 | 48.8244 |

Optimal PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

${K}_{p}$ | 0.576299 | 0.574701 | 0.717493 | 0.580432 |

${K}_{i}$ | 0.135232 | 0.135173 | 0.147318 | 0.147948 |

${K}_{d}$ | 0.933059 | 0.932648 | 1.082939 | 1.271947 |

${v}_{i1}$ | 1.000000 | 0.998071 | 0.113885 | 0.165591 |

${v}_{i2}$ | 1.000000 | 0.998071 | 1.170532 | 1.327732 |

${v}_{i3}$ | 1.000000 | 0.998071 | 0.731435 | 0.638619 |

${v}_{i4}$ | 1.000000 | 0.998071 | 1.206933 | 1.320971 |

${v}_{i5}$ | 1.000000 | 0.998071 | 1.001298 | 1.000000 |

${v}_{d1}$ | 1.000000 | 1.008807 | 0.708666 | 0.652788 |

${v}_{d2}$ | 1.000000 | 1.008807 | 0.856360 | 1.989044 |

${v}_{d3}$ | 1.000000 | 1.008807 | 1.256436 | 1.216525 |

${v}_{d4}$ | 1.000000 | 1.008807 | 1.393318 | 0.268185 |

${v}_{d5}$ | 1.000000 | 1.008807 | 1.027671 | 1.000000 |

Rise Time | 4.5937 s | 4.6411 s | 2.5475 s | 2.4746 s |

Overshoot | 3.7552 | 3.2868 | 3.9346 | 2.2612 |

SST2E | 2.140708 $\times {10}^{5}$ | 2.070077 $\times {10}^{5}$ | 1.147133 $\times {10}^{5}$ | 1.119850 $\times {10}^{5}$ |

Control Min. | 0.5817 | 0.1554 | 0.4744 | 0.3686 |

Control Max. | 47.2320 | 48.8432 | 18.1338 | 17.0081 |

Opt. PID | FOPID | FVOPID-FO | FVOPID | |
---|---|---|---|---|

SSE | 63/118 | 196/334 | 949/1433 | 358/645 |

SSE–constrained | 69/130 | 214/392 | 380/719 | 687/1068 |

SSTE | 73/128 | 156/268 | 731/1171 | 286/569 |

SSTE–constrained | 84/150 | 223/387 | 932/1447 | 517/890 |

SST2E | 73/134 | 153/266 | 524/904 | 521/890 |

SST2E–constrained | 69/127 | 144/255 | 604/1025 | 447/773 |

Average | 72/131 | 181/317 | 687/1117 | 469/809 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Oziablo, P.; Mozyrska, D.; Wyrwas, M. Discrete-Time Fractional, Variable-Order PID Controller for a Plant with Delay. *Entropy* **2020**, *22*, 771.
https://doi.org/10.3390/e22070771

**AMA Style**

Oziablo P, Mozyrska D, Wyrwas M. Discrete-Time Fractional, Variable-Order PID Controller for a Plant with Delay. *Entropy*. 2020; 22(7):771.
https://doi.org/10.3390/e22070771

**Chicago/Turabian Style**

Oziablo, Piotr, Dorota Mozyrska, and Małgorzata Wyrwas. 2020. "Discrete-Time Fractional, Variable-Order PID Controller for a Plant with Delay" *Entropy* 22, no. 7: 771.
https://doi.org/10.3390/e22070771