基于激光点云与建筑信息模型技术的复杂船舱容积计算方法 下载: 1409次
1 引言
船舱是国际贸易中液货交接的重要计量器皿,货物计量的准确性将直接关系到企业乃至国家的经济利益[1]。随着我国国民经济的不断发展,船舶运输的吨位、载货量不断增大,船舱内部结构也趋于复杂,这使得船舶舱容的计量方法越来越繁琐。因此,如何运用现有的技术设备准确、快速地完成船舶舱容检定及实时液货体积计算成为亟待解决的问题[2]。
舱容计量的传统方法包括几何测量法和容量比较法[3]。几何测量法主要利用全站仪、钢尺等测量工具对船舱进行测量,存在数据采集外业工作量大、采集精度差、采集样本不足等缺陷;容量比较法虽然计量精度较高,但测量所用流体会对船舱造成不可逆损害,且其使用成本高、效率低,故不能广泛应用[4]。随着三维激光扫描技术的不断发展,其快速、大面积获取目标对象表面高分辨率三维坐标数据的特点可克服传统测量方法采样点少、采样工序复杂等缺点,解决船舱容积快速、精准测量的专业问题[5-6];建筑信息模型(BIM)技术以三维模型作为信息载体,可完成三维模型在不同状态下的切割、合并变换等定性分析及模型体积定量统计工作,从而计算船舱在不同姿态下的容积[7]。综上所述,本文提出了一种基于激光点云与BIM技术的复杂舱舱容计算方法,采用BIM技术对分割后的舱壁点云与内部构件点云进行三维重建;利用舱壁BIM模型及构件BIM模型仿真计算舱体在不同姿态下的实时舱容。
2 舱容计算方法
基于激光点云与BIM技术的复杂舱舱容计算方法分为点云分割、船舱三维模型可视化和舱容计算3大模块,算法框架如
2.1 点云分割
考虑到舱壁及构件的几何特性,采用一种针对平面舱壁类型的船舱点云分割方法对舱壁点云进行分割处理,该方法分为独立坐标系建立与主要构件分割两大步骤[4]。独立坐标系建立是通过构建种子点集、估计点云法线,以及直线拟合建立船舱独立坐标系,并完成点云坐标转换,将原始数据转换到以船舱纵向为
2.2 船舱三维模型可视化
根据本文算法框架可知舱容计算的直接数据即高精度船舱三维模型数据,BIM技术以三维模型作为信息载体的特点为船舱模型搭建提供了新的方式。通过BIM技术创建的船舱模型是现实船舱的虚拟映射[9],可用来模拟实际情况下的船舱运动,为船舱不同姿态下的舱容计算提供便利。考虑船舱内部结构多为同类型构件重复排列的特点,本文结合相应的行业设计标准及船舱构件点云数据在BIM建模软件Revit[10]的工作环境下建立船舱构件模型,为船舱标准化、参数化建模提供数据支持。Revit基于“族”类型搭建式建模和参数化设计的特点充分满足船舱建模的要求,将创建好的构件模型以“族”文件的存储格式统一存放于“构件库”文件夹中即可载入任意建模项目使用,实现“一次建库、多次建模,一库多用、参数建模”的项目要求。
借助船舱构件三维点云数据及行业设计标准,可将船舱常用构件归纳如下:舱壁纵骨、甲板纵骨、垂直扶强材、直肋板、底部渐变肋板、横梁、水平桁、纵桁、栏杆扶手、竖直扶手架、倾斜爬梯、工作平台、管道、管道支架,以及加强肋板,共计15种内部构件。考虑到各种构件的几何特性,分别采用Revit软件中的自适应构件、普通构件、内置特殊构件3种建模方法完成构件库的建立。
自适应构件建模特点为模型尺寸不固定,在建模过程中可随被定义主体的变化而灵活变形但仍保持构件之间的相互关系[11]。针对上述特点,采用自适应构件建模方法可完成管道、管道支架等6种构件的建模。因为其都具有明显的线形构件特征,即在建模过程中,构件只在长度方向上发生变化,所以已知模型长度方向上的起止点坐标就可完成建模。此类模型的设计流程如
以直肋板自适应构件设计为例,具体设计流程如下:
1) 将2.1节分割得到的直肋板点云数据导入Revit项目样板模板中,如
2) 在自适应公制样板模板中,以直肋板点云为参照,定义底部端点和顶部端点两个自适应点,并以端点连线为基准线,如
3) 以点云为尺寸参照,在自适应构件中绘制断面剖线,如
4) 子单元构件形体完成后,将自适应参数与构件形体参数进行关联。
图 3. 自适应构件模型。(a)直肋板点云俯视断面;(b)定义自适应起、止点;(c)绘制构件子单元形体剖面;(d)子单元构件形体
Fig. 3. Adaptive component model. (a) Vertical view of vertical floor point cloud; (b) defining adaptive starting and ending points; (c) drawing component subunit shape profile; (d) subunit component shape
除去少部分的类线形构件,较多构件具有按照行业标准设计制造的重复排列特点。针对其特点,采用普通构件的建模方法完成甲板纵骨、垂直扶强材、横梁等8类构件模型的创建。普通构件创建方法较为简单,主要设计流程如
以横梁为例,具体说明此类族模型创建步骤:
1) 将2.1节分割得到的横梁点云数据导入Revit项目样板模板中,如
2) 将参照点云数据切换到合适的视图,通过“参照线”工具精确定位族模型边界、顶点等元素。
3) 切换点云视图,利用“参照线”工具辅助定位,直到可进行族模型精确绘制。
4) 参照点云数据,在定位线和点上利用“拉伸”、“放样”、“空心”、“样条线”等工具精确绘制族模型形体。
5) 如果需要附加相应参数,则在“族类型”属性栏中附加构件参数(例如横梁长度)。
内置特殊构件指船舱内部形状不规则且单独存在的一些固有构件,受船舱内部空间结构的影响,无法进行自适应构件建模,而且由于其独特性,也不能直接作为普通构件来与船舱模型关联。这类构件需要在项目模型文件中单独进行创建,之后再导入构件库中。在本文归纳的15类内部构件中,水平桁属于这一类构件。此类特殊构件模型创建方法与普通构件模型创建方法相同,即基于点云数据,以“参考线”辅助定位,采用Revit三维体工具绘制高精度的三维模型。
完成各类构件的创建后,需对各类构件的空间位置进行精确定位。Revit基于三维-二维关联的理念[12],可在导入完整船舱点云的情况下使用“标高”、“轴网”工具完成大场景模型的精确辅助定位。
2.3 舱容计算
舱容计算可分为船舱型舱容、船舱净舱容、实时液货体积3种类型的容积计算。
船舱型舱容是指由甲板、底板、舷侧列板、舱壁等包围面所包围形成的空间体积,而净舱容是指型舱容中扣除构件部分体积之后的剩余体积。采用Revit提供的可视化开发平台Dynamo中的Python节点包进行编程设计[13],具体算法过程如下:
1) 导入舱壁模型,计算舱壁体积
2) 导入各类构件模型,计算各类构件体积和
船舱型舱容为
实时液货体积是指在某时刻液货舱内所装液体货物的体积。船舶在实际运行过程中往往处于非正浮状态,考虑到船的首、尾和左、右舷吃水不等而产生的纵倾、横倾或两者均有的任意倾斜情况[14],因此需要对船舶处于某种倾斜状态下舱内液货体积进行实时计算。
实倾状态下液面线的定义是为了仿真船舱在各种浮态时舱内液面的状态。事实上,船舶处于倾斜状态时,液面理论上处于水平状态。为了计算方便,可认定船体处于正浮状态,而液面发生相应的倾斜,如
图 5. 实时倾斜状态下液货示意图。(a)船舱实时倾斜状态; (b)仿真倾斜液面
Fig. 5. Schematic of real-time tilted tilted liquid cargo. (a) Real-time tilted tank; (b) simulated liquid cargo
图 6. 实时液货体积计算算法框架
Fig. 6. Framework of algorithm for calculating real-time liquid cargo volume
图 8. 船舱点云分割结果。(a)舱壁点云;(b)构件点云
Fig. 8. Point cloud segmentation results of tank. (a) Point cloud of bulkhead; (b) point cloud of component
图 9. 船舱建模结果。(a)舱壁模型;(b)构件模型
Fig. 9. Modeling results of tank. (a) Model of bulkhead; (b) model of component
在获得船舱某实倾状态下舱内倾斜液货模型后,即可进行舱内此时液货体积的计算。实时液货体积的计算可转化为舱壁模型、船舱构建模型、倾斜液货模型之间的布尔运算[15]。某液面状态下舱内液货的实时体积就为舱壁模型体积与构件模型体积之差,因此需采用模型之间的布尔运算求得液面以下的舱壁模型及构件模型。采用Revit提供的可视化开发平台Dynamo中的Python节点包进行编程设计,具体算法框架如
3 实验分析
3.1 实验数据
实验使用FARO Focus3D X130激光扫描仪对上海某1.5×105 t大型货轮液货舱进行三维扫描数据采集,所采集实验舱有上中下3层工作平台,如
3.2 实验结果
采用2.1节中所提到的针对平面舱壁类型的船舱点云分割方法对实验舱点云数据进行舱壁与船舱构件分割,分割结果如
在Revit工作环境下导入各构件点云,采用自适应构件、普通构件、内置特殊构件3种建模方法完成船舱构件库的建立。基于点云数据创建各构件空间定位所需的“标高”、“轴网”,完成船舱三维模型的搭建,结果如
采用Dynamo可视化开发平台和Python语言对舱容计算方法进行算法测试。导入舱壁数据,计算得到本文实验船舱型舱容为13645.600 m3,导入构件模型,计算得到各种类构件体积,如
实时液货计算需先定义水体模型,分别模拟出舱壁模型与构件模型的实时姿态,如
表 1. 构件体积
Table 1. Component volume
|
图 10. 实时液货仿真及计算。(a)舱壁模型实时姿态;(b)构件模型实时姿态;(c)液面下舱壁模型;(d)液面下构件模型
Fig. 10. Simulation and calculation of real-time liquid cargo. (a) Real-time attitude of bulkhead model; (b) real-time attitude of component model; (c) model of lower bulkhead; (d) model of lower component
表 2. 实时液货体积(船舱状态:纵倾1°、横倾2°)
Table 2. Real-time liquid cargo volume (tank posture: vertical inclination 1°, horizontal inclination 2°)
|
3.3 精度分析
由于所提出的舱容计算方法是以模型为直接数据进行计算,故需要验证基于本文方法创建的船舱模型与真实点云模型之间是否存在偏差。参考数值统计的思想,以船舱点云数据为真值,通过计算模型的点位误差、几何体误差,以及整体模型中误差等统计值估计建模精度[16]。将实体模型按空间位置划分,在每一区域内随机选取若干个覆盖面积相同的感兴趣区,如
图 11. 模型精度计算感兴趣区。(a)渐变肋板;(b)框架;(c)加固支架
Fig. 11. Areas of model accuracy calculation. (a) Gradually changing floor; (b) frame; (c) strengthening bracket
在前、后横舱壁,甲板和底板,以及左、右纵舱壁区域均匀选取20处投影面积为1 m2的感兴趣区域,计算感兴趣区域内面片模型与邻近点云在面片垂直方向上偏差,并统计感兴趣区内偏差小于1 mm的面片个数比例,统计结果如
表 3. 模型准确度计算结果
Table 3. Calculation results of model accuracy
|
由
为验证本文方法所得舱容检定结果的准确性,采用比较法来进行定量分析。以传统的几何测量法所获得的同一船舱的容量表作为对比数据(数据来自上海船舶研究设计院舱容中心按照现有的《计量规程》利用几何测量法进行检定得到的船舱容量检定数据,包括容量表、纵横倾修正表等)来比较正浮状态下同一水平面高度的舱容值,采用下式计算其舱容相对误差,结果如
式中
对舱容比较结果中的相对误差进行分析,计算结果最大相对误差为0.38%,最小相对误差为0.006%,按照《计量规程》中大型不规则舱检定结果扩展不确定度0.4%的要求,本文方法可以满足目前行业内液货舱容量检定精度需求。
4 结论
快速、准确地获取液货舱舱容体积是船舱容量检定及快速计量的重要环节。基于此背景,提出了一种基于激光点云与BIM技术的复杂舱舱容计算方法,该方法在满足舱容计量精度的条件下,解决了传统计量方法效率较低的问题,具有较高的实用价值。对实际船舱进行液货舱容计算实验,结果表明,所提方法能够快速、准确地计算出实时姿态下的船舱舱容,可靠性强。但本文方法中的船舱建模环节是一项人机交互的工作,自动化程度较低。因此,下一步的研究工作应着重于点云数据与模型构件库的自动匹配和船舱模型的自动搭建,以提高本文方法的工作效率。
[1] 祝林. 容量比较法在船舶处于倾斜时的舱容计量修正研究[D]. 上海: 上海交通大学, 2013.
ZhuL. Research on volume measurement correction of inclining tank with capacity comparison method[D]. Shanghai: Shanghai Jiao Tong University, 2013.
[3] 胡敏捷, 邓非, 李静. 立体影像法船舱容量测量技术研究[J]. 船舶设计通讯, 2016( z2): 89- 94.
Hu MJ, DengF, LiJ. A research on cabin volume measurement technology based on photogrammetry[J]. Journal of Ship Design, 2016( z2): 89- 94.
[4] 杨泽鑫, 程效军, 李泉, 等. 平面舱壁类型的船舱点云分割方法[J]. 中国激光, 2017, 44(10): 1010006.
[5] 张吉星, 程效军, 程小龙. 三维激光扫描技术在船舶排水量计量中的应用[J]. 中国激光, 2016, 43(12): 1204003.
[6] 程效军, 贾东峰, 程小龙. 海量点云数据处理理论与技术[M]. 上海: 同济大学出版社, 2014.
Cheng XJ, Jia DF, Cheng XL. Theory and technology of processing of massive point cloud data[M]. Shanghai: Tongji University Press, 2014.
[9] 滕飞. 基于点云数据的结构BIM模型研究[D]. 哈尔滨: 哈尔滨工程大学, 2016.
TengF. A research of structural BIM model based on point data[D]. Harbin: Harbin Engineering University, 2016.
[10] LuoP, Tang J. Research on collaborative design practice of REVIT based on BIM[J]. Applied Mechanics and Materials, 2015, 713/714/715: 2552- 2555.
[11] 缪纯乐. Revit自适应构件功能在形体与表皮建模方法上的研究[D]. 南京: 南京大学, 2012.
Miao CL. A study on the modeling method of form and surface with Revit adaptive component[D]. Nanjing: Nanjing University, 2012.
[12] Tse T K, Wong K A, Wong K F. The utilisation of building information models in nD modelling: a study of data interfacing and adoption barriers[J]. Electronic Journal of Information Technology in Construction, 2005, 10: 85-110.
[13] 王松. 可视化编程语言下的计算式设计插件-Dynamo初探[J]. 福建建筑, 2015( 11): 105- 110.
WangS. Computational algorithm design plug-in in programming language-an initial research of Dynamo[J]. Fujian Architecture & Construction, 2015( 11): 105- 110.
[14] 熊鸿文. 舱容计量中横倾修正的一种计算方法[J]. 交通世界, 2010( 16): 115- 116.
Xiong HW. A calculation method of horizontal tilt correcting in tank capacity measure passenger transport[J]. Transpo World, 2010( 16): 115- 116.
[16] 石银涛, 程效军, 张鸿飞. 地面三维激光扫描建模精度研究[J]. 河南科学, 2010, 28(2): 182-186.
邬镇伦, 程效军, 辛佩康, 张立朔, 胡敏捷. 基于激光点云与建筑信息模型技术的复杂船舱容积计算方法[J]. 激光与光电子学进展, 2019, 56(5): 052802. Zhenlun Wu, Xiaojun Cheng, Peikang Xin, Lishuo Zhang, Minjie Hu. Calculation Method of Complex Tank Capacity Based on Laser Point Cloud and Building Information Modeling Technology[J]. Laser & Optoelectronics Progress, 2019, 56(5): 052802.