1 引 言
虚拟现实[1] (Virtual Reality,VR)通过计算机模拟虚拟环境从而给人以沉浸感,其在煤矿、安防等高风险领域都发挥着很大的作用。而虚拟三维场景重建作为虚拟现实中的关键技术,可以实现对实际物体建立合适的数学模型,以便机器人更好的分析和处理环境中的作业。对于虚拟三维场景的构建常常通过建模软件完成,其中3DS MAX 作为一个通用性软件得到广泛的应用,但其建模效率低且对建模工程师要求很高,特别对于实时渲染的VR 场景其建模要求更高。相对而言,三维激光扫描建模技术[2] 具有速度快、精度高、成本低、不接触等众多优点,但数据量特别巨大,很难在 VR 系统中运行起来,而且场景的扫描建模一般都需要和全站仪之类的测绘设备配合使用且对操作人员要求高。而 SLAM(simultaneous localization and mapping)技术[3] 指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动,实现自主定位和导航。
通过 SLAM 算法构建真实环境的虚拟三维场景地图的方式可以更高效。而 SLAM 现在主流的两种方法是基于激光雷达[4-5] 和基于视觉传感器[6-8] ,其中激光雷达不受光照的影响,Junhao Xiao 等人[9] 提出通过 LOAM[10] 算法实时构建点云地图作为虚拟现实场景中的三维地图,其中每个点颜色表示其高度但却缺失了地图原有的颜色和纹理信息,点云地图的表示形式也使结构细节模糊或缺失。而视觉传感器具有体积小,使用便捷等优点,并且图像中存储了丰富的纹理和色彩信息,因此视觉 SLAM 可以解决激光SLAM 建图缺乏纹理的问题。目前的视觉 SLAM 系统的框架比较成熟,其中 ORB-SLAM2[11] 是第一个用于单目、双目和 RGB-D 的开源 SLAM 系统,包括闭环,重定位和地图重用,但仅仅采用一个相机传感器导致系统鲁棒性较差。而 VINS-Mono[12] 是单目视觉惯性系统[13] 的实时SLAM 框架,对视觉和 IMU 信息进行紧耦合的一种基于优化的 VIO 方法,再结合闭环检测和图优化,构成了一个完整的单目视觉 SLAM 方法,有效解决单目上尺度不确定性的问题,但构建出的只是稀疏的三维地图。Voxgraph[14] 基于符号距离函数的大规模三维重建方法,使用子地图来降低存储和优化的代价,系统假设可以通过实时获得重力方向来降低位姿估计问题的维度,从而构建出稠密的三维地图。
针对以上真实环境三维建模存在低效率以及模型缺乏纹理结构信息等问题,本文将视觉 SLAM 技术和 VR 技术相结合,提出了基于 VR的移动机器人的真实环境三维建模系统,对室内场景进行图像采集及处理生成稠密三维点云地图,再将点云地图通过所提曲面重建生成三维模型和贴图导入虚拟现实设备中,实现对室内三维场景进行全方位浏览,更快速地为用户提供有效的三维信息。经过实验验证,本文系统有效解决之前人工建模效率低下和激光 SLAM 建图缺乏纹理和结构信息等问题,最后验证了重定位模块的有效性,在真实环境没有较大变动时,实现地图模型的可重复使用,从而使人机交互更加高效。
2 系统框架
基于 VR 的移动机器人的真实环境快速三维建模系统由机器人端和虚拟现实端两个模块组成,系统框架如图 1 所示。如图 1 中 Robot 端所示,机器人利用 RGBD 相机和IMU 采集相应的数据,通过视觉里程计前端估计机器人位姿,Voxgraph 算法作为后端优化位姿和构建全局地图,地图以三维点云的形式表示,三维点云地图经过表面重建生成三维模型地图,然后发送到 VR 端。如下图中 VR 端所示,操作人员根据实时视频流和三维模型地图中机器人位姿做出决策,及时规划路径并通过 VR 手柄发出命令控制机器人的运动,同时,机器人位姿可以通过重定位实时更新并映射在三维模型地图中可视化。
2.1 点云地图与重定位
2.2 生成模型地图
3 实验与分析
3.1 SLAM 点云地图生成
3.2 三维地图模型的生成
3.3 重定位
4 结 论
参考文献
暂无评论内容