FPGA Architectures for Approximate Dense SLAM Computing
Maria Rafaela Gkekaa, Alexandros Patrasb, Christos D. Antonopoulosc, Spyros Lalisd and Nikolaos Bellase
Department of Electrical and Computer Engineering, University of Thessaly, Volos, Greece
amargkeka@uth.gr
bpatras@uth.gr
ccda@uth.gr
dlalis@uth.gr
enbellas@uth.gr
ABSTRACT
Simultaneous Localization and Mapping (SLAM) is the problem of constructing and continuously updating a map of an unknown environment while keeping track of an agent’s trajectory within this environment. SLAM is widely used in robotics, navigation and odometry for augmented and virtual reality. In particular, dense SLAM algorithms construct and update the map at pixel granularity at a high computational and energy cost especially when operating under real-time constraints. Dense SLAM algorithms can be approximated, however care must be taken to ensure that these approximations do not prevent the agent from navigating correctly in the environment. Our work introduces and evaluates a plethora of embedded MPSoC FPGA designs for KinectFusion (a well-known dense SLAM algorithm), featuring a variety of optimizations and approximations, to highlight the interplay between SLAM performance and accuracy. Based on an extensive exploration of the design space, we show that properly designed approximations, which exploit SLAM domain knowledge and efficient management of FPGA resources, enable high-performance dense SLAM in embedded systems, at almost 28 fps, with high energy efficiency and without compromising agent tracking and map construction. An open source release of our implementations and data can be found in [1].
Keywords: Simultaneous Localization and Mapping, Fpga, Approximate Computing, Energy Efficiency.