Localization and mapping are two of the most central tasks when it comes to autonomous robots. It has often been performed using expensive, accurate sensors but the fast development of consumer electronics has made similar sensors available at a more affordable price. In this master thesis a TurtleBot, robot and a Microsoft Kinect, camera are used to perform Simultaneous Localization And Mapping, SLAM. The thesis presents modifications to an already existing open source SLAM algorithm. The original algorithm, based on visual odometry, is extended so that it can also make use of measurements from wheel odometry and asingle axis gyro. Measurements are fused using an Extended Kalman Filter, EKF, operating in a multirate fashion. Both the SLAM algorithm and the EKF are implemented in C++ using the framework Robot Operating System, ROS. The implementation is evaluated on two different data sets. One set is recorded in an ordinary office room which constitutes an environment with many landmarks. The other set is recorded in a conference room where one of the walls is flat and white. This gives a partially sparse featured environment. The result by providing additional sensor information is a more robust algorithm. Periods without credible visual information does not make the algorithm lose its track and the algorithm can thus be used in a larger variety of environments including such where the possibility to extract landmarks is low. The result also shows that the visual odometry can cancel out drift introduced by wheel odometry and gyro sensors.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-81553 |
Date | January 2012 |
Creators | Hjelmare, Fredrik, Rangsjö, Jonas |
Publisher | Linköpings universitet, Reglerteknik, Linköpings universitet, Reglerteknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0164 seconds