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

Authors: Li Ding; Hongtao Wu; Yu Yao
Journal: International Journal of Aerospace Engineering
 (2015)

---

## Abstract

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.


---

## Body

## 1. 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–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 Section2, 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.


## 2. 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: (1)u˙v˙w˙=1mF-pqr·uvw,p˙q˙r˙=I-1M-pqr·Ipqr,where u,v,wT and p,q,rT are the linear velocity and the angular velocity in BF; F and M denote the external force matrix and moment matrix acting on the center of mass of the helicopter, respectively; m is the helicopter mass; I is the inertial moment matrix about the reference axes.Figure 1
TREX 600 states in body-fixed coordinate frame system.The rotation matrixR(Θ) is defined by the yaw-pitch-roll Euler angles and maps vectors from BF to Earth-fixed coordinate frame (EF). R(Θ) is governed by the equation:(2)RΘ=cθcψsϕsθcψ-cϕsψcϕsθcψ+sϕsψcθsψsϕsθsψ+cϕcψcϕsθsψ-sϕcψ-sθsϕcθcϕcθ,where sα and cα 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:(3)ϕ˙θ˙ψ˙=1sϕsθcθcϕsθcθ0cϕ-sϕ0sϕcθcϕcθpqr.There are four control commands associated with helicopter piloting. The control inputs are defined asu=[ulat,ulon,ucol,uped]T, where ulat and ulon are the lateral and longitudinal cyclic rotor control inputs, ucol is the collective pitch control input, and uped 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]:(4)a˙sb˙s=-asτs+k1p-q+Alatulat-bsτs-k1q-p+Blonulon,where as and bs are the longitudinal and lateral main rotor flapping angles, τs is the effective rotor time constant, and Alat, Blon, and k1 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 rfb is added to account for the effect of the tail gyro:(5)rfbr=krs+kfb,where kr and kfb 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(6)x˙=fx,u,where x is a vector of 12 states written as x=[u,v,ϕ,θ,ψ,q,p,as,bs,w,r,rfb]T.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 ψ˙≈r. 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](7)δx˙hor=Ahorδxhor+Bhorδuhor,δx˙ver=Averδxver+Bverδuver,where δ is the perturbation from the trim condition, and the related matrices of the above models can be found as follows: (8)Xhor=u,v,θ,ϕ,q,p,as,bsT;uhor=ulat,ulonT;Xver=w,r,rfbT;uver=ucol,upedT;Ahor=Xu0-g000-g00Yv0g000g0000100000000100MuMv00Mq0MaMbLuLv000LqLaLb0000-1k1-1τs00000-k1-10-1τs;Bhor=Xlat00Ylon0000MlatMlonLlatLlonAlat00Blon;Aver=ZwZr0NwNrNfb0kr-kfb;Bver=ZcolZpedNcolNped00.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 Nfb=-Nped and kfb=-2Nr are accepted in this paper.


## 3. 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(9)xm+1=μxm1-xm.In the equation, m 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 x would give rise to very large differences in its long-term behavior [27]. In this case, the variable x is called chaotic variable and the series x1,…,xm 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≤xm≤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.Figure 2
Loss of chaotic property at three specific initial points.


### 3.2. 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 asNs, the number of employed bees as Ne, and the number of unemployed bees as Nu, which satisfies the relation Ns=2Ne=2Nu. We also define D 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(x1,…,xNs), and the particular solution xi can be governed by(10)xij=xminj+rand⁡0,1xmaxj-xminj,where j∈{1,…,D} donates the jth dimension of the solution vector. xminj and xmaxj mean the lower and upper bounds, respectively.Step 2.
Apply a specific function to calculate the fitness of the solutionxi according to the following equations and select the top Ne best solutions as the number of the employed bees:(11)Fi=∑i=1Nyi-ymiyi-y-,(12)fiti=11+Fi,where fiti is the fitness function, Fi is the objective function, N is the simulation length, yi is the actual flight data vector, and y- is the mean of yi. Similarly, ymi 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 thenth iteration as follows:(13)vij=xij+Φijxij-xkj,where k∈{1,…,D}, k≠i, both k and j are randomly generated, and Φij 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 vij and xij into the next generation: (14)xij=vij,fitvij>fitxijxij,fitvij≤fitxij.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(15)pi=fiti∑i=1Nefiti.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 timetrial 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: (16)xin+1=xmin+rand⁡0,1xmax-xmin,trial>limitxin,trial≤limit.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:(17)x~m=xi+Ri2xm-1,where chaotic sequence xm is mapped into the optimization vector x~m. And x~m is located in the circle with center of xi and radius of Ri.Step 8.
Output the best solution parameters achieved at the present time, and go back to the Step3 until termination criterion Tmax is met.The detailed procedure of CABC algorithm for system identification can be depicted in Figure3.Figure 3
The procedure of CABC method.


## 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(9)xm+1=μxm1-xm.In the equation, m 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 x would give rise to very large differences in its long-term behavior [27]. In this case, the variable x is called chaotic variable and the series x1,…,xm 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≤xm≤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.Figure 2
Loss of chaotic property at three specific initial points.


## 3.2. 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 asNs, the number of employed bees as Ne, and the number of unemployed bees as Nu, which satisfies the relation Ns=2Ne=2Nu. We also define D 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(x1,…,xNs), and the particular solution xi can be governed by(10)xij=xminj+rand⁡0,1xmaxj-xminj,where j∈{1,…,D} donates the jth dimension of the solution vector. xminj and xmaxj mean the lower and upper bounds, respectively.Step 2.
Apply a specific function to calculate the fitness of the solutionxi according to the following equations and select the top Ne best solutions as the number of the employed bees:(11)Fi=∑i=1Nyi-ymiyi-y-,(12)fiti=11+Fi,where fiti is the fitness function, Fi is the objective function, N is the simulation length, yi is the actual flight data vector, and y- is the mean of yi. Similarly, ymi 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 thenth iteration as follows:(13)vij=xij+Φijxij-xkj,where k∈{1,…,D}, k≠i, both k and j are randomly generated, and Φij 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 vij and xij into the next generation: (14)xij=vij,fitvij>fitxijxij,fitvij≤fitxij.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(15)pi=fiti∑i=1Nefiti.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 timetrial 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: (16)xin+1=xmin+rand⁡0,1xmax-xmin,trial>limitxin,trial≤limit.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:(17)x~m=xi+Ri2xm-1,where chaotic sequence xm is mapped into the optimization vector x~m. And x~m is located in the circle with center of xi and radius of Ri.Step 8.
Output the best solution parameters achieved at the present time, and go back to the Step3 until termination criterion Tmax is met.The detailed procedure of CABC algorithm for system identification can be depicted in Figure3.Figure 3
The procedure of CABC method.


## 4. 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 (Figure4), and the general physical parameters are shown in Table 1.Table 1
General physical parameters of TREX 600 helicopter.
Physical quantities
Value
Rotor speed
2200 rpm
Full length of fuselage
1.16 m
Main rotor diameter
1.35 m
Total weight
6.4 kgFigure 4
TREX 600 helicopter and flight experiment.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 Figure5. 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.Table 2
Specifications of the flight control system components.
Specification
Sending range
Acceleration range
±19.6 m/s2
Angular rate range
±200 deg/s
Magnetometer range
±0.75 G
Roll∖pitch accuracy
0.005 rad
Yaw accuracy
0.012 rad
Size
65 mm × 42 mm × 13 mm
Weight
58 gFigure 5
Flight control system in our helicopter.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 Figure6. Some key specifications of the module are listed in Table 3.Table 3
Specifications of GPS module.
Specification
GPS module
Position accuracy
1 m
Update rate
18 Hz
Sensitivity
−167 dBm
Time to first time
1 s (Hot)∖26 s (cold)
Size
ϕ54 mm × 15 mm
Weight
30 gFigure 6
The appearance of GPS module.Due to the structural vibrations from main rotor, a shock absorber is installed below the flight control system module, as shown in Figure7. And the specifications of the shock absorber are shown in Table 4.Table 4
Specifications of damping plate.
Specification
Shock absorber
Material
Glass fiber
Size of lower plate
100 mm × 69 mm × 1.5 mm
Size of upper plate
91 mm × 61 mm × 1.5 mm
Net weight
22 g
Package weight
70 gFigure 7
Shock absorber.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 dataY=[y1,…,ym]T according to the following equation:(18)y-1=17069y1+4y2+y4-6y3-y5,y-2=1352y1+y5+27y2+12y3-8y4,y-i=135-3yi-2+yi+2+12yi-1+yi+1+17yi,y-m-1=1352ym-4+ym-8ym-3+12ym-2+27ym-1,y-m=170-ym-4+4ym-3+ym-1-6ym-2+69ym,where i=3,…,m-2 and Y-=[y-1,…,y-m]T 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.


### 4.2. Experiment and Simulation

System identification procedures are carried out with CABC in Matlab 2012b programming environment on an Intel Core i7-3770 PC running Windows 7. No commercial tools are used.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: Ns=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, three-axis 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 the measured data. Nonetheless, it turns out that the simulation results generated by CABC approximate the actual test data best. The parameters identified by our proposed algorithm are listed in Table 5.Table 5
The values of identified parameters.
Parameter
Value
X
u
−0.1064
Y
v
−0.02873
M
u
−0.1215
M
v
0.3012
M
q
0.2456
M
a
−1.2648
M
b
−23.1095
L
u
1.0106
L
v
−0.9456
L
p
−8.0143
L
a
62.5780
L
b
78.3182
k
1
0.0510
τ
s
−7.2351
X
lat
−5.8015
Y
lon
7.2462
M
lat
−4.0126
M
lon
−8.5145
L
lat
9.2156
L
lon
−5.6877
A
lat
6.4578
B
lon
−5.2111
Z
w
−7.1048
Z
r
2.0663
N
w
−1.3975
N
r
0.4905
N
fb
−0.7884
k
r
4.5578
k
fb
−0.9810
Z
col
−8.0137
Z
ped
7.0868
N
col
11.5558
N
ped
0.7884Figure 8
Comparison of the actual and estimated velocities responses.
(a)
Longitudinal velocity response
(b)
Lateral velocity response
(c)
Heave velocity responseFigure 9
Comparison of the actual and estimated velocities responses.
(a)
Pitch rate response
(b)
Roll rate response
(c)
Yaw rate responseFigure 10
Comparison of the actual and estimated angles responses.
(a)
Pitch angle response
(b)
Roll angle responseTo 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:(19)ρ=1-λ^-λλ×100%.Table 6
Comparison of math degrees.
Parameter
GA
ABC
CABC
u
74.64%
77.15%
78.91%
v
72.36%
75.41%
79.67%
w
65.86%
63.84%
68.80%
q
52.97%
67.26%
75.02%
p
66.12%
56.37%
69.88%
r
40.23%
53.97%
62.35%
θ
67.78%
65.65%
72.06%
ϕ
75.73%
78.14%
79.62%From the Table6, 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.Figure11 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.Figure 11
Evolutionary curves of CABC, ABC, and GA.


## 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 (Figure4), and the general physical parameters are shown in Table 1.Table 1
General physical parameters of TREX 600 helicopter.
Physical quantities
Value
Rotor speed
2200 rpm
Full length of fuselage
1.16 m
Main rotor diameter
1.35 m
Total weight
6.4 kgFigure 4
TREX 600 helicopter and flight experiment.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 Figure5. 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.Table 2
Specifications of the flight control system components.
Specification
Sending range
Acceleration range
±19.6 m/s2
Angular rate range
±200 deg/s
Magnetometer range
±0.75 G
Roll∖pitch accuracy
0.005 rad
Yaw accuracy
0.012 rad
Size
65 mm × 42 mm × 13 mm
Weight
58 gFigure 5
Flight control system in our helicopter.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 Figure6. Some key specifications of the module are listed in Table 3.Table 3
Specifications of GPS module.
Specification
GPS module
Position accuracy
1 m
Update rate
18 Hz
Sensitivity
−167 dBm
Time to first time
1 s (Hot)∖26 s (cold)
Size
ϕ54 mm × 15 mm
Weight
30 gFigure 6
The appearance of GPS module.Due to the structural vibrations from main rotor, a shock absorber is installed below the flight control system module, as shown in Figure7. And the specifications of the shock absorber are shown in Table 4.Table 4
Specifications of damping plate.
Specification
Shock absorber
Material
Glass fiber
Size of lower plate
100 mm × 69 mm × 1.5 mm
Size of upper plate
91 mm × 61 mm × 1.5 mm
Net weight
22 g
Package weight
70 gFigure 7
Shock absorber.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 dataY=[y1,…,ym]T according to the following equation:(18)y-1=17069y1+4y2+y4-6y3-y5,y-2=1352y1+y5+27y2+12y3-8y4,y-i=135-3yi-2+yi+2+12yi-1+yi+1+17yi,y-m-1=1352ym-4+ym-8ym-3+12ym-2+27ym-1,y-m=170-ym-4+4ym-3+ym-1-6ym-2+69ym,where i=3,…,m-2 and Y-=[y-1,…,y-m]T 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.


## 4.2. Experiment and Simulation

System identification procedures are carried out with CABC in Matlab 2012b programming environment on an Intel Core i7-3770 PC running Windows 7. No commercial tools are used.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: Ns=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, three-axis 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 the measured data. Nonetheless, it turns out that the simulation results generated by CABC approximate the actual test data best. The parameters identified by our proposed algorithm are listed in Table 5.Table 5
The values of identified parameters.
Parameter
Value
X
u
−0.1064
Y
v
−0.02873
M
u
−0.1215
M
v
0.3012
M
q
0.2456
M
a
−1.2648
M
b
−23.1095
L
u
1.0106
L
v
−0.9456
L
p
−8.0143
L
a
62.5780
L
b
78.3182
k
1
0.0510
τ
s
−7.2351
X
lat
−5.8015
Y
lon
7.2462
M
lat
−4.0126
M
lon
−8.5145
L
lat
9.2156
L
lon
−5.6877
A
lat
6.4578
B
lon
−5.2111
Z
w
−7.1048
Z
r
2.0663
N
w
−1.3975
N
r
0.4905
N
fb
−0.7884
k
r
4.5578
k
fb
−0.9810
Z
col
−8.0137
Z
ped
7.0868
N
col
11.5558
N
ped
0.7884Figure 8
Comparison of the actual and estimated velocities responses.
(a)
Longitudinal velocity response
(b)
Lateral velocity response
(c)
Heave velocity responseFigure 9
Comparison of the actual and estimated velocities responses.
(a)
Pitch rate response
(b)
Roll rate response
(c)
Yaw rate responseFigure 10
Comparison of the actual and estimated angles responses.
(a)
Pitch angle response
(b)
Roll angle responseTo 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:(19)ρ=1-λ^-λλ×100%.Table 6
Comparison of math degrees.
Parameter
GA
ABC
CABC
u
74.64%
77.15%
78.91%
v
72.36%
75.41%
79.67%
w
65.86%
63.84%
68.80%
q
52.97%
67.26%
75.02%
p
66.12%
56.37%
69.88%
r
40.23%
53.97%
62.35%
θ
67.78%
65.65%
72.06%
ϕ
75.73%
78.14%
79.62%From the Table6, 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.Figure11 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.Figure 11
Evolutionary curves of CABC, ABC, and GA.


## 5. 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.



---

*Source: 801874-2015-07-21.xml*