(中国船舶及海洋工程设计研究院,上海 200011)
“牛庄灯船”是我国沿海最早使用的现代化航标灯船之一,于1817年正式投入使用,距今已有200年历史。从20世纪80年代起废弃至今,该船长期裸露在露天环境下,全船钢结构腐蚀变形严重,多处设备部件丢失,随时有坍塌的可能。
通常的修复方法是对现有实物进行全局加固和新增局部设备构件。考虑到灯船实际状况,直接在原基础上进行修复会带来很大风险。而采用数字复原技术,利用数字设备对灯船实物进行扫描和测量,通过测量结果重新构建灯船三维数字模型的方法,不仅可以保存现有灯船实物的数字化信息和减少不必要的再破坏,还能为实船修复提供精细的、准确的、工程化的基础数据。有效地降低实船修复风险,提高实船修复效率。
数字复原技术在建筑、医学等领域都得到了广泛的应用,但在船舶设计领域,相关的技术应用与研究鲜有报道。本文以牛庄灯船(见图1)为对象,分析了数字复原技术在灯船修复过程中的关键技术及应用,探讨适用于船舶数字复原的基本方法。
图1 “牛庄灯船”原貌
数字复原技术的核心是把测量、扫描、采集、处理等手段得到的实物几何信息,利用计算机辅助设计构建出实物的数字模型,并用于生产制造的过程[1]。据此梳理出符合牛庄灯船数字复原的主要技术框架,见图2。
图2 牛庄灯船数字复原技术路线
选取符合场景需要的三维扫描仪,对实物原型进行测量扫描并获取点云数据;利用逆向工程技术对点云数据进行修复、精简、匹配处理,输出灯船完整点云数据;再将点云数据封装成多边形网格模型,并把多边形网格模型转换成曲面模型;曲面模型导入正向建模软件对模型的特征造型复原。最终输出的三维数字模型,不但继承原有实物的数字信息,且符合工程修复和建造的需要。
牛庄灯船的测距方式是通过相位法来实现的。通过2个同步反射镜快速有序的旋转,将激光发射器所发出的激光依次扫过被测物,利用电机驱动进行往返振荡,检测发射和接受信号之间的相位差,从而获得被测目标的距离[2]。角度测量是把2个步进电机与扫描棱镜安装在一起,通过改变激光光路,分别实现水平和垂直方向扫描。
每一个激光点扫在被测物上都会被记录,进而形成实物的轮廓。每一个激光点本身都具有坐标属性,用来记录该点在三维空间中的位置。这些三维坐标采用空间极坐标法来确定[3],见图3。
(1)
图3 点云坐标测量原理
为了得到牛庄灯船实物的表面细节,考虑到灯船总长30.95 m,型宽7.9 m,型深4.6 m的体积范围,选用某公司最新的Focus Series S350相位式三维激光扫描仪。设备实际最远测量距离可达614 m,扫描精度在±1 mm内,扫描速度可达97.6万点/s,且外形小巧、便于携带,完全满足牛庄灯船测量环境的要求。
要获取牛庄灯船这种大型建筑物的点云数据,单一站点的扫描策略显然是不够的,必须采用分站式扫描策略。测量站点分布太少,无法还原牛庄灯船的细节信息;而站点设置太多,又会加大后处理的难度。所以在设计监测点位置时,尽量利用最少设站数量覆盖最大的扫描面积,且在相邻测点间设置至少3个标志球,确保2个测点有30%以上的重复融合率,避免在处理点云数据时,出现大面积断点的情况[4]。此次测量共设79个测量点(见图4),采集用时8 h,扫描后数据大小约为13.4 GB。测量设备实时获取和存储灯船实物的点云数据。
图4 测量点分布
应用三维测量扫描技术获得灯船表面的三维点云数据,同时也采集了大量无用的数据。为了进一步获取灯船实物的有效数据信息,必须对扫描后产生的问题数据进行处理[5]。
1)点云数据降噪处理。被扫描后的点云数据边界会出现很多诸如像素一样的噪点。这是因为,灯船所在扫描场地的周边环境并不可能是纯色背景,周边环境越复杂,点云数据的噪点就会越多。另外物体本身的色彩还原度与测量设备感光元器件感光度的误差也是出现噪点的重要原因。因此,在处理过程中需要把这些多余数据剔除。
2)点云数据光顺处理。由于现有测量设备性能限制,再高端的设备在扫描物体时都会产生一定的精度差,这些精度差会造成被测物体表面的点云数据凹凸不平。对这些凹凸不平的表面进行光顺处理不仅能得到更加符合实际的数据,还能精简点云数量,加快模型生成速度。
3)点云数据拼接处理。单一测点只能采集实物某一角度的点云数据,完整的点云数据需要通过多角度测点的点云数据拼接完成,而每个测点测得的点云数据都具有单独的坐标系统。所以在进行完整点云数据拼接时,需要对坐标进行旋转、平移操作,统一离散的坐标系。
4)点云数据压缩处理。大型设备的扫描次数加之高精度的点云数据势必加重计算机处理数据的负担。在保证模型特征不变的情况下,适当减少点云数据密度,能够有效提高模型计算效率。
点云数据的封装计算是将点云数据转换成由无数三角面片组成的多边形网格。网格模型由三维空间中被称为“顶点”的点连接到二维表面,然后组合和移动这些表面形成的一个“外壳”,在整个灯船数字化复原过程中有着承上启下的作用。
1)网格模型是生成数字化模型的依据,点云数据只有封装成网格模型后才能进行数字化模型的重构。
2)网格模型生成导出的STL格式是3D打印技术的标准数据格式,并可作为视景仿真、数字动画制作的基础模型。因此,点云数据封装计算的准确度就显得格外重要。网格模型见图5。
图5 网格模型
由于逆向软件的算法问题,在处理点云数据封装的过程中,不可避免会出现形状不一的网格缺失、多边形错误的情况。常用的解决方法是提取错误网格面,按照周边网格的曲率趋势,修复形成连续光顺的状态。
与网格模型“顶点”连接的方式不同,曲面模型是用数学上精确而复杂的曲线创建对象的轮廓,然后在其周围形成表面。把曲面想象成帐篷,控制点是帐篷的钉子。曲面模型是数字工业设计与制造软件的通用模型标准,能提供模型更多的细节水平,并占用更少的数据存储空间。因此,把网格模型转换成曲面模型是必须的。曲面模型见图6。
图6 曲面模型
牛庄灯船曲面模型的拟合依次分为曲线划分、表面拟合和局部编辑3个步骤[6]。
1)在网格模型的表面划分三维曲线,被划分的曲线附着在网格模型表面并作为后续曲面拟合的边界。根据曲率大小,控制曲线划分的密度,如主船体艏艉曲线密度应大于船舯的曲线密度。
2)选取划分好的曲线进行表面拟合。表面的好坏取决于曲线划分的方式,对于形变过大的曲面,需重新划分曲线。
3)在已创建好的曲面上进行几何修改,如舷窗、锚穴、梯道等的开孔信息等。
虽然利用逆向工程技术对已有灯船实物进行了还原,但由于原实物毁坏严重,通过逆向重构的模型数据并不满足工程修复的需要。因此,还需对灯船进行特征造型的正向建模,使之还原到被使用前的原貌。灯船原貌的还原主要考虑对已有模型和缺失模型进行重构。
对已有模型的重构而言,一是要解决散落部件重新组合的问题。牛庄灯船主要部件包括灯船主体及散落在一旁的舷墙、手动起锚机、单双柱带缆桩、围罩等部件,通过观察主甲板上的焊接痕迹及尺寸比对,可对上述散落部件进行组合还原。二是要解决主船体形变的问题。主要的方法是先将逆向重构的模型导入正向建模软件,根据模型测得灯船大致主尺度及肋骨间距等信息;提取模型的中纵剖线、横剖线和主甲板边线;分别投影在对应坐标平面上;对线段进行光顺处理;选取相关线段进行曲面放样,最终得到重构后的灯船主船体。
对缺失模型的重构,如舵、灯塔、救生艇、杂物吊等设备,只能通过相同类型船舶的调研数据及搜索相关文献资料,再由经验判断进行建模。在保证几何信息准确的情况下,尽量还原模型真实度。图7为最终输出的三维模型。
图7 最终输出的三维模型