| Simultaneous location and mapping is the key to complete autonomous mobile robot movement.The intelligent development of reception robot in unknown indoor environment requires the support of SLAM technology.The Kinect camera of Microsoft can simultaneously obtain color image and depth data of environment.Compared with traditional camera,it has the advantages of low price and abundant information,and can obtain 3D environmental map with texture color,which has obvious advantages and application prospects.In this thesis,aiming at the application requirement of reception robot in unknown indoor environment,the visual SLAM system based on Kinect camera is studied on the platform of lab reception robot.Visual SLAM system mainly includes Kinect camera data reading,front-end vision odometer,back-end nonlinear optimization,loop detection and construction.This thesis mainly studies:(1)The depth measurement principle and image acquisition method of Kinect V1 camera is studies,and the Zhang Zhengyou calibration method is used to calibrate Kinect.Image denoising of the obtained RGB image and depth image is carried out through an improved bilateral filter in order to get a single frame image rough 3D point cloud image.(2)The comparison of SIFT,SURF and ORB is carried out,and the experimental results show that the ORB algorithm is efficient and real-time.Then,the algorithm of eliminating mismatch is improved with ORB algorithm.The experimental results show that the improved algorithm is more efficient.(3)Aiming at the shortcomings of traditional motion optimization ICP algorithm,an improved ICP algorithm based on normal spatial sampling and K-D tree is adopted.The experimental results show the efficiency of the improved algorithm.(4)In the experiment with improved algorithm,the multi-frame images collected by KinectV1 camera are used to complete the vision odometer,and the g2o back-end optimization and the return loop detection is carried out.The octree structure is used to store the 3D point cloud map with multi-resolution,which effectively reduces the storage space occupied by the point cloud map.Under the programming environment of Ubuntu 16.04,using OpenNI,cmake3.5.1,OpenCV2.4.9,PCL1.7.2,g2o and octomap,combined with various algorithms,the whole visual SLAM system is completed by using the reception robot.The experimental results show that the system is effective and efficient.It lays a foundation for the later research on obstacle avoidance navigation of reception robot,and helps to improve the application and popularization of reception robot. |