论文部分内容阅读
智能机器人技术的不断发展,使得越来越多的各种形式的机器人在各行各业发挥用处。让机器人感知自身状态与周围环境是其完成其他更加复杂的任务如路径规划、导航、避障等功能的基础,因此,机器人即时定位与建图(Simultaneous Localization and Mapping,SLAM)技术逐渐引起了人们的关注。无人车作为广义上的移动机器人,简化了仿人机器人的运动形式,从而能够能加专注于解决具体的问题,这也是大多数机器人都是轮式机器人的原因。相比早期以激光传感器作为数据输入的SLAM技术,近年来基于视觉的SLAM技术因其成本低昂而逐渐成为主流,而由于双目相机及RGB-D相机能较方便地获取深度信息,因而也是视觉SLAM中的研究重点。因此本文主要研究了基于RGB-D相机的无人车视觉SLAM技术,主要包括以下内容:首先,研究了RGB-D相机获取深度信息的原理,以及针孔相机成像模型,研究了如何标定相机的内参数和畸变参数,以及两相机之间的外参数,进一步介绍了如何根据标定参数来对采集到的彩色图像与深度图像进行配准。其次,对视觉SLAM的前端视觉里程计进行了研究,包括特征提取、特征匹配与筛选、相机运动估计以及局部优化等部分,针对原始ORB特征容易集中在图像中的局部区域的现象,本文提出了使用划分栅格结合四叉树的方法来有效解决。首先利用划分栅格的方式,提高缺乏纹理的区域提取到FAST角点的概率,然后利用四叉树来对特征点进行筛选,减少特征点过于集中的现象,从而能够减少冗余信息,且更加充分地利用整幅图像。对于特征点匹配过程中出现的误匹配现象,采用随机采样一致性算法来有效地剔除误匹配。对于估计相机运动产生误差的现象,采用了EPnP与捆集优化结合的方式来减小误差。最后,针对视觉里程计产生累计误差的现象,本文采用了回环检测结合全局优化的方式来减小累计误差。研究了基于词袋模型的回环检测方案,使用k叉树来存储视觉单词从而极大地提高访问效率,使用k-means++聚类算法来产生k叉树的新节点。在检测到回环之后,需要对整个地图进行全局优化,此时忽略地图中的特征点,而只对相机位姿进行优化,从而能够大大减少计算量,使用g2o库来进行位姿图优化。搭建了无人车软硬件平台来验证算法效果,对TUM数据集以及真实的场景进行了实验,分析了轨迹误差,并生成了稀疏特征点地图以及点云地图,实验结果说明本文方法有效。