发明内容
针对现有技术存在的航线规划过程中无法兼顾高度信息的问题,本发明的目的在于提供一种三维航线规划方法、系统、设备及介质。
为实现上述目的,本发明的技术方案为:
第一方面,本发明提供一种三维航线规划方法,包括以下步骤:
获取待巡检目标的三维空间信息,并确定所述待巡检目标的立面轮廓;
构建虚拟立面,所述虚拟立面与所述待巡检目标的立面轮廓相对,且所述虚拟立面在所述待巡检目标的立面轮廓上的正投影覆盖所述待巡检目标的立面轮廓;
对所述虚拟立面进行网格化处理,并确定所述虚拟立面中各个网格的中点为预选航点,所述预选航点包括三维位置信息;
确定有效航点,所述有效航点为正投影点被所述待巡检目标的立面轮廓所覆盖的预选航点;
根据预设的规则将所述有效航点连接成航线。
进一步的,所述方法还包括以下步骤:
判断所述航线上是否存在障碍物,是则确定出障碍物区域并进入下一步;
确定所述虚拟立面中与所述障碍物区域相对应的避让网格,并删除所述避让网格中的有效航点;
在所述避让网格上方、下方、左方或者右方的网格中插入替代航点;
根据预设的规则将所述替代航点以及剩余的所述有效航点连接成航线。
优选的,当所述待巡检目标的立面轮廓为平面凸多边形时,所述根据预设的规则将所述有效航点连接成航线的步骤包括:
根据预设的航点连接规则,将与所述待巡检目标的立面轮廓相对应的所述有效航点连接成航线。
优选的,当所述待巡检目标的立面轮廓为平面凹多边形时,所述根据预设的规则将所述有效航点连接成航线的步骤包括:
将所述待巡检目标的立面轮廓拆分成至少两个子轮廓,每个所述子轮廓均为平面凸多边形;
根据预设的航点连接规则,分别将与所述子轮廓相对应的所述有效航点连接成独立的子航线;
再根据预设的子航线连接规则将所述子航线连接成所述航线。
优选的,当所述待巡检目标的立面轮廓位于至少两个平面中时,所述根据预设的规则将所述有效航点连接成航线的步骤包括:
按照所述平面的数量,将所述待巡检目标的立面轮廓拆分成至少两个子立面轮廓;
根据预设的单平面航线连接规则分别将与所述子立面轮廓相对的所述有效航点连接成单平面航线;
再根据预设的平面航线间连接规则将所述单平面航线连接成航线。
优选的,当所述待巡检目标有至少两个时,所述根据预设的规则将所述有效航点连接成航线的步骤包括:
对每个待巡检目标,按照所述待巡检目标的立面轮廓所在的平面数量,将所述待巡检目标的立面轮廓拆分成相互独立的子立面轮廓;
根据预设的单平面航线连接规则分别将与各个待巡检目标中的所述子立面轮廓相对的有效航点连接成单平面航线;
再根据预设的平面航线间连接规则将所述单平面航线连接成航线。
优选的,所述预设的单平面航线连接规则包括预设的航点连接规则和预设的子航线连接规则。
第二方面,本发明还提供一种三维航线规划方法,包括以下步骤:
获取待巡检目标的三维空间信息,并确定所述待巡检目标的外包络面;
构建虚拟基面,所述虚拟基面由所述待巡检目标的外包络面等距离放大获得;
对所述虚拟基面进行分割,获得沿高度方向间隔分布的多个航迹层;
在每个所述航迹层上设置航点,并根据预设的规则将所述航点连接成航线。
第三方面,本发明还提供一种三维航线规划系统,包括
获取模块,所述获取模块用于获取待巡检目标的三维空间信息,并确定所述待巡检目标的立面轮廓;
构建模块,所述构建模块用于构建虚拟立面以及虚拟基面;
处理模块,所述处理模块用于对所述虚拟立面进行网格化处理并获得预选航点,以及用于对所述虚拟基面进行分割处理并获得航迹层;
确定模块,所述确定模块用于从所述预选航点中确定出有效航点,以及用于在所述航迹层上确定出航点;
以及规划模块,所述规划模块用于将虚拟立面中的有效航点连接成航线,以及用于将虚拟基面中的航点连接成航线。
第四方面,本发明还提供一种电子设备,包括存储有可执行程序代码的存储器;以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的所述可执行程序代码,执行如上所述的三维航线规划方法。
第五方面,本发明还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的三维航线规划方法。
采用上述技术方案,由于是在三维空间内对待测目标的立面轮廓进行航线规划,使得航线中的航点在高度方向上可轻易的分辨,且航点定位精确,从而避免通过二维地图规划的航线不够精准的问题;另外,规划好的航线便于展示,使航线的修改和调整过程更加方便和快速。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示对本发明结构的说明,仅是为了便于描述本发明的简便,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
对于本技术方案中的“第一”和“第二”,仅为对相同或相似结构,或者起相似功能的对应结构的称谓区分,不是对这些结构重要性的排列,也没有排序、或比较大小、或其他含义。
另外,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个结构内部的连通。对于本领域的普通技术人员而言,可以根据本发明的总体思路,联系本方案上下文具体情况理解上述术语在本发明中的具体含义。
实施例一
一种三维航线规划方法,如图1所示,其包括步骤S1、步骤S2、步骤S3、步骤S4和步骤S5。
步骤S1、获取待巡检目标的三维空间信息,并确定待巡检目标的立面轮廓;
本实施例中,通过三维地图获得待巡检目标的三维空间信息,并通过俯视图获得待巡检目标的俯视轮廓边界线,再获得待巡检目标的高度信息,从而由俯视轮廓边界线和高度信息可以确定出待巡检目标的立面轮廓,例如对于建筑物,待巡检目标的立面轮廓即为该建筑物的侧面,而待巡检目标的立面轮廓上的任一点都包含有经度、纬度和高度信息。
步骤S2、构建虚拟立面,虚拟立面与待巡检目标的立面轮廓相对,且虚拟立面在待巡检目标的立面轮廓上的正投影覆盖待巡检目标的立面轮廓;
虚拟立面是正对着待巡检目标的立面轮廓的一个虚拟平面,其与待巡检目标的立面轮廓之间的距离设定为定值,虚拟立面用于无人机在其内飞行,并对待巡检目标的立面轮廓进行巡检。虚拟立面在位置上正对着待巡检目标的立面轮廓,并且在尺寸上,配置为使该虚拟立面在待巡检目标的立面轮廓上的正投影覆盖待巡检目标的立面轮廓。同样的,虚拟立面内的任一点也都包括有经度、纬度和高度信息。
步骤S3、对虚拟立面进行网格化处理,并确定虚拟立面中各个网格的中点为预选航点,预选航点包括三维位置信息;
通过设定层高和列宽的方式,将虚拟立面进行网格化处理,从而在虚拟立面中产生呈矩阵排布的多个矩形状的网格,其中,每个网格配置为与待巡检目标上单个外墙单元的尺寸相当,以便于对外墙单元进行巡检。每个网格的中点即为预选航点,预选航点包含有三维位置信息,该三维位置信息包括经度、纬度和高度信息,另外预选航点还包含有巡检动作信息,以便于无人机根据巡检动作信息进行巡检。
步骤S4、确定有效航点,有效航点为正投影点被待巡检目标的立面轮廓所覆盖的预选航点;
可以理解的是,虚拟立面内的预选航点并不都是可用的航点,例如,有些网格的大部分面积(包含其内的预选航点)的正投影(在待巡检目标的立面轮廓上的正投影)都超出了待巡检目标的立面轮廓,只有小部分面积的正投影在待巡检目标的立面轮廓上时,该网格对应的部分(该网格在待巡检目标的立面轮廓上的正投影部分)则不必巡检,本实施例中,一个网格是否需要进行巡检,通过其中点(即预选航点)在待巡检目标的立面轮廓上的正投影点是否落在待巡检目标的立面轮廓内进行判断,是则确定为有效航点,无人机需要飞入该网格,对与该网格对应的部分进行巡检。有效航点来源于预选航点,因此有效航点也都包含有经度、纬度和高度信息,同时有效航点还包含有巡检动作信息,以便于无人机根据巡检动作信息进行巡检。
步骤S5、根据预设的规则将有效航点连接成航线。
通常,通过航线里程最短的原则,将有效航点连接成航线,通过缩短航线航程,提高无人机巡检工作量。或者,通过耗时最短原则,将有效航点连接成航线。
在一个实施例中,对于待巡检目标的立面轮廓上有凸出的障碍物时,无人机需要进行规避,因此,在实施例一所述方法的基础上,如图2所示,方法承接实施例一,还包括以下步骤:
步骤S6、判断航线上是否存在障碍物,是则确定出障碍物区域并进入下一步;
本实施例中,通过检测待巡检目标的立面轮廓上是否有物体凸出到虚拟立面中,来判断是否存在障碍物,再判断该障碍物是否位于已经规划好的航线上,如是,则进入步骤S7,如否,则步骤S5中规划的航线即为最终航线。
步骤S7、确定虚拟立面中与障碍物区域相对应的避让网格,并删除避让网格中的有效航点;
可以理解的是,障碍物与网格相重合的区域为障碍物区域,不需要进行巡检,这些网格标记为避让网格,并且避让网格中的有效航点全部删除,不规划入航线之中。
步骤S8、在避让网格上方、下方、左方或者右方的网格中插入替代航点;
由于从航线中删除了部分有效航点,这会导致航线断开,如继续按照预设的规则将剩余的有效航点连接成航线,那么新生成的航线可能依然会经过障碍物区域,因此,需要在虚拟立面中插入替代航点,从而绕过障碍物区域。本实施例中,替代航点也为网格的中点,该网格为环绕避让网格设置,上方、下方、左方或者右方均可,例如航线为上下方向时,替代航点设置在避让网格的左方或者右方,航线为左右方向(水平方向)时,替代航点设置在避让网格的上方或者下方,如图3所示。
步骤S9、根据预设的规则将替代航点以及剩余的有效航点连接成航线。
可以理解的是,上述的预设的规则,对于不同形状的待巡检目标的立面轮廓,具有不同的连接规则。具体而言,可划分为以下几种情形:
情形一:当待巡检目标的立面轮廓为平面凸多边形时,则在步骤S5中,根据预设的规则将有效航点连接成航线的步骤包括:
根据预设的航点连接规则,将与待巡检目标的立面轮廓相对应的所述有效航点连接成航线即可。例如,将有效航点以竖直列或者水平行为单元,以“弓”形连接成往复折叠状的航线,如图5及图6所示,而在情形一中,航线规划如图4所示。
情形二:当待巡检目标的立面轮廓为平面凹多边形时,步骤S5中,根据预设的规则将有效航点连接成航线的步骤包括:
将待巡检目标的立面轮廓拆分成至少两个子轮廓,每个子轮廓均为平面凸多边形;
根据预设的航点连接规则,分别将与各个子轮廓相对应的有效航点连接成独立的子航线;
再根据预设的子航线连接规则将所述子航线连接成所述航线。
其中,全部的子轮廓都位于同一个平面内,也都位于待巡检目标的立面轮廓内,并且子轮廓的数量以最少为优;此处的航点连接规则与情形一中的航点连接规则相同;而子航线连接规则为,将一个子航线中的结尾航点与另一个子航线中的初始航点连接,从而使各个子航线连接在一起,如图7所示。
情形三:当待巡检目标的立面轮廓位于至少两个平面中时,根据预设的规则将有效航点连接成航线的步骤包括:
按照待巡检目标的立面轮廓所在平面的数量,将待巡检目标的立面轮廓拆分成至少两个子立面轮廓;
根据预设的单平面航线连接规则分别将与子立面轮廓相对的有效航点连接成单平面航线;
再根据预设的平面航线间连接规则将单平面航线连接成航线。
其中,预设的单平面航线连接规则指的是情形二中的预设的航点连接规则和预设的子航线连接规则,即,对于情形三中的单平面航线的连接,可根据每个子立面轮廓的形状,适用情形一或者情形二的航线连接规则。而预设的平面航线连接规则为,当两个子立面轮廓相交时,对应的虚拟立面也相交,因此可在虚拟立面的相交处创建一个转接航点,通过该转接航点使两个子立面轮廓对应的单平面航线连接的结尾航点和初始航点连接起来,其中,转接航点的位置适于使无人机的飞行航程最短,或者飞行时间最少为宜,如图8所示。
情形四:当待巡检目标有至少两个时,根据预设的规则将有效航点连接成航线的步骤包括:
对每个待巡检目标,按照待巡检目标的立面轮廓所在的平面数量,将待巡检目标的立面轮廓拆分成相互独立的子立面轮廓;
根据预设的单平面航线连接规则分别将与各个待巡检目标中的子立面轮廓相对的有效航点连接成单平面航线;
再根据预设的平面航线间连接规则将所述单平面航线连接成航线。
该情形与情形三类似,多个待巡检目标即可理解为含有多个情形三所称的“平面”,因此适用情形三的规则,即,分别对每个“平面”进行规划,生成多个单平面航线,再将多个单平面航线连接起来即可。并且,平面航线间连接规则也是以总航程或者总飞行时间最短为宜,如图9所示。
同理,当待巡检目标的立面轮廓为曲面时,虚拟立面也为曲面,因此只需要改变在虚拟立面生成网格的方式即可,现有技术中已有在曲面上生成网格的方法,本发明不再赘述。
实施例二
一种三维航线规划方法,如图10所示,包括以下步骤:
步骤S21、获取待巡检目标的三维空间信息,并确定待巡检目标的外包络面;
其中,外包络面指的是待巡检目标的外表面,并优选指的是水平方向上的周向外表面。
步骤S22、构建虚拟基面,虚拟基面由待巡检目标的外包络面等距离放大获得;
即,虚拟基面在形状上与外包络面相同,可以看成是放大后的待巡检目标的外包络面,该虚拟基面与待巡检目标的外包络面之间具有一定的距离,虚拟基面在周向上包围待巡检目标。
步骤S23、对虚拟基面进行分割,获得沿高度方向间隔分布的多个航迹层;
对虚拟基面的分割,指的是布置一系列沿待巡检目标的高度方向间隔分布的水平面,每个水平面都与虚拟基面相交,从而相交的部分即为上述的航迹层,航迹层呈线状。并且由于待巡检目标通常呈柱状,其外包络面也呈柱状,而航迹层则呈环形,圆、椭圆或者其他不规则形状。
步骤S24、在每个航迹层上设置航点,并根据预设的规则将航点连接成航线。
本实施例中,设置相邻航点的距离为定值,从而在航迹层上依次生成航点,或者,先固定设置航迹层上航点的数量,再等距分割航迹层,生成航点。而将航点连接成航线的预设的规则为,按照从上到下,或者从下到上的顺序,逐层地对每个航迹层上的航点进行连线,相邻航迹层之间的连接,通过航程最短的原则,向另一个航迹层中最近的一个航点延伸航线,从而将全部航迹层上的全部航点连接成航线。
可见,本实施例提供的方法适用于待巡检目标的侧面形状不规则,不适于通过实施例一提出的方法进行航线规划的情景,并且特别适用于待巡检目标呈柱状的情景。
实施例三
本发明还提供一种三维航线规划系统,如图11所示,包括
获取模块,所述获取模块用于获取待巡检目标的三维空间信息,并确定所述待巡检目标的立面轮廓;
构建模块,所述构建模块用于构建虚拟立面以及虚拟基面;
处理模块,所述处理模块用于对所述虚拟立面进行网格化处理并获得预选航点,以及用于对所述虚拟基面进行分割处理并获得航迹层;
确定模块,所述确定模块用于从所述预选航点中确定出有效航点,以及用于在所述航迹层上确定出航点;
以及规划模块,所述规划模块用于将虚拟立面中的有效航点连接成航线,以及用于将虚拟基面中的航点连接成航线。
实施例四
一种电子设备,如图12所示,包括存储有可执行程序代码的存储器;以及与存储器耦合的处理器;其中,处理器调用存储器中存储的可执行程序代码,执行如上的三维航线规划方法。
实施例五
一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器运行时执行如上的三维航线规划方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。