储油罐虚拟环境建模方法研究与发展现状
2021-07-07弓海凌邹冰玉代峰燕
张 瑾,沈 强,李 淘,弓海凌,邹冰玉,代峰燕
(北京石油化工学院机械工程学院,北京 102617)
虚拟现实技术是利用计算机模拟生成让用户与虚拟场景中对象进行实时交互的一体化虚拟环境[1]。虚拟现实技术在航天、医疗、娱乐等领域的应用已日趋成熟[2]。在能源领域,采用虚拟环境建模技术可以解决油罐中恶劣环境下清洗机器人实时定位等问题。虚拟环境建模技术是指通过计算机图形学知识对真实场景进行三维重构,并最终在计算机系统中进行显示的技术[3-6]。根据其实际操作环境可否预知,虚拟环境建模方法可分为结构化虚拟环境建模和非结构化虚拟环境建模,笔者将对结构化虚拟环境建模和非结构化环境建模方法及其在储油罐虚拟环境建模方面应用进行论述。
1 结构化虚拟环境建模方法及应用
1.1 基于OpenGL虚拟环境建模研究
OpenGL(Open Graphics Library)三维图形标准于1992年由美国硅图公司发布,其功能强大、支持可视化操作、造型能力强,对于现有操作系统平台都适用,主要用于构建各种复杂三维视景,从而达到渲染2D、3D矢量图形的目的,其提供了视图变换、模型变换、基本图元绘制、着色、光照、阴影、消隐、反走样、纹理映射等具体功能。系统软件开发人员可以利用OpenGL中的100多个函数构建各种所需三维立体景物模型以及虚拟环境建模,进而完成对人机交互软件系统的开发、研制和应用,以实现硬件加速[7]。
Pedersen K 等[8]利用Open GL图形库定制开发了的虚拟听觉训练环境,实现了虚拟人耳训练和提升了用户体验。刘砚山[9]使用3DsMax三维建模软件来创建舰船和导弹的模型,采用 OpenGL图形工具包对海洋环境和导弹尾焰进行模拟,能够实时显示舰船导弹的工作姿态。王志杰[10]采用 Open GL 图元绘制方法来构建实验室轮廓模型及简单障碍物模型;利用三维建模软件 3Dsmax7.0来建立虚拟场景的运动主体移动机器人模型,通过 VC 编程导入到制作好的实验室场景中,再通过材质编辑、光照设置和纹理映射等处理生成真实感较强的三维虚拟场景,在实际操作过程中提高人机交互准确度。李建宾等[11]在VC和OpenGL平台下编程实现MA1440机器人的三维可视化仿真,研究了虚拟环境的光照、消隐、纹理映射等真实感增强技术,有助于开展机器人教学活动。
1.2 基于VRP虚拟环境建模研究
VRP(Virtual Reality Platform)是由中视典数字科技有限公司自主研发的一款国产虚拟现实软件,该软件适用性强、操作高度可视化,在中国虚拟现实市场应用范围广、占有率高[12]。目前最新版本VRP与3DsMax、Visual Studio都留有接口,可以将制作的三维模型以.3ds格式导入到VRP,同时VRP支持二次幵发,通过其插件VRP-SDK和Visual Studio编程可以控制VRP三维场景的运动状态,适合用来虚拟环境建模[13-14]。
鲁守银等[15]研究了带电作业机器人智能控制组图,在Pro/E中先将液压机械臂和杆塔环境模型建立好,再导入到3DsMax中进行渲染和烘焙,最后将在3DsMax中生成的作业场景环境文件导入到VRP三维场景中作光照、纹理以及雾化等处理。林昱[16]采用3DsMax 三维建模软件和VRP虚拟现实软件相结合的方式来实现三维虚拟舞台设计,符合其高真实感、高效率要求。首先利用3DsMax制作舞台场景三维模型,同时进行编辑材质和贴图处理,后在 VRP 编辑器中进行渲染和烘焙,完成三维虚拟舞台设计。
1.3 基于VRML虚拟环境构建研究
VRML(Virtual Reality Modeling Language)是由SGI公司提出的一种面向对象的虚拟现实建模语言,可以全面描述虚拟三维环境模型、对虚拟环境进行渲染以及提供实时交互操作功能,具有平台无关性[17]。然而对于极其复杂的三维模型,在虚拟环境构建过程中,系统开发者一般采取可视化VRML设计工具与三维建模工具结合使用的方法,如通过SolidWorks、LightScape、3DsMax等三维建模软件建立初步虚拟环境模型,之后利用VRML虚拟现实建模工具进行交互设计,这样就可以甩掉枯燥繁琐的编程语言,提高开发效果和效率。
陈强等[18]使用VRML建模语言和Java相结合的方法开发网络虚拟实验室,其三维展示的平台为VRML建模语言创建出来的环境模型,操作简单、实用性高,有利于远程教学的实施。徐超等[19]设计了虚拟化的校园教室和办公室,该系统包括VRML EAI交互、教室物体设计、室内前方设计、虚拟场景的层次结构、虚拟三维场景结构,充分结合VRML生成并且完善VRML场景,利用VRML、ASP及XML混合编程提高系统使用灵活性。王意存等[20]利用VRML虚拟现实建模语言以及Matlab中的Simulink模块搭建了六自由度弹道、导弹和目标的虚拟现实模型,可以实时观察导弹飞行状态,有利于操作人员及时做出准确的判断。Jan-Michael Frahm等[21]利用VRML建模语言完成了大规模环境建模,而且将摄像机和其他传感器结合起来,获得了高质量的环境模型。
1.4 基于WTK虚拟环境建模方法研究
WTK(World Tool Kit)是由美国Sense8公司研制的虚拟环境应用程序开发工具包,用来进行三维虚拟环境交互[22]。作为一个C/C++外挂式平台,WTK基于OpenGL底层函数,包括1000多个基于C语言代码的库函数,WTK可作为外部库直接嵌入,而且提供了高层应用软件开发接口和相关虚拟现实硬件设备接口,有助于用户借助外部设备与创建的虚拟环境进行交互,从而达到控制整个虚拟环境的目的。
吴晓等[23]依照实际物料搬运机械运转流程,利用虚拟现实集成开发工具包WTK来进行基本的物料搬运视景仿真操作,从而建立物料搬运虚拟环境模型,实现物料搬运操作高度可视化。Chang-Hyun Park等[24]利用WTK虚拟现实工具包和MFC编程完成对电力系统设备正常可视化操作,可进行有效的故障排除,使其成为电工培训系统的开发指南。
1.5 基于逆向工程三维激光扫描技术研究
三维激光扫描技术是利用激光测距原理扫描物体表面三维点云数据,得到被测场景大量密集点的基本信息,如反射率和三维坐标等;再通过逆向工程方法,利用获取的点云数据重构出扫描实体所对应曲面[25]。三维激光扫描系统前期是由三维扫描仪等硬件设备完成数据采集工作,后期数据处理工作则由相应软件完成。三维激光扫描点云数据处理软件是由逆向工程引申而来的 Geomagic、Imageware、PolyWorks及3DReshaper等,此类软件侧重于点云数据后处理,可快速对硬件收集的场景数据进行分析处理,修改生成所需的三维虚拟环境模型[26]。
郑少开等[27]利用三维激光扫描仪向扫描目标古建筑发射激光脉冲,依次扫描被测量区域,快速获取地面景观的空间坐标和反射光强,利用系统配备的建模工作站进行点云数据处理,生成古建筑三维点云模型,通过点云数据处理软件PolyWorks重建场景的网格模型和表面模型,并对其进行纹理映射和光照处理,最后借助工作平台数据接口将获取的模型转化为.3ds等格式图形对象,完成对古建筑的三维重构。Stephanie Fekete等[28]利用三维激光扫描仪收集隧道环境点云数据,得到高分辨率的三维图像,提供详细的岩体三维特征,可以对岩体进行更具代表性的地质力学解释。
2 非结构化虚拟环境建模方法及应用
2.1 基于点云信息三维场景建模
非结构化虚拟环境三维重建是对未知真实场景进行数字化与可视化的核心技术,在进行场景结构信息提取时,虚拟环境模型的重建质量尤其重要[29]。现有非结构化虚拟环境建模方法集中在先提取真实环境点云信息,通过编写相关算法等方式对真实环境进行三维重建,以得到真实感较强的三维虚拟环境。
目前深度图像点云信息采集设备主要有结构光扫描仪、RGB 双目相机和To F(Time of Flight)相机。结构光扫描仪分辨率高、深度信息较准确,但构造复杂,需要被测物始终保持相对静止;RGB 双目相机依赖于图像特征匹配,在光照不足等环境恶劣的情况下,其深度信息很难被精确提取到;To F相机体型小巧、深度信息精度较高、价格低廉、可操作性高。微软公司研制的深度图像传感器Kinect V2就使用了To F技术,具有较好图像采集性能、性价比高,其依据投射的红外线反射后返回时间来获取环境三维数据信息,已被广泛应用在目标跟踪、物体识别和三维重建等研究中。
在基于临场感技术遥操作任务中,遥操作任务成败的关键是重构的三维模型准确与否,所以首要问题是如何根据现场环境结构信息构建出真实虚拟环境。倪涛等[30]通过采集RGB相机信息和红外相机信息融合得到的点云信息,获取机器人作业环境的基本场景信息,之后通过基于Delaunay三角化机器人作业环境建模算法处理,完成对机器人操作环境的三维重构。袁祖龙等[31]通过提取Kinect 摄像头采集的点云信息,采用了一种新型RGB-D 传感器来进行真实环境三维信息提取,该传感器在采集环境RGB颜色信息的同时,可以获取物体表面各点深度信息,通过分析采集的点云数据还原出机械臂工作环境,用于工作环境特征提取。赵明富等[32]搭建的三维重建系统使用Kinect 深度图像传感器作为数据信息采集设备,同时采集被测场景的深度信息和彩色信息,利用光线投影算法对被测场景的深度和彩色信息进行提取,结合改进球旋转算法和优化深度色彩混合算法生成带有纹理信息的场景几何表面模型,完成被测场景的三维重建。斯坦福大学Radu[33]带领的团队对基于RGB-D相机的三维重建进行研究的项目Kin Fu Large Scale中,使用Kinect作为深度图像采集设备,实时将深度图、彩色图和对应的相机位姿保存下来,利用Kinect Fusion 算法对被测场景进行实时的几何表面模型重建,然后将采集得到的彩色图片在生成的几何表面模型上根据位姿和特征信息进行纹理贴图,最终获得了良好纹理重建结果。
2.2 基于SFM虚拟环境建模
运动多视角结构(Structure from Motion ,SFM)隶属于计算机视觉范畴,通过对作业场景的多次投影测量提取摄像机参数和三维环境信息,进而通过编写相应算法完成对操作环境的三维重构。SFM方法可以对大规模场景进行建模,适合自然地形和城市景观的建模。但由于SFM方法是从照片中的特征点恢复场景的形状和纹理信息,在周围环境质地较低和一些所需结构被其他物体或自身的其他部分遮挡时,无法准确提取足够特征点,导致三维场景无法恢复,为避免此类问题发生,用户需要从尽可能多角度拍照。
对于非结构化虚拟环境建模方法,王纪武等[34]在分析总结了现有三维虚拟环境建模方法优缺点的基础上,提出了运动多视角结构(SFM)方法来进行虚拟现实环境建模。其基本步骤是:(1)输入并对齐照片。将捕获的模型或场景照片输入到SFM程序中,首先提取照片中形状或纹理信息较突出特征点,然后匹配照片之间特征点。匹配完成后,通过照片中不同特征点计算相机之间位置关系;(2)生成稀疏点云。每个特征点三维坐标通过立体视觉基本原理来求解,然后根据每个特征点纹理信息生成带有颜色信息的点云;(3)生成密集点云。利用PMVS工具获取特征点周围高度一致点的三维坐标,从而生成密集点云;(4)完成三维重建。生成密集点云后,首先需要去除生成的密集点云中的离群点,剔除操作保证最终模型没有缺陷。最后3个相邻的点被用于形成1个小平面,并且这些小平面被连接以形成最终的3D模型。Naves等[35]应用运动多视角结构(SFM)方法进行高分辨率、高精度的地形测量,使其获得更好的实验数据显示,与使用荧光粒子改进的大尺度粒子图像测速(LSPIV)方法配合,测量城市排水模型中的径流速度,避免了雨滴特征和地表水深的干扰。
3 储油罐虚拟环境建模
3.1 储油罐虚拟环境建模研究现状
目前常见的大型储油罐是立式圆柱形钢油罐,主要由底板、壁板、顶板及一些油罐附件组成。按罐顶结构形式,立式圆柱形钢油罐又分为固定拱顶罐、内浮顶罐和外浮顶罐,其结构设计标准主要依据相应的国家标准的设计规范[36]。油罐清洗工作由人工直接进行,危险性极高,通常利用遥操作技术控制机器人进行清洗工作。由于油罐内部结构复杂,并且长时间存在着爆炸性气体,在传统遥操作过程中,操作人员无法直接地获取维护装置姿态信息及其位置信息,导致操作困难、清洗效率低,且操作过程中很难避免清洗机器人与油罐壁发生碰撞而造成罐内环境污染和损坏。因此提供实时反馈信息是清洗机器人遥操作系统高效、安全的关键。
现有的油罐清洗国外企业发展较好的有英国NESL公司、丹麦保罗公司以及德国S&U公司;国内相对来说则是万博克环保科技(北京)有限公司和华油惠博普集团。NESL公司设计的Manway Cannon人孔系统如图1所示。该系统的优点之一是,喷枪配置红外线摄像头和LED灯,而且具有实时图形仿真,方便控制台前操作员控制和查看清洗进度,其不仅可以自动化进行油罐清洗,也可以在油罐受到逆温和出现雾气时继续清洗工作,计算机生成的图像可以保证操作员是在喷枪已经完全准备好被拆除时,安全地从油罐上将其移除。
图1 Manway Cannon人孔系统
3.2 储油罐虚拟环境建模基本步骤
储油罐操作环境已知、构造各有特点,属于结构化虚拟环境建模。使用OpenGL图形库等工具来构建虚拟储油罐环境不便捷,且需要大量时间来熟悉;使用世界工具包(WTK)和MultiGen Creator等虚拟现实软件可以模拟复杂三维图形,但制作油罐模型相对简单,用户沉浸感低;利用建模软件和虚拟现实建模语言(VRML)进行建模,建模软件可以对对象进行精确建模,但不够逼真,也不适合对真实环境进行建模;三维激光扫描技术以其高精度优势得到应用,但测量设备本身所占空间比较大,使用范围有所限制,且后期点云处理要求高;总的来说,现有的虚拟环境建模方法需要攻克的难题主要分为两点:第一点是三维制模软件与虚拟现实软件的适配度,为避免影响环境后期材质、光照、纹理映射等实际效果,环境模型必须精确创建,包括其中的基本结构与配合连接;第二点是虚拟现实软件的二次开发,要求设计人员具有丰富的编程经验,VC、VB、C#等编程语言也有具体要求,以保证虚拟环境与真实环境间的实时交互。利用三维建模软件和VRP虚拟现实软件结合,建模软件3DsMax可以对储油罐精确建模,VRP可以对虚拟油罐模型进行后期材质、光照处理,同时支持二次开发,符合储油罐虚拟环境建模的基本要求。
在进行结构化虚拟环境建模时无论采用哪种虚拟现实软件,大多都要结合三维制模软件,如3DsMax、Pro/E、Maya、SolidWorks等,都是先在三维软件中进行虚拟环境模型初步创建,再导入虚拟现实软件中进行后期材质、灯光处理,以制作逼真的虚拟场景效果,储油罐虚拟环境建模采用虚拟现实软件VRP与三维建模软件3DsMax相结合的方法。
储油罐虚拟环境建模基本步骤如下:首先将SolidWorks中建立好的油罐清洗机器人模型和3DsMax中制作好的作业油罐虚拟模型转换成obj格式文件并导入到3DsMax中进行渲染和烘焙;然后通过VRP-for-Max插件将3DsMax中生成的3Ds文件导入到VRP虚拟现实软件中制作真实感强的储油罐虚拟场景;接着将油罐清洗机器人模型局部坐标转化到世界坐标系中,并投影到虚拟油罐中;再对导入后的储油罐虚拟环境模型添加能够产生逼真环境效果的材质,确定场景中所有可见面,删除不可见面;最后使用光照处理、纹理映射和融合、反走样和雾化等效果使模型更逼真,建立了虚拟储油罐环境模型。
3.3 储油罐虚拟环境建模发展趋势
我国储油罐清洗技术正在从人工清洗向机械自动化清洗发展[37]。在油罐清洗机器人实际操作中,由于油罐中油污水汽等会阻挡机器人携带的摄像头,导致操作员不能准确掌握机器人实际所在位置,容易发生不可预知危险,而虚拟现实技术、虚拟环境建模技术可以很好地解决现有油罐清洗机器人清洗油罐过程中遇到的实际问题。对于储油罐虚拟环境建模方法来说,把储油罐作为结构化环境,依据三维建模软件和虚拟现实软件的结合来进行虚拟油罐环境建模,可以随时掌握油罐清洗机器人位置,最终实现动态交互。但是其中也存在一些问题,如这样制作出来的油罐虚拟模型不够逼真、耗时较长,现兴起的激光扫描技术、三维激光雷达环境感知技术、深度图像处理技术等已经在古建筑重建、自动驾驶、智能机器人领域得到了广泛应用,其采用的方法主要是先提取真实环境点云信息,后通过编写相关算法对真实环境进行三维重建,速度快、精度高、环境还原度高,有利于解决现在虚拟油罐环境建模过程中存在的问题,因此未来利用更好实现实时交互的基于点云信息非结构化环境建模方法会成为储油罐环境建模发展趋势。
4 结论
在总结现有结构化环境和非结构化环境下建模方法基础上,将油罐清洗与虚拟现实技术相结合,利用三维建模软件和虚拟现实软件实现对油罐环境建模,解决了油罐清洗机器人进入油罐后操作员视野易被阻挡的问题,为油罐清洗机器人遥操作打下了坚实基础,对于推动油罐清洗无人化进程有着重要的参考意义。
但是创建油罐虚拟模型的过程繁琐,且逼真度不够,激光扫描、三维激光雷达环境感知技术、深度图像处理技术等基于点云信息非结构化环境建模方法能够解决现有问题,并逐渐成为储油罐环境建模的发展趋势。