<!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>Ivan Kirilenko[</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Quadrotor Control Parameters Optimization Using Gradient Descent Method</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>ITMO University</institution>
          ,
          <addr-line>49 Kronverksky Pr., St. Petersburg 197101</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>0000</year>
      </pub-date>
      <volume>0001</volume>
      <abstract>
        <p>Proportional-Integral-Derivative (PID) controller is widely used for quadrotors due to its usability and robustness over many years. The PID controller is easy to understand and implement, but the quality of its parameters directly determines the control e ect. Manual adjustment of three PID parameters using trial-and-error method is a timeconsuming process that can hardly reach a good result. In recent years, numerical optimization methods have been developed and expanded. In this paper, a proposed optimization by the gradient descent (GD) method is employed to tune PID controller for a quadrotor. First, the initial parameters of the GD-based PID controller are chosen, including learning rate, number of epochs and values of the parameter vector. Then the gradient-based algorithm is employed to minimize the cost function by adjusting the parameters. Both the classical and the selfadjusting PID controller were implemented to track de ned trajectory with quadrotor. Unlike conventional PID design, this method is capable of reaching the desired control performance, such as minimum overshoot. Another unique feature is that the optimized PID controller is applicable to a wide variety of time-varying and nonlinear systems. The analysis of the experiment results demonstrates that algorithm can quickly and accurately nd the optimal parameters solutions. Comparison of simulations shows that this method is robust and adaptable and can also improve control precision.</p>
      </abstract>
      <kwd-group>
        <kwd>UAV Quadrotor Parameters tuning Gradient optimization PID controller</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In recent years, interest in research on small unmanned aerial vehicles (UAVs)
has increased dramatically. These UAVs have become one of the major and
critical areas [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. They are widely used for military and civilian purposes such
as remote sensing, aerial surveillance, data collection, re detection and logistics.
Other advantages with using unmanned aerial vehicle include being superior
over a manned aircraft in terms of loss of life and absence of limitations such as
human-related fatigue or operating hours as with a manned vehicle.
      </p>
      <p>One of the most preferable unmanned aerial vehicles is four{rotor drones, also
known as quadcopters or quadrotors. At a small size, quadcopters are cheaper
and more durable than conventional helicopters due to their mechanical
simplicity. This aircraft has the ability to take o and land vertically (VTOL) and
hover in a stable air condition. However, it has a number of limitations, such as
complex and di cult control and limited capacity of energy and load.</p>
      <p>
        There are many controller designs and applications in the literature to control
unmanned aerial vehicles, e.g., fuzzy controller [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], sliding mode controller [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
neuro-fuzzy controller [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and image-based controller [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], but conventional PID
controller is widely applied in UAV for its practicability and robustness in the
past decades.
      </p>
      <p>A proportional{integral{derivative controller is a control loop mechanism
that is widely used in industrial control systems and a variety of other
applications requiring continuously modulated control. A PID controller continuously
calculates an error value e(t) as the di erence between a desired setpoint and
a measured process variable and applies a correction based on proportional,
integral, and derivative terms.</p>
      <p>The PID controller is easy to understand and implement, but the quality of
its parameters directly determines the control e ect. Manual adjustment of three
PID parameters using trial-and-error method is a time-consuming process that
can hardly reach a good result. In recent years, numerical optimization methods
have been developed and expanded.</p>
      <p>
        Many approaches have been proposed for improving the setting performance
of PID parameters using heuristic optimization methods such as Particle Swarm
Optimization (PSO) [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ] and Genetic Algorithm (GA) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Gradient Descent (GD) { a rst-order iterative optimization algorithm for
nding the local minimum of a di erentiable function. To nd a local minimum
of a function using gradient descent, one takes steps proportional to the negative
of the gradient (or approximate gradient) of the function at the current point.
If, instead, one takes steps proportional to the positive of the gradient, one
approaches a local maximum of that function. Several works have been proposed
for tuning the PID parameters using the gradient descent methods such as [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
and [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Our approach is based on the use of improved methods of classical or
"vanilla" gradient descent.
      </p>
      <p>In the given work the control system of the quadcopter, realizing the ight
on control points in an automatic mode, is considered. Tuning of coe cients is
performed during the ight using the method of numerical optimization { the
gradient descent.</p>
      <p>The paper organized as follows. In next section, a brief description about the
AR.Drone 2.0 as a controlled system has given. After that the gradient descent
algorithm for control parameters optimization is described. Then quadrotor
control results has been demonstrated. In the last section, the main outcomes of this
work are summarized.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Controlled system</title>
      <p>The AR.Drone 2.0 quadcopter from the French company Parrot was chosen
as the control object. A short description of the quadrotor is presented in the
following section of this report.
2.1</p>
      <sec id="sec-2-1">
        <title>Description</title>
        <p>
          The AR.Drone 2.0 is an electrically powered quadcopter intended for augmented
reality games [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. It consists of a carbon- ber support structure, plastic body,
four high-e ciency brushless motors, sensor and control board, two cameras and
indoor and outdoor removable hulls. The control board not only ensures safety
by instantly locking the propellers in case of a foreign body contact, but also
assists the user with di cult maneuvers such as takeo and landing.
        </p>
        <p>The AR.Drone 2.0 is a not open source UAV introduced by parrot company
as a toy in 2010. However this quadcopter has increased its popularity in the
academic and developmental applications, a numerous of application has been
developed for manipulate the drone from a smart phone, tablet or a computer
with wi{ connection, there are also numerous publications, softwares and videos
with useful information for the users.</p>
        <p>Takeo and land functions are controlled for the embedded electronic system.
Landing sequence is automatically activated in case of low battery situation.
AR.Drone have also an emergency function which cut o the power on the
motors and can be activated during a ight if any object comes in contact with
the propellers or the emergency function is sent by code from the pilot device.</p>
        <p>
          In work project, the AR.Drone 2.0 was controlled from a computer using
Ubuntu 16.04 with Robot Operating System (ROS) Kinetic Kame [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and ROS
packages, tum simulator [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and ardrone autonomy [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>System identi cation</title>
        <p>
          AR.Drone is mainly controlled considering four degree of freedom (4DoF) and
the control parameters to the on board controller can be given as oat values in
between [
          <xref ref-type="bibr" rid="ref1">-1,1</xref>
          ]. The four inputs represent by (ux, uy, uz,u ), are linear velocities
on longitudinal axes, transversal axes, vertical speed and yaw angular speed
respectively. The four outputs (x, y, z, ), are position in longitudinal axes,
position in transversal axes, position in vertical axes and yaw angle respectively.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Control system</title>
      <p>In this section we describe control system for quadcopter.</p>
      <sec id="sec-3-1">
        <title>Control loop</title>
        <p>Despite technological progress, the PID controller remains the most popular
control loop mechanism and is used in many areas. This is due to the fact that
the PID controller is easy to understand and implement. The controller forms
a control signal, which is the sum of three parts: proportional, integral and
derivative components.
The success of the PID controller depends on the quality of the gain choice. The
PID controller in the literature can mainly be divided into two categories.</p>
        <p>
          In the rst category, the PID controller parameters remain the same during
the control. At this point the best known method is to set the PID controller
using the Ziegler-Nichols formula [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. This method includes setting the D and
I gains to zero value. The parameters which are monitored and manipulated in
this method are Proportional Gain (Kp ), Ultimate Period (P u) and Oscillation
Period (T u). The P, I and D gains are now set against oscillation period and
ultimate gain so that desired output is achieved. This method is very simple and
gives not very good results. However, it is still often used in practice, although
many more precise methods have emerged since then.
In this paper, the gradient descent method was considered, which is described in
details in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] and [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Gradient descent is a method of optimizing the nding of
the minimum value of the error function, which is widely used to train arti cial
neural networks. The purpose of the algorithm is to nd the model parameters
(in our case, the parameters of the PID controller), which minimize the model
error in the set of training data. This is achieved by making changes to the model,
which moves it along the gradient or the error slope down to the minimum error
value.
        </p>
        <p>A gradient is usually counted as the sum of the gradients caused by each
learning element. The vector of parameters changes in the direction of the anti{
gradient with a speci ed step. Therefore, a standard (batch) gradient descent
requires a single pass through all learning data before it can change parameters.</p>
        <p>In the case of the stochastic gradient descent, instead of cycling through
each example of learning, we use only one randomly selected learning element.
Thus, the model parameters change after each learning object. For large data
arrays, a stochastic gradient descent can give a signi cant speed advantage over
a standard gradient descent.</p>
        <p>The compromise between the two methods is mini-batch. In this case, a small
set of data is processed instead of calculating the gradient from 1 sample (SGD)
or all n training samples (GD), we calculate the gradient from k training samples.
3.4</p>
      </sec>
      <sec id="sec-3-2">
        <title>Extensions and variants</title>
        <p>
          The learning rate is the most important hyper-parameter for gradient-descent
based methods [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Based on how the learning rate is set, two types of GD-based
optimization methods can be categorized. The rst type indicates xed learning
rate methods such as SGD [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], SGD Momentum, and Nesterovs Momentum [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ],
and the second type includes auto learning rate methods, such as AdaGrad [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ],
RMSProp [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], and Adam [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. In this paper, we discuss methods based on xed
learning rate.
        </p>
        <p>Stochastic Gradient Descent (SGD) is a widely used optimization
algorithm for machine learning. SGD usually uses a xed learning rate. This is
because the SGD gradient estimator introduces a source of noise (the random
sampling of m training examples), and that noise does not vanish even when
the loss arrives at a minimum. A hyper-parameter 2 (0; 1) is the step of the
method (or learning rate). Stochastic gradient descent updates the parameters
for each observation, so tuning happens online while ying.</p>
        <p>The parameter update rule of SGD from time (i.e., iteration) t to time t + 1
is given by:
t+1 = t
SGD Momentum is designed to accelerate learning, especially in the case
of small and consistent gradients. The momentum algorithm accumulates an
exponentially decayed moving average of past gradients and continues to move
in the consistent direction. The name momentum derives from a physical analogy,
in which the negative gradient is a force moving a particle through parameter
space. A hyper-parameter 2 (0; 1) determines how much the past gradients to
the current update of the weights. The momentum term is usually set to 0.9
or a similar value.</p>
        <p>Its parameter update rule:
(</p>
        <p>Vt+1 =</p>
        <p>Vt
Nesterov's Momentum is a simple change to normal momentum. Here the
gradient term is not computed from the current position t in parameter space
but instead from a position (t + 1) = (t) + Vt. This helps because while the
gradient term always points in the right direction, the momentum term may not.
If the momentum term points in the wrong direction or overshoots, the gradient
can still "go back" and correct it in the same update step.</p>
        <p>The Nesterov's Momentum update rule is given by:
(</p>
        <p>Vt+1 =</p>
        <p>Vt
t+1 = t + Vt+1
3.5</p>
      </sec>
      <sec id="sec-3-3">
        <title>GD-based controller approach</title>
        <p>Let's suppose, gradient-descent method will adjust the PID controller parameters
by minimizing the squared controller error, which de ned:
(3)
(4)
(5)
(6)
(7)
(8)
where r - the set point and y - the control output.</p>
        <p>Let's de ne the objective function, which should be minimized:
e = r</p>
        <p>y
L = 1 e2 =)
2</p>
        <p>When used to minimize the above function, the main challenge remains
behind the calculation of gradient @Lt=@ t in 2. In this case we must apply a chain
rule to composites of more than two functions:
where Kp=i=d - one of the PID controller parameters.</p>
        <p>To measure the rate of change of L in any direction that is represented by a
unit vector u, in multivariate calculus, we de ne the directional derivative of L
at in the direction of u as:
where yt - the actual output of the plant and ut - the control signal (output of
the controller)</p>
        <p>Therefore, the update rules for PID control parameters for the
gradientdescent are expressed as:
8Kp = Kp
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&lt;</p>
        <p>Ki = Ki
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;:Kd = Kd</p>
        <p>The GD-based PID controller is shown in Figure 2. The inputs of algorithm
are created by proportion, integration and derivation of error e.
(9)
(10)
The main objective of this study is to enable the aircraft to follow a de ned
trajectory with algorithm of an improved controller. When the aircraft takes o ,
the initial position and orientation of the aircraft is set to zero. Then the aircraft
is informed about the reference waypoints. The waypoints information which are
necessary for trajectory tracking includes four data. These are Xref , Yref , href
and ref . The relative position between vehicle and target is calculated in PC.
And the controllers provide to track desired parameters. The aircraft's position
and velocity is measured by its inertial sensors.
The simulation has done using Gazebo. The results of the performance of
SGDMomentum method is given (see Figure 3). In the following simulations, the
proposed algorithm SGD-Momentum used a set of parameters as: the learning
rate = 0.0001, momentum parameter = 0.9, the number of iterations n = 100.
In Figure 5, the simulation gains has been shown using GD-based autotuning.
4.2</p>
      </sec>
      <sec id="sec-3-4">
        <title>Realtime Results</title>
        <p>In this section, the experimental results has shown. In Figure 4, the real
experimental results has plotted. From this gure it is clear that, AR.Drone successfully
had gone to the point with coordinates (2.0; 2.0; 2.0).</p>
        <p>We can see that the parameters are adjusted faster than in the approach
with classical gradient descent. The optimal coe cients have been selected, thus
we reaching the desired control performance, such as minimum overshoot (see
Figure 5).
In this paper, the control system of the quadcopter based on PID controller with
optimization of parameters using the gradient descent method was considered.</p>
        <p>The results verify that the proposed algorithm is an e ective method for
optimal tuning of PID parameters in term of no overshoot, zero steady state
error and extremely short setting time and rise time. The proposed approach is
highly robust and e ective.</p>
        <p>This proposed tuning method may create some bene t in real-life and
industrial applications since it saves time for none expert control engineering to
nd optimal controller parameters to enhance the performance quality. For
future work, gradient based method will be applied to tune PID controller of PX4
quadrotor.
6</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>This work was nancially supported by ITMO University: grant num. 419331
"Development of a multifunctional autonomous landing station for multi{copter
with an autopilot system".</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Santamarina-Campos</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <article-title>Segarra-On~a, M.: Drones and the Creative Industry</article-title>
          . Springer (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hiltner</surname>
            ,
            <given-names>P. J.:</given-names>
          </string-name>
          <article-title>The drones are coming: Use of unmanned aerial vehicles for police surveillance and its fourth amendment implications</article-title>
          .
          <source>Wake Forest JL &amp; Pol'y, 3</source>
          , pp.
          <volume>397</volume>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Sabo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Fuzzy logic unmanned air vehicle motion planning</article-title>
          .
          <source>Advances in Fuzzy Systems</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Xiong</surname>
            ,
            <given-names>J. J.</given-names>
          </string-name>
          , Zhang, G.:
          <article-title>Sliding mode control for a quadrotor UAV with parameter uncertainties</article-title>
          .
          <source>In: 2016 2nd International Conference on Control, Automation and Robotics (ICCAR)</source>
          , pp.
          <fpage>207</fpage>
          -
          <lpage>212</lpage>
          . IEEE (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Farid</surname>
            ,
            <given-names>A. M.:</given-names>
          </string-name>
          <article-title>UAV controller based on adaptive neuro-fuzzy inference system and PID</article-title>
          . IAES
          <source>International Journal of Robotics and Automation</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <volume>73</volume>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Asl</surname>
            ,
            <given-names>H. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yoon</surname>
          </string-name>
          , J.:
          <article-title>Robust image-based control of the quadrotor unmanned aerial vehicle</article-title>
          .
          <source>Nonlinear Dynamics</source>
          ,
          <volume>85</volume>
          (
          <issue>3</issue>
          ),
          <fpage>2035</fpage>
          -
          <lpage>2048</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Application of improved PSO in PID parameter optimization of quadrotor</article-title>
          .
          <source>In: 2015 12th International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP)</source>
          , pp.
          <fpage>443</fpage>
          -
          <lpage>447</lpage>
          . IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mac</surname>
          </string-name>
          , T. T.,
          <string-name>
            <surname>Copot</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duc</surname>
          </string-name>
          , T. T.,
          <string-name>
            <surname>De</surname>
            <given-names>Keyser</given-names>
          </string-name>
          , R.: AR.
          <article-title>Drone UAV control parameters tuning based on particle swarm optimization algorithm</article-title>
          .
          <source>In: 2016 IEEE International Conference on Automation, Quality and Testing</source>
          ,
          <source>Robotics (AQTR)</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . IEEE (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Zhang, Y.:
          <article-title>Research of GA-based PID for AUV motion control</article-title>
          .
          <source>In: 2009 International Conference on Mechatronics and Automation</source>
          , pp.
          <fpage>4446</fpage>
          -
          <lpage>4451</lpage>
          . IEEE (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Babu</surname>
            ,
            <given-names>V. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Designing of self tuning PID controller for AR drone quadrotor</article-title>
          .
          <source>In: 2017 18th international conference on advanced robotics (ICAR)</source>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>172</lpage>
          . IEEE (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A gradient optimization based PID tuning approach on quadrotor</article-title>
          .
          <source>In: The 27th Chinese Control and Decision Conference (2015 CCDC)</source>
          , pp.
          <fpage>1588</fpage>
          -
          <lpage>1593</lpage>
          . IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Krajn</surname>
          </string-name>
          k, T.,
          <string-name>
            <surname>Vonasek</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fiser</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faigl</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>AR{drone as a platform for robotic research and education</article-title>
          . In: International conference on research and education in robotics, pp.
          <volume>172</volume>
          {
          <fpage>186</fpage>
          . Springer, Berlin, Heidelberg (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>13. Robot Operating System, https://www.ros.org/</mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>14. Tum simulator homepage, http://wiki.ros.org/tum simulator</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>15. Ardrone homepage, https://ardrone-autonomy.readthedocs.io/en/latest/</mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ziegler</surname>
            ,
            <given-names>J. G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>N. B.</given-names>
          </string-name>
          :
          <article-title>Optimum settings for automatic controllers</article-title>
          .
          <source>Trans. ASME</source>
          ,
          <volume>64</volume>
          (
          <issue>11</issue>
          ) (
          <year>1942</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Saad</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Online algorithms and stochastic approximations</article-title>
          .
          <source>Online Learning</source>
          . Cambridge University Press,
          <volume>5</volume>
          ,
          <issue>6</issue>
          {
          <issue>3</issue>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>An</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dai</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , L.:
          <article-title>A pid controller approach for stochastic optimization of deep networks</article-title>
          .
          <source>In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</source>
          , pp.
          <volume>8522</volume>
          {
          <issue>8531</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Zulki</surname>
            <given-names>i</given-names>
          </string-name>
          , H.:
          <article-title>Understanding learning rates and how it improves performance in deep learning</article-title>
          .
          <source>Towards Data Science</source>
          ,
          <volume>21</volume>
          ,
          <issue>23</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Bottou</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Online learning and stochastic approximations</article-title>
          .
          <source>On-line learning in neural networks</source>
          ,
          <volume>17</volume>
          (
          <issue>9</issue>
          ),
          <volume>142</volume>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Sutskever</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martens</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dahl</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hinton</surname>
          </string-name>
          , G.:
          <article-title>On the importance of initialization and momentum in deep learning</article-title>
          .
          <source>In: International conference on machine learning</source>
          , pp.
          <fpage>1139</fpage>
          -
          <lpage>1147</lpage>
          . (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Duchi</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hazan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Singer</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Adaptive subgradient methods for online learning and stochastic optimization</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          ,
          <volume>2121</volume>
          -
          <fpage>2159</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Hinton</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Swersky</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Neural networks for machine learning lecture 6e rmsprop: Divide the gradient by a running average of its recent magnitude (</article-title>
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Kingma</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ba</surname>
          </string-name>
          , J.:
          <article-title>Adam: A method for stochastic optimization</article-title>
          .
          <source>In: International Conference for Learning Representations (ICLR)</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>