Development of SLAM algorithm for a Pipe Inspection Serpentine Robot

The use of different mobile robots for the pipe inspection system is gradually gaining importance since they are capable of performing a faster and more accurate inspection. Due to the transportation of various energy-related utilities, these pipes need to be inspected regularly. These pipelines are generally small in diameter, which makes it very difficult for a human to do an inspection, thus building an autonomous pipe inspection robot is of immediate necessity. For this reason, the Robotics & Mechatronics (RAM) research group has developed a Pipe Inspection Robot for AuTonomous Exploration (PIRATE), a six-segments wheeled snakelike robot, at the University of Twente, which is used for inspecting pipes with a diameter of 100-150mm. In the field of mobile robot navigation, Simultaneous Localization and Mapping (SLAM) is a crucial technique that aims at consistently building the robot environment and simultaneously determine the robot location in that environment. Much research has been carried out on solving the SLAMproblem, but despite significant progress, there are issues depending on the application. In this context, this thesis aims to investigate and implement a SLAM algorithmfor a pipe environment so that PIRATE can autonomously navigate through different pipe segments and carry out the inspection process. The first goal is to implement a different 2D-3D SLAM algorithm for the in-pipe environment in Gazebo, a ROS-based simulation framework. The next goal is to evaluate the built map based on its quality, localization error, computation, and loop closure. Further, the algorithm is tested on two physical robots, i.e., Jackal, a differential drive mobile robot and PIRATE. One of the biggest challenges in SLAM is the lack of sufficient features or textures in an environment that makes it difficult for a range-based or a vision-based sensor to do mapping and localization. To overcome such a problem, wheel odometry can be used to estimate robot position, and thus construct the map. However, the wheel odometry is prone to error with time, but this error can be greatly reduced by various means, for example, sensor fusion between wheel encoders and IMU (accelerometer and gyroscope) can provide reliable odometry data. Driving a robot at a low speed reduces slippage, and proper wheel calibration removes the systematic error. Estimation of the wheel slip ratio and friction coefficient can also help to compensate for slippage and thus provide reliable odometry data. In this thesis, sensor fusion between wheel odometry and InertialMeasurementUnit (IMU) data is proposed. Based on the selection of the sensors, Grid-based Mapping (Gmapping), Google Cartographer algorithms will be exploited for mapping (2D and 3D) and localization inside different pipe segments. Gmapping performs particle-based state-estimation, while Cartographer uses graph-based approaches. Further, a 3D memory-efficient mapping algorithm called Octomap is integrated into the system. An AdaptiveMonte Carlo Localization (AMCL) algorithm was used to reduce localization error on a pre-built map. During experimentation, it is observed that Cartographer outperforms the Gmapping SLAM algorithm with respect to the construction of more precise maps and pose estimation. In addition to this, its low computation and memory usage make Cartographer, an ideal candidate for SLAM framework inside pipes. Moreover, AMCL performs exceptionally well with the fused data and range-based data inside the pipe network. Further, an Octomap is constructed on top of Cartographer, making it a perfect combination. This technique increases the scalability of large pipe networks because of its low computational and memory usage. However, there is still some inconsistency in the built map due to sensor noise, slippage, etc. To address the inconsistent behavior of these algorithms, suitable modifications are suggested.