Skip to main content
Log in

Fuzzy adaptive extended Kalman filter for UAV INS/GPS data fusion

  • Technical Paper
  • Published:
Journal of the Brazilian Society of Mechanical Sciences and Engineering Aims and scope Submit manuscript

Abstract

This paper uses the extended Kalman filter (EKF) for estimation of position, velocity and attitude of an UAV of quadrotor type. The sensors used are low cost microelectromechanical systems (MEMS) accelerometer and gyroscope, MEMS barometer and GPS. The standard EKF is improved with adaptive approaches. Two innovation adaptive estimation methods were taken from the literature. One involves the change of the theoretical matrix of the innovation covariance, by another one which is determined experimentally; the second one involves the computation of the output noise covariance matrix of the Kalman filter (KF) via fuzzy logic. A new method for adaptive estimation was also developed by extending an approach of heuristic metrics of bias and amplitude of oscillation taken from the literature. It consists in the use of the metrics, together with fuzzy logic, for adjusting the input and output noise covariance matrices of the EKF. The adaptive and standard filters were both implemented in hardware and simulated. The hardware implementation involves rotation filters in indoor tests performed in open loop; these observations were exclusively carried out in a hand-controlled environment, with no flight of the quadrotor itself. The simulations were performed in conditions of the full capability of the filters, in a scenario representing a fault condition in the gyroscope. The tests showed the ability of the adaptive filters of correcting the covariance matrix for improving performance.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Abbreviations

UAV:

Unmanned aerial vehicle

KF:

Kalman filter

EKF:

Extended Kalman filter

PVAT:

Position, velocity and attitude

MEMS:

Microelectromechanical systems

IMU:

Inertial measurement unit

IAE:

Innovation adaptive estimation

AKF:

Adaptive Kalman filter

BRF:

Body reference frame

NED:

North, east, down reference frame

cm:

Center of mass

RF:

Reference frame

RCS:

Rotational control system

TCS:

Translational control system

PIV:

Proportional, integral, velocity

REKF:

Rotation extended Kalman filter

TEKF:

Translation extended Kalman filter

EIAE:

Experimental innovation adaptive estimation

FIAE:

Fuzzy innovation adaptive estimation

ICM:

Innovation covariance matrix

SISO:

Single input, single output

FIS:

Fuzzy inference system

LSF:

Least squares fitting

MF:

Membership function

MC:

Microcontroller

AAE:

Average absolute errors

MAE:

Maximum absolute error

\({\mathbf {V}}=[v_n\ v_e\ v_d]^t\) :

NED’s velocity vector of the UAV’s cg

\({\mathbf {R}}=[x_n\ y_e\ z_d]^t\) :

NED’s position vector of the UAV’s cg

\({\mathbf {F}}_b\) :

Summing of the non gravitational forces that act in the body, written in the BRF

m :

Body’s mass

g, \({\varvec{{g}}}\) :

Acceleration due to gravity, scalar and vector forms

\({{\mathbf {C}}}^b_0\) :

Coordinate transformation matrix from the BRF to NED

\({\varvec{\omega }}=[p\ q\ r]^t\) :

Body’s angular velocity with respect to the inertial RF, written in the BRF

\({\mathbf {I}}\) :

Body’s inertia matrix written in the BRF

\({\mathbf {M}}=[{\mathscr {L}}\ {\mathscr {M}}\ {\mathscr {N}}]^t\) :

Summing of all the moments (torques) that act in the body

\({\mathbf {q}}=[q_0\ q_1\ q_2\ q_3]^t\) :

Rotation quaternion

\(\phi\), \(\theta\), \(\psi\) :

Euler angles: roll, pitch and yaw, respectively

\({\varvec{\Omega }}_s\) :

Skew-symmetric matrix of angular velocity

\(F_i\), \(M_i\) :

Aerodynamic thrust force and moment on the i-th propeller, respectively

T :

Resulting thrust force

\(k_f\) :

Force constant

\(k_m\) :

Torque constant

l :

Moment arm

\(T_s\) :

Sampling interval, time between two successive state estimations

\({\mathbf {Q}}\), \({\mathbf {R}}\) :

Generic covariance matrices of process and measurement noises, respectively

\(t_k\) :

k-th sampling time

\({\hat{\mathbf {x}}}_k^-\), \({\hat{\mathbf {x}}}_k^+\) :

Predicted and corrected state at time k, respectively

\({\mathbf {P}}_k^-\), \({\mathbf {P}}_k^+\) :

Predicted and corrected error covariance matrix at time k

\({\mathbf {P}}_{\tilde{e}_{z_k}}\) :

Theoretical covariance matrix

\({\tilde{\mathbf {e}}}_{z_k}\) :

Innovation process

References

  1. Adigbli P (2007) Nonlinear attitude and position control of a micro quadrotor using sliding mode and backstepping techniques. In: 3rd US-European competition and workshop on micro air vehicle systems and European micro air vehicle conference and flight competition

  2. Ali J (2010) Strapdown inertial navigation system/astronavigation system data synthesis using innovation-based fuzzy adaptive kalman filtering. IET Sci Meas Technol 4(5):246–255

    Article  Google Scholar 

  3. Amir M, Abbass V (2008) Modeling of quadrotor helicopter dynamics. In: International Conference on smart manufacturing application, 2008. ICSMA 2008, IEEE, Gyeonggi-do, Korea, pp 100–105. doi:10.1109/ICSMA.2008.4505621

  4. Bento MDF (2008) Unmanned aerial vehicles: an overview. Inside GNSS 3(1):54–61

    MathSciNet  Google Scholar 

  5. El-Sheimy N, Hou H, Niu X (2008) Analysis and modeling of inertial sensors using allan variance. IEEE Trans Instrum Meas 57(1):140–149

    Article  Google Scholar 

  6. Grewal MS, Weill LR, Andrews AP (2007) Global positioning systems, inertial navigation, and integration, 2nd edn. Wiley, Hoboken

    Book  Google Scholar 

  7. Han JH, Kwon JH, Lee I, Choi K (2011) Position and attitude determination for uav-based gps, imu and at without gcps. In: 2011 International workshop on multi-platform/multi-sensor remote sensing and mapping (M2RSM), pp 1–5

  8. Hoffmann G, Huang H, Waslander S, Tomlin C (2007) Quadrotor helicopter flight dynamics and control: theory and experiment. In: AIAA guidance, navigation and control conference and exhibit, Hilton Head, South Carolina, AIAA-2007-6461

  9. Hua MD (2009) Attitude observers for accelerated rigid bodies based on gps and ins measurements. In: Proceedings of the 48th IEEE Conference on decision and control, 2009 held jointly with the 2009 28th Chinese Control Conference. CDC/CCC 2009, Shanghai, China, pp 8071–8076

  10. Huang H, Hoffmann GM, Waslander SL, Tomlin CJ (2009) Aerodynamics and control of autonomous quadrotor helicopters in aggressive maneuvering. In: IEEE International Conference on robotics and automation, 2009. ICRA ’09, pp 3277–3282

  11. Jiancheng F, Sheng Y (2011) Study on innovation adaptive ekf for in-flight alignment of airborne pos. IEEE Trans Instrum Meas 60(4):1378–1388

    Article  Google Scholar 

  12. Karasalo M, Hu X (2011) An optimization approach to adaptive Kalman filtering. Automatica 47(8):1785–1793

    Article  MathSciNet  MATH  Google Scholar 

  13. Michael N, Mellinger D, Lindsey Q, Kumar V (2010) The grasp multiple micro-uav testbed. IEEE Robot Autom Mag 17(3):56–65

    Article  Google Scholar 

  14. Sanchez A, Carrillo LRG, Rondon E, Lozano R, Garcia O (2011) Hovering flight improvement of a quad-rotor mini uav using brushless dc motors. J Intell Robot Syst 61(1–4):85101

    Google Scholar 

  15. Stevens BL, Lewis FL (2003) Aircraft control and simulation, 2nd edn. Wiley, Hoboken

    Google Scholar 

  16. Wendel J, Meister O, Schlaile C, Trommer GF (2006) An integrated gps/mems-imu navigation system for an autonomous helicopter. Aerosp Sci Technol 10(6):527–533

    Article  Google Scholar 

  17. Xing Z, Gebre-Egziabher D (2008) Modeling and bounding low cost inertial sensor errors. In: Position, location and navigation symposium, 2008 IEEE/ION, pp 1122–1132. doi:10.1109/PLANS.2008.4569999

Download references

Acknowledgments

The authors thank the company Gyrofly Innovations by the support in the use of the quadrotor Gyro 200ED. Thanks also to the CNPq by the partial support to this research (Grant No. 303627/2012-3).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to André Luís da Silva.

Additional information

Technical Editor: Glauco A. de P. Caurin.

Conventions: Vectors are represented by column matrices. Vector operator “×” means the cross product. A t represents the transpose of matrix A. The letter “s” after an acronym means its plural.

Appendix

Appendix

1.1 Kalman filter: Notation and structure

The EKF considers the nonlinear dynamical system represented by the model in Eq. 30.

$$\begin{aligned} {\dot{\mathbf {x}}}(t)={\mathbf {f}}({\mathbf {x}},{\mathbf {u}}(t),t)+{\mathbf {G}}({\mathbf {x}},t){\mathbf {w}}(t) \end{aligned}$$
(30)

where \({\mathbf {x}}\in {\mathbb {R}}^n\) is the state, \({\mathbf {u}}: [0,\ \infty )\rightarrow {\mathbb {R}}^l\) is a given driving function, \({\mathbf {f}}: {\mathbb {R}}^n\times {\mathbb {R}}^l\times [0,\ \infty )\rightarrow {\mathbb {R}}^n\) is a vector valued nonlinear state function. \({\mathbf {w}}\in {\mathbb {R}}^m\) is called process noise, it is a white Gaussian process with zero mean and covariance \({\mathbf {Q}}(t)\in {\mathbb {R}}^{m\times m}\). \({\mathbf {G}}: {\mathbb {R}}^n\times [0,\ \infty )\rightarrow {\mathbb {R}}^{n\times m}\) is a matrix valued nonlinear function called process noise distribution matrix.

The measurements are state dependent and represented by the nonlinear output function in Eq. 31.

$$\begin{aligned} {\mathbf {z}}(t)={\mathbf {h}}({\mathbf {x}})+{\mathbf {v}}(t), \end{aligned}$$
(31)

where \({\mathbf {z}}\in {\mathbb {R}}^p\) is the vector of measured outputs, \({\mathbf {h}}: {\mathbb {R}}^n\rightarrow {\mathbb {R}}^p\) is a vector-valued nonlinear output function. \({\mathbf {v}}\in {\mathbb {R}}^p\) is called measurement noise, it is a white Gaussian process with zero mean and covariance \({\mathbf {R}}(t)\in {\mathbb {R}}^{p\times p}\).

The following procedure composes the k-th iteration of the EKF. An initial estimate is needed, as usual, the method assumes that the initial state is distributed according to a white Gaussian noise with zero mean.

1.1.1 Prediction (time propagation)

Prediction of the state vector:

$$\begin{aligned} {\hat{\mathbf {x}}}_{k+1}^-={\hat{\mathbf {x}}}_{k}^++\int _{t_{k}}^{t_{k+1}}{\mathbf {f}}({\mathbf {x}}(t),{\mathbf {u}}(t),t){\rm{d}}t \end{aligned}$$
(32)

Prediction of the error’s covariance matrix:

$$\begin{aligned} {\dot{\mathbf {P}}}(t)={\mathbf {F}}_k{\mathbf {P}}(t)+{\mathbf {P}}(t){\mathbf {F}}_k^t+{\mathbf {Q}}_k^{''} \end{aligned}$$
(33)
$$\begin{aligned} {\mathbf {F}}_k=\left. \frac{\partial {\mathbf {f}}}{\partial {\mathbf {x}}}\right| _{{\mathbf {x}}={\hat{\mathbf {x}}}_{k}^+} \end{aligned}$$
(34)
$$\begin{aligned} {\mathbf {Q}}_k^{''}={\mathbf {G}}({\hat{\mathbf {x}}}_{k}^+,t_k){\mathbf {Q}}(t_k){\mathbf {G}}^t({\hat{\mathbf {x}}}_{k}^+,t_k) \end{aligned}$$
(35)
$$\begin{aligned} {\mathbf {P}}_{k+1}^-={\mathbf {P}}_{k}^++\int _{t_{k}}^{t_{k+1}}{\dot{\mathbf {P}}}(t){\rm{d}}t \end{aligned}$$
(36)

1.1.2 Correction (measurement update)

Kalman gain:

$$\begin{aligned} {\bar{\mathbf {K}}}_k={\mathbf {P}}_{k+1}^-{\mathbf {H}}_k^t\left[ {\mathbf {H}}_k{\mathbf {P}}_{k+1}^-{\mathbf {H}}_k^t+{\mathbf {R}}_k \right] ^{-1} \end{aligned}$$
(37)
$$\begin{aligned} {\mathbf {H}}_k=\left. \frac{\partial {\mathbf {h}}}{\partial {\mathbf {x}}}\right| _{{\mathbf {x}}={\hat{\mathbf {x}}}_{k+1}^-} \end{aligned}$$
(38)

Correction of the state estimate:

$$\begin{aligned} {\hat{\mathbf {x}}}_{k+1}^+={\hat{\mathbf {x}}}_{k+1}^-+{\bar{\mathbf {K}}}_k\left[ {\mathbf {z}}_{k}-{\mathbf {h]}({\hat{\mathbf {x}}}}_{k+1}^-)\right] \end{aligned}$$
(39)

Correction of the error’s covariance matrix estimate:

$$\begin{aligned} {\mathbf {P}}_{k+1}^+={\mathbf {P}}_{k+1}^--{\bar{\mathbf {K}}}_k{\mathbf {H}}_k{\mathbf {P}}_{k+1}^- \end{aligned}$$
(40)

In Eq. 32, the vector function \({\mathbf {u}}(t)\) is given by data determined from measurement, for example, from a gyroscope. In Eq. 39, \({\mathbf {z}}_k\) is the output measured by another instrument at time k, for example, a GPS receiver.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

da Silva, A.L., da Cruz, J.J. Fuzzy adaptive extended Kalman filter for UAV INS/GPS data fusion. J Braz. Soc. Mech. Sci. Eng. 38, 1671–1688 (2016). https://doi.org/10.1007/s40430-016-0509-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s40430-016-0509-7

Keywords

Mathematics Subject Classification

Navigation