1. Introduction
One of the four fundamental principles of the Fourth Industrial Revolution (4IR) is the decentralisation of decisions for machines. This means increased autonomy of systems to make their own decisions in order to perform specific tasks without human intervention or supervision, especially in the presence of uncertainty and external disturbances [
1]. Unmanned aerial vehicles (UAVs) have been at the forefront of autonomous systems, with specific applications already demonstrated in the military environment, such as surveillance, reconnaissance, evacuation and payload delivery, and civil applications such as filming, crop dusting, parcels and medical aid delivery [
2]. These tasks require the employment of a rotorcraft UAV, because rotorcraft have the capacity for vertical takeoff and landing, hovering in place, flying backwards and side-slip. They are useful in situations where fixed-wing aircraft fail to perform, such as cluttered areas, overgrown fields and dangerous industrial areas including nuclear plants and offshore oil rigs [
3].
However, a rotorcraft is a highly nonlinear, multi-input, multi-output system. It is also characterised by high coupling with a larger number of dynamics that cannot be modelled explicitly. This system is also inherently unstable, meaning that, once disturbed from equilibrium, it does not return unless an external force is introduced. This makes the achievement of the demanded autonomy a daunting challenge [
4].
This performance specification for autonomy has resulted in high complexity in the rotorcraft flight control system. Significant effort has been devoted to improving the performance and reliability of flight control systems in the past two decades [
1], and the increase in computational power and communication bandwidth has made possible some of the improvements that have eluded control engineers in recent years [
5].
As such, a number of control strategies have been presented for the control of rotorcraft, including a proportional–integral–derivative (PID) controller and its gain scheduling counterpart [
6,
7]. This design methodology, also referred to as classical, requires linear approximation of the rotorcraft around a selected operating region. This is due to the fact that PID controllers are normally single-input single-output (SISO). However, these methods only work well under the simplifying assumptions of a linear system. Despite this, PID controllers have been successfully implemented in rotorcraft flight control systems.
Following the advances in the development of computer systems for flight control, there was a rise in the application of “modern control” systems such as the linear quadratic regulator (LQR) [
8,
9] and
[
10]. These methods are difficult to implement practically [
6]. Other methods, such as nonlinear inverse dynamics [
9], including feedback linearisation [
11], adaptive control [
12] and sliding mode controllers [
13], have also been applied with moderate success.
The problem with PID has been identified as poor tuning, which means that most of the controllers currently in operation have been poorly tuned. This results in biased judgment against the PID controllers themselves. The best known method for tuning PID controllers is Ziegler–Nichols, based on empirical rules. This method does not work well for multi-loop systems such as rotorcraft. Significant effort has recently been invested in optimal tuning of PID controllers [
14,
15,
16] and other controllers in general [
17].
Zhao et al. [
18] applied cuckoo search to optimise PID parameters on a semi-active suspension system with the objective of operating at a desired damping force. For this, they conducted numerical simulations and experimental study on a quarter-car rig and found that the CS-PID does improve ride comfort. Hill et al. [
19] investigated the application of GA to optimise a PID controller and a pseudo-derivative controller (PDF) to control a tall building elevator. The optimised controllers showed improved performance when compared to the manually tuned ones, which were not able to meet the settling time requirement.
In the aircraft industry, the selection of controller gains is conducted by a committee comprising the flight control designers and the test pilots making reference to the Cooper–Harper rating scale and/or the ADS-33E. This results in sub-optimal gains for the aircraft.
George et al. [
20] presented an autopilot system based on optimised PID controllers to reduce the pilot workload. The performance criteria were derived from DEF-STAN 00-0970 and the ADS-33E version of settling time. Simulations were conducted on a linearised model and showed convergence back to trim condition in both roll and pitch. Yin et al. [
21] also presented a linear model of a rotorcraft and applied a two-loop PID control system. The controller was tested on a test rotorcraft platform and was found to correctly stabilise the aircraft attitude, which is the function of the inner loop. No outer-loop test results were presented. Dai et al. [
22] developed a three-loop PID control system containing the attitude, velocity and position loops. On a linearised model, the PID gains were optimised using PSO. The optimisation was only conducted on the outer loop and the other loops were tuned manually, thereby reducing the number of optimisation parameters. The methods for flight control of single-rotor helicopters presented in the literature do not include optimisation in general. If they do, they are based on linearised models. However, linearised models have explicit optimal points, which defeats the purpose of using optimisation algorithms.
Nonlinear optimisation has been applied to quadrotors. Noordin et al. [
23] presented a nonlinear quadrotor model and used PSO to optimise PID controllers for roll, pitch, yaw and height. The PID controllers were then able to stabilise the quadrotor. Moreso, the investigation revealed that the SAE fitness function gave the best aircraft performance. Abduo et al. [
24] investigated the PID control of a nonlinear quadrotor tuned with nature-inspired algorithms. These were then compared in numerical simulations to show the differences between the algorithms. This study used the ISE perfomance function, which was proven to give an acceptable rise time and overshoot. In another similar study, Cedro et al. [
25] used an SAE performance function including the input signals scaled by a penalty factor
.
However, single-rotor helicopters are highly coupled and more dynamically complex than quadrotors. This could be the reason that this type of optimisation has not been attempted so far.
In this paper, we propose that the flying and control objectives of the aircraft be defined analytically in an objective function and then optimisation algorithms be used to minimise the cost to find the best PID controller parameters applied directly onto a nonlinear helicopter. Therefore, the contributions of this paper are: (1) to design a closed-loop flight control system for the rotorcraft that closely relates to the pilot control based on six concurrent PID controllers; (2) and to develop a comparative study of computational intelligence optimisation algorithms to find the best PID controller parameters for the given flight regimes, also showing robustness to external disturbances. Even though related work has been presented for other types of aircraft, to the best of the authors’ knowledge, this has not been investigated for a single-rotor helicopter.
The rest of the paper is arranged as follows:
Section 2 provides an overview of the system and the development of the 6-DOF rotorcraft model. The proposed flight controller and the optimisation algorithms are presented in
Section 3.
Section 4 presents controller validation through simulations and monitoring of the model of the rotorcraft and comparison of the different optimisation algorithms.
Section 5 concludes the paper and offers recommendations for possible future investigations.
3. PID Control Development
The PID control of the rotorcraft is developed, coupling the roll and pitch angles with the horizontal translation of the rotorcraft. This involves developing an inner loop for the faster dynamics and an outer control loop for the slower dynamics. Preferably, the tuning process for the controller should start in the inner loop, in order to ensure that the rotorcraft is rotationally stable, before proceeding to the outer loop. The outer loop is responsible for the control of the position of the rotorcraft with respect to the Earth-fixed reference frame. The
,
and
reference signals are passed into the outer loop transformation,
, which then passes these signals to the inner control loop. As such, these outer loop signals must be tuned to represent the desired roll and pitch angles in the body-fixed reference frame of the rotorcraft as shown in
Figure 2.
The structure of the PID controller is described as follows:
where the error signal,
, is the difference between the desired response,
, and the actual output,
. The signal
is used to drive the corresponding actuators in the swashplate.
The first PID controller parameters are found using the manual tuning method. Although this method is effective and has been proven in applications, for the system with multiple loops and a larger number of gains, 18, it becomes tedious and time consuming [
30]. The rest of the controllers are tuned using computational intelligence optimisation techniques. The simulation results based on these controllers are given in the next section. The controller optimisation algorithms are also discussed in the next section.
3.1. Controller Optimisation Strategies
In order to improve the tuning of controller parameters, computational intelligence techniques are employed. These techniques include particle swarm optimisation (PSO), genetic algorithm (GA), ant colony optimisation (ACO) and cuckoo search (CS), which are the focus of this paper. These techniques are used to find the parameters
for each PID controller.
Figure 3 shows the system architecture used for tuning the PID gains using optimisation techniques.
An optimisation problem is designed to satisfy the following equation:
where
is the set of infinite solutions called the solution space and
f is an
n-dimensional real function [
31] such that:
The goal of each optimisation strategy is to find
such that it minimises the objective function given in Equation (
25). This is given mathematically as finding the solution
in finite time.
Each optimisation technique is used to find
and
, called the candidate solution, iteratively. At each iteration, the candidate solution is evaluated with respect to the objective function in Equation (
25). Since the optimisation is done after the initial tuning via trial and error, this solution is used to initialise the search algorithms, which means that even when optimisation tools outperform manual tuning, this result is still useful towards the final optimisation outcome.
3.2. Particle Swarm Optimisation
Particle swarm optimisation (PSO) is an optimisation algorithm that mimics the social behaviour of a group of animals as a unit system, such as a flock of birds, swarm of insects, school of fish, to name a few. The ideas of PSO was first propounded by Eberhart and Kennedy in 1995 and it has been very popular among evolutionary algorithms, only second to GA [
15]. PSO uses a population of particles that are flying through the solution space at a given velocity. The best solution is found by following the optimal particle in the solution space. Following a particle is in the true sense, since each PSO particle has velocity and position. The velocity of each particle is defined as follows:
where
is the
i-th particle velocity,
is the current particle position,
is the best particle solution so far,
is the best solution in the global set of the particles. The parameter
m is the velocity gain used for changing exploration into exploitation.
The velocity of the particle moves in the direction of
and eventually towards
. The particle moves to the next position according to the following equation:
The iteration is completed after all particles have moved. The stopping criterion is when the optimal solution has been found or the maximum number of iterations has been reached.
Fan and Jen [
32] compare the traditional PSO with a newly developed Enhanced Particle Search (EPS) PSO with co-swarms that are able to share information between particles. For this study, however, the PSO algorithm used can be found in [
33]. In the setup of the PSO, the parameters that are used are shown in
Table 1.
3.3. Genetic Algorithm
GA is a computational technique developed to mimic evolution in a natural environment by natural selection and is based on Darwin’s theory of “survival of the fittest.” GA is a heuristic optimisation tool used to find the most optimal solution in a solution space S of complex problems in a relatively short time. Candidate solutions are called chromosomes and are represented as binary-coded or real-coded strings. At each generation, new offspring chromosomes are created through the parent reproduction and mutation. The process is repeated until termination conditions are met.
Each of the GA processes is described as follows (Algorithm 1) [
14,
30]:
Algorithm 1: Genetic algorithm optimisation. |
|
The best GA parameters for the present problem were found by numerical experimentation and are listed in
Table 2.
3.4. Ant Colony Optimisation
ACO is a population-based meta-heuristic optimisation method falling into the swarm intelligence category [
33]. It was first proposed by Dorigo [
34], from observing the behaviour of real ants. Mathematically, in ACO, a number of concurrent artificial ants,
m, is defined. The current state of the ant,
i, is a partial solution of the problem of discourse. An ant evaluates its next state move,
j, based on the pheromone trails to the adjacent solutions. Once an ant has completed each
jth solution search, the solution is evaluated, and then the pheromone trails are updated based on the best solution so far. This process is repeated until the termination conditions are met.
We present ACO for parameter optimisation. Since the parameters cover a continuous space, the algorithm used to search this space must be continuous as well. In [
31], an ACO for continuous domains called
is presented. The traditional ACO search space is given by
, while the
search space is
. The basics of the algorithms are maintained, but the internal implementation differs. Instead of using a pheromone-based probability distribution function, a
probability density function (PDF) is used by employing any
such that:
. For this paper, Gaussian functions were chosen due to the ease of sampling. For a multi-variable optimisation problem, a kernel
is defined as a sum of weighted Gaussian functions equal to the number of variables as follows:
where
is the number of variables, and
and
are the
solution and its standard deviation for each variable. Instead of using a pheromone matrix
, a pheromone archive table
is used such that, for each solution,
and
represent the chosen solution with its standard deviation. The subscript
represents current index to the archived solutions and
k is an optimisation parameter, i.e., the total number of archive solutions that can be stored at any iteration. The solution at an iteration in the archive is
To execute the algorithm, the following steps are followed [
33].
Algorithm 2: Ant colony optimisation. |
|
The ACO performance is based on the selection of the number of ants
m, the size
k of the archive, the number of iterations to run the algorithm and the ACO parameters, where
q and
are algorithm parameters. If
q is too small, the ranking is focused on the best solution, while a larger value results in a flat, more uniform search for alternative solutions. The
parameter on the other end will have an equivalent effect as the
, the pheromone evaporation rate. The higher value of
will promote the forgetting of the current solution and exploration of new areas in the solution space, meaning that the convergence rate will be slower. The Algorithm 2 is said to have short-term memory [
31].
The best ACO parameters for the present problem were found by numerical experimentation and are listed in
Table 3. Similar to GA, ACO is a stochastic algorithm in that it converges to a different solution each time it is executed.
3.5. Cuckoo Search Algorithm
The cuckoo search algorithm was developed by Yang and Deb [
35]. This search algorithm (Algorithm 3) was inspired by the breeding behaviour of cuckoo birds. Cuckoo birds are opportunistic agents that try to maximise the chance of their offspring’s survival without doing anything in terms of incubating eggs and feeding the hatchings.
The cuckoo lays its eggs in other birds’ nests. The eggs are hidden among the original eggs in the nest. Sometimes, to increase the chance of its chicks’ survival, the cuckoo might dispose of the other bird’s eggs. The cuckoo that hatches first also maximises its own chance of survival by disposing of the other eggs in the nest. The algorithm used for optimisation using cuckoo search is as follows [
35].
Algorithm 3: Cuckoo search optimisation. |
|
The best CS parameters for the present problem were found by numerical experimentation and are listed in
Table 4.
Each egg in the nest represents a solution and a cuckoo dropping an egg in the nest represents a new solution.
5. Conclusions
A mathematical model of a rotorcraft was developed. Assumptions were made to simplify the calculations of thrust and torque generated by the rotors of the rotorcraft, as well as to limit the effects of surface drag on the system. Two trim conditions were investigated: hover and 10 m/s forward flight. The paper presented the use of computational intelligence optimisation techniques for tuning the PID controllers’ gains that were developed for a rotorcraft system.
It was observed through numerical simulation that the optimised PID controllers are effective around the trim point for which they were developed, with ACO-PID performing better for hover and GA-PID for forward flight. However, this conclusion is not universal and is only valid for the hover and forward flight cases investigated in this paper. The controllers are able to tolerate some deviation from this operating point, such as an increase in forward speed and when subjected to gust winds. However, they cannot be employed to control the rotorcraft through its entire flight envelope as they started to lose stability. Since the PID controller can only affect one input for every reference input, the cross-coupling effects can be noticeable when translating, for example. These effects become more pronounced as the rotorcraft moves away from the designed trim condition. Hence, different controllers need to be designed for different operating regions and gain scheduling employed to transition from one controller to the next as the region changes. However, the ACO-optimised controller seems to outperform the other optimisation algorithms both in holding the trim state and recovering from external disturbance.
A follow-up to the proposed optimised PID controller for the rotorcraft is to employ a robust nonlinear controller that not only operates in the entire flight envelope of the aircraft but is able to handle disturbance and is also tolerant to bounded uncertainties and actuator loss of effectiveness, such as a sliding mode controller.