FPGA-based floating-point UD filter coprocessor for integrated navigation systems

The Kalman filter plays an essential role in an integrated navigation system. From an embedded-system design point of view, the UD filter is a convenient, numerically-stable version of the Kalman filter. In this paper, a UD filter coprocessor with single-precision floating-point format that runs in FPGA is presented. A comprehensive hardware/software exploration is carried out in order to find the combination of subsystems that achieves the best throughput. Such examination determines that the best solution is fully in hardware. In addition, it is demonstrated the convenience of using high-level development tools to synthesize in hardware algorithms that have been originally designed to run on a general purpose microprocessor. Then, a UD filter for a 21-states system is developed as a coprocessor for system-on-chip integration. The coprocessor is validated using real-world data sets. Measurements of area, power, and energy are provided. It is found that the coprocessor is suitable for mid-range FPGA. In conclusion, it is demonstrated that new hybrid FPGA are adequate devices to implement battery-operated navigation systems for robotics.

[1]  G. Bierman,et al.  Gram-Schmidt algorithms for covariance propagation , 1975, 1975 IEEE Conference on Decision and Control including the 14th Symposium on Adaptive Processes.

[2]  Mohinder S. Grewal,et al.  Kalman Filtering: Theory and Practice Using MATLAB , 2001 .

[3]  Gerald J. Bierman,et al.  Measurement updating using the U-D factorization , 1975, 1975 IEEE Conference on Decision and Control including the 14th Symposium on Adaptive Processes.

[4]  Rodrigo González,et al.  Optimized UD filtering algorithm for floating-point hardware execution , 2014, 17th International Conference on Information Fusion (FUSION).

[5]  George A. Constantinides,et al.  A Floating-point Extended Kalman Filter Implementation for Autonomous Mobile Robots , 2009, 2007 International Conference on Field Programmable Logic and Applications.

[6]  Pan-long Wu,et al.  Design and realization of short range defence radar target tracking system based on DSP/FPGA , 2011 .

[7]  Carlos H. Llanos,et al.  FPGA implementation of a sequential Extended Kalman Filter algorithm applied to mobile robotics localization problem , 2013, 2013 IEEE 4th Latin American Symposium on Circuits and Systems (LASCAS).

[8]  Juan I. Giribet,et al.  NaveGo: a simulation framework for low-cost integrated navigation systems , 2015 .

[9]  Carlos H. Llanos,et al.  A methodology for "on-line" monitoring system in a welding process using FPGAs , 2010, 2010 IEEE International Conference on Industrial Technology.

[10]  D. Simon Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches , 2006 .

[11]  Yang Liu,et al.  Efficient Mapping of a Kalman Filter into an FPGA using Taylor Expansion , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[12]  G. Bierman Factorization methods for discrete sequential estimation , 1977 .

[13]  Agus Budiyono,et al.  Principles of GNSS, Inertial, and Multi-sensor Integrated Navigation Systems , 2012 .

[14]  Elecia White,et al.  Fusion Filter Algorithm Enhancements For a MEMS GPS/IMU , 2001 .