  Proportional-Integrator-Derivative (PID) controller is used in a wide range
of industrial and experimental processes. There are a couple of offline methods
for tuning PID gains. However, due to the uncertainty of model parameters and
external disturbances, real systems such as Quadrotors need more robust and
reliable PID controllers. In this research, a self-tuning PID controller using
a Reinforcement-Learning-based Neural Network for attitude and altitude control
of a Quadrotor has been investigated. An Incremental PID, which contains static
and dynamic gains, has been considered and only the variable gains have been
tuned. To tune dynamic gains, a model-free actor-critic-based hybrid neural
structure was used that was able to properly tune PID gains, and also has done
the best as an identifier. In both tunning and identification tasks, a Neural
Network with two hidden layers and sigmoid activation functions has been
learned using Adaptive Momentum (ADAM) optimizer and Back-Propagation (BP)
algorithm. This method is online, able to tackle disturbance, and fast in
training. In addition to robustness to mass uncertainty and wind gust
disturbance, results showed that the proposed method had a better performance
when compared to a PID controller with constant gains.
