论文部分内容阅读
智能机器人产业的需求带动了机器人技术的快速发展,导航在机器人中扮演的角色十分重要,视觉导航是机器人导航技术的主要发展方向。机器人为完成预定任务,首先要对自身所处位置定位并探索感知周围环境,进而规划最优路径,达到准确位置后完成相关的任务。普通的单目相机不能测量到物体的深度,双目相机价格昂贵且计算量大,微软发布的Kinect相机可获取物体深度,价格低廉被广泛应用。典型的SLAM系统含有前端、后端、回环检测、地图构建四个模块,基于特征方法的前端,数据关联受特征提取和图像匹配的影响,后端优化决定了地图和机器人轨迹的全局一致性效果,非线性优化方法是现阶段后端优化的主流方式,后端优化中的回环检测部分可以矫正机器人运行轨迹,减少累计误差。本文的具体研究内容如下:第一、分析了基于RGB-D相机的SLAM算法的研究背景与意义。综述了课题的研究现状,说明了目前基于RGB-D相机的SLAM算法存在的主要问题问题和挑战,给出了论文的主要研究内容和章节安排。第二、简要介绍了 Kinect相机的内部组成以及工作原理,介绍了最常用的相机模型以及相机的内外参数,分析了产生相机畸变的来源,并对相机的畸变进行数学建,研究了Kinect相机的标定原理,采用漂移量进行视差矫正。编程实现了 ROS平台下使用棋盘格对Kinect相机进行标定获取RGB摄像机和IR摄像机内外参数及畸变参数,对矫正后的标定结果进行了分析。第三、主要研究了 SLAM算法的前端。介绍了典型SLAM的前端框架,研究了三种常用的典型图像特征以及它们的原理,针对特征提取效率低下,采用GPU加快特征提取,使用方格特征匹配方法可以减少图像的误匹配,研究了3D-2D空间投影求取连续帧的运动,介绍了 PnP算法求解相机的六自由度位姿。实验部分实现了 GPU提取SIFT特征,比较了采用CPU和采用GPU提取时间上的差异,实验对比了三种特征的提取效果,带有尺度、旋转、模糊的场景下使用不同匹配方式做了全面的比较,同时对前端连续帧运动估计进行了实验,用运动估计的结果拼接点云地图并分析了误差。第四、主要研究了 SLAM算法的后端理论,进行相关实验验证。介绍了基于扩展卡尔曼滤波和基于非线性优化的两种状态估计方法,重点研究了主流的非线性优化方法的求解原理,非线性优化中的目标函数协方差矩阵合理设置可以提高优化的精度,研究了基于图像外观的回环检测原理,简要介绍了地图构建的多种形式和它们的用途。实验部分采用TUM数据集,对比视觉前端和基于改进协方差的后端优化的效果,对两种方式得到的结果进行点云地图拼接,并对误差进行分析。同时在室内场景下采用Amigo机器人搭载PC、Kinect进行应用验证,构建点云地图和稀疏的ORB特征地图,并对产生的误差分析。最后,对本文所做的全部工作进行分析总结,并提出下一阶段的研究方向和需要解决的问题。