Skip to main content
Log in

A Faddeev Systolic Array for EKF-SLAM and its Arithmetic Data Representation Impact on FPGA

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

Abstract

The Extended Kalman Filter (EKF) computation is a core task for the simultaneous localization and mapping (SLAM) problem in autonomous mobile robots. The SLAM problem involves operations over high dimension data sets, requiring high throughput and performance, given the real-time nature of the robotics, control-decision algorithm this task is a part of. The lightweight and power restricted computing environments in mobile robotics requires customized processing systems such as Field-Programmable Gate Arrays (FPGAs). This work presents an arithmetic precision analysis and a Faddeev algorithm to calculate the Schur’s Complement hardware architecture implementation for the EKF-SLAM using a Systolic Array (SA). While it is widely believed that fixed-point implementations of arithmetic operations lead to area and performance benefits on FPGAs, the results in this article reveal that each Processing Element (PE) in the SA consumes 25% more logic and about 30% more register resources for the fixed-point 13.23 representation than if using the IEEE-754 single precision floating-point format. In addition, for FPGA devices with hardware support for key components of floating-point computations, a single PE floating-point implementation can achieve a maximum frequency up to 50% higher than a corresponding fixed-point implementation for the same relative numeric errors.

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
Figure 6

Similar content being viewed by others

Notes

  1. We extend the representation of each fixed-point values from the n = m + p to be 2n so that the output of the multiplication has the same bit-width.

References

  1. Smith, P.C.R., & Self, M. (1990) In Cox, I., & Wilfong, G. (Eds.), Autonomous robot vehicles, (pp. 167–193). New York: Springer.

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

    MATH  Google Scholar 

  3. Fox, D., Hightower, J., Liao, D.S.L., & Borriello, G. (2003). Bayesian filtering for location estimation, IEEE Pervasive Computing, (Vol. 2 p. 24).

  4. Zhang, F. (2005). The schur complement and its applications, Numerical Methods and Algorithms, Vol. 4. São Paulo (Brasil): Springer.

  5. Gaston, F.M.F., & Irwin, G. (1990). Control Theory and Applications, IEEE Proceedings D, (Vol. 137 p. 235).

  6. Chen, G., & Guo, L. Proc. of the 5th WSEAS Intl. Conf. on Signal Processing, Computational Geometry & Artificial Vision (World Scientific and Engineering Academy and Society (WSEAS), Stevens Point, Wisconsin, USA, 2005), ISCGAV’05. http://dl.acm.org/citation.cfm?id=1369774.1369784 (pp. 61–65).

  7. Bonato, V., Marques, E., & Constantinides, G. (2009). A floating-point extended kalman filter implementation for autonomous mobile robots, Journal of Signal Processing Systems 56.1 (pp. 41–50).

    Google Scholar 

  8. Cottle, R.W. (1974). Linear Algebra and its Applications, 8(3), 189. http://www.sciencedirect.com/science/article/pii/0024379574900664.

    Article  Google Scholar 

  9. Sudarsanam, A., Barnes, R., Carver, J., Kallam, R., & Dasu, A. (2010). Dynamically reconfigurable systolic array accelerators: A case study with extended Kalman filter and discrete wavelet transform algorithms, Computers Digital Techniques, IET, (Vol. 4 p. 126).

  10. Bigdeli, A., Biglari-Abhari, M., Salcic, Z., & Lai, Y. (2006). A new pipelined systolic array-based architecture for matrix inversion in fpgas with kalman filter case study, EURASIP Journal on Advances in Signal Processing (1), 75.

    Google Scholar 

  11. Hochet, B., Quinton, P., & Robert, Y. (1989). Systolic Gaussian elimination over GF (p) with partial pivoting. IEEE Trans. Comput., 38(9), 1321.

    Article  MathSciNet  Google Scholar 

  12. Rosa, L., & Bonato, V. (2012). A method to convert floating to fixed-point EKF-SLAM for embedded robotics, Journal of the Brazilian Computer Society, (Vol. 19 p. 181), DOI doi:10.1007/s13173-012-0092-4.

  13. Newman, P.M. (2005). C4b - mobile robotics - version 2.0. http://www.robots.ox.ac.uk/pnewman/Teaching/C4CourseResources/C4BResources.html. Robotics Research Group in the Department of Engineering Science, University of Oxford.

  14. Sorokin, N. (2006). Implementation of high-speed fixed-point dividers on FPGA. Journal of Computer Science & Technology, 6, 8. http://hdl.handle.net/10915/9513.

    Google Scholar 

  15. Koren, I. (1993). Computer arithmetic algorithms. New Jersey: Prentice Hall.

    MATH  Google Scholar 

  16. Roesler, B.N.E. (2002) In Glesner, M., Zipf, P., & Renovell, M. (Eds.), Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream, Lecture Notes in Computer Science (Vol. 2438, pp. 637–646). Berlin: Springer. doi:10.1007/3-540-46117-5_66.

  17. Govindu, G., Zhuo, L., Choi, S., & Prasanna, V. (2004). Analysis of high-performance floating-point arithmetic on FPGAs, Parallel and Distributed Processing Symposium, 2004. Proceedings 18th International.

    Google Scholar 

  18. Altera (2012). Altera website. http://www.altera.com.

  19. OpenCores (2011). Hardware division units project. http://opencores.org/project,divider.

  20. Gaffar, A.A., Mencer, O., & Luk, W. (2004). Unifying bit-width optimisation for fixed-point and floating-point designs, Field-Programmable Custom Computing Machines, 2004. FCCM 2004. 12th Annual IEEE Symposium on (pp. 79–88).

    Chapter  Google Scholar 

  21. Idris, M., Yamani, I., Arof, H., Noorzaily, M., Emran, M., Razak, Z., & Wahid, A. (2011). Reducing multiplication operation and independent processing for monocular simultaneous localization and mapping (SLAM) feature state covariance matrix computation, International Journal of Physical Sciences, (Vol. 6 p. 5648).

  22. Cruz, S., Munoz, D., Conde, M., Llanos, C., & Borges, G. (2013). A hardware approach for solving the robot localization problem using a sequential EKF, Proc. of the PhD Forum Workshop (jointly held with the IEEE Intl. Symp. on Parallel and Distributed Processing, 306–313.

  23. Inc, V.L. (2010). high definition lidar hdl-64e s2 datasheet. http://velodynelidar.com/lidar/hdlproducts/hdl64e.aspx.

  24. Thrun, S., & Montemerlo, M. (2006). The graph SLAM algorithm with applications to large-scale mapping of urban structures, The International Journal of Robotics Research, (Vol. 25 p. 403).

  25. Eade, E., & Fong, P. (2010). M. Munich, Monocular graph SLAM with complexity reduction, Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ International Conference on (pp. 3017–3024).

  26. Montemerlo, S.T.M. (2007). FastSLAM 2.0 FastSLAM: A scalable method for the simultaneous localization and mapping problem in robotics, (pp. 63–90). Berlin: Springer. doi:10.1007/978-3-540-46402-0_4 10.1007/978-3-540-46402-0_4.

    MATH  Google Scholar 

  27. Inc, X. (2006). Acceldsp systhesis tool floating-point to fixed-point conversion of matlab algorithms targeting fpgas. http://www.xilinx.com/tools/acceldsp.htm.

  28. Belanović, P. (2005). Automated Floating-point to Fixed-point Conversion with the fixify Environment, International Workshop on Rapid System Prototyping RSP’05 (pp. 172–178).

    Chapter  Google Scholar 

  29. Banciu, A., Casseau, E., Menard, D., & Michel, T. (2011). Stochastic modeling for floating-point to fixed-point conversion, Signal Processing Systems (SiPS), 2011 IEEE Workshop on (pp. 180–185).

    Chapter  Google Scholar 

  30. Kinsman, A., & Nicolici, N. (2011). Computer-Aided Design of integrated circuits and systems. IEEE Transactions on, 30(9), 1265.

    MATH  Google Scholar 

  31. Moyers, S., Stevens, D., Chouliaras, V., & Mulvaney, D. (2009). Implementation of a fixed-point fastSLAM 2.0 algorithm on a configurable and extensible VLIW processor, Proc. of the 16th IEEE Intl, Conf. on Electronics, Circuits, and Systems (ICECS).

    Google Scholar 

  32. Mingas, L.P.G., & Tsardoulias, E. (2012). An FPGA implementation of the SMG-SLAM algorithm, Microprocessors and Microsystems - Embedded Hardware Design. http://dblp.uni-trier.de/db/journals/mam/mam36.html#MingasTP12, (Vol. 36 p. 190).

  33. Rosa, L.S., Delbem, A.C.B., Toledo, C.F.M., & Bonato, V. (2016). Design and analysis of evolutionary bit-length optimization algorithms for floating to fixed-point conversion, Applied Software Computing, (Vol. 49 pp. 447–461), DOI doi:10.1016/j.asoc.2016.08.035.

  34. Rosa, L.S., Toledo, C.F.M., & Bonato, V. (2015). Accelerating floating-point to fixed-point data type conversion with evolutionary algorithms, Electronics Letters. doi:10.1049/el.2014.3791, (Vol. 51 pp. 244–246).

  35. Rosa, L.S., Delbem, A.C.B., Toledo, C.F.M., & Bonato, V. (2016). Design and analysis of evolutionary bit-length optimization algorithms for floating to fixed-point conversion, Applied Software Computing, (Vol. 49 pp. 447–461), DOI doi:10.1016/j.asoc.2016.08.035 10.1016/j.asoc.2016.08.035.

Download references

Acknowledgments

The authors would like to thank FAPESP (Ref. 2012/20224-8) for the financial support given to develop this research project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Leandro de Souza Rosa.

Additional information

Dr. Aravid Dasu Currently is affiliated to Intel Corporation. Even though, the paper was written while he was part of the University of Southern California, which is them credited for.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

de Souza Rosa, L., Dasu, A., C. Diniz, P. et al. A Faddeev Systolic Array for EKF-SLAM and its Arithmetic Data Representation Impact on FPGA. J Sign Process Syst 90, 357–369 (2018). https://doi.org/10.1007/s11265-017-1243-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-017-1243-9

Keywords

Navigation