论文部分内容阅读
同时定位与地图构建(Simultaneous localization and mapping,SLAM)技术是移动机器人研究领域的热点之一,是移动机器人在未知环境中实现自主导航与控制的关键,也是移动机器人实现其他操作任务的基础。近年来,由于低廉的成本与丰富的采集信息,视觉SLAM技术的开发与应用成为备受关注的热点问题。其中,以Kinect为代表的深度传感器能够同时获取环境彩色图像与深度信息,因而被广泛应用于视觉SLAM当中。目前,已有的使用Kinect深度传感器的SLAM方案主要由视觉里程计前端与位姿优化后端组成。本文采用Kinect1.0作为环境感知传感器,以TurtleBot2机器人作为移动平台,对视觉SLAM各个环节进行了详细的分析与研究,在ROS系统下实现了同时定位与地图构建系统,完成对室内环境不同类型的地图构建。本文的主要内容包括以下几个部分:1.对Kinect深度传感器与TurtleBot2机器人的硬件结构与功能进行了详细的阐述。基于ROS系统开发环境,进行传感器与移动机器人驱动安装与调试。同时,完成整机装配工作,搭建实验硬件平台。2.基于不同类型的视觉传感器对视觉SLAM观测信息获取方式展开研究。在摄像机成像模型与摄像机标定的相关理论与方法的基础上,采用张正友平面标定法,通过MatLab工具箱对所使用传感器进行标定实验,获取传感器的物理参数。针对双目视觉系统,详细介绍了其观测原理与图像信息表达方式,并采用符合视觉SLAM要求的点特征对图像进行表达。基于特征提取与匹配算法的研究,对图像特征匹配算法精度不高、计算量大、实时性差等问题,提出一种改进SIFT图像特征匹配算法,并通过特征提取实验验证了算法的可行性。针对Kinect传感器,详细介绍了RGB图像与深度图像的对应关系,基于摄像机模型,通过遍历像素计算完成观测信息获取。最后,对两种观测信息获取方式进行了详细的对比分析。3.基于Kinect深度传感器,对视觉SLAM算法的各个模块进行详细的研究。本文视觉SLAM方案选择实时性最好的ORB特征算法进行特征提取,并采取FLANN匹配方法进行特征匹配。利用匹配最小距离与RANSAC算法结合的方法对匹配点进行优化处理,剔除误匹配点。在运动估计环节,使用3D-2D方法进行视觉传感器的运动估计,有效减小了系统的计算量,同时避免了计算陷入局部最优的问题。在后端处理环节,根据图片信息定义帧结构体,同时定义了基于运动估计大小的关键帧选取机制。使用了近距离回环与随机回环结合的策略,并基于关键帧,构建位姿图。根据位姿图信息,基于G2O库实现了位姿优化。根据优化后的位姿构建点云地图。4.针对点云地图数据量大、重叠区域难以处理以及难以用于机器人路径规划等问题,对点云数据进行相应的数据转换,采用不同的地图表达方式构建场景地图,克服点云地图存在的缺点。通过点云三维信息融合转换二维类激光信息的方式,采用激光数据地图构建算法,构建二维栅格地图,获取机器人的可行区域。通过创建八叉树结构的方式,构建Octomap地图,降低系统运行时间与地图数据量。5.基于Kinect深度传感器,对实验室环境进行了点云地图、Octomap地图与栅格地图构建实验。实验获取了不同类型的环境地图,验证了文中算法的可行性。