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.
Similar content being viewed by others
References
Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic robotics. Cambridge: MIT.
Thrun, S. (2002). Robotic Mapping: A Survey, Carnegie Mellon University (Technical Report - CMU-CS-02-111) (p. 31).
Fox, D., Hightower, J., Liao, L., Schultz, D., & Borriello, G. (2003). Bayesian filters for location estimation. IEEE Pervasive Computing, 2(3), 24–33.
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.
Bräunl, T. (2003). Embedded robotics: Mobile robot design and applications with embedded systems (pp. 111–129). Berlin: Springer.
Smith, R., Self, M., & Cheeseman, P. (1990). Estimating uncertain spatial relationships in robotics. In Autonomous robot vehicles (pp. 167–193). Berlin: Springer.
Chalimbaud, P., Marmoiton, F., & Berry, F. (2007). Towards an embedded visuo-inertial smart sensor. The International Journal of Robotics Research, 36(6), 537–546.
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.
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.
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).
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).
Zhangxing, Z., & Xinhua, Z. (2002). Design of fpga-based kalman filter with CORDIC algorithm. In Recent trends in multimedia information processing, (pp. 191–199).
Salcic, Z., & Lee, C. R. (2001). FPGA-based adaptive tracking estimation computer. IEEE Transactions on Aerospace and Electronic Systems, 37(2), 699–706.
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).
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.
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).
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.
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.
Hartley, R. I., & Zisserman, A. (2004). Multiple view geometry in computer vision (2nd ed.). Cambridge: Cambridge University Press.
Celoxica (2005). Handel-C Language Reference Manual (User Guide). http://www.celoxica.com.
Celoxica (2005). RC250 - High Performance System Development & Evaluation Board. http://www.celoxica.com/products/.
ActivMedia Robotics (2006). Technical Specifications. http://www.activrobots.com/ROBOTS/p2dx.html.
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
Corresponding author
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-008-0257-8