Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Next Article in Journal
Efficient and Security Enhanced Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks
Next Article in Special Issue
Performance Analysis of Global Navigation Satellite System Signal Acquisition Aided by Different Grade Inertial Navigation System under Highly Dynamic Conditions
Previous Article in Journal
A Quantitative Risk Assessment Model Involving Frequency and Threat Degree under Line-of-Business Services for Infrastructure of Emerging Sensor Networks
Previous Article in Special Issue
LiDAR-IMU Time Delay Calibration Based on Iterative Closest Point and Iterated Sigma Point Kalman Filter
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Multi-Sensor Fusion Navigation Algorithm Based on the Factor Graph

1
College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 211100, China
2
Satellite Communication and Navigation Collaborative Innovation Center, Nanjing 211100, China
*
Authors to whom correspondence should be addressed.
Sensors 2017, 17(3), 641; https://doi.org/10.3390/s17030641
Submission received: 4 January 2017 / Revised: 13 March 2017 / Accepted: 14 March 2017 / Published: 21 March 2017
(This article belongs to the Special Issue Multi-Sensor Integration and Fusion)

Abstract

:
An integrated navigation system coupled with additional sensors can be used in the Micro Unmanned Aerial Vehicle (MUAV) applications because the multi-sensor information is redundant and complementary, which can markedly improve the system accuracy. How to deal with the information gathered from different sensors efficiently is an important problem. The fact that different sensors provide measurements asynchronously may complicate the processing of these measurements. In addition, the output signals of some sensors appear to have a non-linear character. In order to incorporate these measurements and calculate a navigation solution in real time, the multi-sensor fusion algorithm based on factor graph is proposed. The global optimum solution is factorized according to the chain structure of the factor graph, which allows for a more general form of the conditional probability density. It can convert the fusion matter into connecting factors defined by these measurements to the graph without considering the relationship between the sensor update frequency and the fusion period. An experimental MUAV system has been built and some experiments have been performed to prove the effectiveness of the proposed method.

1. Introduction

In recent years, the use of low-cost miniature unmanned aerial vehicles (MUAVs) for civilian applications has evolved from imagination to actual implementation. Systems have been designed for environmental monitoring, search and rescue, mapping, and mining and post seismic emergency management [1,2,3,4,5]. In order to obtain an acceptable cost/benefit ratio of these systems, there have been many techniques to reduce the cost including the aspects of the sensor, the platform, and the algorithm [6].
However, cost reduction of the sensor can lead to lower stability and accuracy, which is directly related to the reliability of the system. Thus, dependence on a single sensor cannot satisfy the demand and makes it difficult to obtain the accurate response to external environment. Through integrated usage of multiple-source information, people can get more objective and intrinsic knowledge of a certain target [7]. As a matter of fact, multi-sensor integrated navigation is becoming a hot area of research. Many studies focus on the integration of the GPS/INS system with additional sensors such as magnetometers, cameras, ultrasonic sensors, laser scanners, barometers, or earth/sun/star sensors [8]. The combination scheme can make use of all information from these sensors and overcome their limitations, which allows for the provision of reliable navigation solutions [9].
In order to achieve the optimal solution in the integrated navigation, the fundamental problem is information fusion [10]. In general, multi-sensor information fusion is a form of sensor integration, which involves combining the outputs of different sensor systems to obtain a better estimate of what they are sensing according to some fusion rules [11,12]. Nowadays, multi-sensor data fusion has attracted widespread attention, its theory and methods have been applied to a lot of research fields [13,14]. The conventional approach employed in reference [15] uses the centralized Kalman filtering method which processes all of the measurements at a central processor and provide a global optimal estimate. The advantage of this method is that it involves minimal information loss. However, the centralized filter can result in a large computational burden and poor fault tolerance due to overloading of the filter with too many data [16]. To deal with these problems, decentralized information fusion methods [17,18,19] have been developed in fields such as distributed control systems and integrated navigation. In decentralized fusion, a processor at the center of the network is used to manage all nodes. The decentralized fusion algorithms are based on the global optimality criterion, which has reasonable fusion accuracy, good fault-tolerance, and lower computing effort requirements. Among them, the federated Kalman filtering algorithm [20] and the parallel Kalman filtering algorithm [21] are representative. However, if the dimensions of the measurement vector are too high, the order of the measurement noise covariance matrix complicates the calculation of an inverse. Dempster-Shafer theory (DST) is an efficient method to deal with incomplete data coming from different information sources in data fusion [22]. It does not rely on any prior knowledge of the probability distribution. Thus, how to combine the information from different sources, which may be conflicting, becomes a challenging problem in complex decision making. The method referred in reference [23] focuses on the research on sequential decentralized filters. This method saves a great deal of computing time, especially for the systems with some measurement delays within one sampling period, where the updates are operated without waiting for all the data [24]. However, in the practical applications, an MUAV may be equipped with a set of multi-rate sensors, and these sensors generally operate at different frequencies. So it may complicate the processing of these measurements [25]. In addition, the output signals of some sensors appear non-linear in character. How to incorporate these measurements and calculate the optimal navigation solution by fusing all the available information sources has not been fully investigated.
In this paper, based on the principle of the probability graph model, a new approach for information fusion in multi-sensor integrated navigation systems is proposed. At first, the structure of the micro unmanned aerial vehicle system is described and the model for the navigation system is built. Then the details about information fusion method based on the factor graph are presented. An experimental system has been built and experimental results have been designed to prove the effectiveness of the proposed method.

2. System Overview

In this section, the hardware structure of the MUAV system is described. The MUAV has the characteristics of small size and light weight. A multi-sensor navigation system plays a key role in the MUAV system. According to the characteristics of different navigation sensors, the hardware is designed to enhance the expandability of the system. Considering the flexibility and high efficiency of the hardware structure, dual-redundant sensors are used in order to improve performance of the navigation system. The redundant sensors are beneficial for monitoring the health of each sensor if one sensor fails to work. The hardware also consists of the Cortex-M4 core ARM processor, RC signal processing, motor drive circuit, SD card data storage, and the communication interface.
The MUAV is equipped with a variety of sensors, including the GPS receiver, optic flow sensor, sonar sensor, Xbee wireless communication module, electron speed regulator, and motors, etc. Different sensors and their performance are shown as follows.
  • MPU-6000 inertial sensor, including a three-axis MEMS gyroscope and a three-axis accelerometer.
  • HMC5983 magnetometer enables 1° to 2° compass heading accuracy with temperature compensation.
  • MS5611 barometer module, with an altitude resolution of 0.1 m.
  • URM37 sonar module provides 0.04 m–5 m non-contact measurement function, the ranging accuracy can reach to 1 cm.
  • Ublox LEA 6H GPS receiver, with the position accuracy of 2 m.
  • Optical flow sensor processing the pixel resolution of 752 × 480 at 120 (indoor) to 250 Hz (outdoor).
The ground control station used is the advanced open-source ground Control Station software, which can realize 2/3D aerial maps with drag-and-drop waypoints. The SPI bus is used for interfacing the sensor to our microcontroller which makes the measurements available to our ground control station. The hardware structure of the MUAV is shown in Figure 1.

3. System Model for the Navigation System

In order to accomplish the navigation, the system equations of the system can be established. In this system, the local North-East-Down frame is selected as navigation frame.

3.1. State Model of the System

The state variable of the micro unmanned aerial vehicle system can be chosen as follows.
X ( t ) = [ p T v T q T a T g T ]
where p = [ x y z ] T represents the relative position vector to the desired hover position navigation position, v = [ v x v y v z ] T represents the velocity vector, q = [ q 0 q 1 q 2 q 3 ] T represents the attitude quaternion, a = [ a x a y a z ] T is the acceleration random walk term, and g = [ g x g y g z ] T is the gyro random walk term.
The continuous time kinematic navigation equations are given by:
p ˙ = v v ˙ = C b n ( f ˜ b a ω a ) + [ 0 0 1 ] T g q ˙ = 1 2 q ( w ˜ i b b g ω g ) ˙ a = ω b a ˙ g = ω b g
where, [ ω p T ω v T ω b a T ω b g T ω a T ω g T ] are the gaussian white noises.

3.2. Measurement Model of the System

In the MUAV navigation system, the measurement model should be established below.

3.2.1. GPS Measurement Equation

The GPS receiver measures the MUAV’s velocity and position. Hence, the GPS measurement equation is described as Equation (3).
p g p s = p + ω p g p s v g p s = v + ω v g p s
where p g p s , v g p s are measurements of the GPS receiver; and ω p g p s , ω v g p s are the gauss stochastic measurement noise terms.

3.2.2. Barometric Altimeter Measurement Equation

The barometric altimeter is used to measure barometric pressure and translate it into an output of voltage ranging from zero to five volts. The barometric errors vary in accordance with the environment. The observation model of the barometer sensor is given by
h p r e s = h + ω p r e s
where h p r e s is the altitude measured by the barometer, h is the true altitude, and ω p r e s is the white noise of the barometer.
The height measured by the barometric altimeter is relative to the sea level, while the height measured by the GPS receiver is based on the WGS84 coordinate system. There are some differences between them. In practical application, the height has to be converted to a uniform standard and then fused. The sea level parameter correction method is often used to compensate the barometric altimeter bias. Actual sea level parameters can be calculated by using the atmospheric parameters of the location when the altitude is known. With the modified sea-level parameters, the barometric altimeter bias will be compensated.

3.2.3. Magnetometer Measurement Equation

The magnetometer is one of the common sensors used in MUAV. It is lightweight and reliable. It can provide the direction of the magnetic field, which can be used as aiding information. The magnetometer output m b is not influenced by the maneuvering acceleration. Thus, the well-compensated magnetometer data are used to measure the attitude matrix C n b to enhance the accuracy of the attitude estimation. The magnetometer measurement equation is described as Equation (5).
m b = C n b m n + ω m
C b n = [ q 0 2 + q 1 2 q 2 2 q 3 2 2 ( q 1 q 2 q 0 q 3 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 1 q 2 + q 0 q 3 ) q 0 2 q 1 2 + q 2 2 q 3 2 2 ( q 2 q 3 q 0 q 1 ) 2 ( q 1 q 3 q 0 q 2 ) 2 ( q 2 q 3 + q 0 q 1 ) q 0 2 q 1 2 q 2 2 + q 3 2 ]
where m n is the magnet vector in navigation frame. Supposing the local magnetic declination and magnetic inclination are θ d e c and θ i n c respectively, then m n = [ cos θ i n c cos θ d e c cos θ i n c sin θ d e c sin θ i n c ] .

3.2.4. Optical Flow Measurement Equation

The downward-looking visual system is called the PX4-FLOW sensor, which is an open source embedded metric optical flow CMOS camera designed for indoor and outdoor applications. The raw pixel movement data are used to calculate the horizontal velocity. The observation model of the optic-flow sensor is given by
v o p t i c = k v + ω o p t i c
where v o p t i c is the velocity acquired by the optic-flow sensor, v is the true horizontal velocity, ω o p t i c is the white noise of optic-flow observation, and k represents the coefficient determined by the camera focal length and altitude of the MUAV.

3.2.5. Sonar Measurement Equation

The sonar sensor and the barometric altimeter are often used to measure the altitude in the MUAV system. Because the sonar sensor has advantages of high precision, narrow measuring range and good stability, it can also meet the demand of indoor or low altitude flight. The barometric altimeter can be easily affected by environment, but it has a wide measuring range. So it can be used in the outdoor or high altitude flight. In some specific environments, these two kinds of sensors can be used in combination to acquire high reliability. The sonar measurement equation is described as Equation (8).
y = k x + b
where y is the output of the sonar, x is the true distance, k represents the coefficient of the first order, and b is the fixed distance error. The error coefficients k and b are acquired by laboratory calibration tests.

4. Information Fusion Method Based on the Factor Graph

The factor graph is a graphic model that encodes the conditional probability density among unknown variable nodes and the received measurements. The global optimum solution is factorized according to the chain structure of the factor graph, which allows for a more general form of the conditional probability density. It can convert the fusion matter into connecting factors defined by these measurements to the factor graph without considering the relationship between the sensor update frequency and the fusion period.

4.1. Factor Graph Formulations

The probability graph model is a kind of graph model which can express the joint probability distribution of random variables. The factor graph is a bipartite graph representing the factorization structure of a multivariate function into a product of functions (factors), each involving only a subset of the variables [26]. There are two kinds of nodes in the graph. The variable node X represents the variable of the global multivariate function, and the factor node F represents the factor in the factorization. The variable node is connected to a factor node by an edge E [27]. The factor graph is defined as
G = ( F , X , E )
where X i { x 1 , x 2 , , x m } is the subset of the variable nodes x j ( j = 1 , 2 , ... , m ) , m is the number of the variable node, F = { f 1 ( X 1 ) , f 2 ( X 2 ) ... , f n ( X n ) } represents a set of the factor nodes f i ( X i ) ( i = 1 , 2 , ... , n ) , and n is the number of the factor node. Edges E = { e i j } denotes the set of links of the factor graph, which can exist only between factor nodes and variable nodes. The factor graph G defines one factorization of the function as
g ( X ) = i f i ( X i )
A factor graph can be used as a probabilistic graphical model which represents a joint probability mass function of random variables. Each variable node represents a set of the random variables. Each factor represents the joint probability function of a subset of random variables, which is shown as a box or a circle. For example, Figure 2 can be factored as
g ( u , w , x , y , z ) = f 1 ( u , w , x ) f 2 ( x , y , z ) f 3 ( z )
The factor vertex f1, f2, f3 are the local functions. Due to the variable vertex u, w, x are connected to f1, the factor vertex f1 involves the independent variables u, w, x. In a similar way, the factor vertex f2 involves the independent variables x, y, z. The factor vertex f3 involves the independent variable z.

4.2. Fusion Algorithm with the Factor Graph

For our application, the factor graph framework model is established for the MUAV navigation system. This graph-based optimization algorithm is particularly developed to solve the optimization problem for the current state prediction with asynchronous multi-sensor data. The main purpose is to calculate the best navigation solution by using the available information sources.
The state variable of the MUAV system X is described in Section 3.1. X k R n is the state variable in the current time t k . Given the initial distribution p ( X 0 ) , X k can propagate with the probability density p ( X k | X k + 1 ) . Z k R m represents the independent measurement in the current time t k . The Bayesian estimation contains two parts, the prediction and the update. The prediction concerns the prior density of the state with the state model. The update process is to modify the prior density obtained by the previous step by using the newest measurement in order to obtain an a posteriori probability density p ( X 0 : k | Z 1 : k ) . Our goal is to solve the a posteriori probability density in the navigation system [28].
Given the observations up to time k , the global conditional joint probability density function p ( X 0 : k | Z 1 : k ) for the state vector X 0 : k is the marginal function. According to the Bayes formula, p ( X 0 : k | Z 1 : k ) can be factorized as:
p ( X 0 : k | Z 1 : k ) = p ( Z k | X k ) p ( X k | X k 1 ) p ( Z k | Z 1 : k 1 ) p ( X 0 : k 1 | Z 1 : k 1 ) = p ( Z k | X k ) p ( X k | X k 1 ) p ( Z k | Z 1 : k 1 ) p ( Z k 1 | X k 1 ) p ( X k 1 | X k 2 ) p ( Z k 1 | Z 1 : k 2 ) p ( X 0 : k 2 | Z 1 : k 2 ) = p ( Z k | X k ) p ( X k | X k 1 ) p ( Z k | Z 1 : k 1 ) p ( Z k 1 | X k 1 ) p ( X k 1 | X k 2 ) p ( Z k 1 | Z 1 : k 2 ) ... p ( Z 1 | X 1 ) p ( X 1 | X 0 ) p ( Z 1 ) p ( X 0 ) = i = 1 k p ( Z i | X i ) p ( X i | X i 1 ) p ( Z i | Z 1 : i 1 ) p ( X 0 )
where p ( X 0 ) represents all of the available prior information. This global conditional probability density function is proportional to the likelihood probability density and the state transition prior probability in the numerator.
p ( Z i | X i ) p ( X i | X i 1 ) p ( Z i | Z 1 : i 1 ) p ( X 0 ) p ( Z i | X i ) p ( X i | X i 1 )
According to the maximum a posteriori criterion, the state variable with the maximum a posteriori probability density is considered as the estimation.
X ^ i M A P = arg max p ( X i | Z i )
Equation (12) can be written as
i = 1 k p ( Z i | X i ) p ( X i | X i 1 ) p ( Z i | Z 1 : i 1 ) p ( X 0 ) i = 1 k p ( Z i | X i ) p ( X i | X i 1 )
To calculate the X ^ i M A P in Equation (14), the right side of Equation (15) will be maximized. For Gaussian noise distributions, the probability density p ( Z i | X i ) can be calculated as:
p ( Z i | X i ) = 1 ( 2 π ) k / 2 ( R ) 1 / 2 exp { 1 2 [ Z i h i ( X i ) ] T W 1 [ Z i h i ( X i ) ] }
where W is the variance matrix, h i ( ) is measurement function, and Z i is the actual measurement. For the above-mentioned reasons, Equation (17) should be minimized as the following function
J = [ Z i h i ( X i ) ] T W 1 [ Z i h i ( X i ) ] = min
For linear measurement, the optimal solution X ^ i can be solved by using the method of seeking extreme. For nonlinear measurement, it can be solved by using Newton iteration method. When adding the new factor node Z x , i to the graph, the measurements of different sensors are used to calculate the optimal solution.
By the similar method, the probability density p ( X i | X i 1 ) can be calculated as the same way. The probability density p ( X i | X i - 1 ) can be calculated as
p ( X i | X i - 1 ) = 1 ( 2 π ) k / 2 ( P ) 1 / 2 exp { 1 2 [ X i X ^ i ( Z i ) ] T P 1 [ X i X ^ i ( Z i ) ] }
where P is the variance matrix. Equation (19) should be minimized as the following function:
J = [ X i X ^ i ( Z i ) ] T P 1 [ X i X ^ i ( Z i ) ] = min
The estimation of the state X ^ i / i 1 can be solved by state vectors propagating. When adding the new variable X i + 1 to the graph, the IMU measurement is used to calculate the state transition matrix to predict the values for X i + 1 . In the factor graph. Let f ( ) represent the local functions of the probability density function. Equation (12) can be written as
i = 1 k p ( Z i | X i ) p ( X i | X i 1 ) p ( Z i | Z 1 : i 1 ) p ( X 0 ) i = 1 k f ( Z i | X i ) f ( X i | X i 1 )
where f ( Z i | X i ) and f ( X i | X i 1 ) are the local functions associated with the factor nodes P x , i and Z x , i in Figure 3, respectively.
The factor graph model of the navigation system is dominated by the two local functions f ( Z i | X i ) and f ( X i | X i 1 ) . By connecting the variable nodes associated with each function to the factor node, the factor graph can be constructed. The factor graph method allows for a more general form of the conditional probability density.

4.3. Factor Graph Modeling

Not all of the sensors can be updated at the same time. In general, the frequencies of the IMU measurements are very high, which are different from other sensors. For example, the update frequency of GPS measurement is slower than IMU, which can be described in Figure 4.
Variable node X i represents the state variable of the system. f x , i ( I M U ) denotes the updating of the variable node with the IMU measurement P x , i ( I M U ) . The factor IMU is defined as the following form
f x , i ( I M U ) = p ( X i + 1 | X i )
It connects two different variable nodes X i and X i + 1 in t i and t i + 1 moments, respectively. The IMU measurement is used to calculate the state transition matrix to predict X ^ i + 1 / i by state vector propagation.
On the other hand, f x , i ( G P S ) denotes the factor node when the system receives the measurement Z x , i ( G P S ) . The factor GPS is defined as the following form
f x , i ( G P S ) = p ( Z i G P S | X i )
The estimation of X k can be solved by using the method of seeking extreme through the probability density function p ( Z i G P S | X k ) . It can be calculated as Equations (16) and (17). With this model, we can calculate the minimization of the local functions f ( Z i | X i ) and f ( X i + 1 | X i ) to acquire the optimal state at t i moment.
When the system receives the magnetic measurement Z x , i + 1 ( M a g n e t i c   s e n s o r ) , the factor node f x , i + 1 ( M a g n e t i c   s e n s o r ) will be added into the graph. Because the update frequency of the magnetic sensor is faster than that of GPS, the magnetic sensor nodes appear many times during the update of GPS. It is described in Figure 5.
The update frequencies of different sensors in the MUAV are different. In a similar way, the factor graph model describes the characteristics of the MUAV navigation system, which are shown in Figure 6.
This model enables us to handle situations where different sensors provide measurements at different times and at different time intervals. When the measurement equation of the new sensor is nonlinear, the method can simply add new factors to the graph. If a sensor becomes unavailable due to various reasons, the system simply stops adding the associated factors to the graph. There is no need for a special procedure.
To implement the factor graph method, the steps are introduced as follows:
Step 1:
Set the initial parameters and define a state-space vector. New factors f n e w = { } and new variables X n e w = { } are initialized. The probability density function p ( X 0 ) should be set up according to the parameters of the system.
Step 2:
When the system receives the IMU measurement f ˜ b , w ˜ i b b , at t i moment, the factor node P x , i ( I M U ) will be added into the graph. It connects two different variable nodes X i and X i + 1 in t i and t i + 1 moments, respectively. The IMU measurement is used to calculate the state transition matrix to predict X ^ i + 1 / i by state vector propagation.
  • Position is calculated by p i + 1 = p i + v i Δ t ;
  • Velocity is calculated by v i + 1 = v i + [ C b n ( f ˜ b a ω a ) + [ 0 0 1 ] T g ] Δ t ;
  • Attitude is calculated by q i + 1 = q i + [ 1 2 q i ( w ˜ i b b g ω g ) ] Δ t .
Step 3:
Add X i + 1 = [ p i + 1 T v i + 1 T q i + 1 T a T g T ] to X n e w = { } ;
Step 4:
When the system receives the measurement Z x , k (magnetic, GPS, sonar or optic flow, etc.) at t k moment, the factor node f x , k (magnetic, GPS, sonar or optic flow, etc.) will be added into the graph. Add f x , k to f n e w = { } .
Step 5:
The optimization problem encoded by the factor graph is solved by Gauss–Newton iterations. Z is the set of all measurements, and X represents the set of all variables. X ^ is an initial estimate of X . According to Equation (17), the increment Δ X needs to be calculated, which should satisfy Equation (23).
arg min Δ X J ( X ^ ) Δ X r ( X ^ ) 2
where J ( X ^ ) is the Jacobian matrix and r ( X ^ ) is the residual of all measurements.
Calculating the increment Δ X requires factoring the Jacobian matrix into an equivalent upper triangular form, such as QR factorization. Once the increment Δ X is calculated, the new estimate X ^ + Δ X can be obtained. It is set to be the initial estimate in the next iteration. For an example of the system, the factor graph in Figure 7a contains the following four factors which are expressed in the box. The system in Figure 7b adds a new factor, a block row is added in the Jacobian matrix, which is denoted as × ¯ .
The square root information matrix R in Figure 7a is as follows, which is obtained by QR factorization of the Jacobian matrix:
X 1 X 2 X 3 R = [ × × × × × ]
When the new factor node is added in Figure 7b, the corresponding square root information matrix R’ can be changed as follows:
X 1 X 2 X 3 X 4 R = [ × × × × × ¯ × ¯ × ¯ ]
The modified value, which is different from R, is denoted as × ¯ . It can be seen that the first two block rows remain unchanged. So, there is no need to recalculate these values.
Step 6: Determine whether the new measurement is received by the system. Return to Step 2.

5. Experiment and Discussion

5.1. Simulation and Analysis

In order to verify the performance of the factor graph method proposed in this paper, the simulation and analysis are carried out with different methods. In the simulation, a typical flight trajectory has been designed. We assume a MUAV equipped with many sensors, including IMU, GPS receiver, magnetometer, and barometer. IMU sensors produce measurements at a high rate while other sensors generate measurements at lower rates. The flight time is 600 s, and the initial position is [106.5°, 29.53°, 25 m]. Parameters of navigation sensors are shown in Table 1.
The extended Kalman filter (EKF) has been used widely in integrated navigation systems, which linearizes all nonlinear models. In the traditional EKF algorithm, the state propagates with the IMU update rate, and performs a measurement update whenever the measurements are available. The factor graph method is compared with traditional EKF method in the simulation. The flight track is shown in Figure 8. The five-pointed star represents the starting point. The flight altitude remains the same.
Monte-Carlo simulations have been performed and the RMSE performances are used to compare the accuracy of different algorithms. After 100 Monte Carlo simulations, the average RMSE of both methods are given in Table 2. Compared with the ground truth data from the flight track, Figure 9a,b illustrates the average RMSE of the position error and the velocity error generated by these two algorithms, respectively.
From the above simulation results, the average RMSE performances of the EKF and the factor graph filter are compared in Table 2. The improvement of the factor graph filter is obvious. The corresponding accuracy in the velocity and position of the factor graph method improve as well.

5.2. MUAV Flight Test and Results

Outdoor autonomous flight tests on real data have been carried out in a playground. All of the sensors described in Section 2 are mounted on the vehicle. To evaluate the navigation performance, a more precise navigation system which has a differential GPS/INS system on the autopilot board is used as the reference system. For the multi-sensor navigation, GPS positioning is used in single point mode. We make use of the ARM processor with highly optimized C language to ensure real-time performance. The data are captured from the autopilot board of the MUAV during the flight. The total flight time was about 500 s.
The MUAV system in the test flight experiment is shown in Figure 10a. Autonomous flights include takeoff, waypoint, returning, and landing modes. The horizontal flight track compared with the expected route is presented in Figure 10b. System dynamic parameters are shown in Table 3.
The expected route with four waypoints is the pre-set track which is uploaded in the MUAV system before taking off. The circles of the four corners in the square represent the waypoints, and the default waypoint radius is configured to 3 m. This means that if the vehicle reaches the waypoint within the default waypoint radius, it will turn to the next waypoint. The flight track is obtained by the data of the MUAV navigation system. It can be seen that the vehicle can fly along the expected route. Figure 11a,b illustrates the performance of the position error and the velocity error generated by these two filters.
The position and velocity errors of the factor graph filter and EKF are compared in Table 4. It can be seen that the factor graph method has higher precision than EKF. The RMSE results reduce to less than 80%. Better results of the system by using the factor graph filter method can be obtained, and the accuracy level can meet the requirements of the MUAV navigation system.

6. Conclusions

In this paper, a multi-sensor information fusion method based on the factor graph topology is proposed. The global optimum solution is factorized according to the chain structure of the factor graph. It can convert the fusion matter into connecting factors in the factor graph, which allows for a more general form of the conditional probability density. It can convert the fusion matter into connecting factors defined by these measurements to the factor graph without considering the relationship between the sensor update frequency and the fusion period. According to the factor graph theory, the maximum a posteriori probability density is derived in the form of the factor node and the variable node. By selecting the appropriate cost function of these nodes, the optimal navigation solution of the system can be calculated. An experimental MUAV system has been built, and some experiments have been performed to prove the effectiveness of the proposed method.

Acknowledgments

This work was partially supported by the National Natural Science Foundation of China (Grant No. 61374115, 61104188, 61533008), the Funding for Outstanding Doctoral Dissertation in NUAA (Grant No. BCXJ13-05), the Funding of Jiangsu Innovation Program for Graduate Education (Grant No. CXZZ13_0156), and also partially supported by the fundamental research funds for the Central Universities (Grant No. NS2015037). The author would like to thank the anonymous reviewers for helpful comments and valuable remarks.

Author Contributions

Qinghua Zeng and Weina Chen conceived the idea and wrote the paper; Huizhe Wang performed the experiments; Jianye Liu coordinated the research.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gökçe, F.; Üçoluk, G.; Şahin, E.; Kalkan, S. Vision-Based Detection and Distance Estimation of Micro Unmanned Aerial Vehicles. Sensors 2015, 15, 23805–23846. [Google Scholar] [CrossRef] [PubMed]
  2. Kim, J.H.; Sukkarieh, S. A baro-altimeter augmented INS/GPS navigation system for an uninhabited aerial vehicle. In Proceedings of the 6th International Conference on Satellite Navigation Technology (SATNAV 03), Melbourne VIC, Australia, 23–25 July 2003.
  3. Siebert, S.; Teizer, J. Mobile 3D mapping for surveying earthwork projects using an Unmanned Aerial Vehicle (UAV) system. Autom. Constr. 2014, 41, 1–14. [Google Scholar] [CrossRef]
  4. Baiocchi, V.; Dominici, D.; Milone, M.V.; Mormile, M. Development of a software to plan UAVs stereoscopic flight: An application on post earthquake scenario in L’Aquila city. In Proceedings of the International Conference on Computational Science and Its Applications, Ho Chi Minh City, Vietnam, 24–27 June 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 150–165. [Google Scholar]
  5. D’Oleire-Oltmanns, S.; Marzolff, I.; Peter, K.D.; Ries, J.B. Unmanned aerial vehicle (UAV) for monitoring soil erosion in Morocco. Remote Sens. 2012, 4, 3390–3416. [Google Scholar] [CrossRef]
  6. Wendel, J.; Meister, O.; Schlaile, C.; Trommer, G.F. An integrated GPS/MEMS-IMU navigation system for an autonomous helicopter. Aerosp. Sci. Technol. 2006, 10, 527–533. [Google Scholar] [CrossRef]
  7. Chiabrando, F.; Nex, F.; Piatti, D.; Rinaudo, F. UAV and RPV systems for photogrammetric surveys in archaelogical areas: Two tests in the Piedmont region (Italy). J. Archaeol. Sci. 2011, 38, 697–710. [Google Scholar] [CrossRef]
  8. Li, Y. Optimal multisensor integrated navigation through information space approach. Phys. Commun. 2014, 13, 44–53. [Google Scholar] [CrossRef]
  9. Noureldin, A.; Osman, A.; El-Sheimy, N. A neuro-wavelet method for multi-sensor system integration for vehicular navigation. Meas. Sci. Technol. 2003, 15, 404. [Google Scholar] [CrossRef]
  10. Gao, S.; Zhong, Y.; Zhang, X.; Shirinzadeh, B. Multi-sensor optimal data fusion for INS/GPS/SAR integrated navigation system. Aerosp. Sci. Technol. 2009, 13, 232–237. [Google Scholar] [CrossRef]
  11. Grewal, M.S.; Weill, L.R.; Andrews, A.P. Global Positioning Systems, Inertial Navigation, and Integration; John Wiley & Sons: Hoboken, NJ, USA, 2007. [Google Scholar]
  12. Smith, D.; Singh, S. Approaches to multisensor data fusion in target tracking: A survey. IEEE Trans. Knowl. Data Eng. 2006, 18, 1696–1710. [Google Scholar] [CrossRef]
  13. Yager, R.R. On the fusion of imprecise uncertainty measures using belief structures. Inf. Sci. 2011, 181, 3199–3209. [Google Scholar] [CrossRef]
  14. Sun, X.J.; Gao, Y.; Deng, Z.L.; Wang, J.W. Multi-model information fusion Kalman filtering and white noise deconvolution. Inf. Fusion 2010, 11, 163–173. [Google Scholar] [CrossRef]
  15. Willner, D.; Chang, C.B.; Dunn, K.P. Kalman filter algorithms for a multi-sensor system. In Proceedings of the 1976 IEEE Conference on 15th Symposium on Adaptive Processes, Clearwater, FL, USA, 1–3 December 1976; pp. 570–574.
  16. Sun, S.L.; Deng, Z.L. Multi-sensor optimal information fusion Kalman filter. Automatica 2004, 40, 1017–1023. [Google Scholar] [CrossRef]
  17. Rodríguez-Valenzuela, S.; Holgado-Terriza, J.A.; Gutiérrez-Guerrero, J.M.; Muros-Cobos, J.L. Distributed Service-Based Approach for Sensor Data Fusion in IoT Environments. Sensors 2014, 14, 19200–19228. [Google Scholar] [CrossRef] [PubMed]
  18. Deng, Z.L.; Qi, R.B. Multi-sensor information fusion suboptimal steady-state Kalman filter. Chin. Sci. Abstr. 2000, 6, 183–184. [Google Scholar]
  19. Gan, Q.; Harris, C.J. Comparison of two measurement fusion methods for Kalman-filter-based multisensor data fusion. IEEE Trans. Aerosp. Electron. Syst. 2001, 37, 273–279. [Google Scholar] [CrossRef]
  20. Ali, J.; Fang, J.C. SINS/ANS/GPS integration using federated Kalman filter based on optimized information-sharing coefficients. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, San Francisco, CA, USA, 15–18 August 2005; pp. 1–13.
  21. Brion, V.; Riff, O.; Descoleaux, M.; Mangiri, J.F.; Le Bihan, D.; Poupon, C.; Poupon, F. The Parallel Kalman Filter: An efficient tool to deal with real-time non central χ noise correction of HARDI data. In Proceedings of the IEEE International Symposium on Biomedical Imaging, Barcelona, Spain, 2–5 May 2012; pp. 34–37.
  22. Leung, Y.; Ji, N.N.; Ma, J.H. An integrated information fusion approach based on the theory of evidence and group decision-making. Inf. Fusion 2013, 14, 410–422. [Google Scholar] [CrossRef]
  23. Wen, C.; Wen, C.; Li, Y. An Optimal Sequential Decentralized Filter of Discrete-time Systems with Cross-Correlated Noises. In Proceedings of the 17th World Congress on the International Federation of Automatic Control, Seoul, Korea, 6–11 July 2008; pp. 7560–7565.
  24. Wen, C.; Cai, Y.; Wen, C.; Xu, X. Optimal sequential Kalman filtering with cross-correlated measurement noises. Aerosp. Sci. Technol. 2013, 26, 153–159. [Google Scholar] [CrossRef]
  25. Indelman, V.; Williams, S.; Kaess, M.; Dellaert, F. Information fusion in navigation systems via factor graph based incremental smoothing. Robot. Auton. Syst. 2013, 61, 721–738. [Google Scholar] [CrossRef]
  26. Loeliger, H.A.; Dauwels, J.; Hu, J.; Korl, S.; Ping, L.; Kschischang, F.R. The factor graph approach to model-based signal processing. Proc. IEEE 2007, 95, 1295–1322. [Google Scholar] [CrossRef]
  27. Mao, Y.; Kschischang, F.R.; Li, B.; Pasupathy, S. A factor graph approach to link loss monitoring in wireless sensor networks. IEEE J. Sel. Areas Commun. 2005, 23, 820–829. [Google Scholar]
  28. Forster, C.; Carlone, L.; Dellaert, F.; Scaramuzza, D. IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation. Robotics: Science and Systems XI. 2015 (EPFL-CONF-214687). Available online: http://www.roboticsproceedings.org/rss11/p06.pdf (accessed on 20 March 2017).
Figure 1. System hardware structure of the MUAV.
Figure 1. System hardware structure of the MUAV.
Sensors 17 00641 g001
Figure 2. An example of a factor graph.
Figure 2. An example of a factor graph.
Sensors 17 00641 g002
Figure 3. Factor graph representations of the state variable and the measurement.
Figure 3. Factor graph representations of the state variable and the measurement.
Sensors 17 00641 g003
Figure 4. The factor graph containing the GPS measurement.
Figure 4. The factor graph containing the GPS measurement.
Sensors 17 00641 g004
Figure 5. The factor graph containing GPS and magnetic measurement.
Figure 5. The factor graph containing GPS and magnetic measurement.
Sensors 17 00641 g005
Figure 6. The multi-sensor fusion framework based on factor graph.
Figure 6. The multi-sensor fusion framework based on factor graph.
Sensors 17 00641 g006
Figure 7. The factor graph and the associated Jacobian matrix in two moments. (a) The factor graph and the associated Jacobian matrix; (b) The factor graph and the associated Jacobian matrix when adding new factor node.
Figure 7. The factor graph and the associated Jacobian matrix in two moments. (a) The factor graph and the associated Jacobian matrix; (b) The factor graph and the associated Jacobian matrix when adding new factor node.
Sensors 17 00641 g007
Figure 8. Flight track of the MUAV in the simulation.
Figure 8. Flight track of the MUAV in the simulation.
Sensors 17 00641 g008
Figure 9. Comparison curves of two filter methods. (a) Position error contrast curves; (b) Velocity error contrast curves.
Figure 9. Comparison curves of two filter methods. (a) Position error contrast curves; (b) Velocity error contrast curves.
Sensors 17 00641 g009
Figure 10. Square shaped outdoor trajectory in the flight experiment of the MUAV. (a) Test flight experiment of the MUAV; (b) Square shaped trajectory.
Figure 10. Square shaped outdoor trajectory in the flight experiment of the MUAV. (a) Test flight experiment of the MUAV; (b) Square shaped trajectory.
Sensors 17 00641 g010
Figure 11. Comparison curves of two filter methods. (a) Position error contrast curves. (b) Velocity error contrast curves.
Figure 11. Comparison curves of two filter methods. (a) Position error contrast curves. (b) Velocity error contrast curves.
Sensors 17 00641 g011
Table 1. Parameters of navigation sensors.
Table 1. Parameters of navigation sensors.
SensorErrorValueFrequency
IMUGyro constant drift10°/h50 Hz
Gyro first-order Markov process10°/h
Gyro white noise measurement10°/h
Accelerometer first-order Markov process1 × 10−4 g
GPSPosition error noise10 m, 10 m, 20 m1 Hz
Velocity error noise0.1 m/s, 0.1 m/s, 0.1 m/s
MagnetometerHeading error noise0.2°20 Hz
BarometerHeight error noise5 m10 Hz
Table 2. Statistical error contrast between two schemes.
Table 2. Statistical error contrast between two schemes.
Error TypeAverage RMSE in the Position Error (units: m)Average RMSE in the Velocity Error (units: m/s)
LongitudeLatitudeHeightEasternNorthernVertical
Extend Kalman filter1.2121.2050.7030.1410.1420.049
Factor graph filter1.0431.0350.6280.1210.1150.034
Table 3. System dynamic parameters.
Table 3. System dynamic parameters.
TypeParameters ItemUnit
Machine size608 × 608 × 243mm
Takeoff weight950g
Maximum payload<580g
Flight time15min
Table 4. Statistical error contrast between two filters.
Table 4. Statistical error contrast between two filters.
Error TypeRMSE in the Position Error (units: m)RMSE in the Velocity Error (units: m/s)
LongitudeLatitudeHeightEasternNorthernVertical
Extend Kalman filter1.8211.4510.6520.0880.0860.061
Factor graph filter1.2881.1430.5190.0650.0610.049

Share and Cite

MDPI and ACS Style

Zeng, Q.; Chen, W.; Liu, J.; Wang, H. An Improved Multi-Sensor Fusion Navigation Algorithm Based on the Factor Graph. Sensors 2017, 17, 641. https://doi.org/10.3390/s17030641

AMA Style

Zeng Q, Chen W, Liu J, Wang H. An Improved Multi-Sensor Fusion Navigation Algorithm Based on the Factor Graph. Sensors. 2017; 17(3):641. https://doi.org/10.3390/s17030641

Chicago/Turabian Style

Zeng, Qinghua, Weina Chen, Jianye Liu, and Huizhe Wang. 2017. "An Improved Multi-Sensor Fusion Navigation Algorithm Based on the Factor Graph" Sensors 17, no. 3: 641. https://doi.org/10.3390/s17030641

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop