A simultaneous localization and mapping implementation using inexpensive hardware
Autonomous mobile robots have become more popular over the past few decades, influencing both industry and academia. The strategy of making robots navigate autonomously adds many problems however. Many of these problems are directly related to the robot's ability to localize and autonomously map its environment. A solution to this problem is called simultaneous localization and mapping (SLAM). SLAM is the concept of localizing the robot while simultaneously generating a map of the environment, and then using the map in subsequent localization steps. The success of SLAM lies in a filter algorithm. One of the more common and successful filters is the extended Kalman filter (EKF), and there are many different algorithms that could be used to implement this filter. However, the computational complexity and physical cost of implementing the algorithm place the SLAM solution beyond the scope of many low-cost robotics projects. This thesis analyzes many of these cost issues related to the implementation of SLAM on autonomous robots. First, the types of sensing hardware are discussed, and potential low-cost solutions are suggested. Next, timing aspects of two different methods for data association are examined in order to evaluate tradeoffs between speed and accuracy. Finally, optimizations to the filter's update step involving matrix multiplication are presented. These three changes are presented as a customized EKF SLAM algorithm, called inexpensive hardware SLAM (IH-SLAM), which is applicable to small-scale robotics applications.