胡春梅,王延亮,夏国芳
(1.武汉大学测绘遥感信息工程国家重点实验室,湖北武汉430079;2.黑龙江工程学院测绘与GIS工程技术研究所,黑龙江哈尔滨150050;3.建设综合勘察研究设计院有限公司,北京100007)
石化企业是由厂房、管线、仪器和设备构成的一个庞大而复杂的系统。为了满足不断增长的产品需求和技术改造,石化企业需要进行更新和改扩建。但是,由于工厂、设备和管道经过多年的使用都会有一定程度的变形,这样就给改扩建的设计带来了一定困难。如果设计与现实的情况出现碰撞就会带来很大的经济损失。为了满足改扩建设计的需求,对现有大型设施的三维建模就成了改扩建设计的重要内容。
三维激光扫描技术是一种实景再现技术,可以建立三维模型,制作正射影像图、立面图、平面图和剖面图等,其实景再现功能得到了古建筑和古文物及文化保护遗址等很多行业的青睐[1-4]。在本项目中,把三维激光扫描技术用于石化企业的改扩建工程,通过对石化企业的管线进行扫描、拼接,生成完整的三维点云模型,再重建其三维模型。改扩建设计时,可以把改扩建三维设计与重建的三维模型相结合起来,进行碰撞检测,准确无误地完成三维设计任务。
本文中应用的数据来源于某石化企业的一处比较复杂的管网。该公司要对该处管网作改扩建处理,为了保证设计和施工的准确性,需要用现状三维模型进行比较设计。用三维激光扫描仪进行扫描,通过数据处理生成了完整的点云模型,再建立三维模型和三维表面模型。最后设计人员应用重建的三维模型,在三维环境下完成了碰撞检验和改造设计。
一般石化企业的管线都在地表以上,比如炼油厂、乙烯厂、化肥厂等,并且厂内的管线被架在离地面几米甚至十几米的地方,这样给扫描仪设站点的选取都带来了一定的困难。为了满足三维重建的精度,确保管线数据完整,所以要在地面和高处同时设置扫描站点,对于复杂的多层管网,还要在多层管线架间设站扫描[5]。在扫描站间要设置标靶作为控制点,并且保证两站之间的公共标靶达到4个以上,以满足平差的需要;同时,标靶要尽可能选择在扫描区域的四周并且尽量通视的地方;如果需要纳入当地坐标,在扫描前可以先对其扫描区域进行控制测量,来完成联测工作。在外业采集数据前,对扫描区域进行了资料调研和实地考察,以保证数据拼接和三维建模的质量。
本文扫描的管网距离地面的距离大概10 m,扫描仪器是Leica Scanstaion2。为了保证数据完整性,共设置了7站,每站设置了5个标靶点,并且保证站与站之间至少有4对标靶点通视。为了提高扫描效率,扫描时应用了方向定位的快速扫描,且扫描精度按经验设置为1 cm,每站扫描时间约为20 min,结果如图1所示。
图1 扫描后的点云模型
激光扫描仪记录了扫描距离内所有物体的表面三维数据,这同时也增大了数据的冗余,会影响点云数据整体匹配的效率。为此,用C#编写了处理程序,过滤掉指定范围外的点云数据,得到所需的管线点云数据,且不影响匹配的结果。石化企业的管线在复杂的地方成网状,管网扫描数据的噪音相对比较大,所以还要对扫描得到的单站数据进行内部去噪处理。对于一些明显的噪音点用相应的点云处理软件进行处理,对于不能手动删除的噪音点要通过其他的逆向工程软件进行去噪。对去除噪音点的数据进行拼接可以提高整体的拼接精度,从而提高了建模的精度。露天管网是铺设在多层钢架上的,所以在建模前还要去除这些钢架,以便进行建模和碰撞检测。
去噪后的点云基本上只剩下管线数据,对于复杂管网,还要对数据按单一管线进行分割。在分割前要对管网的结构进行调查或者按原设计图纸查请各条管线的走向,提高数据分割的效率。应用点云处理软件Cyclone分割出每根管线,完成对单根管线进行分离建模。对多次弯曲的复杂管线,要进行多次提取才能得到完整的模型。
在去噪和管线分割后,应用三维数据处理和建模的软件对管网进行建模。管线的建模主要包括直管和弯管两种。当点云模型比较全的时候可以对一个完整的管线直接建模,不论是直管还是弯管可以一次性建模,这是一种比较理想的状态。对于点云不够完整的管线,要进行分步建模。一般方法是先对直管进行建模,然后在建立两个直管间的弯管连接。如果直管的数据不足以建立模型,还可以把相邻同管径的直管模型进行拷贝,通过平移和旋转变化加载到相应的位置,然后在进行弯管连接。若缺少数据点导致不能确定待建模管线的基本参数(如管径或弯管的半径),可根据现有点云确定管线的方向,再应用软件的管线建模模具就可以准确地生成管线模型(如图2所示)。
图2 建模后的三维管网(局部)
三维环境要搭载三维可视化平台,用VC++6.0在OpenGL开发了一些模块,应用OpenGL的双缓冲技术和实时渲染技术,实现了点云和三维管线模型的可视化。
管线的可视化分直管和弯管两个部分。直管的可视化途径为:根据管线的三维模型,可以得到每根直管的起终点三维坐标、管径、直管的方向向量,通过计算得到起终两个截圆面上的n个点,然后生成多个矩形面来逼近圆柱面,最后用OpenGL的双缓冲技术和实时渲染技术绘制出三维直管。弯管的可视化与直管的过程相似,只是从三维重建的模型中除了可以知道直管的信息外,还可以得到弯管的曲率及其半径、弯曲处的圆心、弯管三角面片定点坐标[6]。在OpenGL环境下,应用这些数据,就可以实现三维重建模型和改扩建设计模型的可视化。当然,还要用OpenGL实现对模型的旋转,缩放和平移等基本的操作[7-8],以便于对碰撞模型的观察。
当检测出改扩建模型与三维重建模型有碰撞的时候,需要对其进行量化,量测出碰撞的程度,然后对碰撞的地方进行修改设计,为此设计了三维拾取点坐标的功能。这个功能的原理是鼠标点击屏幕点后,把屏幕坐标转换成三维坐标,这时在三维空间中生成一条射线。在视口所示的三维空间可以视为一个平截头体,这条射线与其远近截平面有两个交点,两个交点生成一条直线,检测所有模型是否与这条直线相交,如果相交,取与起始点最近的点作为交点。通过直线与面相交公式,求出屏幕点击处的三维坐标。通过这个理论,实现了对模型三维坐标的拾取功能。
本文研制的碰撞检测系统有三维模型数据的读取功能,显示功能,放大、缩小、平移等基本功能,三维坐标拾取功能,以及量测结果的输出等功能。把改扩建设计数据和重建的三维模型数据应用该系统进行三维可视化,即可以得到碰撞检测的结果[9-10]。应用碰撞检测系统,可以检测出出现碰撞的地方。可以把整体的设计模型与重建的三维模型进行碰撞检测,也可以对怀疑程度比较大的地方那个进行单独的碰撞检测。在有碰撞的地方通过三维坐标拾取功能,量化出碰撞的大小,然后对改扩建设计进行修改,直到满足设计要求为止[11]。图3是碰撞检测的一个实例。深色是三维重建模型,浅色是改扩建设计的模型,在可视化系统中,出现了碰撞的情况。设计人员通过三维拾取功能得到三维数据,可修改设计(如图3所示)。
图3 碰撞检测实例
本文主要讨论了两个问题:一是利用三维扫描技术实现石油化工企业管道的三维重建;第二是根据石油化工企业改扩建工程的需求,设计了交互式的碰撞检测系统。本文的研究结果不仅能用于石油化工等企业的改扩建(应用碰撞检测系统修改设计),也可将扫描建模与设计模型相比,通过碰撞检测,用于各种大型工业设备、交通设施的沉降和变形分析。
[1] 朱合华,吴江斌.管线三维可视化建模[J].地下空间与工程学报,2005(1):30-33.
[2] 陶国强,吴良才,李大军.城市地下管线三维模型的实现[J].测绘科学,2005(6):110-112.
[3] 宋能,曹菡.基于OpenGL的空间管线的拼接显示与应用[J].计算机工程与科学,2008(6):144-146.
[4] 李清泉,严勇,杨必胜,等.地下管线的三维可视化研究[J].武汉大学学报:信息科学版,2003,28(3):277-281.
[5] 王延亮,夏国芳,胡春梅.利用三维激光扫描技术进行工业设备三维重建及变形分析[J].测绘通报,2012(2):76-79.
[6] 陈艳,付仲良.三维排水管网组成要素的模型设计[J]. 地理空间信息,2005(2):17-19.
[7] 杨键,陈利学,龚捷.基于OpenGL的三维图形绘制和3D建模[J].软件导刊,2009(13):168-170.
[8] 郑绵彬,陈国华.ArcGIS实现三维燃气管网仿真的研究[J]. 计算机工程与设计,2008,29(13):1824-1827.
[9] 王鹏,刘旭敏,关永.基于OBB层次包围盒的碰撞检测算法改进[J].计算机工程与设计,2009,30(13):3196-3198.
[10] CURTIS S,TAMSTORF R,MANOCHAL D.Fast Collision Detection for Deformable Models Using Repre-Sentative-Triangles[C]∥Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games.New York:ACM,2008:61-69.
[11] HU Chunmei,WANG Yanmin.Mapping Digital Image Texture onto 3D Model form LIDAR Data[C]∥Proceedings of International Society of Photogrammetry and Remote Sensing.Beijing:ISPRS,2008.