一种无人船区域布线方法及存储介质与流程

文档序号:20918163发布日期:2020-05-29 13:48阅读:484来源:国知局
一种无人船区域布线方法及存储介质与流程

本发明涉及水域布线技术领域,具体涉及一种无人船区域布线方法及存储介质。



背景技术:

水深测量是陆地防洪、海上石油平台等大型工程必须要进行的一项重要工作。在未知、污染、危险等水域,利用无人船进行水深测量不仅可以保证作业人员的安全,而且可以提高效率,降低成本。无人船进行水深测量前,需要确定水域范围并在该区域内对无人船测量轨迹进行布线,使得无人船能按照预定的线路获取水域的水深信息,如图2所示,航线必须覆盖整个区域,同时利于无人船行驶。

但并不是所有的水域都是简单几何图形,凹凸不一的边界、岛屿礁石等都会让布线工作变得复杂。常见的处理方式有:1、将水域分为多个子区域进行测量,这样会产生多条航线,不仅不利于管理,而且增加对无人船的干预,影响效率。2、将区域格网化,建立每个格网的连通性。如图3所示,该方法计算量较大,为了一条航线贯彻整个区域,很难避免转弯过多,不利于无人船的行驶。



技术实现要素:

鉴于以上技术问题,本发明的目的在于提供一种无人船区域布线方法及存储介质,解决航线在贯彻整个区域转弯过多不利于无人船的行驶的问题。

本发明采用技术方案如下:

一种无人船区域布线方法,包括:

获取待布线区域坐标数据;

根据待布线区域坐标数据获取包围该区域的外包矩形,在所述外包矩形内建立格网;

获取所述外包矩形内的可通行格网区域;所述可通行格网区域为外包矩形内除去水域外和障碍物区域的格网区域;

在可通行格网区域内建立一条或多条航线;所述航线建立步骤包括:以某一格网中点为起点向其他可通行的格网中点直线延伸进行可通行格网区域内格网的遍历,一直遍历到没有可通行的格网。

进一步的,建立的第一条航线的起点为可通行格网区域左上角格网的中点。

进一步的,还包括:当在可通行格网区域内建立的航线为一条以上时,将各航线进行连线,若任意两条航线的连线未超出可通行格网区域时,将该连线确定为新增的航线。

进一步的,将各航线进行连线的步骤包括:将各航线按任意排列顺序进行依次连接。

进一步的,任意两条航线进行连线步骤包括:将某航线的尾节点与另外一条航线的首节点进行连接。

进一步的,还包括:若任意两条航线的连线超出可通行格网区域时,将某航线的尾节点沿该航线的首节点移动到某一增加节点,当该增加节点与另外一条航线的首节点的连线未超出可通行格网区域时,将某航线的尾节点与增加节点的连线,以及该增加节点与另外一条航线的首节点的连线均确定为新增的航线。

进一步的,在所述外包矩形内建立格网步骤具体包括:在所述外包矩形内根据预设布线间隔建立格网。

进一步的,以某一格网中点为起点向其他可通行的格网中点直线延伸进行可通行格网区域内格网的遍历的步骤包括:

以某一格网中点为起点向其他可通行的格网中点直线延伸,按照s型顺序进行可通行格网区域内格网的遍历。

一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的无人船区域布线方法。

相比现有技术,本发明的有益效果在于:

本发明通过以某一格网中点为起点向其他可通行的格网中点直线延伸进行可通行格网区域内格网的遍历,能减少航线中不必要的转弯,避免航线在贯彻整个区域转弯过多不利于无人船的行驶的问题。

进一步的,本发明通过将将各航线进行连线,实现复杂的水域仅需一条航线。一个水域一条航线,水深测量过程中,无需再对无人船进行更换航线等其他人工干预,简单实用。

附图说明

图1为本发明无人船区域布线方法的流程示意图;

图2为本发明背景技术中覆盖整个区域的航线示意图;

图3为本发明背景技术中将区域格网化建立的航线示意图;

图4为本发明实施例中一水域建立的外包矩形格网;

图5为本发明实施例中一水域建立的航线示意图;

图6为本发明实施例中两条航线的连线与区域范围有交点时的示意图;

图7为本发明实施例中两条航线的连线与区域范围无交点时的示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

实施例:

请参考图1-7所示,一种无人船区域布线方法,请参考图1所示,包括:

步骤s10:获取待布线区域坐标数据;

其中,所述待布线区域坐标数据可包括水域范围的一条闭合的环线内坐标,也可包括水域中岛屿等障碍物范围数据。

步骤s20:根据待布线区域坐标数据获取包围该区域的外包矩形,在所述外包矩形内建立格网;

具体的,在所述外包矩形内根据预设布线间隔建立格网。所述预设布线间隔一般设定为布线的间隔距离,即航线间的距离。在实际运用中,航线间的距离一般可为1米、3米或5米等。

步骤s30:获取所述外包矩形内的可通行格网区域;所述可通行格网区域为外包矩形内除去水域外和障碍物区域的格网区域;

这样,相比现有技术,无需建立格网间的连通性,能省去大部分的计算。

步骤s40:在可通行格网区域内建立一条或多条航线;所述航线建立步骤包括:以某一格网中点为起点向其他可通行的格网中点直线延伸进行可通行格网区域内格网的遍历,一直遍历到没有可通行的格网。

具体的,以某一格网中点为起点向其他可通行的格网中点直线延伸进行可通行格网区域内格网的遍历的步骤包括:

以某一格网中点为起点向其他可通行的格网中点直线延伸,按照s型顺序进行可通行格网区域内格网的遍历。

具体的,以某一格网中点为起点向其他可通行的格网中点直线延伸,再以该可通行的格网中点为节点,向该节点周围的其他可通行的格网中点直线延伸,如此重复,按照s型顺序进行可通行格网区域内格网的遍历,直到没有可通行的格网进行延伸。

本发明通过以某一格网中点为起点向其他可通行的格网中点直线延伸进行可通行格网区域内格网的遍历,能减少航线中不必要的转弯。无人船水深测量过程中,船体转弯较为耗时,过多不必要的转弯将会严重影响测量的效率。该方法生成航线过程中避免上图2的情况,原本只需要3条直线和圈红的两个拐地将起点和终点连接起来,但却出现了多余的拐点,导致不要的转弯。

进一步的,建立的第一条航线的起点为可通行格网区域左上角格网的中点。

进一步的,本发明的无人船区域布线方法还包括:当在可通行格网区域内建立的航线为一条以上时,将各航线进行连线,若任意两条航线的连线未超出可通行格网区域时,将该连线确定为新增的航线。

本发明就常规的无人船区域布线的应对复杂水域时处理困难的情况,通过将将各航线进行连线,实现复杂的水域仅需一条航线。一个水域一条航线,水深测量过程中,无需再对无人船进行更换航线等其他人工干预,克服了现有技术的缺陷,让无人船区域布线更加简单实用。

具体的,将各航线按任意排列顺序进行依次连接。

具体的,任意两条航线进行连线步骤包括:将某航线的尾节点与另外一条航线的首节点进行连接。

进一步的,本发明的无人船区域布线方法还包括:若任意两条航线的连线超出可通行格网区域时,将某航线的尾节点沿该航线的首节点移动到某一增加节点,当该增加节点与另外一条航线的首节点的连线未超出可通行格网区域时,将某航线的尾节点与增加节点的连线,以及该增加节点与另外一条航线的首节点的连线均确定为新增的航线。

本发明的具体应用实施例如下:

首先进行数据输入,数据包括两部分:一是水域范围的坐标数据,以一条闭合的环线存储,如有水域中岛屿等障碍物范围数据也可一同输入;二是布线间隔,即两条航线间的距离(1米、3米、5米等)。

第二步计算该区域的外包矩形,在矩形内以航线间隔的长度建立格网,并且标记每个格网是否可通行,即水域外、障碍物内不可行船,其它可以。

如图4所述,一个“凹”形的水域,建立外包矩形的格网,标注0的格子不可通行,标注1的可以通行,格子大小由布线间隔决定。与背景技术中提到的“格网法”不同,无需建立格网间的连通性,省去大部分的计算。

第三步以格网左上角的格子中点为起点,“s”型顺序,尽可能多的遍历每个可通行的格子,并连接可通行格子的中点坐标记录下来,直到当前格子周围8个格子都已经通行,或者不可通行时停止当前部分的航线连接。当所有可通行的格子都被连接且记录下来时,就会产生一或多条航线,如图5所示,箭头代表连接顺序,形成了蓝红两条航线。

第四步连接航线,如果第三步只产生一条航线则结束。多条航线可任意排列顺序进行连接。由于各个航线间的连接线也作为无人船最后的航线,所以连接线不能经过不可通行的格子。连接方式如下:尝试连接前后两条航线的首尾节点,判断该连线是否与区域范围有交点,若无交点则确定该连线,如图6所示,图6中两条航线的连线与区域边界有交点,不能形成最终航线;若有交点则在连线上增加一个节点,该节点从前一条航线尾节点开始,根据第三步所记录该航线所连接的点,沿航线向首节点逐点移动,当增加的节点和下一条航线的首节点所连接的线段与区域范围无交点时确定该连线的一部分线段,此时判断增加节点与前一航线的尾节点连线是否与区域范围有交点,无则与前面所确定的连线部分构成完整的连线,有则继续增加节点,与前一个增加的节点相连,如图7所示,两条航线的连线与区域边界无交点,形成最终航线。按照相同的步骤,直到增加的节点和下一航线的首节点构成的线段与区域范围无交点为止,从而确定该连线,直到所有的连线都生成,结束布线工作。

该连线方式的核心思想是“通视”,当两个节点无法直连时,增加节点并沿走过的线路移动,寻找前后通视的节点位置。由于节点间是直连的,避免了多余的转弯不利于无人船的行驶的问题。本发明的连线方式能实现复杂的水域仅需一条航线。一个水域一条航线,水深测量过程中,无需再对无人船进行更换航线等其他人工干预,简单实用。

本发明还提供一种计算机存储介质,其上存储有计算机程序,本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机存储介质不包括电载波信号和电信信号。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1