<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Edge Computing Workshop, April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Algorithm for optimizing a PID controller model based on a digital filter using a genetic algorithm</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ruslan V. Petrosian</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ihor A. Pilkevych</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arsen R. Petrosian</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Korolyov Zhytomyr Military Institute</institution>
          ,
          <addr-line>22 Myru Ave., Zhytomyr, 10004</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Zhytomyr Polytechnic State University</institution>
          ,
          <addr-line>103 Chudnivsyka Str., Zhytomyr, 10005</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>7</volume>
      <issue>2023</issue>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The widespread use of digital signal processing distinguishes the current stage of development of science and technology. However, there are many developments for continuous signal processing. Such developments include methods for tuning the PID controller, so improving the digital PID controller model remains relevant. The problem of constructing a model of a digital PID controller, which can be used in robotic systems based on microcontrollers and programmable logic integrated circuits, is considered. It is proposed to use digital filtering methods as the basis for the regulator. The digital filter coeficients are calculated using a genetic algorithm. This approach makes it possible to improve the accuracy of the model, to ensure the calculation of the PID controller coeficients using classical methods for an analog PID controller. The software has been developed in the Python programming language that implements the proposed method. The modeling demonstrated the efectiveness of the developed model.</p>
      </abstract>
      <kwd-group>
        <kwd>digital filter</kwd>
        <kwd>PID controller</kwd>
        <kwd>genetic algorithm</kwd>
        <kwd>model optimization algorithm</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The problem of efective control of technological processes, robotic systems, aircraft and other
technical means remains relevant for many industries. For this purpose, regulators are used in
many areas of science and technology. The most popular is the PID controller [1].</p>
      <p>In recent years, the role and importance of computer technology in the life of modern society
has increased dramatically and continues to grow, therefore, modern technical means are mostly
implemented on the basis of microprocessors and microcontrollers, and many problem solutions
are adapted to work in digital devices [2]. The PID controller did not escape its fate either [3].</p>
      <p>Controller tuning can be done in several ways, including obtaining controller parameters in
analytical form [1, 4, 5]. However, most of these methods are designed for analog PID control
and are not suitable for digital because its model does not exactly match the PID controller, and,
accordingly, the optimization of the digital PID controller model is relevant.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Theoretical background</title>
      <p>In general, the control system for any object has the form shown in figure 1.
where , ,  – proportional factor, constant of integration and constant of derivation of
the controller, respectively.</p>
      <p>
        In some cases, the following expression is used (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ):
 () =  () + 
∫︁ 
0
      </p>
      <p>()
() +   ,
where , ,  – PID controller coeficients.</p>
      <p>Thus, the PID controller includes three components: proportional, integral and diferential.
The proportional component generates a control signal counteracting the deviation (mismatch)
of the output signal from the set value. The greater the mismatch, the greater the impact on the
control object. If the output signal is equal to the set value, then the error signal is zero, and
therefore the control action of the proportional component is zero. The integrator is used to
eliminate the static error. The diferentiating component takes into account the rate of change
of the output signal, which allows you to get better control of the object by predicting the
output value of the signal [1, 3].</p>
      <p>
        There are several groups for assessing the quality indicators of object management: direct,
root, frequency, integral. In practice, direct quality indicators have found the greatest application.
This is due to the fact that direct indicators of the quality of object management are determined
directly by the transient characteristic [1]. The following quality indicators can be distinguished:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
• steady-state output value;
• static error;
• regulation time;
• overshoot;
• attenuation rate;
• etc.
      </p>
      <p>The choice of control quality indicators depends on the task in which the PID controller is
used.</p>
      <p>To ensure the required performance of regulation, it is necessary to calculate the coeficients
of the PID controller.</p>
      <p>There are many methods for calculating quality indicators. One of the first methods for
calculating the parameters of PID controllers was proposed by Ziegler and Nichols [6]. This
technique does not give very good results, but it is very simple, therefore it is still often used in
practice. After calculating the parameters of the regulator, manual adjustment is required to
improve the quality of regulation.</p>
      <p>In work of Sablina and Markova [4], other methods for calculating the parameters of PID
controllers are also considered, namely: Chien-Hrones-Reswick, Kuhn. Relay methods are also
widely used [5, 7].</p>
      <p>If the methods considered were developed relatively long ago, then the methods below are
quite recent.</p>
      <p>In [8, 9], methods for optimizing the parameters of a PID controller using a genetic algorithm
are considered. In these works, the choice is analyzed: fitness functions, the main operators of
the genetic algorithm, quality indicators.</p>
      <p>The possibility of using neural networks to optimize the PID controller coeficients was
considered by Kadu and Patil [10]. The main focus of the article is on the analysis of the stability
of such systems.</p>
      <p>Many works are related to the determination of the optimal parameters of the PID controller
for specific control objects [9, 10, 11, 12].</p>
      <p>A large number of works are linked to the development of the digital PID [13, 14, 15, 16, 17,
18, 19]. However, in fact, all the articles cited can be divided into two groups.</p>
      <p>
        The first group of works [15, 16, 17, 18] is based on expression (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) given in [13]:
where  – sampling period,  = ,  = /.
      </p>
      <p>
        Expression (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) is often written in a recurrent form to reduce computational costs (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ):
 () =  ( − 1) +  ( () −  ( − 1)) +  () +
      </p>
      <p>+ ( () − 2 ( − 1) +  ( − 2)) .</p>
      <p>
        The second group of works [3, 14, 19] is based on the expression (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ):
      </p>
      <p>() =  ( − 1) + 1 () + 2 ( − 1) + 3 ( − 2) ,
where 1 =  +  + , 2 = −  − 2, 3 = .</p>
      <p>
        The analysis showed that expressions (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) are practically identical (the control signal
() depends on the last three readings of the error signal). The main diference between
them is that expression (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) allows you to determine the coeficients of a digital PID controller
based on an analog prototype. For expression (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), the coeficients 1, 2, 3 must be selected
when manually adjusting the control system. It may seem that these coeficients depend on the
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
controller coeficients , , , so they can be calculated, but this is not the case. This is
easy to see if you pay attention to the fact that these coeficients 1, 2, 3 do not take into
account the sampling rate.
      </p>
      <p>
        Taking into account the above, it follows that digital and analog PID controllers are not
considered as diferent entities, therefore, methods for calculating the controller coeficients are
considered regardless of whether it is digital or analog. However, as the analysis has shown,
there are at least two implementations of a digital PID controller, so the calculation methods
must take into account the structure of the controller. In addition, as will be shown later, the
digital controller (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) is not a complete analogue of the classic analog PID controller. Thus, the
problem of the algorithm for optimizing the digital PID controller is relevant.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Results and discussion</title>
      <p>This section will discuss the implementation of a digital PID controller. The controller will be
based on a digital filter [ 20]. The method for calculating the filter coeficients will be performed
using a genetic algorithm [21, 22].</p>
      <sec id="sec-3-1">
        <title>3.1. Digital filter</title>
        <p>Digital signal processing is used wherever it is necessary to perform tasks such as filtering,
compressing, recovering, controlling, measuring a signal: audio, video, or any signal coming
from any source [23].</p>
        <p>Filtering is the most common digital processing task, which is implemented using digital
iflters: filters with a finite impulse response (FIR filters); filters with infinite impulse response
(IIR filters). In general, a digital filter is understood as a hardware or software implementation
of a mathematical algorithm, the input of which is a digital signal, and the output is another
digital signal modified by the filter.</p>
        <p>The main operations of information filtering include: noise suppression, smoothing,
prediction, diferentiation, signal separation, etc.</p>
        <p>The main advantages of digital filters over analog filters:
• may have parameters that are impossible to implement in analog filters, for example,
linear phase response;
• do not require calibration, because their performance does not depend on the destabilizing
factors of the external environment, for example, temperature;
• input and output data can be saved for later processing;
• accuracy of digital filters is limited by the capacity of the filter coeficients.
• can be easily rearranged to filter a diferent frequency range, for example, by changing
the data sampling rate.</p>
        <p>
          In general, the digital filter is described by the following expression (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ):
        </p>
        <p>− 1 − 1
 () = ∑︁  · ( − ) + ∑︁  ·  ( − ),
=0 =0
where ℎ () =  – impulse response of an FIR filter.</p>
        <p>
          The amplitude-frequency response (AFR) of such a filter will have the following form (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ):
where ,  – filter coeficients;  () , () – input and output signal; ,  – number of
iflter coeficients ,  respectively.
        </p>
        <p>
          Expression (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) is also called IIR filter. Such a filter is often used when you need to perform
ifltering with a minimum number of arithmetic operations. If all the coeficients  are equal
to zero, then such a filter is called an FIR filter. In this case, the digital filter will be described by
the following diference expression (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ):
where  – circular frequency.
        </p>
        <p>In many digital signal processing applications, the use of FIR filters is preferable because they
have the following advantages:
• filter group delay constant (linear phase FIR filters);
• FIR filters are always stable.</p>
        <p>For FIR filters to be linear phase, the impulse response must be symmetric or antisymmetric
[20]. In this case, four types of FIR filters are possible (table 1).</p>
        <p>Here  (0) = ℎ ︀( 2− 1 )︀ ,  () = 2ℎ (︀ 2− 1 − ︀) ,  (0) = 0,  () = 2ℎ (︀ 2− 1 − ︀) ,  =
1, 2, 3, . . . , 2− 1 ,  () = 2ℎ (︀  2 − ︀) ,  = 1, 2, 3, . . . , 2 .</p>
        <p>2 − ︀) ,  () = 2ℎ (︀</p>
        <p>An example of an antisymmetric FIR filter with an even number of coeficients is a
diferentiating filter, the AFR of which corresponds to figure 2.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Genetic algorithm</title>
        <p>Genetic algorithm is a heuristic algorithm, which is a kind of evolutionary algorithms, with the
help of which optimization problems are solved using methods of natural evolution, similar to
natural selection [21, 22].</p>
        <p>
          The range of tasks solved using the genetic algorithm is very wide:
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
        </p>
        <p>• numerical optimization problems;
• traveling salesman tasks;
• scheduling;
• function approximation;
• artificial neural network training;
• etc.</p>
        <p>The key concept of a genetic algorithm is an individual that encodes a possible solution to a
problem. An individual is characterized by a chromosome or a set of chromosomes. The atomic
unit of a chromosome is a gene (most often encoded by one bit). When solving the problem, a
population of individuals is created. Each individual is assessed by the degree of fitness, which
is determined in the task by the fitness function. Thus, individuals are determined that are
better adapted to the "environment" (have the best solution).</p>
        <p>The genetic algorithm is iterative, therefore, at each iteration, a new population of individuals
is generated, which has better fitness than the previous one. This process continues until the
desired results are achieved, or the number of iterations exceeds the threshold.</p>
        <p>The peculiarity of the genetic algorithm is that the set of solutions is immediately improved,
unlike many other optimization algorithms.</p>
        <p>To create a new population, genetic operators are applied to current individuals: crossing,
mutation, selection.</p>
        <p>Crossover is an operator that applies to two parents. Most often, each of them is divided into
two parts at the same random gene position. Formed individuals are a combination of the first
and second parts of chromosomes from diferent parents (figure 3). The considered option is
called the one-point crossing method. There are other crossover methods: multipoint, uniform,
etc.</p>
        <p>Mutation is an operator that makes a change in a gene at a random position on the parent
chromosome. The mutation is designed to reduce the likelihood of optimization at the local
maximum. There are the following mutation methods: bit inversion, exchange, permutation,
etc.</p>
        <p>Selection is an operator aimed at selecting individuals in accordance with a certain criterion.
There are various selection methods: roulette method, tournament selection, ranking method,
etc.</p>
        <p>The following sequence describes how the genetic algorithm works:
1. Generating an initial population;
2. Calculation of the fitness of chromosomes;
3. Selection of initial chromosomes (solutions) with the best fitness values for creating a
new population;
4. Performing the crossing operation;
5. Performing a mutation operation;
6. Calculation of the fitness of chromosomes;
7. If the stop condition is met, return the chromosome with the best fitness value, otherwise
go to step 3 to process the new population.</p>
        <p>As mentioned above, the genetic algorithm refers to heuristic search algorithms, so it is
necessary to adjust the hyperparameters. To make sure that the hyperparameters used made it
possible to obtain a solution close to optimal, it is essential to control changes in chromosome
iftness from generation to generation.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Development of a PID controller model</title>
        <p>
          Let’s define the transfer function of the analog PID controller. For this, it is necessary to perform
the Laplace transform of formula (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) with zero initial conditions  (0) = 0. As a result, we get
the following expression:
where  – Laplace operator.
        </p>
        <p>
          If in expression (
          <xref ref-type="bibr" rid="ref9">9</xref>
          ) we substitute  = , then we obtain an expression for the frequency
response of the analog PID controller (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ):
 () =  + 
1
        </p>
        <p>+ ,

 () =  −   + .</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
Let’s look at the frequency response of the regulator at  = 10,  = 1,  = 1 (figure 4).
        </p>
        <p>The AFR of the analog PID controller shows that the integrating component has an efect in
the low-frequency range, and the diferentiating component in the high-frequency range.</p>
        <p>Now let’s compare the AFR of the diferentiating components of the analog and digital PID
controllers.</p>
        <p>
          First, let’s write the frequency response of the derivative component of the analog PID
controller. It can be seen from formula (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ) that its frequency response is determined by the
expression (11):
 () = .
(11)
(12)
        </p>
        <p>
          Now let’s determine the AFR of the diferentiating component of the digital PID controller.
From expression (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) it can be seen that in the time domain the diferentiating component has
the following form (12):
        </p>
        <p>() =  ( () −  ( − 1)) .</p>
        <p>
          In the brackets of expression (12) there is a digital filter of the first order, therefore the
frequency response can be determined from formula (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ). As a result, we will have the following
expression (13):
        </p>
        <p>From table 1 it follows that there are 4 types of such filters. Filters of types III and IV have
an imaginary part of the AFR. However, the type III filter cannot always be used as such. The
reason is that the value of the transmission coeficient at the maximum frequency will be equal
to zero  () = 0 regardless of the filter coeficients (table 1). Such a filter can be used as a
diferentiating filter only in the initial section. We need to use the entire range, so for our task
the best solution would be to use a type IV filter.</p>
        <p>
          From expression (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) and table 1, it follows that the diferentiating component for a digital
PID controller can be represented in the form of expression (14):
 () = ∑︁ ℎ() · ( ( − ) − ( +  − 2 + 1)),
(14)
where  – number of independent coeficients.
controller will be described by the expression (15):
        </p>
        <p>
          In this case, taking into account expression (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ), the algorithm for implementing a digital PID

∑︁ () + 
=0
− 1
=0
 () =  () + 
∑︁ ℎ() · ( ( − ) − ( +  − 2 + 1)).
        </p>
        <p>(15)</p>
        <p>
          For simplicity, we will call it PPID. By analogy, we can write an expression similar to the
recurrence formula (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) or recurrently recorded only an integrating part (this will reduce the
likelihood of overflow and reduce the number of arithmetic operations) in the following way
(16):
 () =  () +  () + 
∑︁ ℎ() · ( ( − ) − ( +  − 2 + 1)),
(16)
where  () =  ( − 1) +  () – integrating component.
        </p>
        <p>To obtain the final model of the PPID controller, it is necessary to determine the coeficients
ℎ(), where  = 1, 2, 3, . . . ,  − 1.</p>
        <p>To synthesize the filter (14), a fitness function is required. The synthesis of the filter with the
best uniform approximation will be performed in the form of the problem of minimizing the
weighted Chebyshev norm (17):</p>
        <p>︁(
 =   () ⃒  () − ̂︀ ()⃒</p>
        <p>→ ,
⃒
⃒ )︁
(17)
− 1
=0
⃒
⃒
weight function.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Experiments</title>
        <p>where  (), ̂︀ () – AFR of the approximated and approximating filters, respectively,  () –
To test the model of the digital PPID controller, we will carry out a number of experiments.
Let us synthesize a digital FIR filter (14). There are many methods for their design in the
scientific literature [ 20]. The most widely used are the classical methods for calculating FIR
iflters: weighing method; frequency sampling method; least squares method; best uniform
approximation method. The first two are not optimization methods, but are fairly easy to use.
The third and fourth methods are referred to as optimization methods. The fourth method
allows obtaining the best results, but, as a rule, it is impossible to determine analytically the
function of the best uniform approximation. However, in this case, the synthesis of the FIR
iflter will be carried out using the genetic algorithm [ 24], which will allow us to obtain some
advantages, for example, when searching for the values of the filter coeficients, we will take
into account the efect of quantization.</p>
        <p>When solving a problem with a genetic algorithm, it is necessary to isolate the phenotype
that determines the real object. In our case, the filter coeficients that will form an individual
will act as a phenotype (figure 7).</p>
        <p>Fitness function will be described by expression (17). The AFR of the diferentiating part of
the analog PID filter (11) at  = 1 (figure 5, graph 1) will act as the AFR of the approximated
iflter. The AFR of the approximating filter will be determined by a type IV filter (table 1).</p>
        <p>The simulation was carried out using the Python programming language. To implement the
genetic algorithm, it is necessary to tune the hyperparameters. In our case, they will have the
following form:</p>
        <p>POPULATION = 100 # number of individuals in the population
SURVIVOR = 0.2 # survival probability
MUTATION = 0.1 # possibility of mutating of an individual
GENERATIONS = 250 # maximum number of generations</p>
        <p>
          Below is the fitness function code in the Python programming language, which corresponds
to the expression (17), where prototype is an instance of the PrototypeFIR class of the filter being
approximated (figure 2); fir – an instance of the Fir1T class approximating the filter (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ).
def fitness(individual): # fitness function
fmax = prototype.getSamplingFrequency() / 2
fir = fir1t.Fir1T(fmax, individual)
emax = 0
for fi in prototype.getReferencePoints():
e = abs(prototype.getGain(fi)
        </p>
        <p>fir.getGain(fi))*prototype.getWeight(fi)
if e &gt; emax:</p>
        <p>emax = e
return emax,
Figure 8 shows the synthesis of a diferentiating component PPID controller.</p>
        <p>Table 2 shows the calculated coeficients of filters of diferent orders, and also indicates the
approximation error of the diferentiating component of the PPID controller.</p>
        <p>
          If we compare the proposed model of the PPID controller with the original digital PID
controller (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) at  = 1, we can see that the expressions difer only by the factor ℎ(0) (table 2).
However, due to him, the error was reduced by 15%. Figure 9 shows the relative error of this
PPID controller.
        </p>
        <p>Figure 10 shows the tendency of decreasing the error with an increase in the number of
coeficients ℎ().
6 is suficient for solving most control problems in robotic</p>
        <p>It can be seen that 4 ≤  ≤
systems.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>The problem of constructing a model of a digital PID controller, which can be used in robotic
systems based on microcontrollers and programmable logic integrated circuits, is considered.</p>
      <p>The regulator is based on digital filtering methods. It is proposed to use an FIR filter with a
linear phase of the IV type as a filtering device. This made it possible to fairly accurately
approximate the diferentiating component. So, for a classic digital PID controller, the introduction of
one coeficient has reduced the relative frequency response error by 15%. In addition, the PID
controller model was developed with the ability to use ready-made methods for calculating the
PID controller coeficients.</p>
      <p>The digital filter coeficients are calculated using a genetic algorithm. The phenotype is the
iflter coeficients. The Chebyshev norm was used as a fitness function.</p>
      <p>The simulation results were carried out using the Python programming language.
Data for all filters up to 21 orders (up to 11 independent coeficients) has been analyzed.</p>
      <p>As shown in the work, for most control problems in robotic systems, it is suficient to use
iflters with 4-6 independent coeficients.</p>
      <p>Perspectives for further research consist in testing the proposed methods on a wider range
of problems, studying the efects of finite bit depth, and analyzing the structure of the PID
controller.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>We would like to express our gratitude to our relatives who supported and helped us. We would
also like to express our gratitude to all the organizers of the doors-2023: 3rd Edge Computing
Workshop, especially Tetiana Vakaliuk.
[11] T. Samakwong, W. Assawinchaichote, PID controller design for electro-hydraulic servo
valve system with genetic algorithm, Procedia Computer Science 86 (2016) 91–94. doi:10.
1016/j.procs.2016.05.023.
[12] M. Trafczynski, M. Markowski, P. Kisielewski, K. Urbaniec, J. Wernik, A Modeling
Framework to Investigate the Influence of Fouling on the Dynamic Characteristics of
PID-Controlled Heat Exchangers and Their Networks, Applied Sciences 9 (2019) 824.
doi:10.3390/app9050824.
[13] P. Bhandari, P. Z. Csurcsia, Digital implementation of the PID controller, Software Impacts
13 (2022) 100306. doi:10.1016/j.simpa.2022.100306.
[14] A. Maghsadhagh, Implementation of PID Controller by Microcontroller of PIC (18 Series)
and Controlling the Height of Liquid in Sources, Advances in Robotics &amp; Automation 5
(2016) 1000156. URL: https://tinyurl.com/muac76z7.
[15] Y. Cheng, Y. Chen, H. Wang, Design of PID controller based on information collecting
robot in agricultural fields, in: 2011 International Conference on Computer Science and
Service System (CSSS), 2011, pp. 345–348. doi:10.1109/CSSS.2011.5974664.
[16] N. M. Mohamed, A. A. Abdalaziz, A. A. Ahmed, A. A. Ahmed, Implementation of a PID
control system on microcontroller (DC motor case study), in: 2017 International Conference
on Communication, Control, Computing and Electronics Engineering (ICCCCEE), 2017,
pp. 1–5. doi:10.1109/ICCCCEE.2017.7866088.
[17] D. Hou, PID Control on PIC16F161X by using a PID Peripheral, 2015. URL: http://ww1.</p>
      <p>microchip.com/downloads/en/AppNotes/90003136A.pdf.
[18] Atmel, AVR221: Discrete PID Controller on tinyAVR and megaAVR
devices, 2016. URL: http://ww1.microchip.com/downloads/en/AppNotes/
Atmel-2558-Discrete-PID-Controller-on-tinyAVR-and-megaAVR_ApplicationNote_
AVR221.pdf.
[19] S. Masade, S. Parmar, A. J. Bhanushali, Speed Control for Brushless DC Motors
using PID Algorithm, Whitepaper, Einfochips, 2016. URL: https://silo.tips/download/
speed-control-for-brushless-dc-motors-using-pid-algorithm-whitepaper.
[20] D. G. Manolakis, J. G. Proakis, Digital Signal Processing: Principles, Algorithms, and</p>
      <p>Applications, 4 ed., Pearson Education Limited, 2006.
[21] J. Carr, An Introduction to Genetic Algorithms, 2014. URL: https://www.whitman.edu/
documents/academics/mathematics/2014/carrjk.pdf.
[22] M. Mutingi, C. Mbohwa, Grouping Genetic Algorithms: Advances and Applications,
volume 666 of Studies in Computational Intelligence, Springer Cham, 2017. doi:10.1007/
978-3-319-44394-2.
[23] T. M. Nikitchuk, T. A. Vakaliuk, O. A. Chernysh, O. L. Korenivska, L. A. Martseva, V. V.</p>
      <p>Osadchyi, Non-contact photoplethysmographic sensors for monitoring students’
cardiovascular system functional state in an iot system, Journal of Edge Computing 1 (2022)
17–28. doi:10.55056/jec.570.
[24] M. Mobini, Digital IIR Filter Design Using Genetic Algorithm and CCGA Method,
International Journal of Mechatronics, Electrical and Computer Technology 2 (2012) 222–232.
URL: https://www.aeuso.org/includes/files/articles/Vol2_Iss6_222-232_Digital_IIR_Filter_
Design_Using_Gen.pdf.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Petrosian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. V.</given-names>
            <surname>Petrosian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. V.</given-names>
            <surname>Pidtychenko</surname>
          </string-name>
          ,
          <article-title>Optimization of the PID Controller Model Based on a Digital Filter, Vcheni zapysky TNU imeni V.I. Vernadskoho</article-title>
          . Seriia: Tekhnichni nauky
          <volume>32</volume>
          (
          <issue>71</issue>
          ) (
          <year>2021</year>
          )
          <fpage>129</fpage>
          -
          <lpage>134</lpage>
          . URL: https://www.tech.vernadskyjournals.in.ua/ journals/2021/4_2021/22.pdf. doi:
          <volume>10</volume>
          .32838/
          <fpage>2663</fpage>
          -
          <lpage>5941</lpage>
          /
          <year>2021</year>
          .4/20.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A. I.</given-names>
            <surname>Herts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. M.</given-names>
            <surname>Tsidylo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Herts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. T.</given-names>
            <surname>Tolmachev</surname>
          </string-name>
          ,
          <article-title>Cloud service ThingSpeak for monitoring the surface layer of the atmosphere polluted by particulate matters</article-title>
          ,
          <source>CTE Workshop Proceedings</source>
          <volume>6</volume>
          (
          <year>2019</year>
          )
          <fpage>363</fpage>
          -
          <lpage>376</lpage>
          . doi:
          <volume>10</volume>
          .55056/cte.397.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Wescott</surname>
          </string-name>
          ,
          <source>PID without a PhD</source>
          ,
          <year>2018</year>
          . URL: https://www.wescottdesign.com/articles/pid/ pidWithoutAPhd.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G. V.</given-names>
            <surname>Sablina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Markova</surname>
          </string-name>
          ,
          <article-title>Tuning a PID Controller in a System with a Delayed SecondOrder Object</article-title>
          , Optoelectronics,
          <source>Instrumentation and Data Processing</source>
          <volume>58</volume>
          (
          <year>2022</year>
          )
          <fpage>410</fpage>
          -
          <lpage>417</lpage>
          . doi:
          <volume>10</volume>
          .3103/S8756699022040112.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Borase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. K.</given-names>
            <surname>Maghade</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. Y.</given-names>
            <surname>Sondkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. N.</given-names>
            <surname>Pawar</surname>
          </string-name>
          ,
          <article-title>A review of PID control, tuning methods and applications</article-title>
          ,
          <source>International Journal of Dynamics and Control</source>
          <volume>9</volume>
          (
          <year>2021</year>
          )
          <fpage>818</fpage>
          -
          <lpage>827</lpage>
          . doi:
          <volume>10</volume>
          .1007/s40435-020-00665-4.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Ziegler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. B.</given-names>
            <surname>Nichols</surname>
          </string-name>
          ,
          <article-title>Optimum Settings for Automatic Controllers</article-title>
          ,
          <source>Trans. ASME</source>
          <volume>64</volume>
          (
          <year>1942</year>
          )
          <fpage>759</fpage>
          -
          <lpage>765</lpage>
          . URL: https://web.archive.org/web/20170918055307if_/http://staf.guilan.ac. ir:80/staf/users/chaibakhsh/fckeditor_repo/file/documents/Optimum%20Settings
          <source>% 20for%20Automatic%20Controllers%20(Ziegler%20and%20Nichols,%201942)</source>
          .pdf.
          <source>doi:10.1115/1</source>
          .4019264.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hornsey</surname>
          </string-name>
          ,
          <article-title>A Review of Relay Auto-tuning Methods for the Tuning of PID-type Controllers</article-title>
          ,
          <source>Reinvention: an International Journal of Undergraduate Research</source>
          <volume>11</volume>
          (
          <year>2018</year>
          ). URL: https: //warwick.ac.uk/fac/cross_fac/iatl/reinvention/archive/volume5issue2/hornsey/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mirzal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yoshii</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Furukawa</surname>
          </string-name>
          ,
          <article-title>Pid parameters optimization by using genetic algorithm</article-title>
          ,
          <year>2012</year>
          . arXiv:
          <volume>1204</volume>
          .
          <fpage>0885</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Jayachitra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Vinodha</surname>
          </string-name>
          ,
          <article-title>Genetic Algorithm Based PID Controller Tuning Approach for Continuous Stirred Tank Reactor</article-title>
          ,
          <source>Advances in Artificial Intelligence</source>
          <year>2014</year>
          (
          <year>2014</year>
          )
          <article-title>791230</article-title>
          . doi:
          <volume>10</volume>
          .1155/
          <year>2014</year>
          /791230.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Kadu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Patil</surname>
          </string-name>
          ,
          <article-title>Design and Implementation of Stable PID Controller for Interacting Level Control System</article-title>
          ,
          <source>Procedia Computer Science</source>
          <volume>79</volume>
          (
          <year>2016</year>
          )
          <fpage>737</fpage>
          -
          <lpage>746</lpage>
          . doi:
          <volume>10</volume>
          .1016/j. procs.
          <year>2016</year>
          .
          <volume>03</volume>
          .097.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>