System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及船舶激光扫描,具体而言,涉及一种船舱分层多边形建模方法、装置、电子设备及存储介质。
技术介绍
1、l型连续式卸船机是一种对散料矿石进行连续取料的大型机械设备,其工作对象的船型各式各样,从几万吨到几百万吨不等。无人化卸船机作业改造工程的基础工作之一就是利用激光传感器进行船体数据采集、管理和备份,以备下次取料作业时能提取出一个熟悉的船体空间环境来。
2、但船舶的感知和重构有其特有的特点和难点。首先,船型大小差异比较大、舱内构造可能很复杂;其次,船舶位于港口,容易受到风浪、潮汐等影响,作业过程导致船体上浮;最后,扫描整个船舶内外往往需要很长的时间(大型船只取料作业完成需要好几天时间),数据量极大。所以,处理动态环境的船舶数据采集,多激光点云的拼接、融合与海量数据压缩等都是技术难点。现有的三维点云数据表示方法导致数字船舱数据体量巨大,无法满足后期对无人化卸船机舱内扫料作业轨迹规划的需求。
技术实现思路
1、本申请实施例的目的在于提供一种船舱分层多边形建模方法、装置、电子设备及存储介质,提出了一种基于分层多边形的舱壁点云数据表示方法,方便数字船舱信息存储、传输和使用,且达到了信息精简度和完整度之间的平衡,解决了现有方法导致数字船舱数据体量巨大,无法满足后期对无人化卸船机舱内扫料作业轨迹规划的需求问题。
2、本申请实施例提供了一种船舱分层多边形建模方法,所述方法包括:
3、基于地面和卸船机上的激光雷达传感器分别获得船舱壁点云数据;
4、
5、基于甲板平面的参考点点云坐标拟合平面计算偏航角、俯仰角和横滚角,并获得地面坐标系下的船舱壁点云数据;
6、对所述船舱壁点云数据进行分层,获得每层点云数据;
7、将每层点云数据投影到平面上,获得离散点序列;
8、利用凹壳算法对所述离散点序列进行处理,获得凹壳多边形。
9、在上述实现过程中,基于地面激光雷达感知和提升筒激光雷达感知的融合感知,提出了一种基于分层多边形的舱壁点云数据表示方法,方便数字船舱信息存储、传输和使用,且达到了信息精简度和完整度之间的均衡,并且有利于后续做舱内取料路径轨迹规划,解决了现有方法导致数字船舱数据体量巨大,无法满足后期对无人化卸船机舱内扫料作业轨迹规划的需求问题。
10、进一步地,所述基于甲板平面的参考点点云坐标拟合平面计算偏航角、俯仰角和横滚角,并获得地面坐标系下的船舱壁点云数据,包括:
11、所述地面坐标系下的船舱壁点云数据转换公式为:
12、
13、其中,(x0,y0,z0)表示地面坐标系下的船体中心坐标,α、β和γ分别表示偏航角、俯仰角和横滚角;(x′,y′,z′)表示卸船机上的激光雷达传感器获得的船舱壁点云数据坐标;(x,y,z)表示地面坐标系下的船舱壁点云数据。
14、在上述实现过程中,利用点云数据转换公式将点云数据统一转换成地面坐标系下的点云数据,利用坐标变换可实时矫正因船姿变化带来的数据标准化问题。
15、进一步地,所述对所述船舱壁点云数据进行分层,获得每层点云数据,包括:
16、将船舱壁点云数据从z轴的最大值和最小值按照设定层高进行等分,获得总层数:
17、
18、其中,h表示层高;
19、对所述船舱壁点云数据进行分组:
20、ci={(x,y,z)∈c|(z-zmin)∈[i×h,i×(h+1)]};
21、其中,c表示地面坐标系下的船舱壁点云数据,ci表示分组后的第i层船舱壁点云数据。
22、在上述实现过程中,对船舱壁点云数据进行分层,以方便对船舱壁点云数据分层存储,且并没有减少原始点云数据的数量,保持了数据的完整性。
23、进一步地,所述将每层点云数据投影到平面上,获得离散点序列,包括:
24、投影成离散点序列的公式为:
25、di=∏1,2ci={(x,y)|(x,y,z)∈ci}。
26、在上述实现过程中,每层点云数据投影到平面上,获得平面点集数据,便于后续针对二维数据进行处理和存储。
27、进一步地,所述利用凹壳算法对所述离散点序列进行处理,获得凹壳多边形,包括:
28、对所述离散点序列利用凸壳算法进行处理,获得凸壳多边形;
29、遍历所述凸壳多边形的每条边,判断以当前边为直径的圆内是否包含除凸壳顶点之外的所述离散点序列中的点;
30、若是,则取出该点并将该点分别与当前边的顶点相连得到两条边,将这两条边代替所述当前边,以修改当前凸壳多边形:
31、
32、其中,表示最终修改后得到的凸壳多边形的边界,表示第i层凸壳多边形的第n个顶点。
33、在上述实现过程中,以凹壳多边形的形式存储船舱壁点云数据,精简了离线船舶数据,方便数字船舱信息存储、传输和使用。
34、本申请实施例还提供一种船舱分层多边形建模装置,所述装置包括:
35、点云数据获取模块,用于基于地面和卸船机上的激光雷达传感器分别获得船舱壁点云数据;
36、船体中心坐标获取模块,用于基于地面激光雷达传感器获得的船体头尾点云数据,获得船体中心坐标;
37、坐标转换模块,用于基于甲板平面的参考点点云坐标拟合平面计算偏航角、俯仰角和横滚角,并获得地面坐标系下的船舱壁点云数据;
38、分层模块,用于对所述船舱壁点云数据进行分层,获得每层点云数据;
39、投影模块,用于将每层点云数据投影到平面上,获得离散点序列;
40、凹壳多边形获取模块,用于利用凹壳算法对所述离散点序列进行处理,获得凹壳多边形。
41、在上述实现过程中,基于地面激光雷达感知和提升筒激光雷达感知的融合感知,提出了一种基于分层多边形的舱壁点云数据表示方法,方便数字船舱信息存储、传输和使用,且达到了信息精简度和完整度之间的均衡,并且有利于后续做舱内取料路径轨迹规划,解决了现有方法导致数字船舱数据体量巨大,无法满足后期对无人化卸船机舱内扫料作业轨迹规划的需求问题。
42、进一步地,所述分层模块包括:
43、等分模块,用于将船舱壁点云数据从z轴的最大值和最小值按照设定层高进行等分,获得总层数:
44、
45、其中,h表示层高;
46、分组模块,用于对所述船舱壁点云数据进行分组:
47、ci={(x,y,z)∈c|(z-zmin)∈[i×h,i×(h+1)]};
48、其中,c表示地面坐标系下的船舱壁点云数据,ci表示分组后的第i层船舱壁点云数据。
49、在上述实现过程中,对船舱壁点云数据进行分层,以方便对船舱壁点云数据分层存储,且并没有减少原始点云数据的数量,保持了数据的完整性。本文档来自技高网...
【技术保护点】
1.一种船舱分层多边形建模方法,其特征在于,所述方法包括:
2.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述基于甲板平面的参考点点云坐标拟合平面计算偏航角、俯仰角和横滚角,并获得地面坐标系下的船舱壁点云数据,包括:
3.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述对所述船舱壁点云数据进行分层,获得每层点云数据,包括:
4.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述将每层点云数据投影到平面上,获得离散点序列,包括:
5.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述利用凹壳算法对所述离散点序列进行处理,获得凹壳多边形,包括:
6.一种船舱分层多边形建模装置,其特征在于,所述装置包括:
7.根据权利要求6所述的船舱分层多边形建模装置,其特征在于,所述分层模块包括:
8.根据权利要求6所述的船舱分层多边形建模装置,其特征在于,所述凹壳多边形获取模块包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5中任一项所述的船舱分层多边形建模方法。
...【技术特征摘要】
1.一种船舱分层多边形建模方法,其特征在于,所述方法包括:
2.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述基于甲板平面的参考点点云坐标拟合平面计算偏航角、俯仰角和横滚角,并获得地面坐标系下的船舱壁点云数据,包括:
3.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述对所述船舱壁点云数据进行分层,获得每层点云数据,包括:
4.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述将每层点云数据投影到平面上,获得离散点序列,包括:
5.根据权利要求1所述的船舱分层多边形建模方法,其特征在于,所述利用凹壳算法对所述离散点序列进行处理,获得凹壳多边形,包括:
【专利技术属性】
技术研发人员:杜雪飞,陈凌海,肖伟,周国礼,
申请(专利权)人:重庆赛迪奇智人工智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。