Journal of Sensors

Volume 2015, Article ID 509143, 17 pages

http://dx.doi.org/10.1155/2015/509143

## Triaxial Accelerometer Error Coefficients Identification with a Novel Artificial Fish Swarm Algorithm

^{1}Institute of Inertial Navigation and Measurement & Control Technology, College of Automation, Harbin Engineering University, Harbin, Heilongjiang 150001, China^{2}Navigation and Instrumentation Research Group (NavINST), Department of Electrical and Computer Engineering, Queen’s University, Kingston, ON, Canada K7L 3N6^{3}China Aerospace Science and Technology Corporation, No. 16, Xi’an, Shanxi 710001, China

Received 4 March 2015; Accepted 13 May 2015

Academic Editor: Jong-Jae Lee

Copyright © 2015 Yanbin Gao et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Artificial fish swarm algorithm (AFSA) is one of the state-of-the-art swarm intelligence techniques, which is widely utilized for optimization purposes. Triaxial accelerometer error coefficients are relatively unstable with the environmental disturbances and aging of the instrument. Therefore, identifying triaxial accelerometer error coefficients accurately and being with lower costs are of great importance to improve the overall performance of triaxial accelerometer-based strapdown inertial navigation system (SINS). In this study, a novel artificial fish swarm algorithm (NAFSA) that eliminated the demerits (lack of using artificial fishes’ previous experiences, lack of existing balance between exploration and exploitation, and high computational cost) of AFSA is introduced at first. In NAFSA, functional behaviors and overall procedure of AFSA have been improved with some parameters variations. Second, a hybrid accelerometer error coefficients identification algorithm has been proposed based on NAFSA and Monte Carlo simulation (MCS) approaches. This combination leads to maximum utilization of the involved approaches for triaxial accelerometer error coefficients identification. Furthermore, the NAFSA-identified coefficients are testified with 24-position verification experiment and triaxial accelerometer-based SINS navigation experiment. The priorities of MCS-NAFSA are compared with that of conventional calibration method and optimal AFSA. Finally, both experiments results demonstrate high efficiency of MCS-NAFSA on triaxial accelerometer error coefficients identification.

#### 1. Introduction

Artificial fish swarm algorithm (AFSA) is one of the state-of-the-art swarm intelligence approaches, which was proposed by Li et al. [1]. AFSA is inspired by the autonomous collective movement of the fishes and their various social behaviors. It has characteristics of global search, quick convergence rate, and efficient search based on modern elicitation methods. After the AFSA appears, it offers new ideas to solve the optimization problems in signal processing [2, 3], neural network classifiers [4, 5], data mining and clustering [6, 7], multiobjective optimization [8], PID controller parameters optimization [9], and so forth.

Nevertheless, the standard AFSA (SAFSA) has not been extensively considered by researchers, due to its complexity in comparison with other swarm intelligence algorithms in this domain. Particularly, concerning particle swarm optimization (PSO), the results of SAFSA are not better than those of PSO [10]. PSO is another swarm intelligence algorithm that simulates natural evolutionary processes to solve complex optimization problems. It has been successfully utilized in optimization problems, such as the multidimensional knapsack problem, the economic and economic statical designs, and the complex network reliability problem [11–16]. However, the reasons for SAFSA’s inefficiency are high structural and computational complexities, lack of using previous experiences of the swarm individuals, and lack of appropriate balance between exploration and exploitation during optimization process [17–20]. According to these issues, a novel AFSA, called NAFSA, is introduced to conquer the weaknesses of SAFSA. For this purpose, different stages of AFSA are modified to eliminate the demerits and thus improve the efficiency of AFSA. The modifications include reducing the structural complexity as well as the computational complexity of SAFSA, determining a balance between the exploration and exploitation during optimization process, and adopting previous experiences of the swarm individuals to improve the optimization performance.

Triaxial accelerometer is widely utilized in military and civilian fields [21]. It is used for measuring the carrier’s acceleration in three-dimensional (3D) space. Meanwhile, combined with the angular rate sensor-gyroscope, accelerometer-based strapdown inertial navigation system (SINS) could calculate high-resolution 3D navigation information (position, velocity, and attitude) [22, 23]. However, the accelerometer error coefficients have to be identified accurately before it is adopted in SINS mechanization. Otherwise, the overall performance of accelerometer-based SINS would deteriorate greatly. So it is of great importance to calibrate the accelerometer error coefficients accurately [24, 25]. Traditionally, high-precision turntable, which is relatively expensive for civilian fields, is utilized to identify the accelerometer error parameters. Therefore, study on the accelerometer error coefficients without the aid of turntable becomes a hot research topic in recent years.

At present, the optimal AFSA (OAFSA) with improvement on and parameters has been utilized for fiber optical gyroscope random drift modeling by Wang et al. [26]. Meanwhile, the OAFSA is used for the real-time ring laser gyroscope bias temperature error compensation by Yu et al. [27]. Moreover, Gao et al. [18–20] have successfully adopted the OAFSA to calibrate the error parameters of accelerometer and fiber optical gyroscope (FOG) and verified the feasibility of the OAFSA on the accelerometer and FOG error coefficients recalibration. However, the OAFSA only makes the modification on the artificial fishes (AFs) and parameters to balance the exploration and exploitation during optimization process and also adopts the secondary initialization method after certain times of AFSA optimization manually. But the structural and computational complexities of the algorithm remain and the AFs previous experiences are not utilized for improving the convergence rate. Therefore, solving these issues and letting the NAFSA recalibrate the accelerometer error coefficients are of great importance to improve the overall navigation performance of accelerometer-based SINS.

Monte Carlo simulation (MCS) is a broad class of computational algorithms that relies on repeated random sampling to obtain numerical results [28]. With MCS method, the computational results are closer to real conditions. So we adopt the MCS method to increase the credibility of the accelerometer error coefficients, which are optimized by NAFSA. Moreover, it also has the priority of reducing workload and costs over conventional high-precision turntable calibration method. Therefore, the hybrid MCS-NAFSA technique that is based on MCS and NAFSA is the main contribution to the research on the recalibration of the accelerometer error parameters.

In conclusion, the advantages of the MCS-NAFSA for accelerometer error parameters identification are (1) that the algorithm’s computational complexity is decreased to release the high computational cost, (2) that the algorithm’s convergence rate is improved by adopting AFs’ previous experiences during AFs optimization process, (3) that no external reference information is introduced during the identification process, and (4) that the high workload and costs in conventional calibration method are reduced greatly.

The rest of this paper is organized as follows. In Section 2, the SAFSA and its disadvantages on triaxial accelerometer error parameters identification are presented. Section 3 is briefly dedicated to the OAFSA and the secondary initialization method on triaxial accelerometer error parameters identification. The NAFSA’s parameters and behaviors are described in detail in Section 4. Section 5 explains the triaxial accelerometer error parameters with MCS-NAFSA implementation procedures. After that, the simulation of triaxial accelerometer error parameters by MCS-NAFSA is conducted, and the results are discussed in Section 6. Next, the static 24-position triaxial accelerometer verification experiment and the accelerometer-based SINS navigation experiment with accelerometer error parameters identified by MCS-NAFSA are demonstrated in Section 7. Section 8 concludes this paper.

#### 2. Standard Artificial Fish Swarm Algorithm (SAFSA)

##### 2.1. Parameters of SAFSA

AFSA is one of the swarm intelligence methodologies and evolutionary optimization techniques and its framework is based on functions that are inspired by social behaviors of fishes in the nature. Generally, fishes move to the areas that have more food by AFs individual or swarm search. AF model is depicted by prey, swarm, free move, and following behaviors. AFs food consistency degree in a specific area is the AFSA objective function. Finally, the AFs approach the maximum food density point.

The state of AF is denoted as vector , and are the optimization variables. Current food consistency degree of AF in position can be expressed as objective function . is the sight field of AFs and denotes the maximum length of each AF movement. The distance between two AFs in and positions is represented by Euclidean Distance . Moreover, the best AF position is loaded in and* crowd factor * is AFs’ crowd degree within their range. In the following subsection, behaviors of AFs will be described in detail.

##### 2.2. Behaviors of SAFSA

###### 2.2.1. Prey Behavior

In nature, fishes search for food or position with more food. Normally, we choose the position that is within the range of AF randomly. Then, position is calculated by

Afterward, the food consistency degree in positions and is calculated, respectively. If , AF moves one forward from its current position towards , which is performed by where is a -dimensional vector and represents a transfer vector from to and when divided by , a unit vector is generated from towards . Random function generates a random number which causes AF to move towards position with a random percentage of . Nevertheless, if , we choose another position by (1) and evaluate its food density, whether forward move condition is satisfied or not. After times, AF does not succeed in satisfying forward condition. The AF performs free move behavior and moves one in searching space randomly.

###### 2.2.2. Swarm Behavior

One of the features of fishes as a swarm is that they always try to move along other swarm members, which causes fish swarm to scatter, and the generality of the swarm is kept. In AFSA, in order to maintain the swarm generality, AFs try to move to the center position of the searching space in each of the iterations. The central position of swarm is expressed as

In (3), vector represents the arithmetic average of all the AFs swarm. Suppose is the population size and is the number of AFs in field (i.e., ) around position; if and , center position has better food density than current position and the population crowd degree in its neighborhood is not crowded, so AF moves towards central position:

If or the movement condition towards central position is not satisfied, prey behavior is performed by AF alternatively.

###### 2.2.3. Following Behavior

During the AFs moving process, when the fishes find food, neighbor fishes follow them to search for food. When the current AF in position checks its neighbor , if is the number of AFs in field (i.e., ) around , and if and (i.e., AF in position has better food density than current position and the population density around its neighborhood is not crowded), AF moves one towards by the following equation:

If AF has no neighbors or none of its neighbors satisfy the following conditions, prey behavior would be performed by AF optionally.

###### 2.2.4. Free Move Behavior

AFs would move freely when they are not successful in finding food. In AFSA, the AFs would move a random in search space in this no-more-food condition, so it could be represented as

The free move behavior is necessary to maintain the diversity of AFs swarm when the AFs search for a better position in problem space.

##### 2.3. Demerits of SAFSA in Accelerometer Error Coefficients Identification

According to the characteristics of SAFSA, there are some demerits for its application to the recalibration of accelerometer error parameters [18–20]. The first one is that the AFs are lacking the application of previous experiences, which would lead the AFs to falling into local extreme during optimization process. Consequently, the SAFSA-identified accelerometer error parameters are not the optimal values. The second one is that the SAFSA lacks the balance between exploration and exploitation during optimization process, which deteriorates the convergence rate and accuracy of the AFs. Hence, it decelerates the accelerometer error coefficients optimization process and reduces the optimal precision. The last demerit is that the computational cost of SAFSA is high, which will cost more memory loads during optimization process. So it is unsuitable for accelerometer-based SINS with high real-time computational requirements. Therefore, these disadvantages should be eliminated before the AFSA is applied to the accelerometer error coefficients identification.

#### 3. Optimal Artificial Fish Swarm Algorithm (OAFSA)

According to the AFSA for accelerometer error coefficients identification, the mentioned drawbacks in Section 2.3 should be avoided. At present, the varied and parameters are used to improve the algorithm’s precision and convergence rate [29]. Moreover, the secondary initialization method is also utilized for higher precision accelerometer error parameters identification [18, 20].

##### 3.1. Parameters Variation on AFSA

The SAFSA has fixed value on both and parameters, which restrict AFSA’s precision and convergence rate in accelerometer error parameters identification greatly. When the initialization value of parameters and is relatively large, the exploration ability of AFSA is enhanced while the exploitation ability is weakened. Conversely, if the and parameters are relatively small, AFSA’s exploration ability is weakened and the exploitation ability of the algorithm is enhanced during the optimization process [18–20]. Therefore, varied and parameters are adopted:where and denote the current iteration times and the maximum iteration times during the optimization process. And denotes the attenuation function, which could balance the exploration and exploitation abilities during the overall optimization process. At the beginning stage of the optimization process, the and parameters are relatively large. So the AFs exploration ability is greater than the exploitation ability and the AFs could find a better position in a relatively large space, while, with the increase of the iterations, the parameter is less than ever; both and parameters become less with the increase of iterations. Therefore, the AFs exploration ability is weakened and exploitation ability is enhanced, and the AFs could implement higher precision with more local optimization time.

##### 3.2. The Secondary Initialization Method

After dozens of iterations, the objective or indicator function starts to present divergence tendency because the AFs fall into the local extreme by unsuccessful prey behavior [26]. The former AFs parameters and the optimized accelerometer error parameters have reached their limits to implement higher precision during optimization process. In this case, the secondary initialization method is utilized to the AFs swarm and the related accelerometer error parameters identification procedures [18–20]. Firstly, observe the variation tendency of indicator function until it presents divergence tendency, which is caused by unsuccessful prey behavior. And then, store all the AFs parameters and the corresponding accelerometer error coefficients when the indicator function reaches the lowest point. After that, reload the changed AFs parameters and former saved accelerometer error coefficients manually, which were obtained from the former optimization process. Finally, execute the AFSA optimization process again and let the optimal indicator function reach higher optimization precision. However, in secondary initialization method, the selection of the lowest indicator function point at first stage is artificially aided. The reload process of AFs parameters and accelerometer error coefficients are also completed manually. This means the method is nonautonomous during optimization process.

##### 3.3. Demerits of OAFSA in Accelerometer Error Coefficients Identification

When OAFSA is used for accelerometer error parameters identification, only the second drawback of SAFSA is eliminated, but the other two drawbacks are not avoided during the optimization process. Moreover, by inducing the secondary initialization method, the lowest indicator function point selection at the first stage is artificially aided. The reload process of AF parameters and accelerometer error coefficients are completed manually. This means the method is nonautonomous during the optimization process. Therefore, there are also some shortcomings when OAFSA is applied to accelerometer error parameters identification.

#### 4. Novel Artificial Fish Swarm Algorithm (NAFSA)

##### 4.1. Parameters of NAFSA

In order to solve the abovementioned demerits of SAFSA and the OAFSA when they are applied in accelerometer error coefficients identification, a novel artificial fish swarm algorithm is proposed. At first, the* Contraction Factor* (CF) parameter is adopted to substitute the parameters of and* crowd factor*. Moreover, the simplification on fish swarm behaviors is also elucidated, and prey and free move behaviors are combined with some changes in a specific behavior, which is called individual behavior. And also there is another behavior called group behavior, which substitutes the following and swarm behaviors.

Suppose that there are artificial fishes in -dimensional space, and the position of AF could be expressed as . AFs’ could be denoted as vector , and the dimension of every vector is determined by the inner coverage of searching space dimension. Therefore, the NAFSA could use different in various space ranges. The components of vector are divided into many parts which make the AFs perform better global optimization ability. So the NAFSA has higher precision in global extreme optimal ranges. The CF parameter is introduced to NAFSA for choosing different values in different optimal phases, which is an integer less than 1, whether a constant or a function. Previously, the* inertial weight* parameter was presented in particle swarm optimization (PSO) for balancing the exploration and exploitation ability during optimization process [30]. The CF in NAFSA has the similar function to* inertial weight* in PSO. Here, we use random function to generate the CF in all iteration process, which is expressed as

The above equation generates a random CF in range . Therefore, the th element of vector in each iteration process could be expressed as

Next, the NAFSA behaviors will be discussed.

##### 4.2. Behaviors of NAFSA

###### 4.2.1. Individual Behavior

The individual behavior is made up of prey and free move behaviors. The AF in position tries several times of movement to a better position. In each iteration process, AF will occupy the position by (1) and then evaluate its food density. If , then the next position of AF is represented as

Because the position is within the range of AF , the movement distance of AF would be less than or equal to vector in the same dimension. If , the AF will move to better positions with several times’ iteration by (10) or (1) and (10). However, if is satisfied, the AF would not move towards and it will find a better position from its previous position. Therefore, when performing single individual behavior, the AF could find a better position by trying several times. Otherwise, if AF could not find a better position after all attempts, the AF could move a randomly within its range:

In NAFSA, each AF moves towards a better position by individual behavior. But when it failed, it will perform random behavior within its range and may discard its previous position, which may find a worse position in searching space. Nevertheless, in order to keep the AF swarm diversity and find a better position in later optimal behavior, performing the random behavior is necessary for the AF. Moreover, the AF position searched by random behavior would not be used in the best AF position, so the best AF position would not be lost even if the AF could not find better position. In this case, the best AF position is what has been searched for previously. Therefore, in NAFSA, the current AF position is the best position, so the parameter is no longer a necessity.

###### 4.2.2. Group Behavior

To keep the swarm characteristics of all the fishes and make the moving of AF to the best position are the two main targets in group behavior. The center position of AF swarm is obtained by (3). If is satisfied, then the next position of AF is

in (12) is a vector, and the random function generates a -dimensional random number. If , the AF could not move towards center position, while it could move towards the best position in searching space:

Therefore, the AFs in a worse position would move towards center position by comparing with center position. When the position is better than center position, it will move towards best AF swarm position. Therefore, all the AFs will reach the best position by performing a group behavior. Consequently, in NAFSA, the best position searched by fish swarm would be adopted to accelerate the convergence rate with all AFs’ movement. So the group behavior is used to maintain the fishes swarm characteristics and avoid reducing in swarm diversity.

In group behavior, the center position AF may have better food density (indicator function) than best AF position. AF moves towards center position by (12), but worse position may exist between current position and center position. Then the AF position may get worse or even lose its best position by executing (12). Therefore, if the indicator function of center position is better than best AF position, the best AF position is determined by the following equation:

The above equation is executed only when , while the other AFs’ movement by using (12) helps to maintain the diversity of the fish swarm.

#### 5. Triaxial Accelerometer Error Coefficients Identification by NAFSA

In this section, the triaxial accelerometer static error model will be demonstrated at first. And then the optimization indicator function derivation process is given in detail. Finally, the triaxial accelerometer error coefficients identification procedures with NAFSA will be provided specifically.

##### 5.1. Static Error Model of Triaxial Accelerometer

The purpose of the error coefficients identification is to identify accelerometer error parameters quickly and accurately. There are various identification methodologies for triaxial accelerometer error parameters [31–35]. The static error model for triaxial accelerometer is shown as follows [35]:where denote the triaxial accelerometer scale factors, denote the triaxial accelerometer axis misalignment errors during installation, denote the triaxial accelerometers output data, denote the turntable alignment axis input linear accelerations, denote the quadratic nonlinear coefficients of triaxial accelerometer, and denote the triaxial accelerometer biases. Therefore, there are totally 15 static error parameters for triaxial accelerometer to be identified by NAFSA.

##### 5.2. Determining of the Optimization Indicator

The NAFSA is terminated in one of the three conditions. The first is when the preset maximum iteration times are reached. The second condition is when the optimization indicator function during optimization process is below predefined threshold. The third condition is that when performing the next iteration, the deviation of current iteration result and the next iteration result is within an acceptable range. Therefore, the optimization indicator is a key factor for the termination condition of NAFSA optimization process. The following part will present an optimization indicator function for triaxial accelerometer error parameters identification based on NAFSA.

Theoretically, when the static triaxial accelerometer is at arbitrary space position, the accelerometer measured linear accelerations would satisfy the following equation:

In (16), are the theoretical input linear accelerations sensed by triaxial accelerometer in each axis and denotes the Earth gravity vector, which is related to the position on Earth surface.

Actually, because of the errors caused by accelerometer itself, the calculated linear accelerations are different from theoretical values. Therefore, the linear acceleration mode square error (MSE) is adopted to represent the deviation, which is derived from (16), and it is expressed aswhere denote the accelerations calculated from (15) with the stored triaxial accelerometer output data .

Our target by using the NAFSA is to identify the error coefficients of accelerometer precisely and make the linear acceleration MSE as stable as possible. So the standard deviation function is used to evaluate the discrete degree of the accelerometer error coefficients:

In (18), denotes the number of positions during optimization process.

##### 5.3. MCS-NAFSA Implementation Procedures

In this subsection, the implementation procedures of accelerometer error coefficients identification will be explained. Two main steps are conducted to illustrate the NAFSA optimization process. At the beginning, the variation characteristics of the 15 error coefficients in triaxial accelerometer are discussed and a clustering process is described on different triaxial accelerometer error parameters. After that, the specific MCS-NAFSA accelerometer error coefficients identification procedures are presented step by step.

###### 5.3.1. Accelerometer Error Coefficients Clustering

In 15 triaxial accelerometer error coefficients’ identification, different error coefficients have different influences on the linear acceleration MSE and also the NAFSA requires all the AFs to have similar characteristics during optimization process. Therefore, the clustering on accelerometer error coefficients is a necessity before the accelerometer error coefficients identified by NAFSA.

Thinking about the different error coefficients’ influences on linear acceleration MSE and based on our previous experiences, the accelerometer scale factors have the highest impacts on linear acceleration MSE, followed by the biases, and then the accelerometer axis misalignment errors, and the last parameters are accelerometer quadratic nonlinear coefficients. So accelerometer error coefficients are divided into four different categories. They are 3 accelerometer scale factors as category one, 3 accelerometer biases as category two, 6 accelerometer misalignment errors as category three, and 3 accelerometer quadratic nonlinear coefficients as category four. Therefore, when adopting MCS-NAFSA to identify the accelerometer error parameters, there are four main steps of optimization process that should be conducted to implement the highest precision.

###### 5.3.2. MCS-NAFSA Accelerometer Procedures

Through the discussion in Section 5.3.1, within NAFSA accelerometer procedures, the accelerometer error coefficients identified by NAFSA is mutually independent in different categories. Hence, pseudocode of four phases of optimization process is shown in Algorithm 1, accelerometer NAFSA.