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.
Similar content being viewed by others
Notes
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
Smith, P.C.R., & Self, M. (1990) In Cox, I., & Wilfong, G. (Eds.), Autonomous robot vehicles, (pp. 167–193). New York: Springer.
Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic robotics. Cambridge: MIT Press.
Fox, D., Hightower, J., Liao, D.S.L., & Borriello, G. (2003). Bayesian filtering for location estimation, IEEE Pervasive Computing, (Vol. 2 p. 24).
Zhang, F. (2005). The schur complement and its applications, Numerical Methods and Algorithms, Vol. 4. São Paulo (Brasil): Springer.
Gaston, F.M.F., & Irwin, G. (1990). Control Theory and Applications, IEEE Proceedings D, (Vol. 137 p. 235).
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).
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).
Cottle, R.W. (1974). Linear Algebra and its Applications, 8(3), 189. http://www.sciencedirect.com/science/article/pii/0024379574900664.
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).
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.
Hochet, B., Quinton, P., & Robert, Y. (1989). Systolic Gaussian elimination over GF (p) with partial pivoting. IEEE Trans. Comput., 38(9), 1321.
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.
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.
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.
Koren, I. (1993). Computer arithmetic algorithms. New Jersey: Prentice Hall.
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.
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.
Altera (2012). Altera website. http://www.altera.com.
OpenCores (2011). Hardware division units project. http://opencores.org/project,divider.
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).
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).
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.
Inc, V.L. (2010). high definition lidar hdl-64e s2 datasheet. http://velodynelidar.com/lidar/hdlproducts/hdl64e.aspx.
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).
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).
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.
Inc, X. (2006). Acceldsp systhesis tool floating-point to fixed-point conversion of matlab algorithms targeting fpgas. http://www.xilinx.com/tools/acceldsp.htm.
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).
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).
Kinsman, A., & Nicolici, N. (2011). Computer-Aided Design of integrated circuits and systems. IEEE Transactions on, 30(9), 1265.
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).
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).
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.
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).
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.
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
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-017-1243-9