当前位置: 首页 > 专利查询>景乾峰专利>正文

一种航海模拟器中实时岸线碰撞检测方法和装置制造方法及图纸

技术编号:18764185 阅读:29 留言:0更新日期:2018-08-25 10:40
本发明专利技术涉及航海模拟器领域,提供一种航海模拟器中实时岸线碰撞检测方法,所述航海模拟器中实时岸线碰撞检测方法包括:步骤100、读取原始岸线数据,并对原始岸线数据进行简化处理;步骤200、对输出的简化岸线数据,进行划分网格处理,得到网格数据;步骤300、利用得到的网格数据,进行船舶碰撞检测。其中,步骤200包括以下步骤201至步骤203:步骤201、利用简化岸线数据,确定网格参数;步骤202、利用确定的网格参数,对简化岸线数据进行划分网格;步骤203、输出划分网格后,得到的网格数据。本发明专利技术的方法在减少碰撞检测的运算量的同时保持了计算精度,能够在碰撞未发生的过程中实时的传递距离船舶最近的岸线信息。

【技术实现步骤摘要】
一种航海模拟器中实时岸线碰撞检测方法和装置
本专利技术涉及航海模拟器领域,尤其涉及一种航海模拟器中实时岸线碰撞检测方法和装置。
技术介绍
根据航海模拟器标准的要求,航海模拟器应尽可能地符合真实环境中的情况。由于船舶在岸线附近航行时,与岸线的交互主要体现在岸壁效应以及碰撞反馈,所以开发高效的碰撞检测方法可以增强航海模拟器作为VR系统的行为真实感。在船舶与岸线的碰撞检测过程中,由于岸线数据较多,大量的数据计算势必耗费一定时间,因此航海模拟器中的岸线碰撞检测主要存在以下两方面技术难点:一是平衡碰撞检测模块与主程序的性能开销,保证程序实时性;二是碰撞发生后,准确地传递碰撞信息给船舶运动数学模型,方便船舶岸壁效应以及碰撞力的计算。在航海模拟器领域中,常见的岸线碰撞检测方法如下:现有技术一采取包围盒法与相交测试法结合的方法进行航海模拟器中的船舶碰撞检测,其船舶采取AABB包围盒,配合人工选取船舶运动方向上的碰撞敏感点进行检测。图1为现有技术一中船舶的AABB包围盒示意图。如图1所示,现有技术一在检测过程中,首先通过包围盒进行粗略检测,然后通过敏感点与模型的所有面片进行点与面的相交检测。该方法需要人为选取船舶运动方向上的敏感点,而船舶平面运动方向随时在变化,且不同船舶需要选取不同的敏感点,人工选取的工作量较大,实用性较差;由于采用敏感点进行检测,最终检测的结果只是敏感点是否相交,无法给出较为精确的碰撞点信息,而且对于船舶港内运动而言,在船舶距离岸线较近的情况下,船舶会受到岸壁效应的影响,很难准确的传递岸线数据信息。现有技术二采取船舶轮廓线的方法进行岸线碰撞检测,其中船舶轮廓线通过一系列比例参数计算而得。图2为现有技术二根据比例系数构建的船舶轮廓点示意图。如图2所示,现有技术二对岸线的碰撞检测区分了单码头和双码头情况,并且需要进行坐标系转换,涉及大量矩阵运算,计算量较大,且坐标转换后的检测基于一个人为设定的安全距离,仅能提供是否碰撞,无法进一步给出准确的碰撞点信息,有一定的局限性;由于现有技术二中并未对岸线数据进行简化或剖分,在面对大量岸线数据时计算量呈几何级别增长,无法保证算法的实时性,且并未考虑提供未碰撞之前的最近岸线数据,无法进行船舶岸壁效应等计算。现有技术三采取轴向包围盒技术,分别对船舶和桥体构建碰撞检测包围盒,并且根据桥墩实际情况来选取不同的包围盒进行建模。图3为现有技术三桥墩建立的包围盒示意图。如图3所示,该方法随未提及岸线碰撞检测,但岸线三维模型与桥墩都可采用相同方式建立包围盒,该方法仍然存在建模工作量巨大,由于采用包围盒,降低了碰撞检测的精度,现有技术三虽进行了一定的方法优化,但未提及程序运行的实时性。综上,上述现有技术存在的缺点如下:1、主要方法都基于包围盒法,包围盒本身是一种简化方法,采取该方法后无法得到准确的碰撞点信息。2、没有考虑过船舶逐渐接近岸线的过程,只提供基础的碰撞检测,并未提供在船舶接近岸线的过程中距离船舶最近的岸线数据。3、对于岸线数据处理通常是建立包围盒,并未进行进一步的简化以及划分工作以进一步提高程序实时性。4、前期人工干预工作量较大,实施过程中通用性较低。
技术实现思路
本专利技术主要解决现有技术岸线碰撞检测方法无法得到准确的碰撞点信息、未提供在船舶接近岸线的过程中距离船舶最近的岸线数据、实时性较差、通用性较低等技术问题,提出一种航海模拟器中实时岸线碰撞检测方法和装置,在减少碰撞检测的运算量的同时保持了计算精度,并在碰撞未发生的过程中实时的传递距离船舶最近的岸线信息,为船舶运动数学模型计算岸壁效应提供了数据支撑。本专利技术提供了一种航海模拟器中实时岸线碰撞检测方法,所述方法包括以下步骤:步骤100、读取原始岸线数据,并对原始岸线数据进行简化处理;步骤200、对简化岸线数据进行划分网格处理,得到网格数据;步骤300、利用得到的网格数据,进行船舶碰撞检测;其中,步骤100包括以下步骤101至104:步骤101、读取原始岸线数据;步骤102、利用读取的原始岸线数据,计算原始岸线数据中相邻点K值,得到K值列表;步骤103、历遍K值列表,剔除冗余数据点;步骤104、剔除冗余数据点后,输出简化岸线数据;步骤200包括以下步骤201至步骤203:步骤201、利用简化岸线数据,确定网格参数;步骤202、利用确定的网格参数,对简化岸线数据进行划分网格;步骤203、输出划分网格后,得到的网格数据。优选的,通过以下方式历遍K值列表,剔除冗余数据点:计算相邻数据点的K值变化率,当K值变化率大于设定的门限值时,记录对应数据点;当变化率小于设定的门限值时,该数据点为冗余数据点,剔除冗余数据点,直到所有相邻数据点的K值变化率均大于该门限值。优选的,步骤300、利用得到的网格数据,进行船舶碰撞检测,包括步骤301至步骤306:步骤301、接收船舶位置数据;步骤302、利用网格数据和船舶位置数据,确定船舶的网格坐标;步骤303、根据船舶的网格坐标,对船舶所在网格进行拓展,得到船舶目标网格;步骤304、获取船舶目标网格内的网格数据;步骤305、遍历船舶目标网格的网格数据,进行船舶碰撞检测;步骤306、船舶碰撞检测后,输出碰撞信息。优选的,所述船舶目标网格的坐标包括:(i-1,j-1)、(i-1,j)、(i-1,j+1)、(i,j-1)、(i,j)、(i,j+1)、(i+1,j-1)、(i+1,j)、(i+1,j+1),其中,为(i,j)船舶所在的网格。优选的,所述进行船舶碰撞检测,包括最近岸线计算和碰撞判断:最近岸线计算,利用船舶二维型值点与船舶目标网格内的岸线线段遍历求最短距离获得距离船舶二维型值最近的岸线;碰撞判断,通过船舶相邻二维型值点构造线段与船舶目标网格内岸线数据线段求交来判断船舶是否与岸线发生碰撞。优选的,所述输出碰撞信息包括:当船舶未发生碰撞时,输出距离船舶最近的两条岸线以及最近距离,船舶型值中距岸线最近点信息;当船舶与岸线发生碰撞时,输出碰撞点位置信息。对应地,本专利技术还提供了一种航海模拟器中实时岸线碰撞检测装置,所述装置包括:岸线简化模块,用于读取原始岸线数据,并对原始岸线数据进行简化处理;岸线网格划分模块,用于对输出的简化岸线数据,进行划分网格处理,得到网格数据;碰撞检测模块,用于利用得到的网格数据,进行船舶碰撞检测。优选的,所述岸线简化模块包括以下子模块:读取原始岸线数据子模块,用于读取原始岸线数据;获取K值列表子模块,用于利用读取的原始岸线数据,计算原始岸线数据中相邻点K值,得到K值列表;剔除冗余数据子模块,用于历遍K值列表,剔除冗余数据点;输出岸线数据子模块,用于剔除冗余数据点后,输出简化岸线数据。优选的,所述岸线网格划分模块包括以下子模块:确定网格参数子模块,用于利用简化岸线数据,确定网格参数;划分网格子模块,用于利用确定的网格参数,对简化岸线数据进行划分网格;确定网格数据子模块,输出划分网格后,得到的网格数据。优选的,所述碰撞检测模块包括以下子模块:接收位置子模块,用于接收船舶位置数据;确定网格坐标子模块,用于利用网格数据和船舶位置数据,确定船舶的网格坐标;确定船舶目标网格子模块,用于根据船舶的网格坐标,对船舶所在网格进行拓展,得到船舶目标网格;确定网格数据子模块,用于获取船舶目标网格内本文档来自技高网
...

【技术保护点】
1.一种航海模拟器中实时岸线碰撞检测方法,其特征在于,包括以下步骤:步骤100、读取原始岸线数据,并对原始岸线数据进行简化处理;步骤200、对简化岸线数据进行划分网格处理,得到网格数据;步骤300、利用得到的网格数据,进行船舶碰撞检测;其中,步骤100包括以下步骤101至104:步骤101、读取原始岸线数据;步骤102、利用读取的原始岸线数据,计算原始岸线数据中相邻点K值,得到K值列表;步骤103、历遍K值列表,剔除冗余数据点;步骤104、剔除冗余数据点后,输出简化岸线数据;步骤200包括以下步骤201至步骤203:步骤201、利用简化岸线数据,确定网格参数;步骤202、利用确定的网格参数,对简化岸线数据进行划分网格;步骤203、输出划分网格后,得到的网格数据。

【技术特征摘要】
1.一种航海模拟器中实时岸线碰撞检测方法,其特征在于,包括以下步骤:步骤100、读取原始岸线数据,并对原始岸线数据进行简化处理;步骤200、对简化岸线数据进行划分网格处理,得到网格数据;步骤300、利用得到的网格数据,进行船舶碰撞检测;其中,步骤100包括以下步骤101至104:步骤101、读取原始岸线数据;步骤102、利用读取的原始岸线数据,计算原始岸线数据中相邻点K值,得到K值列表;步骤103、历遍K值列表,剔除冗余数据点;步骤104、剔除冗余数据点后,输出简化岸线数据;步骤200包括以下步骤201至步骤203:步骤201、利用简化岸线数据,确定网格参数;步骤202、利用确定的网格参数,对简化岸线数据进行划分网格;步骤203、输出划分网格后,得到的网格数据。2.根据权利要求1所述的航海模拟器中实时岸线碰撞检测方法,其特征在于,通过以下方式历遍K值列表,剔除冗余数据点:计算相邻数据点的K值变化率,当K值变化率大于设定的门限值时,记录对应数据点;当变化率小于设定的门限值时,该数据点为冗余数据点,剔除冗余数据点,直到所有相邻数据点的K值变化率均大于该门限值。3.根据权利要求1所述的航海模拟器中实时岸线碰撞检测方法,其特征在于,步骤300、利用得到的网格数据,进行船舶碰撞检测,包括步骤301至步骤306:步骤301、接收船舶位置数据;步骤302、利用网格数据和船舶位置数据,确定船舶的网格坐标;步骤303、根据船舶的网格坐标,对船舶所在网格进行拓展,得到船舶目标网格;步骤304、获取船舶目标网格内的网格数据;步骤305、遍历船舶目标网格的网格数据,进行船舶碰撞检测;步骤306、船舶碰撞检测后,输出碰撞信息。4.根据权利要求3所述的航海模拟器中实时岸线碰撞检测方法,其特征在于,所述船舶目标网格的坐标包括:(i-1,j-1)、(i-1,j)、(i-1,j+1)、(i,j-1)、(i,j)、(i,j+1)、(i+1,j-1)、(i+1,j)、(i+1,j+1),其中,为(i,j)船舶所在的网格。5.根据权利要求3所述的航海模拟器中实时岸线碰撞检测方法,其特征在于,所述进行船舶碰撞检测,包括最近岸线计...

【专利技术属性】
技术研发人员:景乾峰尹勇刘秀文神和龙
申请(专利权)人:景乾峰大连海驰科技有限公司
类型:发明
国别省市:辽宁,21

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1