This master's thesis presents the implementation of the algorithm for simultaneous localization and mapping through modelling in a simulated environment. The theoretical background and derivations are described to acquaint the reader with the theoretical foundations of this topic. Introduced is the formulation of the actual problem of a robot that must capture data in an unknown environment, process it, and use this information to correct its belief about its position and surroundings. The entire system was developed in the Python programming language using libraries for mathematical operations, image processing and animation of a mobile robot, which has the kinematic model of a differential drive.
The algorithm used is based on the extended Kalman filter. Initially the program with known association was implemented, which was subsequently enhanced with a condition to check the Mahalanobis distance, thus refining the localization and mapping algorithm to work even in situations where the robot must decide whether it has detected a new feature for the first time under the assumption of unknown association. A simulated laser range and bearing sensor was used to capture data from the environment, enabling the creation of point clouds. These data sets were then used to determine the edges, lines and corners of the room and objects.
The main results of the work include a fundamental analysis of the operation of both algorithms for real-time estimation of the state vector and covariance matrix using noisy measurements of control variables and the environment. The final product is the obtained simulation environment, which is very useful for testing existing autonomous driving systems as well as for developing new improvements in this field.
|