一种基于禁飞区约束的航路规划方法与装置与流程

文档序号:12591393阅读:370来源:国知局
一种基于禁飞区约束的航路规划方法与装置与流程

本发明涉及算法设计及仿真领域,特别涉及一种基于禁飞区约束的航路规划方法与装置。



背景技术:

无人机能够高、低空飞行,以其灵活、便捷的特点可以完成喷洒农药、安全监控等特定任务。在完成任务的飞行过程中,无人机会遇到高楼、高压电线、安全禁飞等区域,此时,无人机需要绕过禁飞区域飞到待执行任务的区域。此外,无人机在完成特定任务的飞行过程中,带载能源有限,飞行的时间有限,因此,无人机需要在有限的时间内完成特定的任务,这就需要在飞行前求解可行航线,选择最优的航线飞行;同时,当飞行过程中遇到规划外的禁飞区域时,可以实时求解可行航线并选择最优的航线来飞行。

现有技术中,求解无人机的可行航线的重要途径是采用航路规划算法,目前,航路规划算法很多,常用的算法有基于图论的几何方法和智能规划算法。



技术实现要素:

发明人在研究过程中发现,现有的基于图论的几何方法要求用来表示规划空间或状态空间的图模型中,必须罗列出对应空间所有可能的航线,否则该方法就可能丢失最优解。此外,由于智能航路规划算法解算过程通常比较耗时,使得无人机遇到规划外的禁飞区域时,不能实时地求解出最优的航线。

有鉴于此,本发明的主要目的是提供一种基于禁飞区约束的航路规划方法与装置,既可以实现在无人机飞行前对规划空间最优航线的求解,还可以实现无人机遇到规划外的禁飞区域时,实时对最优航线的求解,并且在求解最优航线的过程中不丢失最优解。

为了解决上述问题,本发明公开了一种基于禁飞区约束的航路规划方法,该方法应用于无人机上,该方法包括:

将所述无人机从起点位置到终点位置之间的禁飞区域中的交叉区域和密集小区域进行分片,得到不同的分片禁飞区域;

将每个所述分片禁飞区域的外切圆包含的区域确定为圆形禁飞区域;

在所述圆形禁飞区域间采用圆的内外公切线的方法,求解所述起点位置到所述终点位置间的各直线可行路径和可行航路点,所述可行航路点为所述直线可行路径与所述圆形禁飞区域的交点;

根据所述直线可行路径确定从所述起点位置到所述终点位置间的所有可行航线;

依据所述所有可行航线与所述可行航路点规划所述起点位置到所述终点位置之间的最优航路。

其中,所述依据所述所有可行航线与所述可行航路点规划所述起点位置到所述终点位置之间的最优航路,包括:

从所述所有可行航线中选择路径最短的航线为最优航线;

根据所述可行航路点的属性为入切点还是出切点,确定所述最优航线中相邻两条所述直线可行路径中相邻的两个所述可行航路点间的飞行模式,得到所述起点位置到所述终点位置之间的最优航路。

其中,所述根据所述可行航路点的属性为入切点还是出切点,确定所述最优航线中相邻两条所述直线可行路径中相邻的两个所述可行航路点间的飞行模式,包括:

若所述最优航线中所述相邻两条直线可行路径中所述相邻的两个可行航路点是由出切点到入切点,则采用直线飞行模式,所述出切点为根据所述可行航线的方向离开所述圆形禁飞区域的直线可行路径与所述圆形禁飞区域的切点,所述入切点为根据所述可行航线的方向飞入所述圆形禁飞区域的直线可行路径与所述圆形禁飞区域的切点;

若所述最优航线中相邻两条直线可行路径中所述相邻的两个可行航路点是由所述入切点到所述出切点,则采用弧线飞行模式。

其中,所述在所述圆形禁飞区域间采用圆的内外公切线的方法,求解所述起点位置到所述终点位置间的各直线可行路径和可行航路点,包括:

获取所述起点位置作为当前位置;

针对所述当前位置,执行当前直线可行路径的寻找流程,所述寻找流程包括:

确定所述当前位置与所述终点位置之间的当前连接线;

判断所述当前连接线是否经过所述圆形禁飞区域;

如果所述当前连接线经过所述圆形禁飞区域,则确定所述当前连接线上距离所述当前位置最近的圆形禁飞区域,并确定所述当前位置所在圆形禁飞区域与所述距离最近的圆形禁飞区域间,经过所述当前位置侧的当前公切线;

判断所述当前公切线是否经过所述圆形禁飞区域;

若否,判断与所述当前公切线相邻的直线可行路径是否与所述当前公切线确定的路径相交;如果否,则确定所述当前公切线为当前直线可行路径;

以所述当前直线可行路径的终点为当前位置,执行所述寻找流程,直至所述起点位置到所述终点位置之间的所有直线可行路径确定完毕。

其中,所述判断与所述当前公切线相邻的直线可行路径是否与所述当前公切线确定的路径相交,还包括:

如果相交,则将与所述当前公切线相邻的直线可行路径的起点所在的圆形禁飞区域和所述当前公切线确定的路径的终点所在的圆形禁飞区域间的在所述当前公切线侧的外公切线,作为当前连接线,执行判断所述当前连接线是否经过所述圆形禁飞区域的步骤。

其中,针对所述当前位置,执行当前直线可行路径的寻找流程,所述寻找流程,还包括:

如果所述当前连接线不经过所述圆形禁飞区域,判断所述当前位置是否为所述终点位置,若是所述终点位置,则确定所述当前连接线为所述当前直线可行路径;

若不是所述终点位置,则计算所述终点位置到所述当前位置所在圆形禁飞区域的所述当前位置侧的当前公切线;

判断所述当前公切线是否经过所述圆形禁飞区域;

若经过,将所述当前公切线作为当前连接线,执行所述当前连接线经过所述圆形禁飞区域的步骤;

若不经过,则确定所述当前连接线为当前直线可行路径。

本发明还提供了一种基于禁飞区约束的航路规划装置,该装置集成在无人机上,其特征在于,该装置包括:

获取单元,用于将所述无人机从起点位置到终点位置之间的禁飞区域中的交叉区域和密集小区域进行分片,得到不同的分片禁飞区域;

第一确定单元,用于将每个所述分片禁飞区域的外切圆包含的区域确定为圆形禁飞区域;

计算单元,用于在所述圆形禁飞区域间采用圆的内外公切线的方法,求解所述起点位置到所述终点位置间的各直线可行路径和可行航路点,所述可行航路点为所述直线可行路径与所述圆形禁飞区域的交点;

第二确定单元,用于根据所述直线可行路径确定从所述起点位置到所述终点位置间的所有可行航线;

第三确定单元,用于依据所述所有可行航线与所述可行航路点规划所述起点位置到所述终点位置之间的最优航路。

所述第三确定单元包括:

第一确定子单元,用于从所述所有可行航线中选择路径最短的航线为最优航线。

第二确定子单元,用于根据所述可行航路点的属性为入切点还是出切点,确定所述最优航线中相邻两条所述直线可行路径中相邻的两个所述可行航路点间的飞行模式,得到所述起点位置到所述终点位置之间的最优航路。

其中,所述第二确定子单元,具体用于:

在所述最优航线中相邻两条直线可行路径中相邻的两个可行航路点是由出切点到入切点的情况下,则确定采用直线飞行模式;或者,在所述最优航线中相邻两条直线可行路径中相邻的两个可行航路点是由入切点到出切点,则采用弧线飞行模式,所述出切点为根据可行航线的方向离开圆形禁飞区域的直线可行路径与圆形禁飞区域的切点,所述入切点为根据可行航线的方向飞入圆形禁飞区域的直线可行路径与圆形禁飞区域的切点。

其中,所述计算单元包括:

获取子单元,用于获取所述起点位置作为当前位置。

执行子单元,用于针对所述当前位置,确定所述当前位置与所述终点位置之间的当前连接线;

判断所述当前连接线是否经过所述圆形禁飞区域;

如果所述当前连接线经过所述圆形禁飞区域,则确定所述当前连接线上距离所述当前位置最近的圆形禁飞区域,并确定所述当前位置所在圆形禁飞区域与所述距离最近的圆形禁飞区域间,经过所述当前位置侧的当前公切线;

判断所述当前公切线是否经过所述圆形禁飞区域;

若否,判断与所述当前公切线相邻的直线可行路径是否与所述当前公切线确定的路径相交;如果否,则确定所述当前公切线为当前直线可行路径。

触发子单元,用于以所述当前直线可行路径的终点为当前位置,寻找从当前位置开始的直线可行路径,直至所述起点位置到所述终点位置之间的所有直线可行路径确定完毕。

其中,所述执行子单元,还用于:

如果所述当前连接线不经过所述圆形禁飞区域,判断所述当前位置是否为所述终点位置,若是所述终点位置,则确定所述当前连接线为所述当前直线可行路径;

若不是所述终点位置,则计算所述终点位置到所述当前位置所在圆形禁飞区域的所述当前位置侧的当前公切线;

判断所述当前公切线是否经过所述圆形禁飞区域;

若经过,将所述当前公切线作为当前连接线,执行所述当前连接线经过所述圆形禁飞区域的步骤;

若不经过,则确定所述当前连接线为当前直线可行路径。

其中,所述判断与所述当前公切线相邻的直线可行路径是否与所述当前公切线确定的路径相交,还可以包括:

如果相交,则将与所述当前公切线相邻的直线可行路径的起点所在的圆形禁飞区域和所述当前公切线确定的路径的终点所在的圆形禁飞区域间的在所述当前公切线侧的外公切线,作为当前连接线,执行判断所述当前连接线是否经过所述圆形禁飞区域的步骤。

与现有技术相比,本发明具有以下有益效果:

为了实现无人机飞行前求解出最优航线,以及在飞行过程中遇到规划外的禁飞区域时可以实时求解出最优航线,并且不丢失最优解,本发明提出了基于禁飞区约束的航路规划方法与装置。本发明在求解最优航线的过程中,将规划空间中的禁飞区域分片整合成外切圆区域,并对外切圆区域采用公切线方法解算可行航线和航路点,简化了求解最优航线的思路,使其不容易丢失最优航线,并且求解速度更快,同时,所选的最优航线适合无人机的飞行模式并且是最短的航线,使得无人机实际飞行的时间缩短,克服了现有技术中基于图论的几何算法可能丢失最优解以及智能航线规划算法耗时的缺点,从而确保无人机在有限的时间内完成特定的任务。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明中一种基于禁飞区约束的航路规划方法的方法流程图;

图2(a)是本发明中依据交叉区域得到的圆形禁飞区域的示意图;

图2(b)是本发明中依据密集小区域得到的圆形禁飞区域的示意图;

图3是本发明中求解起点位置到终点位置间的所有直线可行路径的方法流程图;

图4(a)是本发明中两条直线路径组成的存在绕飞路径的示意图;

图4(b)是本发明中存在绕飞路径时计算得到新路径的示意图;

图5是本发明中对禁飞区域进行规划得到圆形禁飞区域的方法流程图;

图6是本发明中寻找从起点位置到终点位置间的所有直线可行路径的方法流程图;

图7是本发明中一种基于禁飞区约束的航路规划装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在无人机需要从起点位置飞到终点位置完成特定的任务的时候,无人机从起点位置飞到终点位置的飞行区域是三维空间区域,为了方便对无人机在三维空间的航路进行规划,通常将无人机可能经过的空间进行简化,如将三维空间简化为平面空间,将禁飞区域简化为简单的几何形状等。

本发明在规划无人机从起点位置到终点位置之间的航路时,将无人机可能经过的三维空间区域简化为平面区域,并按照三维空间中禁飞区域是否存在交叉情况以及禁飞区域的密集程度,对禁飞区域进行分片得到分片禁飞区域,并将每个禁飞区域的外切圆包含的区域确定为圆形禁飞区域;然后,在圆形禁飞区域间采用圆的内外公切线的方法,求解从起点位置到终点位置的各直线可行路径与可行航路点;最后,根据各直线可行路径确定从起点位置到终点位置之间的可行航线,将可行航线中最短路径的航线确定为最优航线,根据最优航线的可行航路点的属性确定相邻两条直线可行路径间的飞行模式,进而得到从起点位置到终点位置间的最优航路。

为了使本领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例1

图1,是本发明实施例1提供的一种航路规划方法的流程图,该方法包括:

步骤S101:将所述无人机的、从起点位置到终点位置之间的禁飞区域中的交叉区域和密集小区域进行分片,得到不同的分片禁飞区域。

一般情况下,无人机从起点位置到终点位置的飞行区域是以北、东和天三个方向确定的三维区域,其中,起点位置为此三维坐标系的原点。在此三维空间区域中有多个禁飞区域,为了方便求解无人机从起点位置到终点位置的最优航路,将此三维空间中的三维禁飞区域在北和东两个方向确定的平面内投影,得到平面禁飞区域,因此,就可以将求解无人机在三维空间的最优航路问题简化为:求解在北和东两个方向确定的平面内,平面禁飞区域间的最优航路问题。为了方便表述,在下文中将出现的平面禁飞区域统称为禁飞区域。

又因为在北和东两个方向确定的平面内,存在多个形状和分布不规则的禁飞区域,所以为了方便求解此平面内无人机的最优航路,将各禁飞区域按照是否是交叉区域或密集小区域进行分片,得到各分片禁飞区域。其中,交叉区域是指禁飞区域相交所形成的区域,每一个交叉区域为一个分片禁飞区域;密集小区域是相邻的禁飞区域间的距离大于无人机最小转弯半径并且小于无人机最小转弯半径的2倍,每一个密集小区域也为一个分片禁飞区域;以及,将所有禁飞区域中除了交叉区域与密集小区域之外的每一个禁飞区域也确定为一个分片禁飞区域。

步骤S102:将每个分片禁飞区域的外切圆包含的区域确定为圆形禁飞区域。

为了方便求解起点位置到终点位置间所有分片禁飞区域间的最优航路,做每个分片禁飞区域的外切圆,将得到的每个外切圆包含的区域确定为圆形禁飞区域,以便在此圆形禁飞区域的基础上,采用圆的内外公切线的方法求解起点位置到终点位置间的各直线可行路径与可行航路点。例如,针对交叉区域,可以做一个能包括每一个交叉的禁飞区域的最小外切圆作为圆形禁飞区域;针对密集小区域,则可以做一个包括密集小区域中的每一个禁飞区域的最小外切圆作为圆形禁飞区域,其他分片禁飞区域,则按照能包括该分片禁飞区域内所有区域的最小外切圆作为圆形禁飞区域。具体可以参考图2(a)和图2(b)所示,其中,图2(a)为依据交叉区域得到的圆形禁飞区域的示意图,图2(b)是依据密集小区域得到的圆形禁飞区域的示意图。

步骤S103:在所述圆形禁飞区域间采用圆的内外公切线的方法,求解所述起点位置到所述终点位置间的各直线可行路径和可行航路点,所述可行航路点为所述直线可行路径与圆形禁飞区域的交点。

本步骤S103在圆形禁飞区域间采用圆的内外公切线的方法,求解所述起点位置到所述终点位置的各直线可行路径和可行航路点。其中,所要求解的直线可行路径为两个圆形禁飞区域间的直线路径且不经过其他圆形禁飞区域,直线可行路径与圆形禁飞区域的交点为可行航路点。

具体的,求解直线可行路径与可行航路点的流程如图3所示,其流程包括步骤S301~步骤S312:

步骤S301:获取所述起点位置作为当前位置。

首先,将无人机待起飞的起点位置作为当前位置,找到从当前位置所在圆形禁飞区域出发的直线可行路径。

步骤S302:针对所述当前位置,确定所述当前位置与所述终点位置之间的当前连接线。

在确定了当前位置后,连接当前位置与终点位置,将此连接当前位置与终点位置的直线确定为当前连接线,进入步骤S303。

步骤S303:判断所述当前连接线是否经过所述圆形禁飞区域,如果经过所述圆形禁飞区域,则进入步骤S304,如果不经过所述圆形禁飞区域,则进入步骤S309。

得到当前位置与终点位置间的当前连接线后,根据此时的标志位是否为1,若标志位为1表示当前连接线从当前位置到终点位置经过其他的圆形禁飞区域,则进入步骤S304;若标志位不为1表示当前连接线从当前位置到终点位置没经过其他的圆形禁飞区域,则进入步骤S309。

需要说明的是,标志位的数值用于表示当前连接线是否穿过其他圆形禁飞区域,标志位可以选取任何的数值来表示此时的当前连接线是否穿过禁飞区域。

步骤S304:确定当前连接线上距离所述当前位置最近的圆形禁飞区域,并确定所述当前位置所在圆形禁飞区域与所述距离最近的圆形禁飞区域,经过所述当前位置侧的当前公切线,进入步骤S305。

具体的,在得到当前连接线后,首先,判断此当前连接线是否经过圆形禁飞区域,若经过圆形禁飞区域,需要找到在当前连接线上,距离当前位置最近的圆形禁飞区域;然后,获取当前位置所在圆形禁飞区域与距离最近的圆形禁飞区域间的公切线,该公切线共有四条,其中两条为外公切线,另外两条为内公切线,在此四条公切线中,选取经过当前位置所在圆形禁飞区域的那一侧的两条公切线,从两条公切线中分别选取一条公切线作为当前公切线,执行步骤S305。直到两条公切线都分别作为当前公切线,都执行完步骤S305,此时寻找到从当前位置所在圆形禁飞区域出发,并且不存在绕飞路径的直线可行路径。

特殊的,当起点位置为当前位置时,当前位置所在圆形禁飞区域的面积为零,在这种情况下,直接获取当前位置和与当前位置距离最近的圆形禁飞区域的公切线,此时得到两条公切线,将此两条公切线作为当前公切线,直到寻找到从当前位置所在圆形禁飞区域出发,并且不存在绕飞路径的直线可行路径。

步骤S305:判断所述当前公切线是否经过圆形禁飞区域,若经过,则将所述当前公切线作为当前连接线,进入步骤S304,若不经过,则进入步骤S306。

判断此时的标志位是否为1,若为1,表示当前公切线经过其他圆形禁飞区域,以所述当前公切线作为当前连接线,并执行步骤S304,若不为1,表示当前公切线不经过其他圆形禁飞区域,执行步骤S306。

具体的,将当前的公切线作为当前连接线按照步骤S304,继续寻找距离当前位置最近的圆形禁飞区域,确定当前位置所在圆形禁飞区域与距离最近的圆形禁飞区域间的公切线,并选取在当前位置侧的两条公切线,将其中一条公切线作为当前公切线,接着执行步骤S305,以此循环,直到当前公切线不经过圆形禁飞区域,进入步骤S306。

步骤S306:判断与当前公切线相邻的直线可行路径是否与当前公切线确定的路径相交;如果是,则进入步骤S307,如果否,则进入步骤S311。

本步骤的目的是为了判断,当前公切线和与当前公切线相邻直线可行路径间是否存在绕飞路径。图4(a)为两条直线路径交叉部分组成的绕飞路径示意图,图4(b)为存在绕飞路径时本发明计算得到的新路径。

具体的,在图4(a)中,圆01、圆02与圆03分别表示三个圆形禁飞区域,分别做圆01与圆02之间的公切线p1p2,以及,圆02与圆03之间的公切线p3p4,则公切线p1p2与圆01之间的交点p1为可行航路点,公切线p1p2与圆02之间的交点p2也为可行航路点,p1p2为圆形禁飞区域01与圆形禁飞区域02间的直线可行路径。同理,p3、p4为可行航路点,p3p4表示圆形禁飞区域02与圆形禁飞区域03间的直线可行路径。从图4(a)可以看出,直线可行路径p1p2与直线可行路径p3p4相交于一点,如果无人机从圆形禁飞区域01飞到圆形禁飞区域02,再飞到圆形禁飞区域03,那么飞行路径为:首先沿直线可行路径p1p2飞行,飞到p1p2与p3p4的交点后接着飞到可行航路点p2,紧接着绕圆形禁飞区域02飞一圈飞到可行航路点p3;然后,从可行航路点p3飞到p1p2与p3p4的交点;最后,从交点飞到可行航路点p4。那么由可行航路点p1飞到可行航路点p4的过程中,从p1p2与p3p4的交点飞到可行航路点p2,接着绕圆形禁飞区域02飞一圈飞到可行航路点p3,再从可行航路点p3飞到p1p2与p3p4的交点的路径就是绕飞路径。

在算法中,对于判断p3p4和与p1p2间是否存在绕飞路径,采用的是线段p3p4与线段p1p2是否相交,如果相交,则点p1到点p4的路径存在绕飞路径,如果不相交,则点p1到点p4的路径不存在绕飞路径。

步骤S307:将与当前公切线相邻的直线可行路径的起点所在的圆形禁飞区域,和,所述当前公切线确定的路径的终点所在的圆形禁飞区域间的,在所述当前公切线侧的外公切线,作为当前连接线,执行步骤S303。

此步骤是存在绕飞路径下执行的动作,如果当前公切线与其相邻的直线可行路径间存在绕飞路径时,需要删除当前公切线,重新计算新的路径,新路径的计算方法为:首先,确定与当前公切线相邻的直线可行路径的起点所在的圆形禁飞区域,和当前公切线的终点所在的圆形禁飞区域;然后,做与当前公切线相邻的直线可行路径的起点所在圆形禁飞区域,与当前公切线的终点所在的圆形禁飞区域间的外公切线,此时,得到的外公切线有两条,将两条公切线中在当前公切线一侧的那条公切线确定为当前连接线,进入步骤S303。

具体的,针对图4(a)所示的可行航路点p1到可行航路点p4间的绕飞路径,本步骤计算新路径的方法为:删除路径p3p4,做圆形禁飞区域01与圆形禁飞区域03间的外公切线,此时,得到两条外公切线,将通过线段p1p2与线段p3p4所在侧的外公切线作为当前连接直线,外公切线的起点作为当前位置,进入步骤S303,采用本步骤计算新路径的方法得到的新路径如图4(b)所示。

步骤S308:判断当前位置是否为所述终点位置,若是终点位置,则进入步骤S312,若不是终点位置,则进入步骤S309。

本步骤是步骤S303的判断结果为所述当前连接线不经过圆形禁飞区域时,继续判断当前位置是否为终点位置,若是,则进入步骤S312,若不是,则进入步骤S309。

步骤S309:计算所述终点位置到当前位置所在圆形禁飞区域的当前位置侧的当前公切线,进入步骤S310。

此步骤是在当前位置与终点的当前连接线不经过其他圆形禁飞区域时,并且当前位置不是终点位置时,此时,从终点位置向当前位置所在圆形禁飞区域做公切线,由于终点位置为一个点,因此,当前公切线有两条,从这两条公切线中选取经过当前位置在圆形禁飞区域的一侧的公切线,作为当前公切线,接着进入步骤S310。

步骤S310:判断所述当前公切线是否经过圆形禁飞区域,若经过,将所述当前公切线作为当前连接线,则进入步骤S304,若不经过,则进入步骤S311。

步骤S311:确定所述当前公切线为当前直线可行路径,进入步骤S312。

此步骤是当前公切线和与当前公切线相邻的直线可行路径间不存在绕飞路径时,此时求解到的当前公切线为直线可行路径,接着进入步骤S312,以直线可行路径的终点为当前位置继续求解直线可行路径。

步骤S312:以直线可行路径的终点为当前位置继续求解直线可行路径,直到所述起点位置到所述终点位置之间的所有直线可行路径确定完毕。

在本步骤中,当步骤S303判断得到的当前位置与终点位置的当前连接线不经过圆形禁飞区域,并且当前位置是终点位置时;或者,在步骤S311中,确定所述当前公切线为当前直线可行路径时,执行本步骤,即按照步骤S302~步骤S311来寻找直线可行路径,直到,当前直线可行路径的终点为本发明实施例所确定的终点位置,此时,表示从起点位置到终点位置的所有直线可行路径都寻找完毕。

在介绍完步骤S103求解到起点位置和终点位置之间的所有直线可行路径之后,接着返回图1,进入步骤S104。

步骤S104:根据所述直线可行路径确定从所述起点位置到所述终点位置间的所有可行航线。

在求解得到起点位置到终点位置间的所有直线可行路径后,从起点位置开始沿着直线可行路径到达终点位置时,存在多条从起点位置到终点位置的可行航线。可行航线的确定方法为:从起点位置开始,沿着直线可行路径一直到终点位置,此过程顺序经过的直线可行路径组成一条可行航线。按照上述寻找可行航线的方法,依次找到从起点位置到终点位置间所有的可行航线。

步骤S105:依据所述所有可行航线与所述可行航路点规划所述起点位置到所述终点位置之间的最优航路。

在上述得到的起点位置到终点位置间的所有可行航线后,将所有可行航线中直线可行路径最短的航线确定为最优航线。此时最优航线包括了从起点位置到终点位置选取的若干条直线可行路径,以及无人机按照这些直线可行路径飞行的先后顺序。

接着,根据此最优航线以及最优航线上的各个可行航路点的属性,来确定无人机沿着此条最优航线的飞行模式,进而得到最优路径。

具体的,若所述最优航线中相邻两条直线可行路径中相邻的两个可行航路点是由出切点到入切点,则从出切点沿着直线飞行到入切点,所述出切点为根据最优航线的方向离开圆形禁飞区域的直线可行路径与圆形禁飞区域的切点,所述入切点为根据最优航线的方向飞入圆形禁飞区域的直线可行路径与圆形禁飞区域切点。

若所述最优航线中相邻两条直线可行路径中相邻的两个可行航路点是由入切点到出切点,则沿着出切点与入切点所在的圆形禁飞区域上由入切点到出切点的弧线进行飞行。

本发明实施例,首先,将三维空间中的三维禁飞区域转化为二维平面内的禁飞区域;其次,对二维平面区域内禁飞区域进行分片,其中,将存在交叉的禁飞区域作为一个分片禁飞区域,相邻的两个禁飞区域间距离满足,大于无人机最小转弯半径并且小于无人机最小转弯半径的2倍的禁飞区域作为一个分片区域,将即不属于交叉类型同时不满足与相邻的禁飞区域间的距离大于无人机最小转弯半径并且小于无人机最小转弯半径的2倍的禁飞区域作为一个分片禁飞区域;再次,对于每个分片禁飞区域,都做包含此分片禁飞区域所有区域的最小外切圆作为此分片禁飞区域的圆形禁飞区域,并且采用圆的内外公切线的方法,求解从起点位置到终点位置间的所有圆形禁飞区域间的直线可行路径;最后,从所有的直线可行路径中确定起点位置到终点位置间的所有可行航线,进而确定最优航线以及最优航路。

本发明实施例采用圆的内外公切线的方法求解起点位置到终点位置间的所有直线可行航路点,然后确定可行航线,最后确定最优航线以及最优航路,这种采用渐进的方法确定最优航路,克服了现有基于图论的方法,需要罗列出起点位置到终点位置间所有的可行航路来确定最优航路,进而容易丢失最优航路的缺点。同时,克服了现有的智能算法比较耗时,进而不利于在线解算和工程应用的缺点。

实施例2

本发明实施例对本发明提出的航路规划方法实施过程进行了更详细的描述,主要包括对禁飞区域进行规划得到圆形禁飞区域的过程,和,基于确定的圆形禁飞区域寻找从起点位置到终点位置的所有直线可行路径。

具体的,图5,是对禁飞区域进行规划得到圆形禁飞区域的方法流程图。该方法可以包括:

步骤S501:将无人机在空间内可能遇到的三维禁飞区域简化为二维的平面禁飞区域,此平面禁飞区域在下面统称为禁飞区域。

步骤S502:将禁飞区域中的交叉区域和密集小区域进行分片得到不同的分片禁飞区域。

上述步骤S501~步骤S502与实施例1中的步骤S101对应,对于步骤S501~步骤S502的具体实施步骤参考实施例1的步骤S101,这里不再赘述。

步骤S503:做每个分片禁飞区域的外切圆,将外切圆确定的区域作为此分片禁飞区域对应的圆形禁飞区域。

由于步骤S502得到的不同分片禁飞区域的大小与形状不规则,对求解不同分片禁飞区域间的各直线可行路径带来了困难,为了快速地求解从起点位置到终点位置间所有分片禁飞区域间的各直线可行路径,对每个分片禁飞区域做外切圆,将外切圆确定的区域作为圆形禁飞区域,在得到的圆形禁飞区域的基础上,采用圆的内外公切线的方法求解起点位置到终点位置间的所有直线可行路径,此时,求解各分片禁飞区域间的直线可行路径的过程就会变得简单。

步骤S503与实施例1中的步骤S102对应。

本发明实施采用圆的内外切公切线的方法求解起点位置到终点位置间的所有直线可行路径,求解起点位置到终点位置间的所有直线可行路径与可行航路点的过程,是一个循环的过程。首先,从起点位置开始,寻找从起点位置出发的所有当前直线可行路径,这是第一次循环;其次,分别以第一次循环得到的每条当前直线可行路径的终点作为当前位置,从当前位置出发,求解第一次循环得到的所有当前直线可行路径对应的下一条直线可行路径作为此次循环得到的所有当前直线可行路径;再次,分别以所有当前直线可行路径的终点为当前位置,寻找从当前位置所在圆形禁飞区域出发的直线可行路径,以此循环,直到得到的所有当前直线可行路径的终点为无人机需要完成任务的终点位置,此时,表示从起点位置到终点位置的所有直线可行路径寻找完毕。

接着,基于划分出的圆形禁飞区域寻找从起点位置到终点位置间的所有直线可行路径的方法流程如图6所示,该方法可以包括:

步骤S601:初始化起点位置、终点位置、当前位置、标志位、路径存储器,直线可行路径计数器,圆形禁飞区域计数器。

本步骤初始化的变量包括:起点位置、终点位置、当前位置、标志位、路径存储器,直线可行路径计数器,圆形禁飞区域计数器;其中,起点位置是无人机执行任务时的出发位置,终点位置是无人机执行任务的位置;标志位用于表示两个圆形禁飞区域间的公切线是否与其他圆形禁飞区域相交,若标志位为1表示所述公切线与其他圆形禁飞区域相交,若不为1,表示所述公切线与其他圆形禁飞区域不相交,路径存储器包括直线可行路径存储器、当前直线可行路径存储器与不可行路径存储器,直线可行路径存储器用来存储直线可行路径,当前直线可行路径存储器存储在一次循环过程中得到的所有直线可行路径,不可行路径存储器用于存储不可行路径;直线可行路径计数器用于显示当前直线可行路径存储器所保存的当前直线可行路径中已被求解下一步直线可行路径的,当前直线可行路径的数目;圆形禁飞区域计数器自动显示到当前位置为止,已被求解直线可行路径的圆形禁飞区域的数目。

在初始时刻,标志位不为1、当前直线路径存储器数目为0,直线可行路径计数器显示值为0,圆形禁飞区域计数器显示值为0。

步骤S602:读取起点位置与终点位置,将起点位置作为当前位置。

获取无人机待起飞的位置,并将此待起飞的起点位置作为当前位置。同时获取无人机需要执行任务的位置,将起点位置与终点位置作为航路规划算法的初始量。

步骤S603:做当前位置与终点位置间的当前连接线。

在本步骤中,做当前位置到终点位置间的连接线,将此连接线作为当前连接线,对于当前连接线是否经过其他圆形禁飞区域,通过标志位来体现,如果标志位为1,则表示当前连接线经过其他圆形禁飞区域,如果标志位不为1,则表示当前连接线不经过其他圆形禁飞区域。

步骤S604:判断此时标志位是否为1,若不是1,则执行步骤S605,若是1,则执行步骤S607。

标志位用于显示当前连接线是否经过其他圆形禁飞区域,若经过,标志位为1,若不经过,标志位不是1。

需要说明的是,若当前连接线经过圆形禁飞区域时,标志位可以为其他值,只要标志位的数值可以反映当前连接线是否经过圆形禁飞区域就可以。

本步骤是判断当前连接线是否穿过了当前位置到终点位置间的圆形禁飞区域,如果标志位为1,说明当前连接线所确定的路径是不可行的,因此,保存此不可行路径,需要重新寻找从当前位置所在圆形禁飞区域出发的直线可行路径。

步骤S605:判断当前位置是否为终点位置,若是,确定当前连接线为当前公切线,转入步骤S612,若否,则执行,步骤S606。

此步骤是在步骤S604确定的当前位置与终点位置间的当前连接线不经过圆形禁飞区域时,执行的动作。

步骤S606:计算所述终点位置到当前位置所在圆形禁飞区域的当前公切线,将所述当前公切线作为当前连接线,执行步骤S604。

在此步骤中,首先,从终点位置向当前位置所在的圆形禁飞区域做公切线,由于终点位置为一个点,因此,此时的公切线有两条;然后,从此两条公切线中选取经过当前位置侧的公切线作为当前公切线,并将当前公切线作为当前连接线,进入步骤S604,继续执行。

步骤S607:找到在当前连接线经过的圆形禁飞区域中,距离当前位置最近的圆形禁飞区域,并计算当前位置所在圆形禁飞区域与距离当前位置最近的圆形禁飞区域间的公切线,确定所述公切线中经过当前位置侧的公切线为当前公切线,进入步骤S608。

具体的,首先,需要找到在当前连接线穿过的圆形禁飞区域中,确定与当前位置最近的圆形禁飞区域;然后,计算当前位置所在圆形禁飞区域与距离当前位置最近的圆形禁飞区域间的公切线。

若当前位置不是起点位置时,此公切线有四条,选取经过圆形禁飞区域当前位置侧的两条公切线,作为当前公切线;若当前位置为起点位置时,则计算当前位置到距离当前位置最近的圆形禁飞区域的公切线,此时,所述公切线为当前公切线。

步骤S608:判断当前标志位是否为1,若为1,则执行步骤S609,若不为1,则执行步骤S610。

本步骤中的当前标志位是否为1,表示的是步骤S607中得到的当前公切线是否经过其他圆形禁飞区域,若标志位为1,表示当前公切线经过其他圆形禁飞区域,则执行步骤S609;若标志位不为1,表示当前公切线不经过其他圆形禁飞区域,则执行步骤S610。

步骤S609:将当前公切线存储在不可行路径存储器中,将当前公切线作为当前连接线,并转入步骤S607。

转入步骤S607后,继续计算当前位置所在圆形禁飞区域与距离当前位置最近的圆形禁飞区域间的公切线,确定所述公切线中经过当前位置侧的公切线为当前公切线,接着执行步骤S608,依次循环,直到步骤S608判断出标志位不为1时,跳出此步骤,进入步骤S610。

步骤S610:判断与当前公切线相邻的直线可行路径是否与当前公切线确定的路径相交,若是,进入步骤S611,若不是,进入步骤S612。

此步骤就是判断当前公切线和与当前公切线相邻的直线可行路径,是否存在绕飞路径,具体绕飞路径的细节在实施例1中进行了详细的描述,这里不再赘述。

步骤S611:将与当前公切线相邻的直线可行路径的起点所在的圆形禁飞区域,和,所述当前公切线确定的路径的终点所在的圆形禁飞区域间的在所述当前公切线侧的外公切线,作为当前连接线,转向步骤S604继续执行,以此循环,直到步骤S610的判断结果为否,进入步骤S612。

步骤S612:确定当前公切线为当前直线可行路径,将当前直线可行路径保存在当前直线可行路径存储器中,当前直线可行路径存储器的数目加上此时直线可行路径的数目,并且可行航路点数目加上此时当前直线可行路径条数的2倍,接着进入步骤S613。

步骤S613:判断此时直线可行路径计数器的数目加1是否大于直线可行路径数值,若不大于,则进入步骤S614,若大于,则进入步骤S615。

在此步骤中,直线可行路径数值是指在上一次循环过程中得到的所有当前直线可行路径的数目。直线可行路径计数器表示的是,在本次循环过程中,已对上次循环得到的所有当前直线可行路径求解到下一条直线可行路径的当前直线可行路径的数目。如果直线可行路径计数器的数目加1大于直线可行路径的数目,表示在上一步的循环中得到的所有当前直线可行路径都已被求解到下一步的直线可行路径;如果不大于,表示上一次循环中得到的所有当前直线可行路径中还存在未被求解下一条直线可行路径的当前直线可行路径。

步骤S614:获取可行路径存储器中未被求解下一步直线可行路径的当前直线可行路径,并将所述获取的直线可行路径的终点作为当前位置,直线可行路径计数器加1,执行步骤S603。

步骤S615:直线可行路径计数器清零,直线可行路径数值为当前直线可行路径存储器的数目,并将当前直线可行路径存储器中的直线可行路径保存在可行路径存储器中,当前直线可行路径存储器清零。

本步骤中,直线可行路径存储器用于存储在每次循环过程中得到的当前直线可行路径对应的下一步直线可行路径。

步骤S616:判断圆形禁飞区域计数器的数目是否小于圆形禁飞区域的个数,若小于,则执行步骤S613,若不小于,则执行步骤S617。

步骤S617:结束流程。

本步骤表示,起点位置到终点位置间的所有圆形禁飞区域间的直线可行路径与可行航路点确定完毕。

通过上述步骤S601~步骤S617寻找到从起点位置到终点位置的所有直线可行路径,并且此直线可行路径保存在直线可行路径存储器中。根据此直线可行路径存储器中存储的直线可行路径,从起点位置寻找到终点位置的所有可行航线的方法为:首先,从起点位置开始,寻找直线可行存储器中所保存的起点位置开始的所有直线可行路径;然后,以此时的所有直线可行路径的终点开始寻找,以此终点为起点的直线可行路径,并按照上述步骤,直到寻找到所有直线可行路径的终点为终点位置;最后,从起点位置沿着上述寻找到的直线可行路径直到终点位置,此时,每一条从起点位置到终点位置的航线都是一条可行航线。

依据所述所有可行航线与所述航路点规划所述起点位置到所述终点位置之间的最优航路的过程与实施例中的步骤S105相同,这里不再赘述。

本发明实施例详细说明了本发明的航路规划方法的具体实施步骤,可将此步骤置于无人机内,当无人机在飞行的过程中遇到未被规划的禁飞区域时,无人机上的传感器采集到无人机的当前位置,按照本发明实施例的方法,在有限的时间内寻找到从当前位置到终点位置的最优航路,以便在规定的时间内,完成特定的任务。

实施例3

本发明实施例公开了一种基于禁飞区约束的航路规划装置,该装置集成在无人机上,用于无人机对起点位置到终点位置间的航路进行规划,请参见图7,该装置可以包括:

获取单元701,用于将所述无人机从起点位置到终点位置之间的禁飞区域中的交叉区域和密集小区域进行分片,得到不同的分片禁飞区域。

第一确定单元702,用于将每个所述分片禁飞区域的外切圆包含的区域确定为圆形禁飞区域。

计算单元703,用于在所述圆形禁飞区域间采用圆的内外公切线的方法,求解所述起点位置到所述终点位置间的各直线可行路径和可行航路点,所述可行航路点为所述直线可行路径与所述圆形禁飞区域的交点。

第二确定单元704,用于根据所述直线可行路径确定从所述起点位置到所述终点位置间的所有可行航线。

第三确定单元705,用于依据所述所有可行航线与所述可行航路点规划所述起点位置到所述终点位置之间的最优航路。

具体的,在本发明实施例中,所述第三确定单元可以包括:第一确定子单元与第二确定子单元。其中,

第一确定子单元,用于从所述所有可行航线中选择路径最短的航线为最优航线。

第二确定子单元,用于根据所述可行航路点的属性为入切点还是出切点,确定所述最优航线中相邻两条所述直线可行路径中相邻的两个所述可行航路点间的飞行模式,得到所述起点位置到所述终点位置之间的最优航路。

具体的,在本发明实施例中,所述第二确定子单元具体用于:

在所述最优航线中相邻两条直线可行路径中相邻的两个可行航路点是由出切点到入切点的情况下,则确定采用直线飞行模式;或者,在所述最优航线中相邻两条直线可行路径中相邻的两个可行航路点是由入切点到出切点,则采用弧线飞行模式,所述出切点为根据可行航线的方向离开圆形禁飞区域的直线可行路径与圆形禁飞区域的切点,所述入切点为根据可行航线的方向飞入圆形禁飞区域的直线可行路径与圆形禁飞区域的切点。

具体的,在本发明实施例中,所述计算单元可以包括:获取子单元、执行子单元和触发子单元。其中,

获取子单元,用于获取所述起点位置作为当前位置。

执行子单元,用于针对所述当前位置,确定所述当前位置与所述终点位置之间的当前连接线;

判断所述当前连接线是否经过所述圆形禁飞区域;

如果所述当前连接线经过所述圆形禁飞区域,则确定所述当前连接线上距离所述当前位置最近的圆形禁飞区域,并确定所述当前位置所在圆形禁飞区域与所述距离最近的圆形禁飞区域间,经过所述当前位置侧的当前公切线;

判断所述当前公切线是否经过所述圆形禁飞区域;

若否,判断与所述当前公切线相邻的直线可行路径是否与所述当前公切线确定的路径相交;如果否,则确定所述当前公切线为当前直线可行路径。

触发子单元,用于以所述当前直线可行路径的终点为当前位置,寻找从当前位置开始的直线可行路径,直至所述起点位置到所述终点位置之间的所有直线可行路径确定完毕。

在本发明装置实施例中,执行子单元,还可以用于:

如果所述当前连接线不经过所述圆形禁飞区域,判断所述当前位置是否为所述终点位置,若是所述终点位置,则确定所述当前连接线为所述当前直线可行路径;

若不是所述终点位置,则计算所述终点位置到所述当前位置所在圆形禁飞区域的所述当前位置侧的当前公切线;

判断所述当前公切线是否经过所述圆形禁飞区域;

若经过,将所述当前公切线作为当前连接线,执行所述当前连接线经过所述圆形禁飞区域的步骤;

若不经过,则确定所述当前连接线为当前直线可行路径。

判断与所述当前公切线相邻的直线可行路径是否与所述当前公切线确定的路径相交,还可以包括:

如果相交,则将与所述当前公切线相邻的直线可行路径的起点所在的圆形禁飞区域和所述当前公切线确定的路径的终点所在的圆形禁飞区域间的在所述当前公切线侧的外公切线,作为当前连接线,执行判断所述当前连接线是否经过所述圆形禁飞区域的步骤。

在本发明装置实施例中,无人机首先通过获取单元,获得从起点位置到终点位置之间的分片禁飞区域;然后,通过第一确定单元,确定各个分片禁飞区域的外切圆作为圆形禁飞区域,以便后续采用计算单元,采用圆的内外公切线的方法求解从起点位置到终点位置间的所有直线可行路径与可行航路点;最后,通过第二确定单元与第三确定单元,确定起点位置到终点位置间的所有可行航线,将所有可行航线中路径最短的一条航线确定为最优航线,依据此最优航线与此最优航线中的可行航路点属性,确定无人机从起点位置到终点位置间的最优航路。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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