一种基于种子搜索的建筑空间无人机航线规划方法技术

技术编号:24493904 阅读:23 留言:0更新日期:2020-06-13 02:16
本发明专利技术公开了一种基于种子搜索的建筑空间无人机航线规划方法,针对复杂城市建筑空间中无人机飞行航线快速规划问题。该方法首先在任务空间建筑间隙中均匀播撒若干种子,然后基于起点创建初始航线,并将种子复制到航线的种子列表中,将航线加入规划中航线列表;遍历规划中航线列表,判断每条航线最后一个航路点是否与终点可视,如可视则本航线完成,如不可视,取本航线种子列表中与最后一个航路点通视且距离较近的n个种子,构造出n条新航线加入规划中航线列表,再逐条判断航线是否完成,如此反复,直到没有新航线产生,最后从一系列完成航线中计算长度最短的航线作为最终规划结果。具有逻辑清晰、适应性强、代码量小、执行效率高、易于扩展特点。

A route planning method of UAV in construction space based on seed search

【技术实现步骤摘要】
一种基于种子搜索的建筑空间无人机航线规划方法
本专利技术提出一种基于种子搜索的建筑空间无人机航线规划方法,适用于在复杂的城市建筑空间中,对无人机飞行航线进行快速自动规划的问题。
技术介绍
随着无人机和人工智能技术的发展,无人机在各领域得到广泛的应用,飞行航线规划是无人机任务执行的基础,尤其是在复杂的城市建筑空间,自动、高效的无人机航线规划更是安全、高效完成任务的重要保证。常用的无人机航路规划方法主要包括以下几类:①智能化方法。包括粒子群优化算法、遗传算法、蚁群算法、禁忌搜索及启发式搜索等。②几何方法。如Voronoi图表等结合一些图论搜索方法如Dijkstra法快速寻找最优路径。③人工势场法等。其中,遗传算法收敛速度过慢,且容易陷入局部最优,可以和模拟退火算法结合使用,但仍不能真正解决上述缺点;启发式搜索A*算法是用于路径搜索和规划的经典方法,但它在搜索过程中暴露的不足也很明显;人工势场法一般结合Voronoi图或遗传算法进行优化,存在的问题是算法收敛时间太长,一般用做完成航路规划的后期处理。以上方法的基本思路是通过降维减少搜索空间,提高搜索效率,其实质仍然是二维航路规划,但是这么做很难同时考虑地形跟随、地形回避,尤其对城市建筑空间中的航路规划。
技术实现思路
本专利技术提出了一种针对复杂多变的城市建筑环境,进行无人机航线规划的算法。本专利技术具有逻辑清晰可见、计算效率高、易于实现与调试、易于扩展、兼容性强等特点。本专利技术所要解决的技术问题是由以下技术方案实现的:一种基于种子搜索的建筑空间无人机航线规划方法,包括以下步骤:(1)构造规划模型,包括任务环境空间模型:表达无人机任务执行的空间范围,定义为一个立方体;城市建筑模型:表达建筑物位置和外观,所有城市建筑的模型用一系列立方体包围盒表达,复杂建筑拆分为多个拼接在一起的简单立方体;种子模型:均匀分布于环境空间中的三维坐标点,所有种子均处于空闲区域,不与建筑模型交叉重叠;航线模型:开始于起点,经过若干种子,终止于终点的一条空间折线,航线包括种子集合和航路点集合,在航路搜索中,将符合条件的种子从种子集合中取出,放到航路点集合,直至打通整个航路;(2)对象声明,包括建筑模型列表:用于存储环境中所有的城市建筑模型;种子列表:用于存储所有的种子;规划中航线列表:用于存储搜索过程中创建的临时航线,临时航线尚未完成从起点到终点的连接;完成航线列表:存储已经完成的完整航线,完整航线已经完成了从起点到终点的连接;(3)获取基本信息:包括获取任务环境空间范围信息、所有城市建筑模型信息、无人机任务起点、无人机任务终点和无人机尺寸约束;(4)根据已知任务环境空间范围和城市建筑模型坐标数据,向环境中播撒种子,种子均匀填充在任务环境空间范围的城市建筑模型间隙中,且种子之间的间隔为无人机立方体包围盒最大边长的2倍;(5)基于路线起点创建初始航线,初始航线只包含无人机任务起点一个航路点,将所有种子复制到该航路中的种子列表,并将初始航线加入规划中航线列表;(6)遍历规划中航线列表,判断每条航线最后一个航路点是否与无人机任务终点可视,如果可视,则该航线为完成航线,将无人机任务终点补充到该航线中,并将该航线从规划中航线列表中取出,加入到完成航线列表,规划中航线列表遍历完后转入步骤(8);如果该航线最后一个航路点与无人机任务终点不通视,则转入步骤(7);(7)对剩余种子进行判断,若剩余种子数为零或剩余种子均与航线最后一个航路点不通视,则不能构造新航路,航路搜索过程结束,转入步骤(8);否则计算本航线所有剩余种子与最后一个航路点的距离,取与最后一个航路点通视且距离最近的n个种子,构造出包括原航线在内的n条航线,将相应种子分别加到航线的航路点中,作为最后一个航路点,并将相应的种子从航线的种子列表中移除,返回步骤(6);n为设定值;(8)如果完成航线列表中航线数量为0,则不存在从无人机任务起点到终点的航线,航路规划结束;如果完成航线列表中航线数量不为0,则逐条计算每条航线的距离,取距离最短的航线作为本次规划的最终航线。其中,步骤(4)具体包括以下步骤:(401)根据环境空间SPACE(Xmin,Ymin,Zmin,Xmax,Ymax,Zmax)和种子间隔step=2×UAVSIZE,逐点计算种子位置,形成种子位置集合POS={(x,y,z)|P(x,y,z)},其中P(x,y,z)定义如下,为向下取整操作:(402)将计算出的每个种子位置与建筑模型列表ListBuilding中的每个建筑模型进行空间关系计算,如果种子落在任意一个建筑模型中,则丢弃该种子,否则将该种子加入种子列表ListSeed中,则种子列表ListSeed中的任意一个种子Seed(x,y,z)针对建筑模型列表ListBuilding的任意一个建筑模型Building(Xmin,Ymin,Zmin,Xmax,Ymax,Zmax),满足如下条件:Seed.x≤Building.Xmin|Seed.x≥Building.Xmax|Seed.y≤Building.Ymin|Seed.y≥Building.Ymax|Seed.z≤Building.Zmin|Seed.z≥Building.Zmax其中,UAVSIZE为无人机立方体包围盒最大边长,Xmin为最小横坐标,Ymin为最小纵坐标,Zmin为最小高度坐标,Xmax为最大横坐标,Ymax为最大纵坐标,Zmax为最大高度坐标。其中,步骤(6)中判断两点可视的方法为:对两点pt1和pt2的连线密集采样,如果有一个采样点与建筑模型交叉,则判断两点不通视,处理逻辑如下:计算两点连线长度:对两点pt1和pt2的连线密集采样,对任意采样点Pt(x,y,z),需满足:针对任一采样点Pt和任一建筑模型Building,如果满足下面条件,则判断该采样点与建筑模型交叉:Building.Xmin≤Pt.x≤Building.Xmax&Building.Ymin≤Pt.y≤Building.Ymax&Building.Zmin≤Pt.z≤Building.ZmaxBuilding(Xmin,Ymin,Zmin,Xmax,Ymax,Zmax)为任意一个建筑模型的坐标。其中,步骤(7)中计算本航线所有剩余种子与最后一个航路点的距离,取与最后一个航路点通视且距离最近的n个种子,构造出包括原航线在内的n条航线,将相应种子分别加到航线的航路点中,作为最后一个航路点,并将相应的种子从航线的种子列表中移除,具体包括以下步骤:(701)在基于原有航线line构造新航线之前,先计算该航线中剩余种子与本航线最后一个航路点的距离;(702)将所有种子与最后一个航路点的距离按从小到大排序,取出距离最后一个航路点最近的n个种子,构造出包括原航线在内的n条航线,将n个种子分别加到n条航线的航路点中,并将相应的本文档来自技高网...

【技术保护点】
1.一种基于种子搜索的建筑空间无人机航线规划方法,其特征在于,包括以下步骤:/n(1)构造规划模型,包括任务环境空间模型:表达无人机任务执行的空间范围,定义为一个立方体;城市建筑模型:表达建筑物位置和外观,所有城市建筑的模型用一系列立方体包围盒表达,复杂建筑拆分为多个拼接在一起的简单立方体;种子模型:均匀分布于环境空间中的三维坐标点,所有种子均处于空闲区域,不与建筑模型交叉重叠;航线模型:开始于起点,经过若干种子,终止于终点的一条空间折线,航线包括种子集合和航路点集合,在航路搜索中,将符合条件的种子从种子集合中取出,放到航路点集合,直至打通整个航路;/n(2)对象声明,包括建筑模型列表:用于存储环境中所有的城市建筑模型;种子列表:用于存储所有的种子;规划中航线列表:用于存储搜索过程中创建的临时航线,临时航线尚未完成从起点到终点的连接;完成航线列表:存储已经完成的完整航线,完整航线已经完成了从起点到终点的连接;/n(3)获取基本信息:包括获取任务环境空间范围信息、所有城市建筑模型信息、无人机任务起点、无人机任务终点和无人机尺寸约束;/n(4)根据已知任务环境空间范围和城市建筑模型坐标数据,向环境中播撒种子,种子均匀填充在任务环境空间范围的城市建筑模型间隙中,且种子之间的间隔为无人机立方体包围盒最大边长的2倍;/n(5)基于路线起点创建初始航线,初始航线只包含无人机任务起点一个航路点,将所有种子复制到该航路中的种子列表,并将初始航线加入规划中航线列表;/n(6)遍历规划中航线列表,判断每条航线最后一个航路点是否与无人机任务终点可视,如果可视,则该航线为完成航线,将无人机任务终点补充到该航线中,并将该航线从规划中航线列表中取出,加入到完成航线列表,规划中航线列表遍历完后转入步骤(8);如果该航线最后一个航路点与无人机任务终点不通视,则转入步骤(7);/n(7)对剩余种子进行判断,若剩余种子数为零或剩余种子均与航线最后一个航路点不通视,则不能构造新航路,航路搜索过程结束,转入步骤(8);否则计算本航线所有剩余种子与最后一个航路点的距离,取与最后一个航路点通视且距离最近的n个种子,构造出包括原航线在内的n条航线,将相应种子分别加到航线的航路点中,作为最后一个航路点,并将相应的种子从航线的种子列表中移除,返回步骤(6);n为设定值;/n(8)如果完成航线列表中航线数量为0,则不存在从无人机任务起点到终点的航线,航路规划结束;如果完成航线列表中航线数量不为0,则逐条计算每条航线的距离,取距离最短的航线作为本次规划的最终航线。/n...

【技术特征摘要】
1.一种基于种子搜索的建筑空间无人机航线规划方法,其特征在于,包括以下步骤:
(1)构造规划模型,包括任务环境空间模型:表达无人机任务执行的空间范围,定义为一个立方体;城市建筑模型:表达建筑物位置和外观,所有城市建筑的模型用一系列立方体包围盒表达,复杂建筑拆分为多个拼接在一起的简单立方体;种子模型:均匀分布于环境空间中的三维坐标点,所有种子均处于空闲区域,不与建筑模型交叉重叠;航线模型:开始于起点,经过若干种子,终止于终点的一条空间折线,航线包括种子集合和航路点集合,在航路搜索中,将符合条件的种子从种子集合中取出,放到航路点集合,直至打通整个航路;
(2)对象声明,包括建筑模型列表:用于存储环境中所有的城市建筑模型;种子列表:用于存储所有的种子;规划中航线列表:用于存储搜索过程中创建的临时航线,临时航线尚未完成从起点到终点的连接;完成航线列表:存储已经完成的完整航线,完整航线已经完成了从起点到终点的连接;
(3)获取基本信息:包括获取任务环境空间范围信息、所有城市建筑模型信息、无人机任务起点、无人机任务终点和无人机尺寸约束;
(4)根据已知任务环境空间范围和城市建筑模型坐标数据,向环境中播撒种子,种子均匀填充在任务环境空间范围的城市建筑模型间隙中,且种子之间的间隔为无人机立方体包围盒最大边长的2倍;
(5)基于路线起点创建初始航线,初始航线只包含无人机任务起点一个航路点,将所有种子复制到该航路中的种子列表,并将初始航线加入规划中航线列表;
(6)遍历规划中航线列表,判断每条航线最后一个航路点是否与无人机任务终点可视,如果可视,则该航线为完成航线,将无人机任务终点补充到该航线中,并将该航线从规划中航线列表中取出,加入到完成航线列表,规划中航线列表遍历完后转入步骤(8);如果该航线最后一个航路点与无人机任务终点不通视,则转入步骤(7);
(7)对剩余种子进行判断,若剩余种子数为零或剩余种子均与航线最后一个航路点不通视,则不能构造新航路,航路搜索过程结束,转入步骤(8);否则计算本航线所有剩余种子与最后一个航路点的距离,取与最后一个航路点通视且距离最近的n个种子,构造出包括原航线在内的n条航线,将相应种子分别加到航线的航路点中,作为最后一个航路点,并将相应的种子从航线的种子列表中移除,返回步骤(6);n为设定值;
(8)如果完成航线列表中航线数量为0,则不存在从无人机任务起点到终点的航线,航路规划结束;如果完成航线列表中航线数量不为0,则逐条计算每条航线的距离,取距离最短的航线作为本次规划的最终航线。


2.根据权利要求1所述的一种基于种子搜索的建筑空间无人机航线规划算法,其特征在于,步骤(4)具体包括以下步骤:
(401)根据环境空间SPACE(Xmin,Ymin,Zmin,Xmax,Ymax,Zmax)和种子间隔step=2×UAVSIZE,逐点计算种子位置,形成种子位置集合POS={(x,y,z)|P(x,y,z)},其中P(x,y,z)定义如下,为向下取整操作:



(402)将计算出的每个种子位置与建筑模型列表ListBuilding中的每个建筑模型进行空间关系计...

【专利技术属性】
技术研发人员:彭会湘陈韬亦柴兴华关俊志耿虎军张军良高峰王彬
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:河北;13

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

1