Chaotic Artificial Bee Colony Algorithm for System Identification of a Small-Scale Unmanned Helicopter

The purpose of this paper is devoted to developing a chaotic artificial bee colony algorithm (CABC) for the system identification of a small-scale unmanned helicopter state-space model in hover condition. In order to avoid the premature of traditional artificial bee colony algorithm (ABC), which is stuck in local optimum and can not reach the global optimum, a novel chaotic operator with the characteristics of ergodicity and irregularity was introduced to enhance its performance.With input-output data collected from actual flight experiments, the identification results showed the superiority of CABC over the ABC and the genetic algorithm (GA). Simulations are presented to demonstrate the effectiveness of our proposed algorithm and the accuracy of the identified helicopter model.


Introduction
Small-scale unmanned helicopter is a typical aerial robot that can carry cameras, sensors, or other payloads, which is identified as an important part of the Unmanned Aerial Vehicles (UAVs) and will be used for some challenging missions such as information gathering, accurate measurement, border patrol, and forest protection, to name several aerial robotic applications [1][2][3].Compared to fixed-wing aircrafts, the helicopters can take off and land vertically, and they have the ability of hovering and flying at low altitudes.Moreover, a small-scale helicopter not only is extremely sensitive to control inputs and disturbances, but also is a complex system with high unstable, nonlinear, multiple-input multiple output (MIMO), and high degree of coupling characteristics.Hence, these factors make the unmanned helicopter attract much attention and effort of researchers to design a satisfactory MIMO linear controller.And an accurate mathematical model is the basis for the design of a feasible controller.
In terms of academic research, a small-scale unmanned helicopter modeling approaches can be generally categorized into two approaches [4]: first principle modeling and modeling through system identification.The first principle approach to helicopter modeling applies the fundamental laws of mechanics and aerodynamics to derive from a mathematical model with a large number of parameters, most of which cannot be directly measured [5].This modeling approach is unsuitable for helicopter system because it requires detailed knowledge and numerous measurements of the helicopter flight mechanics.Hence, the first principle modeling approach may be tedious, expensive, and inefficient.Conversely, system identification is a convenient method based on integration of a mathematical model with real flight data in determining the model parameters.
In the realm of the unmanned helicopters, a number of system identification approaches have been reported in the literature.US army and NASA developed a frequency domain method named Comprehensive Identification from Frequency Responses (CIFER), and Mettler et al. [6,7] used this software to identify the linear model for Carnegie Mellon's Yamaha R50 helicopter.This model structure was also used successfully by other researchers [8,9].However, it is difficult for the frequency domain method to get the suitable frequency spectrum through lots of frequency sweep experiments.The use of prediction-error modeling (PEM) method has also been reported as a useful tool in autonomous helicopter model estimate.Cai et al. [10] applied the PEM method to identify the model of the yaw channel of a UAV helicopter.Dharmayanda et al. [11] obtained a linear model of the RUAV helicopter from flight data with PEM.Nonetheless, the PEM method is highly sensitive to parameter initialization, and this increases the difficulty of the system identification for helicopters.Raptis et al. [12] used the Recursive least squares algorithm (RLS) to identify a nonlinear helicopter model in X-Plane simulation.According to [13], the RLS algorithm was used to determine the helicopter's parameters as the entire model was divided into six decoupled SISO subsystems.Despite the wide application of the RLS algorithm, the method may be trapped into local optimum and ignore the global optimum.
In recent years, some intelligence computation algorithms have been employed in system identification for helicopters.In order to get the model of a UAV helicopter, an immune particle swarm optimization algorithm (PSO) was proposed to identify a linear state-space model in [14].Zhigang and Tiansheng [15] introduced the traditional genetic algorithm (GA) to obtain the helicopter model and Lei and Du [16] used the adaptive GA to estimate the parameters of two decoupled linear helicopter models.However, while dealing with complex and large-scale parameters identification problems, the flaw that the premature convergence can make the aforementioned methods stuck in a local optimum.
The artificial bee colony algorithm (ABC) was first proposed by Karaboga in 2005 [17] and successfully applied to many fields like UAV path planning [18], function optimization problem [19], and clustering analysis [20].The ABC can be also trapped into local optimum as well as other intelligent algorithms.In this paper, considering the outstanding performance of chaotic operator in jumping out of stagnation, a novel chaotic artificial bee colony algorithm (CABC) which combines chaotic optimization method with the ABC was introduced to conquer the system identification problem of the helicopters.The identification was implemented on a TREX 600 Radio Controlled (RC) model helicopter with a full set of avionics system.The comparison of three different identification methods, GA, ABC, and CABC, illustrated the superiority of our proposed algorithm.
The outline of this paper is organized as follows.Firstly, the helicopter dynamical model is given in Section 2, where both the nonlinear and linear models are described.Then, Section 3 presents the identification process of the linear helicopter model using the chaotic artificial bee colony algorithm.Later on, the experimental platform, flight data preprocess, and identified results are presented in Section 4. Finally the main conclusions and further research direction are given in Section 5.

Helicopter Dynamical Model
An experimental TREX 600 helicopter is adopted as the unmanned helicopter platform.Since the small-scale helicopter is treated as a rigid body, it possesses 6 Degrees of Freedom (DOF), and the exhaustive description for forces, moments, and physical parameters for it can be found in [21].All the force and moment components primarily consist of the contributions from the fuselage, main rotor, and tail rotor.As shown in Figure 1, the standard rigid body dynamical equations of the helicopter that describe the helicopter's translational and rotational motion in the body-fixed coordinate frame (BF) are given by Newton-Euler equations: where [, V, ]  and [, , ]  are the linear velocity and the angular velocity in BF;  and  denote the external force matrix and moment matrix acting on the center of mass of the helicopter, respectively;  is the helicopter mass;  is the inertial moment matrix about the reference axes.The rotation matrix (Θ) is defined by the yaw-pitchroll Euler angles and maps vectors from BF to Earth-fixed coordinate frame (EF).(Θ) is governed by the equation: where  and  are the abbreviations for cos  and sin .
The parameters , , and  represent the roll, pitch, and yaw angles of the helicopter in BF, respectively.The angular velocity of the helicopter is related to the time rate of change of the Euler angles through the following relation: There are four control commands associated with helicopter piloting.The control inputs are defined as  = [ lat ,  lon ,  col ,  ped ]  , where  lat and  lon are the lateral and longitudinal cyclic rotor control inputs,  col is the collective pitch control input, and  ped is the tail rotor pedal control input.
The simplified rotor dynamics, which is common to all small-scale helicopters, can be derived from the first-order flapping dynamic equations [7]: where   and   are the longitudinal and lateral main rotor flapping angles,   is the effective rotor time constant, and  lat ,  lon , and  1 are just gains.
In the real control of the TREX 600, a feedback yaw rate gyro installed on the helicopter is used to reduce the effect of the antitorque fluctuation on the yaw response.Here, according to [4], the additional yaw-rate gyro feedback term  fb is added to account for the effect of the tail gyro: where   and  fb are the parameters to be identified.The above nonlinear differential equations represent the motion and orientation of the helicopter.They can be rewritten in a compact form as where  is a vector of 12 states written as  = [, V, , , , , ,   ,   , , ,  fb ]  .
However, the nonlinear model is unfit for system identification for the helicopter.Hence, a linearized state-space model of the helicopter system is derived from the nonlinear equations by using the small perturbation theory through capturing the actual behavior of the system near the trim condition (e.g., hovering/cruise) [22].In that case,  has little couple relationship with other variables and it is true that ψ ≈ .Additionally, it is difficult and impractical to estimate all the parameters in one go.Hence, the helicopter dynamics can be separated into two interconnected subsystems, that is, the horizontal and vertical motions.In particular, the subsystems are given by (7), which were proposed in [23] and used successfully in [24]  ẋ hor =  hor  hor +  hor  hor ,  ẋ ver =  ver  ver +  ver  ver , where  is the perturbation from the trim condition, and the related matrices of the above models can be found as follows: In above matrices, there are more than 30 unknown parameters to be identified.Moreover, some parameters are unable to be directly identified from the actual flight data.According to [7], the assumptions that  fb = − ped and  fb = −2  are accepted in this paper.

Identification of the Model Based on CABC Algorithm
3.1.Introduction to Chaos Theory.Chaos theory is epitomized by the so-called "buttery" detailed by Lorenz [25]; he discovered that tiny changes in initial conditions will make radically disparate final results, rendering long-term prediction impossible in general.Chaotic map can be described as a bounded nonlinear system with deterministic dynamic behavior that has ergodic and stochastic properties.Moreover, it has a very sensitive dependence upon initial conditions and parameters.Some common chaotic maps are logistic map, tent map, sinus map, and Gauss map [26]; in this paper, the well-known logistic map is chosen to generate initialize condition.The logistic map equation is defined as In the equation,  is the iteration number and the control parameter  ∈ [0, 4].The behavior of the system ( 9) is greatly changed with the variation of .When  = 4, the system exhibits chaotic dynamics in which very small change in the initial value of  would give rise to very large differences in its long-term behavior [27].In this case, the variable  is called chaotic variable and the series { 1 , . . .,   } is called chaotic sequence.With the characteristics of ergodicity, pseudorandomness, and irregularity, the chaotic variable can travel ergodically over the whole search space and never repeat a value having appeared already.Suppose that 0 ≤   ≤ 1 (expect 0.25, 0.5, and 0.75 to be the fixed point), Figure 2 shows that the chaotic sequence is stuck in the endless loop when initial points are 0.25 or 0.75 since 4×0.25× (1 − 0.25) = 0.75 and 4 × 0.75 ×(1 − 0.75) = 0.75.Analogously, when initial point becomes 0.5, the chaotic sequence can also be stuck in the endless loop.Consequently, these three points will lead chaotic sequence lose chaotic property.

Basic Principles of CABC.
As a highly robust and efficient method, the real-coded chaotic artificial bee colony algorithm (CABC) is applied to identify the TREX 600 helicopter model.In CABC, the position of each food source represents a possible solution to the appropriate identified parameter.In order to introduce the self-organization model of bee selection that leads to the emergence of collective intelligence of honey bee swarms, we define the population of the colony bees as   , the number of employed bees as   , and the number of unemployed bees as   , which satisfies the relation   = 2  = 2  .We also define  as the dimension of solution vector, that is, the number of the unknown parameters.The detailed procedure of executing the proposed algorithm is expressed as follows.
Step 1 (initialization).Randomly initialize a set of possible solutions ( 1 , . . .,    ), and the particular solution   can be governed by where  ∈ {1, . . ., } donates the th dimension of the solution vector.  min and   max mean the lower and upper bounds, respectively.
Step 2. Apply a specific function to calculate the fitness of the solution   according to the following equations and select the top   best solutions as the number of the employed bees: where fit  is the fitness function,   is the objective function,  is the simulation length,   is the actual flight data vector, and  is the mean of   .Similarly,   is the vector of the simulated data from the identified model.
Step 3.Each employed bee searches new solution in the neighborhood of the current position vector in the th iteration as follows: where  ∈ {1, . . ., },  ̸ = , both  and  are randomly generated, and Φ   is a random parameter in the range from −1 to 1.In order to ensure that the algorithm evolves to the global optimal, we apply the following greedy selection equation to choose the better solution between V   and    into the next generation: Step 4. Each unemployed bee selects an employed bee to trace according to the parameter of probability value.The formula of the probability method is described as Step 5.The unemployed bee searches in the neighborhood of the selected employed bee's position to find new solutions.Update the current solution according to their fitness.
Step 6.If the search time trial is larger than the predetermined threshold limit and the optimal value cannot be improved, then the location vector can be reinitialized randomly according to the following equation: Step 7. Store the best solution, and conduct the chaotic search around the best solution.Among the engendered series of solutions, the best one can be selected to replace a random employed bee.The chaotic operator is written as follows: where chaotic sequence   is mapped into the optimization vector x .And x is located in the circle with center of   and radius of   .
Step 8. Output the best solution parameters achieved at the present time, and go back to the Step 3 until termination criterion  max is met.
The detailed procedure of CABC algorithm for system identification can be depicted in Figure 3.

Model Validation and Analysis
4.1.Flight Data Collection and Processing.The entire experiments are implemented on a TREX 600 RC model helicopter platform equipped with flight control system, GPS, camera, and so forth (Figure 4), and the general physical parameters are shown in Table 1.
To get the data of attitude angles and angular velocities in experiment, an instrument IMU (inertial measurement unit) consisting of a three-axis accelerometer, a three-axis gyroscope, and a three-axis magnetometer was installed in the flight control system module.A brief photo of the flight control system components is shown in Figure 5.And the specifications of the components are given in Table 2.It should be noted that the flight control module is only used for obtaining flight data.
In addition, a low-cost GPS module installed on the aluminium board is kept on the bottom of the helicopter due to the short cable, which may result in poor satellite reception and inaccurate data.The appearance of the GPS module is shown in Figure 6.Some key specifications of the module are listed in Table 3.
Due to the structural vibrations from main rotor, a shock absorber is installed below the flight control system module, as shown in Figure 7.And the specifications of the shock absorber are shown in Table 4. Initialization N s , T max , limit with p i T > T max ?
Calculate fit i and select Calculate fit i and update the trial > limit?
Figure 3: The procedure of CABC method.In the flight experiment, five servos are used to control the longitudinal cyclic input, lateral cyclic input, collective, pedal, and throttle, respectively.The pilot excites each of the system channels (roll, pitch, yaw, and collective) with a series of inputs while making the helicopter fly in hover.The control inputs and relative raw outputs were sampled with 50 Hz frequency and recorded in a 1 GB SD card.Since there are various errors in flight tests, such as wind disturbance, installation error, and motor error, it is necessary   to preprocess the flight data before identification.In order to remove outliers and attenuate the effect of interference signal, a five-point average FIR filter is adopted to smooth the raw data  = [ 1 , . . .,   ]  according to the following equation: where  = 3, . . .,  − 2 and  = [ 1 , . . .,   ]  is the data for identification after preprocessing through the aforementioned FIR filter.The principle of the five-point average FIR filter is the use of the least square method to smooth the discrete data.In the flight experiment, the size of the flight data collected is far more than 5, and two adjacent points before and after each data point are approximated by a three-order polynomial with the least square method.The more the number of using ( 18) is, the smoother the curves will be.It should be noted that excessive use of (18) to smooth the raw data can lead to the error of the system identification increasing.According to [19], the performance of algorithm is based on the population size of colony bees.As the population size increases, the algorithm produces better results.However, after a sufficient value for colony size, any increment in the value does not improve the performance of the algorithm significantly.The control parameter limit is related to the local vector reinitialized frequency.As the value of limit approaches to infinity, the total number of local vector reinitialized goes to zero.After many trials, in this paper, we set the parameters of traditional ABC and CABC as follows:   = 20, Limit = 5.Moreover, a GA algorithm [16] is also used to identify the helicopter models, and the parameters selection is similar to ABC algorithm.The optimal parameters, that is, population size, crossover probability, and mutation probability, are chosen as 20, 0.8, and 0.2.All the above algorithms are run 20 times, the performance comparison of the three different identification methods is presented as the three-axis linear velocities, threeaxis angular velocities, and Euler angles illustrated in Figures 8-10.The results show that the estimated data by applying the three proposed algorithms have the same trend as To further prove the performance of the CABC against the other algorithms, the match degree  between the measured data  and estimated data λ is governed by the following equation, and the results are listed in Table 6:  From the Table 6, we can clearly see that the match degree of the identification results produced by our proposed algorithm is better than those of other algorithms.For example, the match degree of pitch rate by applying the CABC can be improved 8 percent and 22 percent compared to applying ABC and GA methods, respectively.It should be noted that our proposed algorithm has a great ability to find the global optimum with high accuracy.

Experiment and
Figure 11 shows the evolution curves of CABC, ABC, and GA regarding (12).The figure demonstrates that the fitness function increases as the generation iterates with time, gradually converging to an optimal result.Compared with GA and ABC, CABC achieves a better result with higher fitness value after 20 iterations.It can be seen from the result that the chaotic operator cannot only avoid the traditional ABC being trapped in a local optimum but also improve its robustness and efficiency.

Conclusion
In this paper, the small-scale unmanned helicopter nonlinear model development and extraction of linearized model have been presented.Based on the flight data collected from flight experiment, we use a novel identification algorithm CABC including ABC method and chaotic operator to identify the unknown parameters of the two decoupled linear models.Furthermore, the evolutionary curves show that CABC can get a better fitness value when compared with GA and ABC.Simulation results verify the effectiveness, feasibility, and robustness of our proposed algorithm.
In the future, we will continue to study the design of control law based on our identified model.

Figure 1 :
Figure 1: TREX 600 states in body-fixed coordinate frame system.

Figure 2 :
Figure 2: Loss of chaotic property at three specific initial points.

Figure 5 :
Figure 5: Flight control system in our helicopter.

Figure 6 :
Figure 6: The appearance of GPS module.

Figure 8 :
Figure 8: Comparison of the actual and estimated velocities responses.

Table 1 :
General physical parameters of TREX 600 helicopter.

Table 2 :
Specifications of the flight control system components.

Table 3 :
Specifications of GPS module.

Table 4 :
Specifications of damping plate.

Table 5 :
The values of identified parameters.

Table 6 :
Comparison of math degrees.