University of Twente Student Theses
Analysis, optimization, and design of a SLAM solution for an implementation on reconfigurable hardware(FPGA) using CλaSH
Folmer, H.H. and Appel, R.N. (2016) Analysis, optimization, and design of a SLAM solution for an implementation on reconfigurable hardware(FPGA) using CλaSH.

PDF
7MB 
Abstract:  Simultaneous localization and mapping (SLAM) is a mathematical problem with a potentially heavy computational load which is usually solved on a large computational system. These systems consume much energy which is not ideal for mobile robots. A field programmable gate array (FPGA) is reconfigurable hardware could be more efficient in terms of energy compared to standard computer systems due to its parallel capabilities. The goal of this project is to develop a SLAM implementation on an FPGA to be more efficient in terms of energy and computation time. SLAM is realized using a laser range finder (LRF) + odometry as sensor input. CλaSH is used as a mathematical hardware specification language. The two main subjects are: Graphbased SLAM and iterative closest point (ICP). (ICP) is used to find the transformation between two sensor observations (laser range scans) to determine the movement of the robot. The ICP algorithm contains; constructing correspondences, and minimizing the errors. Error minimization is done by solving a least square system with QR decomposition using GramSchmidt method. Regular structure of algorithm and data allowed a vector ALU architecture is design as a tradeoff between time and area. Data is stored into blockRAMs. Results produced by the FPGA are slightly less accurate compared to a reference solution in MATLAB but has a performance increase per Joule of three orders of magnitude. The SLAM algorithm used is called graphbased SLAM which is used to correct for errors that are found during loop closing. The graphbased SLAM algorithm uses a linear system to correct for these errors. The linear system is sparse and can be solved be systems that preserve the sparsity of the system. Sparse matrices often do not fit well on embedded hardware which is solved by structuring and restricting the data. Other vectors in the system are dense and storing them with the sparse notation is cumbersome. A hardware architecture that performs a linear solving method using a combination of sparse and dense data is used to perform SLAM with a limited amount of resources. 
Item Type:  Essay (Master) 
Faculty:  EEMCS: Electrical Engineering, Mathematics and Computer Science 
Subject:  53 electrotechnology, 54 computer science 
Programme:  Embedded Systems MSc (60331) 
Link to this item:  http://purl.utwente.nl/essays/71535 
Export this item as:  BibTeX EndNote HTML Citation Reference Manager 
Repository Staff Only: item control page