Skip to main content
Log in

A Floating-point Extended Kalman Filter Implementation for Autonomous Mobile Robots

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

Localization and Mapping are two of the most important capabilities for autonomous mobile robots and have been receiving considerable attention from the scientific computing community over the last 10 years. One of the most efficient methods to address these problems is based on the use of the Extended Kalman Filter (EKF). The EKF simultaneously estimates a model of the environment (map) and the position of the robot based on odometric and exteroceptive sensor information. As this algorithm demands a considerable amount of computation, it is usually executed on high end PCs coupled to the robot. In this work we present an FPGA-based architecture for the EKF algorithm that is capable of processing two-dimensional maps containing up to 1.8 k features at real time (14 Hz), a three-fold improvement over a Pentium M 1.6 GHz, and a 13-fold improvement over an ARM920T 200 MHz. The proposed architecture also consumes only 1.3% of the Pentium and 12.3% of the ARM energy per feature.

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.

Institutional subscriptions

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5

Similar content being viewed by others

References

  1. Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic robotics. Cambridge: MIT.

    MATH  Google Scholar 

  2. Thrun, S. (2002). Robotic Mapping: A Survey, Carnegie Mellon University (Technical Report - CMU-CS-02-111) (p. 31).

  3. Fox, D., Hightower, J., Liao, L., Schultz, D., & Borriello, G. (2003). Bayesian filters for location estimation. IEEE Pervasive Computing, 2(3), 24–33.

    Article  Google Scholar 

  4. Pirjanian, P., Karlsson, N., Goncalves, L., & Bernardo, E. D. (2003). Low-cost visual localization and mapping for consumer robotics. Industrial Robot, 30(2), 139–144.

    Article  Google Scholar 

  5. Bräunl, T. (2003). Embedded robotics: Mobile robot design and applications with embedded systems (pp. 111–129). Berlin: Springer.

    MATH  Google Scholar 

  6. Smith, R., Self, M., & Cheeseman, P. (1990). Estimating uncertain spatial relationships in robotics. In Autonomous robot vehicles (pp. 167–193). Berlin: Springer.

    Google Scholar 

  7. Chalimbaud, P., Marmoiton, F., & Berry, F. (2007). Towards an embedded visuo-inertial smart sensor. The International Journal of Robotics Research, 36(6), 537–546.

    Article  Google Scholar 

  8. Anne, K. R., Kyamakya, K., Erbas, F., Takenga, C., & Chedjou, J. C. (2004). GSM RSSI-based positioning using extended Kalman filter for training artificial neural networks. IEEE Vehicular Technology Conference, 6, 4141–4145.

    Google Scholar 

  9. Albukerque, J., Lair, J. L., Govin, B., Muller, G., & Riant, P. (1985). Autonomous satellite navigation using optico-inertial instruments. In Automatic control in space (pp. 183–188). Oxford: Pergamon.

    Google Scholar 

  10. Lee, C. R., & Salcic, Z. (1997). A fully-hardware-type maximum-parallel architecture for Kalman tracking filter in FPGAs. In IEEE international conference on information, communications and signal processing (pp. 1243–1247).

  11. Liu, Y., Bouganis, C., & Cheung, P. Y. K. (2007). Efficient mapping of a Kalman Filter into an FPGA using Taylor expansion. In IEEE international conference on field programmable logic and applications (pp. 345–350).

  12. Zhangxing, Z., & Xinhua, Z. (2002). Design of fpga-based kalman filter with CORDIC algorithm. In Recent trends in multimedia information processing, (pp. 191–199).

  13. Salcic, Z., & Lee, C. R. (2001). FPGA-based adaptive tracking estimation computer. IEEE Transactions on Aerospace and Electronic Systems, 37(2), 699–706.

    Article  Google Scholar 

  14. Paz, L. M., & Neira, J. (2006). Optimal local map size for EKF-based SLAM. In IEEE/RSJ international conference on intelligent robots and systems, (pp. 5019–5025).

  15. Estrada, C., Neira, J., & Tardós, J. D. (2005). Hierarchical SLAM: Real-time accurate mapping of large environments. IEEE Transactions on Robotics, 21(4) 588–596.

    Article  Google Scholar 

  16. Kim, G. H., Kim, J. S., & Hong, K. S. (2005). Vision-based simultaneous localization and mapping with two cameras. In IEEE international conference on intelligent robots and systems (pp. 3401–3406).

  17. Guivant, J. E., & Nebot, E. M. (2003). Solving computational and memory requirements of feature-based simultaneous localization and mapping algorithms. IEEE Transactions on Robotics and Automation, 19(4), 749–755.

    Article  Google Scholar 

  18. Bonato, V., Holanda, J. A., & Marques, E. (2006). An embedded multi-camera system for simultaneous localization and mapping. In Applied reconfigurable computing (pp. 109–114). Lecture Notes on Computer Science - LNCS 3985.

  19. Hartley, R. I., & Zisserman, A. (2004). Multiple view geometry in computer vision (2nd ed.). Cambridge: Cambridge University Press.

    MATH  Google Scholar 

  20. Celoxica (2005). Handel-C Language Reference Manual (User Guide). http://www.celoxica.com.

  21. Celoxica (2005). RC250 - High Performance System Development & Evaluation Board. http://www.celoxica.com/products/.

  22. ActivMedia Robotics (2006). Technical Specifications. http://www.activrobots.com/ROBOTS/p2dx.html.

Download references

Acknowledgements

The authors would like to thank CAPES (Ref. BEX2683/06–7) and EPSRC (Grant EP/C549481/1 and EP/C512596/1) for the financial support given to develop this research project. We also thank Carlos R.P. Almeida Jr. for his important help to generate the EKF software benchmarks.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vanderlei Bonato.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bonato, V., Marques, E. & Constantinides, G.A. A Floating-point Extended Kalman Filter Implementation for Autonomous Mobile Robots. J Sign Process Syst Sign Image Video Technol 56, 41–50 (2009). https://doi.org/10.1007/s11265-008-0257-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-008-0257-8

Keywords

Navigation