全文总字数:4498字
1. 研究目的与意义(文献综述)
随着社会经济的发展,科学技术的进步,越来越多的机器人(如扫地机器人,无人机,智能宠物等),娱乐生产方式(VR,AR,MR等)逐渐进入人们的视野,给人类生活带来了很多便利。
在生活与生产环境中运用这些设备,SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)是所需要的关键技术之一。
SLAM最早在机器人领域提出,旨在使机器人从未知环境的未知地点出发,在运动过程中重复观测到的地图特征(如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。
剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!
2. 研究的基本内容与方案
研究的基本内容为利用单目摄像机获取ORB特征,在运动过程中构建与现实环境一致的地图,并利用所构建的地图对物体的位置和姿态数据进行实时计算更新。三维注册的主要任务是监测使用者头部位置以及视线方向,计算虚拟物体在投影面的位置坐标,将虚拟物体准确地置于真实场景中,使用户感觉不出虚拟物体与真实场景的差异,设计的内容将主要包括三个任务:实时的特征检测,三维注册定位追踪,实时渲染。在具体毕业设计进行过程中,我打算按照以下流程进行相关知识的学习和毕业设计的实施。
- 高等数学、线性代数、概率论等数学知识的复习:在研究SLAM过程中需要掌握大量的数学知识,因此对这些已经学习过的课程知识进行适当的复习,重新熟悉是很有用的。具体包括旋转矩阵、四元数、欧拉角的相关知识,并在Eigen当中使用它们,以及李群和李代数,并通过Sophus操作它们,还有非线性优化,包括状态估计理论基础、最小二乘问题、梯度下降方法,并使用Ceres和g2o进行曲线拟合。
- OpenCV的学习:由于视觉SLAM需要用到相机作为传感器,因此对于针孔相机模型以及图像在计算机中的表达需要有一定了解,并利用OpenCV调取相机的内外参数。
- Linux操作系统的学习:由于SLAM开发需要使用Linux操做系统,掌握Linux是一个SLAM研究人员所必须的,各种程序库在Linux下的配置都非常便捷。因此,对于Linux操作系统的使用的学习是很有必要的。
- C 编程能力的强化:由于采用C 作为编码语言,需要使用C 标准库,一些编程技巧,此外还需要使用C 11标准的内容,因此对C 的强化学习是必不可少的。
- Linux环境的搭建:在虚拟机中安装Ubuntu 14.04,并安装Qt Creator。
- 创建使用特征法的视觉里程计:学习特征点的提取与匹配、对极几何约束的计算、PnP和ICP等,并用这些方法去估计两个图像之间的运动。搭建一个视觉里程计框架,实现其基本功能。学习光流和直接法的原理,利用g2o实现一个简单的RGBD直接法。
- 进行后端优化:主要进行Bundle Adjustment,包括基本的BA,以及如何利用稀疏性加速求解的过程。
- 对位姿图进行优化:位姿图是表达关键帧之间约束的一种更紧凑的形式,使用g2o和gtsam对一个位姿球进行优化。
- 进行回环检测:学习词袋法回环检测,使用dbow3书写字典训练程序和回环检测程序。
- 进行地图构建:使用RGBD的稠密地图构建,编写极线索搜索与块匹配程序,完成点云地图和八叉树地图的构建。
剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!
3. 研究计划与安排
- 2019/1/14—2019/1/22:查阅参考文献,明确选题。
- 2019/1/23—2019/2/22:进一步阅读文献,完成开题报告;翻译英文资料(不少于5000汉字),并交予指导教师检查。
- 2019/2/23—2019/4/30:对采集的数据进行分析和特征点提取;确定相机运动模型,匹配正确的二维特征点,得出相机的位置;计算目标二维位置,得到目标中心位置空间坐标;实时渲染模型。剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!
4. 参考文献(不低于12篇)
[1] 高翔. 视觉SLAM十四讲从理论到实践. 电子工业出版社,2017
[2] 赵越. 实时增强现实中运动目标及场景的跟踪注册关键问题研究[D]. 2015.
[3] 闫兴亚, 范瑶. 一种基于SLAM的增强现实跟踪注册方法[J]. 计算机与数字工程, 2017, 45(12):2470-2473.
剩余内容已隐藏,您需要先支付 1元 才能查看该篇文章全部内容!立即支付
以上是毕业论文开题报告,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。