首页 / 人机三维航迹规划方法

人机三维航迹规划方法实质审查 发明

技术领域

[0001] 本发明涉及数据处理领域,具体而言,涉及一种人机三维航迹规划方法。

相关背景技术

[0002] 无人机三维航迹规划问题,是旅行商问题(Traveling Salesman Problem,TSP)的一种拓展,指的是在限定的三维空间内,给定无人机起点、若干个任务点,无人机从起点出发,访问每个任务点后再回到起点。通过合理的航迹规划方法,设计出一条安全、高效的路径,使得无人机能够在多点之间进行航行,并能在一定的约束下,达到诸如总距离最短、成本最小等目的。
[0003] 无人机三维航迹规划问题自上世纪提出以来,一直是网络优化问题中最基本的问题之一,由于其应用的广泛性和经济上的重大价值,一直受到广泛关注。它是旅行商问题的一个变种,也是一种多项式复杂程度的非确定性问题,即NP完全问题,问题求解难度随数据规模呈指数级上升,难以在有限的时间内获取最优解,因此,目前无人机三维航迹规划存在规划效率低的问题。
[0004] 针对上述无人机三维航迹规划效率低的问题,目前尚未提出有效的解决方案。

具体实施方式

[0045] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0046] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0047] 首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
[0048] 旅行商问题(Traveling Salesman Problem,TSP):是一个经典的组合优化问题。可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton回路。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,它是一个NP完全问题。
由于其在交通运输、电路板线路设计以及物流配送等领域内有着广泛的应用,国内外学者对其进行了大量的研究。
[0049] 快速扩展随机树(Rapidly‑exploring Random Tree,RRT):是一种经典的随机采样搜索算法,用于路径规划问题。该算法通过随机采样和快速扩展的方式构建一棵树,以找到起点到目标点的可行路径。RRT算法的主要步骤包括:1.随机采样一个点;2.扩展树,生成新节点并连接到最近节点;3.重复前两步直到找到目标点或达到最大迭代次数。RRT算法简单高效,并且能在复杂环境下进行路径规划,但可能会生成一些不够平滑的轨迹。
[0050] 遗传算法(Genetic Algorithm,GA):一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术之一。
[0051] 灰狼优化算法(Grey Wolf Optimizer,GWO):一种由Mirjalili S于2014年提出的经典进化算法,用于求解实数优化问题。
[0052] 数字高程模型(Digital Elevation Model,DEM):一种通过有限的地形高程数据实现对地面地形的数字化模拟(即地形表面形态的数字化表达),它是用一组有序数值阵列形式表示地面高程的一种实体地面模型,是数字地形模型的一个分支,其它各种地形特征值均可由此派生。
[0053] 根据本发明实施例,提供了一种路径规划方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0054] 图1是根据本发明实施例的一种路径规划方法的流程图,如图1所示,该方法包括如下步骤:
[0055] 步骤S102,获取待规划节点集合,其中,待规划节点集合包括:多个路径节点,多个路径节点包括:起点和至少一个任务点;
[0056] 步骤S104,根据待规划节点集合,确定预设路径种群,其中,预设优化算法用于在每次优化过程中,从预设路径种群确定总路径距离符合预设条件的多个精英路径,并将预设路径种群中的每个预设路径与多个精英路径依次进行融合,目标路径种群包括:经过预设优化次数后每个预设路径对应的优化路径;
[0057] 步骤S106,使用预设优化算法将预设路径种群按照预设优化次数进行优化,得到目标路径种群,其中,预设优化算法用于在每次优化过程中,从预设路径种群确定总路径距离符合预设条件的多个精英路径,并将预设路径种群中的每个预设路径与多个精英路径依次进行融合,目标路径种群包括:经过预设优化次数后每个预设路径对应的优化路径;
[0058] 步骤S108,在目标路径种群中,确定总路径距离最短的优化路径为目标路径。
[0059] 在本发明实施例中,获取待规划节点集合,其中,待规划节点集合包括:多个路径节点,多个路径节点包括:起点和至少一个任务点;根据待规划节点集合,确定预设路径种群,其中,预设路径种群包括:多个预设节点序列分别对应的预设路径,每个预设节点序列的两端均为起点,且每个预设节点序列包括待规划节点集合中的全部任务点,每个预设路径包括:预设节点序列中每对相邻的路径节点之间的目标节点路径;使用预设优化算法将预设路径种群按照预设优化次数进行优化,得到目标路径种群,其中,预设优化算法用于在每次优化过程中,从预设路径种群确定总路径距离符合预设条件的多个精英路径,并将预设路径种群中的每个预设路径与多个精英路径依次进行融合,目标路径种群包括:经过预设优化次数后每个预设路径对应的优化路径;在目标路径种群中,确定总路径距离最短的优化路径为目标路径,从而可以利用灰狼优化算法在预设路径种群中选出精英路径,并基于该精英路径对预设路径种群中的预设路径进行优化,可以提高路径优化效率,达到了对规划路径进行快速优化的目的,实现了提高路径规划效率的技术效果,进而解决了无人机三维航迹规划效果差技术问题。
[0060] 作为一种可选示例,上述路径规划方法可以用于无人机的路径规划,待规划节点集合中,起点为无人机的起飞位置,任务点为无人机需要降落/停留的位置,无人机从起点起飞后,需要经过待规划节点集合中的每个任务点后,再返回起点。
[0061] 图2是根据本发明实施例的一种无人机飞行的示意图,如图2所示,无人机在飞行过程中需要在最小飞行高度限制Hmin和最大飞行高度限制Hmax之间飞行,使无人机的飞行高度不会低于障碍物的高程,确保无人机不会触碰障碍物。
[0062] 在上述步骤S104中,预设路径种群可以包括:多个预设节点序列,每个预设节点序列为待规划节点集合中全部路径节点的随机组合,其中,预设节点序列的首位和末位都为待规划节点集合中的起点,表示从起点出发途径多个任务点后再返回起点。
[0063] 在上述步骤S104中,预设节点序列为待规划节点集合中各路径节点的组合,在预设节点序列中相邻的路径节点之间的路径为目标节点路径,进而累加预设节点序列中相邻的路径节点的目标节点路径,可以得到预设节点序列对应的预设路径。
[0064] 在上述步骤S104中,预设路径种群可以包括:预设数量的预设路径,其中,预设路径种群中预设路径的数量越多,路径优化的效果越好,可以优化出的目标路径可以更接近总路径距离最短的最理想路径,但是预设路径的数量越多优化时间越长,优化效率不高,因此预先设置预设路径种群中预设路径对应的预设数量,可以在保证优化结果的情况,进一步提高优化效率。
[0065] 图3是根据本发明实施例的一种带负载约束的最短三维航迹规划的示意图,如图3所示,“★”点为无人机起点,“●”点为任务点,曲线为无人机三维航迹路线,球体为禁飞区域,波浪线区域为实际山体地形,即障碍物。在一个三维空间内,假设有N个点,编号为1到N。无人机需要查找一条经过每个点一次且返回起点的最短航迹。无人机在飞行过程中不能进入禁飞区域、不能触碰障碍物,且与障碍物保持一定安全距离。无人机存在一个最大飞行高度限制Hmax,在飞行的任何时刻均无法超越该高度。
[0066] 作为一种可选的实施例,无人机三维航迹规划问题,其本质是一个整数规划模型,为简化模型的复杂度,采用栅格法对限定的三维地图进行建模,地图的空间信息由n×m的H矩阵表示:
[0067]
[0068] 其中,矩阵内每个元素对应该位置的地形(障碍物)高度。
[0069] 可选地,定义变量Xij表示是否存在从点i到点j的路径,若路径存在Xij的值为1,否则Xij的值为0。Dij表示无人机从点i到点j的最短飞行距离。点Pt=(xt,yt,zt)表示无人机在t时刻的飞行位置,其中,zt表示无人机在t时刻的飞行高度,T为总飞行时长。
[0070] 可选地,确定无人机三维航迹的决策变量为:
[0071]
[0072] 可选地,确定无人机三维航迹目标函数为:
[0073] 表示无人机的总飞行距离。
[0074] 可选地,确定无人机三维航迹的约束条件包括:
[0075] 表示每个任务点都必须恰好离开一次;
[0076] 表示每个任务点都必须恰好进入一次;
[0077] zt≤Hmax t∈[0,T],表示无人机在飞行的任何时刻都不能超出飞行高度上限;
[0078] zt>H(xt,yt)t∈[0,T],表示无人机在飞行的任何位置都不能触碰障碍物。
[0079] 通过上述模型分析可知,无人机三维航迹规划问题由两部分组成,第一部分为任意两点间的航迹规划,第二部分为旅行商问题TSP。
[0080] 作为一种可选的示例,无人机三维航迹规划问题的求解方法,可以分为精确算法与启发式算法,其中精确算法有深度优先、广度优先、分支切割法、集合涵盖法等;启发式解法有A*算法、RRT算法、遗传算法、粒子群算法、蚁群算法、灰狼算法、水母算法、人工势场法等。精确算法在小规模的问题上是可行的,但只要数据规模一大,其运算时间就无法接受,难以在现实生产生活中应用。而启发式算法虽不能保证一定能搜索出最优解,往往其找到的次优解与全局最优解近似,但运算时间上大大缩减,从而得到广泛应用。群体智能算法是启发式算法的一种,是受自然(生物界)规律的启迪,根据其原理,模仿求解问题的算法,也称之为“软计算”。具有鲁棒性强、适应性广等优点,而被用于求解NP问题,可以用于求解最短线路规划问题。
[0081] 需要说明的是,灰狼优化算法为启发式算法中的佼佼者,该算法是基于自然界灰狼群体行为的进化搜索算法,模拟了灰狼个体之间的社会行为和群体协作,通过模仿灰狼的捕食行为来寻找最优解。
[0082] 在上述步骤S106中,预设优化算法可以是基于灰狼优化算法确定的,该预设优化算法可以将预设路径种群中的每个预设节点序列对应的预设路径作为一个灰狼个体。
[0083] 在上述步骤S106中,预设条件可以根据总路径距离设置,符合预设条件的多个精英路径可以是总路径距离最短的前三个预设路径,则总路径距离最短的三个精英路径可以作为预设路径种群中的精英灰狼个体Alpha灰狼、Beta灰狼和Delta灰狼。
[0084] 在上述步骤S106中,使用预设优化算法对预设路径种群进行优化的次数越多,得到的目标路径种群中越可能存在总路径距离最短的路径,但是随着优化次数的提升,每次优化对缩短路径距离的提升效果逐渐变差,因此设置合理的预设优化次数,可以进行优化效果和优化效率的平衡,可以在保证优化结果足够优秀的基础上,尽可能提高优化效率。
[0085] 作为一种可选的示例,灰狼优化算法包括如下步骤:
[0086] 步骤S11,初始化灰狼群体:设定初始的灰狼个体数量,并随机初始化每个个体的位置。
[0087] 步骤S12,计算适应度值:根据问题的目标函数,计算每个灰狼个体的适应度值。
[0088] 步骤S13,聚合灰狼群体:将灰狼个体按照适应度值进行排序,得到一个有序的灰狼群体。
[0089] 步骤S14,跟随精英灰狼Alpha、Beta和Delta:选择适应度值最好的精英灰狼个体作为Alpha灰狼,其次是Beta灰狼和Delta灰狼。
[0090] 步骤S15,搜索新位置:利用Alpha灰狼、Beta灰狼和Delta灰狼的位置信息,更新其它灰狼个体的新位置,并用于下一次迭代。
[0091] 步骤S16,终止条件判断:循环执行步骤S12到步骤S15,直到达到预设的终止条件。
[0092] 本申请上述实施例,灰狼优化算法通过模拟灰狼个体之间的社会行为,利用群体协作和个体竞争来实现全局最优解的搜索。相比其他优化算法,灰狼优化算法具有较好的收敛速度和全局搜索能力,在实际应用中取得了很好的效果。该算法在CEC2005测试集上表现良好,有效地避免陷入局部最优,但只适用于实数类优化问题,对组合优化问题的研究不多。
[0093] 作为一种可选的实施例,路径规划方法包括:规划途径各路径节点的顺序,以及确定各路径节点之间的移动路径,进而在以总路径最短为目标进行路径规划的情况下,可以先确定待规划节点集合中任意两个路径节点之间距离最短的目标节点路径,再基于相邻节点之间的目标节点路径,对预设路径种群中记录的多个预设节点序列进行优化,得到总路径距离最短的目标路径。
[0094] 在上述步骤S106中,在每次对预设路径种群进行优化后,可以检测本次优化后的预设路径种群中总路径距离最短的优化路径的总路径距离是否小于预设总距离阈值,进而在确定该优化路径的总路径距离小于预设总距离阈值的情况下,将该优化路径确定为目标路径,并结束优化;否则,将继续进行预设路径种群的优化,直到达到预设优化次数。
[0095] 作为一种可选的实施例,在获取待规划节点集合之后,该方法还包括:将待规划节点集合中的任意两个路径节点进行组合,得到路径节点集合,其中,路径节点集合包括:多个路径节点对,每个路径节点对包括:第一节点和第二节点;在第一节点和第二节点之间,规划路径距离最短的目标节点路径。
[0096] 本发明上述实施例,待规划节点集合包括多个路径节点,在获取待规划节点集合之后,可以将待规划节点集合中的任意两个路径节点进行组合,每个组合作为一个路径节点对,可以得到多个路径节点集合,进而根据路径节点集合,可以规划每个路径节点对之间路径距离最短的目标节点路径,实现了对路径节点之间路径的规划。
[0097] 作为一种可选的实施例,在第一节点和第二节点之间,规划路径距离最短的目标节点路径包括:使用快速扩展随机树将每对第一节点和第二节点按照预设规划次数进行路径规划,得到多个预设节点路径,其中,快速扩展随机树用于在每次路径规划过程中,使用预设随机树中的多个树节点记录作为根节点的第一节点、作为叶子节点的第二节点、和本次路径规划过程中随机选择的多个采样节点,并根据预设随机树确定预设节点路径;在多个预设节点路径中,确定路径距离最短的预设节点路径为目标节点路径。
[0098] 本发明上述实施例,快速扩展随机树通过随机采样和快速扩展的方式构建一棵树,以找到起点到目标点的可行路径,在规划第一节点和第二节点之间的目标节点路径的情况下,可以将第一节点作为快速扩展随机树的起点,也即根节点,将第二节点最为快速扩展随机树的目标点,也即叶子节点,在使用快速扩展随机树进行一次路径规划的情况下,可以在第一节点和第二节点之间随机规划多个采样节点,得到以第一节点作为根节点,以多个采样节点为枝干节点,以第二节点作为叶子节点的预设随机树,利用快速扩展随机树按照预设规划次数进行路径规划,可以得到符合预设规划次数的多个预设随机树,每个预设随机树即为一个预设节点路径,通过比较多个预设节点路径的路径距离,可以确定第一节点和第二节点之间路径距离最短的目标节点路径,实现对目标节点路径的确定。
[0099] 需要说明的是,快速扩展随机树是一种启发式算法,通过随机扩展树来搜索可行路径,但是,由于其随机性质,只能找到一条可行路径,无法保证找到的路径是全局最优路径,因此,利用重复算法,可以按照预设规划次数生成多个预设节点路径,并在生成的多个预设节点路径中选择距离最短的目标节点路径,可以使选择的目标节点路径可以更加接近全局最优路径。
[0100] 作为一种可选的实施例,该方法还包括:在每次路径规划过程中,从预设三维空间中随机选取未处于预设障碍区域的采样节点,其中,预设三维空间至少包括:第一节点、第二节点和预设障碍区域;在预设随机树中记录的至少一个树节点中,确定距离采样节点最近的树节点为目标节点,其中,树节点至少包括:第一节点;检测采样节点和目标节点之间的树节点路径是否经过预设障碍区域;在树节点路径未经过预设障碍区域的情况下,将采样节点记录为与目标节点相连的树节点。
[0101] 本发明上述实施例,每次路径规划可以构建对应的预设随机树,该预设随机树的根节点为第一节点,因此该预设随机树的树节点至少包括第一节点,进而在每次路径规划的过程中,可以在包括第一节点和第二节点的预设三维空间中,随机选取未处于预设障碍区域的采样节点,然后在本次路径规划对应的预设随机树中,检测与该采样节点之间距离最近的树节点作为目标节点,再将连接采样节点和目标节点的直线作为树节点路径,并检测该树节点路径是否经过预设障碍区域,若该树节点路径未经过预设障碍区域,则将该采样节点作为树节点,记录在预设随机树中,并在预设随机树中将该采样节点与目标节点相连,进而逐步确定多个树节点,实现对预设随机树的建立。
[0102] 作为一种可选的示例,若树节点路径经过预设障碍区域,则放弃建立该树节点路径的采样节点。
[0103] 可选地,预设障碍区域包括:不能进入的禁飞区域,和不能触碰的障碍物。
[0104] 作为一种可选的示例,预设随机树的树节点包括:作为根节点的第一节点,和每次记录在预设随机树中的采样节点,因此,每次随机选择采样节点后,可以将第一节点或预设随机树中记录的采样节点作为该采样节点的目标节点。
[0105] 作为一种可选的实施例,该方法还包括:在树节点路径未经过预设障碍区域的情况下,检测采样节点与第二节点之间的路径距离是否符合预设距离阈值;在采样节点与第二节点之间的路径距离不符合预设距离阈值的情况下,再次在预设三维空间中随机选取未处于预设障碍区域的采样节点,直到预设随机树中记录的采样节点的节点数量达到第一数量阈值;在采样节点与第二节点之间的路径距离符合预设距离阈值的情况下,将采样节点记录为与目标节点相连的树节点,并将第二节点记录为与采样节点相连的树节点。
[0106] 本发明上述实施例,在树节点路径未经过预设障碍区域的情况下,可以将构建该树节点路径的采样节点作为预设随机树中新的树节点记录,并检测本次路径规划是否满足结束条件,进而在满足结束条件的情况下,确定完成本次路径规划;否则在记录该采样节点后,还需要再次选择新的采样节点。
[0107] 作为一种可选的示例,结束条件可以根据采样节点与第二节点之间的路径距离确定,通过检测构建该树节点路径的采样节点与第二节点之间的路径距离,在该采样节点与第二节点之间的路径距离符合预设距离阈值的情况下,说明该采样节点满足结束条件,进而再将该采样节点作为新的树节点记录在预设随机树之后,还可以将第二节点作为该预设随机树的叶子节点,并在预设随机树中将第二节点与该采样节点相连,结束本次路径规划。
[0108] 可选地,在该采样节点与第二节点之间的路径距离符合预设距离阈值的情况下,还可以检测连接该采样节点与第二节点之间的直线是否经过预设障碍区域,若连接该采样节点与第二节点之间的直线未经过预设障碍区域,则满足结束条件,进而在将采样节点作为树节点记录在预设随机树之后,将第二节点记录在预设随机树中,并将连接该采样节点与第二节点之间的直线确定为该采样节点与第二节点的路径。
[0109] 可选地,若连接该采样节点与第二节点之间的直线未经过预设障碍区域,则不满足结束条件,进而在将采样节点作为树节点记录在预设随机树之后,还需要重新选择采样节点,直到连接重新选择的采样节点与第二节点之间的直线未经过预设障碍区域。
[0110] 作为一种可选的示例,结束条件还可以根据采样节点的节点数量确定,在该采样节点与第二节点之间的路径距离不符合预设距离阈值的情况下,说明还需要再次进行采样节点的选择,则在记录该采样节点记录之后,还需要重新选择采样节点,直到预设随机树中记录的采样节点的节点数量达到第一数量阈值,结束本次路径规划。
[0111] 作为一种可选的实施例,在多个预设节点路径中,确定路径距离最短的预设节点路径为目标节点路径包括:在多个预设节点路径中,确定路径距离最短的预设节点路径为第一节点路径;剔除第一节点路径中冗余的采样节点,得到第二节点路径,其中,第二节点路径包括:第二节点路径包括:第一节点、第二节点和必要节点,必要节点为未被剔除的采样节点;确定第二节点路径中多个待拟合节点的拟合曲线,得到目标节点路径,其中,待拟合节点包括:第一节点、第二节点和必要节点。
[0112] 本发明上述实施例,每次路径规划可以确定一个预设随机树,根据每个预设随机树中的多个树节点可以确定一个预设节点路径,在多个预设节点路径中可以选出路径距离最短的预设节点路径作为第一节点路径,进而基于第一节点路径进行优化,可以得到路径距离最短的目标节点路径,实现对目标节点路径的确定。
[0113] 作为一种可选的示例,第一节点路径用于连接第一节点和第二节点,该第一节点路径途径第一节点和第二节点之间的多个采样节点,在对第一节点路径进行优化的情况下,可以剔除第一节点路径中冗余的采样节点,得到包括第一节点、必要节点和第二节点的第二节点路径,进而通过对第二节点路径中的第一节点、必要节点和第二节点使用曲线进行拟合,可以基于第二节点路径确定目标节点路径。
[0114] 本发明上述实施例,通过剔除冗余的采样节点,以及使用曲线进行路径拟合,可以实现对路径的平滑处理,经过平滑处理的路径可以有助于减少转向,降低航行难度,也可以使规划的路径更加接近实际可行的路径。
[0115] 作为一种可选的实施例,剔除第一节点路径中冗余的采样节点,得第二节点路径包括:将第一节点放入预设路径栈;在预设路径栈的栈顶节点发生改变的情况下,按照从叶子节点到根节点的方向遍历待优化随机树中的每个树节点,直到确定必要节点,其中,待优化随机树为确定第一节点路径的预设随机树,待优化随机树中的树节点至少包括:采样节点和第二节点,必要节点与栈顶节点之间的栈节点路径不经过预设障碍区;将必要节点放入预设路径栈,直到将第二节点放入预设路径栈;根据预设路径栈中记录的第一节点、必要节点和第二节点,确定第二节点路径。
[0116] 本发明上述实施例,预设随机树是按照从根节点向叶子节点的方向建立的,同一预设随机树可以具有多个分叉路径,但是只有一个分叉路径能够连根节点和叶子节点,因此,在确定预设随机树后,可以按照从叶子节点到根节点的方向遍历,可以得到该预设随机树对应的预设节点路径,实现对预设节点路径的确定。
[0117] 本发明上述实施例,在根据预设随机树确定预设节点路径的情况下,还可以同步剔出冗余的采样节点,进而通过构建预设路径栈,并按照从叶子节点到根节点的方向遍历待优化随机树中的每个树节点,可以在每轮遍历过程中确定一个必要节点,然后将该必要节点放入预设路径栈,实现对预设路径栈的更新,并在预设路径栈更新后再次进行遍历,进而通过重复进行多轮遍历,直到将第二节点放入预设路径栈为止,从而可以从第一节点路径中剔除冗余的采样节点。
[0118] 作为一种可选的实施例,在预设路径栈的栈顶节点发生改变的情况下,按照从叶子节点到根节点的方向遍历待优化随机树中的每个树节点,直到确定必要节点包括:在预设路径栈的栈顶节点发生改变的情况下,按照从叶子节点到根节点的方向选取树节点作为待检测节点;检测待检测节点与预设路径栈中的栈顶节点之间的栈节点路径是否经过预设障碍区;在栈节点路径未经过预设障碍区的情况下,将确定栈节点路径的待检测节点确定为必要节点;在栈节点路径经过预设障碍区的情况下,按照从叶子节点到根节点的方向选取下一树节点作为待检测节点,直到确定必要节点。
[0119] 本发明上述实施例,在每轮遍历过程中,可以按照从叶子节点到根节点的方向遍历待优化随机树中的每个树节点,并逐个检测每个树节点与预设路径栈中栈顶节点之间的栈节点路径是否经过预设障碍区,然后在首次发现栈节点路径不经过预设障碍区的情况下,将构建该栈节点路径的树节点确定为必要节点,并将该必要节点放入预设路径栈,实现对预设路径栈的更新,使预设路径栈的栈顶节点改变为该必要节点,然后按照从叶子节点到根节点的方向重新遍历待优化随机树中的每个树节点,直到待优化随机树中作为叶子节点的第二节点也放入该预设路径栈,完成预设路径栈的构建,进而各根据预设路径栈中记录的第一节点、必要节点和第二节点,可以确定第二节点路径,实现对冗余的采样节点的剔除。
[0120] 可选地,在所述栈节点路径经过所述预设障碍区的情况下,说明该树节点不是必要节点,则按照从叶子节点到根节点的方向选取下一所述树节点再次构建栈节点路径进行检测,直到确定所述必要节点。
[0121] 作为一种可选的实施例,确定第二节点路径中多个待拟合节点的拟合曲线,得到目标节点路径包括:检测第二节点路径中待拟合节点的拟合节点数量是否达到第二数量阈值;在拟合节点数量达到第二数量阈值的情况下,使用曲线依次拟合第二节点路径中相邻的待拟合节点,得到目标节点路径。
[0122] 本发明上述实施例,拟合出的曲线受第二节点路径中待拟合节点的数量影响,待拟合节点的数量越多,拟合出的曲线与原始路径的差距越小;待拟合节点的数量越少,拟合出的曲线与原始路径的差距越大,而差距越大合法路径变成不合法的概率也就越大,因此,在使用曲线进行拟合的情况下,仅希望转角处的路线平滑,且希望拟合前后路径的整体差距不大,所以在对第二节点路径中多个待拟合节点进行拟合前,需要检测待拟合节点的拟合节点数量是否达到第二数量阈值,进而在待拟合节点的拟合节点数量达到第二数量阈值的情况下,可以使用曲线对第二数量阈值的待拟合节点依次进行拟合,可以得到更加接近实际可行的目标节点路径。
[0123] 作为一种可选的实施例,该方法还包括:在拟合节点数量未达到第二数量阈值的情况下,在第二节点路径中插入扩充节点;将扩充节点确定为待拟合节点,直到拟合节点数量达到第二数量阈值。
[0124] 本发明上述实施例,在待拟合节点的拟合节点数量未达到第二数量阈值的情况下,在第二节点路径中插入扩充节点,直到待拟合节点的拟合节点数量达到第二数量阈值,实现对待拟合节点的扩充。
[0125] 作为一种可选的实施例,在拟合节点数量未达到第二数量阈值的情况下,在第二节点路径中插入扩充节点包括:在拟合节点数量未达到第二数量阈值的情况下,确定第二节点路径中相邻距离最远的待拟合节点对,其中,待拟合节点对包括:两个待拟合节点;在待拟合节点对中两个待拟合节点的中间位置插入扩充节点。
[0126] 本发明上述实施例,在扩充第二节点路径中的待拟合节点的情况下,可以在第二节点路径中确定相邻距离最远的待拟合节点对,然后在相邻距离最远的待拟合节点对的中间位置插入扩充节点,实现对待拟合节点的扩充。
[0127] 需要说明的是,第二节点路径中的待拟合节点为必要节点,或第一节点,又或所述第二节点,根据必要节点的确定方式可知,相邻的待拟合节点之间的直线路径不经过预设障碍区域,因此,基于相邻的待拟合节点插入的扩充节点也不处于预设障碍区域。
[0128] 作为一种可选的实施例,根据待规划节点集合,确定预设路径种群包括:使用基于贪婪策略的种群初始化,将待规划节点集合按照预设序列化次数进行序列化处理,得到多个预设节点序列,其中,基于贪婪策略的种群初始化用于在每次序列化处理的过程中,确定本次进行序列化处理的预设处理策略,并按照预设处理策略对待规划节点集合进行序列化处理,得到预设节点序列,预设处理策略至少包括:基于贪婪策略的个体初始化和随机置乱;连接每个预设节点序列中多对相邻路径节点之间的目标节点路径,生成预设节点序列对应的预设路径;将多个预设节点序列和每个预设节点序列对应的预设路径,放入预设路径种群。
[0129] 本发明上述实施例,根据待规划节点集合,确定预设路径种群的过程,相当于对待规划节点集合中的路径节点进行多次序列化处理,得到每次序列化处理出的预设节点序列,预设节点序列中排列的多个路径节点,可以分解为多个相邻的路径节点,进而按照预设节点序列中记录的各路径节点的顺序,依次连接相邻的路径节点之间的目标节点路径,可以得到每个预设节点序列对应的预设路径,进而基于多个预设节点序列可以确定多个预设路径,实现对预设路径种群的确定。
[0130] 需要说明的是,对待规划节点集合中的路径节点进行序列化处理的方式可以有多种,在确定预设路径种群的情况下,可以使用多种序列化处理的处理方式生成预设节点序列,每次生成预设节点序列的情况下,可以利用贪婪策略选择生成预设节点序列的序列化处理方式。
[0131] 作为一种可选的实施例,该方法还包括:在每次序列化处理的过程中,生成第一随机数;检测第一随机数是否小于第一贪婪度;在第一随机数小于第一贪婪度的情况下,使用基于贪婪策略的个体初始化将待规划节点集合中的每个路径节点依次放入第一初始节点序列,得到预设节点序列,其中,第一初始节点序列的首位为起点;在第一随机数不小于第一贪婪度的情况下,对待规划节点集合进行随机置乱,得到预设节点序列。
[0132] 本发明上述实施例,每次序列化处理可以生成一个预设节点序列,进行在每次序列化处理的情况下,可以先生成第一随机数,然后将该第一随机数与预先设置的第一贪婪度进行比较,在第一随机数小于第一贪婪度的情况下,利用基于贪婪策略的个体初始化的方式生成预设节点序列,在第一随机数不小于第一贪婪度的情况下,利用随机置乱的方式生成预设节点序列,从而实现了利用多种序列化处理的方式确定预设路径种群的预设节点序列。
[0133] 作为一种可选的示例,预设节点序列的首位和末位都为起点,在基于贪婪策略的个体初始化确定预设节点序列的情况下,可以先将起点放入第一初始节点序列的首位,然后在第一初始节点序列中从首位向末位依次放入各路径节点,得到预设节点序列。
[0134] 作为一种可选的实施例,在第一随机数小于第一贪婪度的情况下,使用基于贪婪策略的个体初始化将待规划节点集合中的每个路径节点依次放入第一初始节点序列,得到预设节点序列包括:在第一随机数小于第一贪婪度的情况下,将第一初始节点序列中的最后一个路径节点确定为目标路径节点;根据待规划节点集合,确定目标路径节点的候选节点集合,其中,候选节点集合包括:多个备选路径节点,和每个备选路径节点的选择概率,备选路径节点为待规划节点集合中未放入第一初始节点序列中的路径节点,选择概率根据备选路径节点与目标路径节点之间的路径距离确定,路径距离与选择概率呈反比;在候选节点集合的多个备选路径节点中,选取候选路径节点放入第一初始节点序列;在选择候选路径节点放入第一初始节点序列之后,将候选路径节点确定为目标路径节点,直到得到预设节点序列。
[0135] 本发明上述实施例,基于贪婪策略的个体初始化确定预设节点序列,需要将待规划节点集合中的路径节点逐个放入第一初始节点序列,进而在向第一初始节点序列放入路径节点的情况下,可以基于待规划节点集合确定未放入第一初始节点序列的路径节点为备选路径节点,并确定在当前第一初始节点序列的最后一个目标路径节点之后,放入每个备选路径节点的选择概率,得到候选节点集合,进而可以根据选择概率从候选节点集合中选择放入第一初始节点序列的候选路径节点,实现对第一初始节点序列的更新,然后根据更新后的第一初始节点序列重新确定候选节点集合,直到待规划节点集合中的路径节点全部放入第一初始节点序列,实现对预设节点序列的确定。
[0136] 可选地,预设节点序列包括两个起点,分别在预设节点序列的首位和末位,在将待规划节点集合中的路径节点全部放入第一初始节点序列之后,还需要在第一初始节点序列的末位放入起点,进而得到预设节点序列。
[0137] 可选地,候选节点集合中的备选路径节点不包括起点。
[0138] 可选地,每个备选路径节点的选择概率,根据每个备选路径节点与当前第一初始节点序列中最后一个目标路径节点之间的路径距离确定,其中,在以总距离路径最短为目标进行路径规划的情况下,备选路径节点与目标路径节点的路径距离越近,则该备选路径节点被选中的概率越大,因此路径距离与选择概率呈反比。
[0139] 作为一种可选的实施例,在候选节点集合的多个备选路径节点中,选取候选路径节点放入第一初始节点序列包括:生成目标路径节点对应的第二随机数;在第二随机数小于第二贪婪度的情况下,从候选节点集合中,选取选择概率最大的备选路径节点作为选择候选路径节点;在第二随机数不小于第二贪婪度的情况下,使用轮盘赌算法从候选节点集合中的多个备选路径节点中,随机选取候选路径节点,其中,轮盘赌算法用于将候选节点集合中多个备选路径节点的选择概率之和放缩为1,并根据放缩后的选择概率随机选择备选路径节点作为候选路径节点;将候选路径节点连接在第一初始节点序列中的目标路径节点之后。
[0140] 本发明上述实施例,在从候选节点集合的多个备选路径节点,选取放入第一初始节点序列的候选路径节点的情况下,每次选择候选路径节点都可以利用贪婪策略确定选择选路径节点的策略,从而可以确保多次基于贪婪策略的个体初始化生成多个预设节点序列存在差异,实现了对候选路径节点的差异化选择的目的。
[0141] 作为一种可选的示例,基于轮盘赌算法,将候选节点集合中多个备选路径节点的选择概率之和放缩为1相当于:在轮盘中布置候选节点集合中多个备选路径节点分别对应的备选区域,每个备选路径节点在轮盘的面积根据该备选路径节点的选择概率确定,然后在轮盘中随机确定一个选择点,进而该选择点所在的备选区域,可以完成对候选路径节点的选择。
[0142] 需要说明的是,由于每个备选路径节点在轮盘的面积根据该备选路径节点的选择概率确定,因此,备选路径节点在放缩后的选择概率越大,该备选路径节点在轮盘中所占面积也就越大,进而在随机选择过程中该选路径节点被选中的概率也就越大。
[0143] 本发明上述实施例,虽然选择概率越大的备选路径节点被选中的概率越大,但是由于候选路径节点是利用轮盘赌算法随机选取的,因此选择概率较低的备选路径节点也存在被选为候选路径节点的可能。
[0144] 作为一种可选的实施例,该方法还包括:在选择候选路径节点放入第一初始节点序列之后,从候选节点集合中删除候选路径节点;在从候选节点集合中删除候选路径节点之后,检测候选节点集合是否为空;在候选节点集合为空的情况下,将起点连接在候选路径节点之后。
[0145] 本发明上述实施例,在将候选节点集合中的候选路径节点放入第一初始节点序列之,可以从候选节点集合中删除本次放入的候选路径节点,并检测候选节点集合中剩余的备选路径节点的数量,若该候选节点集合中剩余的备选路径节点的数量为零,也即候选节点集合中剩余的备选路径节点为空,则说明待规划节点集合中的全部路径节点都已放入第一初始节点序列,进而在第一初始节点序列的末位再次放入起点,得到预设节点序列,实现对预设节点序列的确定。
[0146] 作为一种可选的示例,若该候选节点集合中剩余的备选路径节点的数量不为零,也即候选节点集合中剩余的备选路径节点不为空,可以基于候选节点集合中剩余的备选路径节点重新确定候选节点集合。
[0147] 作为一种可选的实施例,在第一随机数不小于第一贪婪度的情况下,对待规划节点集合进行随机置乱,得到预设节点序列包括:在第一随机数不小于第一贪婪度的情况下,将待规划节点集合中的全部路径节点进行随机置乱,得到第二初始节点序列;确定每个第二初始节点序列中第一节点序列和第二节点序列,其中,第一节点序列为初始节点序列中以起点为末位的前段序列,第二节点序列为初始节点序列中以起点为首位的后段序列;将第一节点序列移动到第二节点序列的末尾,得到每个第二初始节点对应的预设节点序列。
[0148] 本发明上述实施例,预设节点序列中首位和末位的路径节点都为起点,因此,在采用随机置乱的方式确定预设节点序列的情况下,可以先将待规划节点集合中的全部路径节点进行随机置乱,生成第二初始节点序列,并识别起点在第二初始节点序列中的位置,然后根据起点从第二初始节点序列截取第一节点序列和第二节点序列,使第一节点序列为包括第二初始节点序列中的首位至起点的序列段,使第二节点序列为包括第二初始节点序列中的起点至末位的序列段,然后将第一节点序列和第二节点序列的位置互换,使第一节点序列和第二节点序列拼接为首位和末位都为起点的预设节点序列,实现对预设节点序列的确定。
[0149] 作为一种可选的实施例,使用预设优化算法将预设路径种群按照预设优化次数进行优化,得到目标路径种群包括:在每次优化过程中,检测预设路径种群中每个预设路径的适应度,其中,适应度根据预设路径的总路径距离确定,且适应度与总路径距离呈正比;在预设路径种群中选取适应度最大的多个预设路径,作为符合预设条件的多个精英路径;将预设路径种群中的每个预设路径与多个精英路径按照适应度由高到低的顺序依次进行融合,得到每个预设路径对应的目标合并路径;根据多个目标合并路径更新预设路径种群,并再次进行优化,直到达到预设优化次数。
[0150] 本发明上述实施例,在利用预设优化算法对预设路径种群进行优化的情况下,每次优化过程可以检测预设路径种群中每个预设路径的适应度,预设路径的适应度越大说明该预设路径的总路径距离越短,因此,在每次优化过程中,可以在预设路径种群中选取适应度最大的多个预设路径作为精英路径,然后将预设路径种群中的每个预设路径与多个精英路径依次进行融合,其合并顺序可以按照适应度由高到低的顺序进行,每个预设路径优化后可以得到对应的目标合并路径,则预设路径种群的多个预设路径经过优化后,可以得到由多个目标合并路径重新构建的预设路径种群,实现对预设路径种群,进而通过对预设路径种群按照预设优化次数进行优化,则最后一次优化得到的预设路径种群即为目标路径种群,实现了对预设路径种群的高效率优化。
[0151] 可选地,可以将预设路径种群中多个预设路径按照适应度由高到低的顺序进行排序,然后按照预设条件从队列的首位开始选取多个预设路径作为精英路径。
[0152] 作为一种可选的实施例,多个精英路径至少包括按照适应度从大到小排列的第一精英路径、第二精英路径和第三精英路径,将预设路径种群中的每个预设路径与多个精英路径按照适应度由高到低的顺序依次进行融合,得到每个预设路径对应的目标合并路径包括:将预设路径种群中的预设路径与第一精英路径进行融合,得到第一合并路径;将第一合并路径与第二精英路径进行融合,得到第二合并路径;将第二合并路径与第三精英路径进行融合,得到第三合并路径;将第三合并路径,确定为预设路径对应的目标合并路径。
[0153] 本发明上述实施例,预设路径种群的每次优化过程可以将多个精英路径按照适应度从大到小排列,得到序列为第一精英路径、第二精英路径和第三精英路径的精英路径队列,然后在预设路径种群中随机选取一个预设路径先与第一精英路径进行融合,得到第一合并路径,再将第一合并路径与第二精英路径进行融合,得到第二合并路径,最后将第二合并路径与第三精英路径进行融合,得到第三合并路径,则该第三合并路径即为该预设路径对应的目标合并路径,实现对预设路径的一次优化。
[0154] 作为一种可选的实施例,该方法还包括:在将每个预设路径与每个精英路径进行融合的情况下,从预设路径种群中随机选取预设路径作为待优化路径;检测待优化路径是否属于精英路径;在待优化路径不属于精英路径的情况下,使用预设包围操作基于待优化路径生成目标合并路径,其中,预设包围操作用于在待优化路径中随机选择路径节点作为第一目标节点;在精英路径中确定与第一目标节点相邻的路径节点为第二目标节点;在待优化路径中截取第一目标节点与第二目标节点之间且包括第二目标节点的多个路径节点,得到第一预设节点子序列;将第一预设节点子序列逆序后插入待优化路径,使第二目标节点与第一目标节点相邻;在待优化路径属于精英路径的情况下,使用预设进攻操作基于待优化路径生成目标合并路径,其中,预设进攻操作用于在待优化路径中随机截取第二预设节点子序列,并将第二预设节点子序列逆序后插入原位置。
[0155] 本发明上述实施例,利用灰狼优化算法将每个预设路径与每个精英路径进行融合的过程,可以模拟灰狼的预设包围操作和预设攻击操作,预设包围操作用于使普通灰狼(也即预设路径)协同精英狼(也即精英路径)进行全局搜索,实现全局优化,预设攻击操作用于使精英狼(也即精英路径)进行局部搜索,实现局部优化,从而通过预设包围操作和预设攻击操作可以平衡全局搜索和局部优化,提高搜索效率,进而提高路径的优化效率。
[0156] 本发明还提供了一种可选实施例,该可选实施例提供了一种复杂环境中单无人机三维航迹规划方法,针对传统灰狼优化算法在求解复杂环境中单无人机三维航迹规划中存在的问题,提出了一种改进的灰狼优化算法用于求解此类组合优化问题,以降无人机的飞行成本,包括如下步骤:
[0157] 步骤S21,使用RRT算法规划航线:采用基于随机采样的方法快速生成采样节点,并通过扩展树结构适应复杂的环境,具有广泛的适用性。
[0158] 步骤S21,选择最短航线并优化:通过多次运行RRT算法,选择路径距离最短的航线(即目标节点路径),并对其进行优化,以保留最优解,并增加全局最优解的搜索概率。
[0159] 步骤S23,删除冗余的采样节点进行优化:通过删除冗余的采样节点,使航线更紧凑,避免不必要的转折和直线段,提高路径效率,节省时间和能源。
[0160] 步骤S24,曲线平滑处理:对航线进行曲线平滑处理,减少无人机在飞行中的机械压力,使系统更稳定。通过节点扩展算法插入扩充节点,可以在保持与原始航线接近的同时,实现平滑度和可行性的平衡。
[0161] 步骤S25,基于贪婪策略的种群初始化算法:引入基于贪婪策略的种群初始化算法,考虑路径节点的选择概率,生成接近最优解的初始种群(如预设路径种群),可以提升局部搜索能力,降低陷入局部最优解的风险,加速收敛速度,改善初始解质量,并增强问题空间的可行性。
[0162] 步骤S26,新的种群进化策略:通过调整演化参数和借鉴最优、次优、第三优个体(如第一精英路径、第二精英路径和第三精英路径)的策略,实现全局搜索和局部搜索的动态平衡。模拟灰狼在自然中的协同行为,具备广泛的探索和深度的优化能力。
[0163] 图4是根据本发明实施例的一种复杂环境中单无人机三维航迹规划方法的示意图,如图4所示,包括步骤如下:
[0164] 步骤S41,初始化参数、读取数据、加载模型。具体包括:从数据集中加载数据,初始化模型。
[0165] 步骤S42,采用RRT算法规划任意两点航线(如规划目标节点路径)。
[0166] 步骤S43,三维航迹优化。
[0167] 步骤S44,编码与解码。
[0168] 步骤S45,基于贪婪策略的种群初始化。
[0169] 步骤S46,计算种群适应度。具体包括:进行适应度评估,确定是否满足终止条件,若满足终止条件,则确定最优个体;若不满足终止条件,则执行步骤S47。
[0170] 步骤S47,基于灰狼优化的种群更新策略。具体包括:获取前3匹精英狼(如第一精英路径、第二精英路径和第三精英路径),改进狼群更新操作,进行适应度评估。
[0171] 步骤S48,精英策略。
[0172] 步骤S49,更新最优个体(即更新总路径距离最短的目标路径),然后返回步骤S46,评估更新后的最优个体是否满足终止条件,若满足终止条件,则确定最优个体;若不满足终止条件,则再次执行步骤S47。
[0173] 作为一种可选的实施例,如图4所示的一种复杂环境中单无人机三维航迹规划方法,可以通过算法1所示的灰狼优化算法(GWO)求解复杂环境中单无人机三维航迹规划问题实现,该算法1的伪代码如下所示。
[0174]
[0175] 本申请算法1,通过初始化模型,并通过RRT算法规划任意两个路径节点之间的航线,得出距离矩阵;然后通过贪婪因子重要程度和贪婪度来初始化种群;接下来通过循环迭代,获取精英狼,并根据进化算法来更新种群;最后通过精英选择策略和种群更新,确定最优的最终种群。
[0176] 在上述步骤S41中,初始化参数包括:确定种群规模popSize(标量)、最大进化代maxGen(标量)、数据集dataFile(集合)、贪婪因子重要程度beta(标量)、贪婪度greedyEpsilon(标量)。
[0177] 在上述步骤S41中,读取数据包括:读取数据集dataFile,包含无人机起点的坐标(x1,y1,z1)、各个任务点的坐标(xi,yi,zi)(i=2,3,...,N)、无人机飞行空间的高程数据(dem文件,n×m的二维矩阵),禁飞区域,无人机的尺寸,最大飞行高度。
[0178] 在上述步骤S41中,加载模型包括:计算决策变量维度D=N,绘制地形图、禁飞区域、无人机的起点和无人机的任务点。
[0179] 在上述步骤S42中,采用RRT算法规划任意两点航线包括:通过两层循环,遍历N个节点(包括起点和任务点)的三维坐标所有两两组合情况,每组包括第一节点和第二节点,共N(N‑1)种组合,然后利用RRT算法分别规划两个路径节点间的航线,包括步骤如下:
[0180] 步骤S51,确定第一节点和第二节点:即上述的组合坐标对。
[0181] 步骤S52,初始化RRT:将第一节点设置为树的根节点,同时设置一个空的树结构。
[0182] 步骤S53,随机采样:在三维空间中随机选择一个采样节点,用于构建RRT。
[0183] 步骤S54,寻找最近节点:从树中找到距离采样节点最近的树节点作为目标节点,其中,树节点包括至少一个路径节点,至少一个路径节点至少包括第一节点。
[0184] 步骤S55,扩展树:在第一节点和第二节点之间创建一个新的采样节点,生成航线,并检查该航线与障碍物之间是否存在碰撞、是否经过禁飞区域、是否超越最大飞行高度。如果是,则放弃该采样节点,并返回步骤S53;否则将该采样节点添加到树中。
[0185] 步骤S56,判断是否达到目标:检查新的采样节点是否接近第二节点,如果接近则转入步骤S57,否则返回步骤S53。
[0186] 步骤S57,构造最优路径:从第二节点开始,通过节点的父指针向根节点(如第一节点)回溯,构造出从第一节点到第二节点的最优路径(即确定预设节点路径)。
[0187] 步骤S58,重复执行步骤S53到步骤S57,直到找到满足要求的最优路径或达到设定的迭代次数(也即直到预设随机树中记录的采样节点的节点数量达到第一数量阈值)。
[0188] 图5是根据本发明实施例的一种基于RRT算法进行三维航迹规划的示意图,如图5所示,RRT算法通过随机采样和树的扩展来搜索空间中的可行解,并通过逐渐构建树结构来逼近目标点,最终得到一条无碰撞的航线规划路径。其中“★”点为起点,“●”点为目标点,灰线为RRT算法随机探索过程中产生的航线(如预设节点路径),白线为最终搜索出的成功航线(如目标节点路径)。
[0189] 可选地,RRT算法是一种启发式搜索算法,通过随机扩展树搜索可行路径,由于其随机性质,无法保证找到全局最优路径,只能找到一条可行路径,难以保证最优解。
[0190] 需要说明的是,RRT算法是一种启发式搜索算法,通过随机扩展树搜索可行路径,由于其随机性质,无法保证找到全局最优路径,只能找到一条可行路径,因此存在难以保证最优解的问题;在RRT算法中,随机采样节点与最近邻节点(如距离采样节点最近的路径节点)之间的连线通常是直线,这可能导致生成的路径包含许多冗余的直线段,存在生成冗余路径的问题,增加了路径的长度和执行的时间;由于随机采样和随机连接节点的方式,RRT算法生成的路径通常是非平滑的,存在较多的拐弯和转角,存在规划路径不平滑的问题,不符合实际运动要求。
[0191] 在上述步骤S43中,对于难以保证最优解的问题,可以重复算法,多次生成航线(如生成多个预设节点路),保留距离最短(如目标节点路径)的航线,实际算法中重复次数k(也即预设随机树中记录的采样节点的节点数量)取10。
[0192] 在上述步骤S43中,对于“生成冗余路径”问题,采用冗余节点剔除算法,将第一节点加入到最短路径列表(如预设路径栈)中,然后通过循环从第二节点向前遍历整个路径节点(如按照从叶子节点到根节点的方向遍历待优化随机树中的每个树节点,直到确定必要节点),若栈顶节点与当前遍历节点可以直接相连(无碰撞、无经过禁飞区域、无超出最大飞行高度),则将当前节点入栈(即确定必要节点),并结束当前循环,重新循环从第二节点向前遍历整个路径节点重复上述操作,直至第二节点入栈。
[0193] 表1是根据本发明实施例的一种采用RRT算法规划的路径节点的示意表,如表1所示,第一节点和第二节点之间路径包括103个路径节点。
[0194] 表1
[0195]
[0196]
[0197] 表2是根据本发明实施例的一种剔除冗余后的路径节点的示意表,如表2所示,基于表1所示的103个路径节点剔除冗余节点后,得到9个路径节点。
[0198] 表2
[0199]
[0200] 图6是根据本发明实施例的一种剔除冗余节点前后路径对比的示意图,如图6所示,红线为剔除冗余的采样节点前的路径,黑线为剔除冗余的采样节点后的路径。
[0201] 图7是根据本发明实施例的一种冗余节点剔除操作的示意图,如图7所示,为了便于体现剔除冗余的采样节点前后的路径对比,可以删除图6所示的三维地图中的障碍物,其中,红线为剔除冗余的采样节点前的路径,黑线为剔除冗余的采样节点后的路径。
[0202] 在上述步骤S43中,对于路径不平滑的问题,可使用曲线拟合、插值或贝塞尔曲线等技术对路径进行平滑处理。平滑路径有助于减少转向和降低航行难度,同时也可以使路径更接近实际可行的路径。
[0203] 需要说明的是,拟合出的曲线受初始的路径节点数的影响,初始的路径节点数越多,拟合出的曲线与原始路径差距越小;初始的路径节点数越少,拟合出的曲线与原始路径差距越大。差距越大,合法路径变不合法的概率就会越大,故希望拟合前后,路径的差距不应过大,仅希望在路线转角处平滑。
[0204] 图8是根据本发明实施例的一种路径平滑操作的示意图一,如图8所示,对表2所示的9个路径节点(也即待拟合节点)进行路径平滑操作,其中,黑线为平滑前的路径,红线为平滑后的路径。
[0205] 图9是根据本发明实施例的一种节点扩充操作的示意图,如图9所示,对表2所示的9个路径节点(也即待拟合节点)扩充至20个路径节点(也即待拟合节点),其中,三角点为扩充前的9个路径节点(也即待拟合节点),圆点为扩充后的20个路径节点(也即待拟合节点)。
[0206] 表3是根据本发明实施例的一种扩充后的路径节点的示意表,如表3所示,基于表2所示的9个路径节点(也即待拟合节点)扩充至20个路径节点(也即待拟合节点)。
[0207] 表3
[0208]
[0209] 图10是根据本发明实施例的一种路径平滑操作的示意图二,如图10所示,对表3所示的20个路径节点(也即待拟合节点)进行路径平滑操作,其中,蓝线为平滑前的路径,红线为平滑后的路径。
[0210] 本发明上述实施例,图8和图10中平滑前的路径相同,仅平滑处理时的路径节点(也即待拟合节点)的数目不同,图10中平滑的曲线相较图8中平滑的曲线,更加贴合原路径。
[0211] 作为一种可选的实施例,在平滑路线前需设定一个最少采样节点阈值(如第二数量阈值),当前路径节点数低于这一阈值时,则需要扩充路径节点,直至满足阈值。扩充路径节点需遵循两个原则:(1)路径节点扩充前后,路径不能发生变化,即仅能选取原路径上的路径节点;(2)新增的路径节点尽可能地远离相邻的路径节点,即要保证所有路径节点可能地均匀分布在原路径上。
[0212] 作为一种可选的示例,在扩充路径节点的情况下,可以通过算法2所示的路径节点扩充算法实现,该算法2的伪代码如下所示。
[0213]
[0214] 本申请上述算法2,每次选择路径中最长线段,取其中点作为新扩充的路径节点(即扩充节点)加入路径节点列表中,重复上述操作直至总节点数(也即拟合节点数量)满足最少阈值要求,实现路径节点的扩充。
[0215] 在上述步骤S44中,通过编码和解码操作,可以构建连接1个起点和多个任务点的无人机的航线(也即确定多个预设节点序列分别对应的预设路径)。
[0216] 图11是根据本发明实施例的一种编码的示意图,如图11所示,对于1个起点,N‑1个任务点的问题而言,需要搜索一个先后访问这N个点的序列,使之总路程最短,其决策空间大小为N!,每一种排列都可能是最短路径序列。故编码过程可以将“1~N”通过随机函数置乱,得到一个个体。
[0217] 图12是根据本发明实施例的一种解码的示意图,如图12所示,由于无人机必须从起点出发,而随机产生的系列无法保证从起点开始,解码时需要进行调整,从个体中找出起点“1”的位置,将“1”前段序列转移到序列末尾,见图12中“修复”阶段。又因最终要回到起点,故还需在末尾补上“1”,见图12中“解码”阶段。
[0218] 在上述步骤S45中,传统灰狼优化算法初始种群中个体的生成为随机置乱产生,在处理小规模问题上效果尚可,但在求解大规模问题上明显效果不佳,因此本申请采用基于贪婪策略的种群初始化。
[0219] 作为一种可选的示例,上述步骤S45可以使用算法3所示的基于贪婪策略的种群初始化实现,该算法3的伪代码如下所示。
[0220]
[0221] 本申请上述算法3,根据输入的距离矩阵distanceMat、贪婪因子重要程度beta、婪度greedyEpsilon(也即第一贪婪度)等参数产生种群,在距离矩阵(即用于表示备选路径节点与目标路径节点之间的路径距离)的基础上计算出路径节点之间的访问概率矩阵(即用于表示每个备选路径节点的选择概率);根据种群规模popSize和决策变量维度numOfDecVariables创建一个空的种群pop。对于每个个体,随机选择一个起点startPoint。如果随机数(也即第一随机数)小于贪婪度greedyEpsilon(也即第一贪婪度),则使用个体贪婪策略(也即基于贪婪策略的个体初始化)根据起点和访问概率矩阵生成一个个体(如预设节点序列),否则,随机生成一个个体(如预设节点序列)。
[0222] 作为一种可选的示例,个体贪婪策略可以通过算法4所示的基于贪婪策略的个体初始化实现,该算法4的伪代码如下所示。
[0223]
[0224] 本申请上述算法4,基于个体贪婪策略getIndividualByGreedy(也即基于贪婪策略的个体初始化)可以根据给定的起点startPoint、可访问的节点集合pointSet(即候选节点集合)、访问概率矩阵proOfVisitingMat(即用于表示每个备选路径节点的选择概率)和贪婪度greedyEpsilon(即第二贪婪度)生成一个个体(如预设节点序列);具体包括:创建一个空的个体individual,并将起点startPoint放入个体中;根据可访问的节点集合pointSet中当前个体最后一个节点的索引,从访问概率矩阵proOfVisitingMat中选择最大概率的下一个节点;如果随机数(即第二随机数)小于贪婪度greedyEpsilon(即第二贪婪度),则选择最大概率的节点,否则,根据概率选择下一个节点。最后,更新个体和可访问节点集合(即候选节点集合)。
[0225] 需要说明的是,使用该贪婪算法来初始化种群能够简单高效地构建一个近似最优解,但不能保证找到全局最优解。因此,在应用贪婪算法初始化种群时,需要权衡贪婪度greedyEpsilon(即第二贪婪度)的大小以及其他参数的选择,以达到较好的算法效果。通常情况下贪婪因子重要程度beta取值范围为[1,5],贪婪度greedyEpsilon(如第一贪婪度和第二贪婪度)取值范围为[0.5,1]。
[0226] 在上述步骤S46中,计算种群适应度包括:从种群中取出一个个体计为individual,将个体解码得到具体线路。根据distanceMat距离方阵分别计算每条线路的距离,其总距离记为allPathDistance,则个体的适应度individualFitness=‑allPathDistance,适应度越大,个体越好。重复上述步骤popSize次(即预设优化次数),计算出种群全部个体的适应度记为popFitness。
[0227] 在上述步骤S47中,基础灰狼优化算法用于求解实数优化问题,灰狼位置的更新是通过向α、β、δ三匹精英狼移动,通过跟踪、包围和攻击操作合成新狼的位置,但不适合用于求解组合优化问题;因此本申请设计了基于灰狼优化的种群更新策略。
[0228] 作为一种可选的示例,基于灰狼优化算法的思想理念,针对单无人机三维航迹规划问题特性,设计了算法5所示的种群进化策略,该算法5的伪代码如下所示。
[0229]
[0230] 本申请上述算法5,种群进化策略是种群更新部分,主要用于优化问题的种群演化。在每次迭代中,对当前种群中的每个个体进行处理。对于每个个体,通过调用updateWolfStrategy函数,基于演化参数a和当前种群的最优个体α(如第一精英路径)、次优个体β(如第二精英路径)以及第三优个体δ(如第三精英路径),更新个体的策略;这个策略更新的过程涉及对灰狼狩猎行为的模拟,整个算法通过不断地借鉴和融合当前种群中的优秀个体策略,模拟灰狼在自然中的协同行为,从而引导整个种群向更优解的方向演化。这种灵感来源于灰狼社会中的等级结构和协同行为,使得算法在解决组合优化问题,时具有一定的搜索和收敛能力。
[0231] 作为一种可选的示例,种群进化策略基于个体移动策略实现,该个体移动策略通过算法6所示的灰狼移动操作实现,该算法6的伪代码如下所示。
[0232]
[0233] 本申请上述算法6,灰狼移动操作是灰狼优化算法中的关键步骤,其主要思想是基于演化参数a,随机选择一个码位J,然后根据随机数的大小判断是进行全局搜索(如预设包围操作)还是局部搜索(如预设攻击操作)。在全局搜索中,个体通过预设包围操作与精英个体协同调整策略,实现全局性的探索;而在局部搜索中,精英通过预设攻击操作进行局部调整,以期望找到更局部的最优解。这种策略的动态调整有助于在搜索空间中平衡全局探索和局部优化,提高算法的搜索效率。演化参数a随着种群迭代线性下降,故在种群进化前期侧重于全局搜索,在进化后期侧重于局部搜索。
[0234] 作为一种可选的示例,全局搜索通过算法7所示的预设包围操作实现,该算法7的伪代码如下所示。
[0235]
[0236] 本申请上述算法7,预设包围操作主要用于进行全局搜索。该算法以待更新的个体wolf(如预设路径种群中的预设路径)、目标个体goalWolf(如精英路径)以及待更新的决策变量位号j为输入。
[0237] 图13是根据本发明实施例的一种预设包围操作的示意图,如图13所示,获取决策变量的长度,并复制待更新个体到新个体。然后,从待更新个体中获取第j个维度上的值G1。通过在目标个体中找到与G1相等的值的位置index,如果有多个相等的值,则随机选择一个。接着,判断G1在目标个体中的位置,若有右侧位置则取右侧,否则取左侧。这得到了与G1相邻的值G2。然后,在待更新个体中找到G2的位置rJ,同样如果有多个相等的值,则随机选择一个。接下来,根据j和rJ的关系,调整新个体中G1和G2的位置,确保它们在新个体中相邻。最后,返回新个体。
[0238] 本申请上述实施例,包围操作的核心思想是通过调整待更新个体(如预设路径种群中的预设路径)中的某个维度,提高与目标个体(如精英路径)相似度,可以认为是待更新个体(如预设路径种群中的预设路径)向目标个体(如精英路径)的靠近,促使个体更好地探索新的解空间。
[0239] 作为一种可选的示例,全局搜索通过算法8所示的预设攻击操作实现,该算法8的伪代码如下所示。
[0240]
[0241] 本申请上述算法7,预设攻击操作用于进行局部搜索。该算法以待更新的个体wolf(如精英路径)和待更新的决策变量位号j作为输入。
[0242] 图14是根据本发明实施例的一种预设攻击操作的示意图,如图14所示,获取决策变量的长度,并随机获取一个范围在1到numOfDecVariables之间的整数rJ;将j和rJ从小到大排序,并分别记为r0和r1;复制待更新的个体wolf(如精英路径)到新个体newWolf(如精英路径)。在新个体中,将位置r0到r1之间的元素进行逆序操作。最后,返回新的个体newWolf。
[0243] 本申请上述实施例,攻击操作的目的是通过对局部区域的变量进行逆序操作,引入局部搜索的变化,以便更好地探索局部解空间,这有助于灰狼优化算法提高算法的收敛性和全局搜索能力。
[0244] 需要说明的是,种群进化算法中,父代种群通过进化策略择优生成子代种群,子代种群大概率优于父代种群,但不绝对。如果直接利用子代种群代替父代种群进行接下来的进化,可能会导致当前种群最优个体的丢失,具体表现为进化曲线局部震荡,种群难以收敛。故可以采用精英策略,在进化算法的每一代中,父代种群和子代种群合并,根据适应度进行排序,选择合并种群中适应度排名前一半的优秀个体作为新一代的种群。
[0245] 在上述步骤S48中,通过引入精英策略,使种群进化算法能够在搜索空间中保留优秀解的信息,并将其传递给后代。这种选择性的保留有助于避免解的退化,并在演化过程中推动算法朝着更优解的方向前进。同时,精英策略也可以加快算法的收敛速度,特别是在搜索空间具有较多局部最优解的情况下。
[0246] 在上述步骤S49中,通过以上的RRT航线规划、航线平滑、种群初始化、种群更新、新种群适应度计算,采用精英策略,保留适应度高的作为子代种群。确定每代新种群最优个体、最优适应度,并保存,当种群迭代进化达到最大进化代数,跳出循环,输出最优个体,解码生成实际航线。
[0247] 本申请上述实施例,算法收敛速度快、获得的结果好、不易陷入局部最优。
[0248] 本申请提供的技术方案,在初始阶段利用RRT规划航线,适用性广泛,基于随机采样的方法,它能够在环境中快速生成样本点,并通过迭代扩展树结构,使其能够适应非凸的、复杂的环境;RRT算法在理论上具有概率完备性,即在有限时间内能够找到可行路径的概率趋近于1,这使得它在很多实际应用中具有可行性和可靠性;重复运行RRT算法,选择距离最短的航线,并对其进行优化,有助于保留最优解。这样可以在不牺牲路径质量的情况下,增加对全局最优解的搜索概率;通过剔除冗余点,优化后的航线更加紧凑,避免了原始路径中的不必要的转折和直线段,这样的路径更为高效,节省时间和能源;通过对航线进行曲线平滑处理,飞行路径在连接相邻节点时呈现更平滑的曲线,有助于降低无人机在飞行过程中的机械压力,减少飞行中的急剧变化,提高了系统的稳定性;通过在平滑处理中保持与原始航线的接近,策略实现了平滑度和可行性之间的平衡。这对于在实际操作中需要考虑的飞行要求和机械要素至关重要;本申请提出的基于贪婪策略的种群初始化算法,通过考虑节点的选择概率,在大规模问题中能够更有效地生成接近最优解的初始种群,提升局部搜索能力,降低陷入局部最优解的风险,加速收敛速度,改善初始解质量,并增强问题空间的可行性;本申请提出的提出新的种群进化策略,通过灵活调整演化参数a和借鉴最优、次优、第三优个体(如精英路径)的策略,该算法在每次迭代中对个体进行有效更新,模拟了灰狼在自然中的协同行为。其全局搜索(如预设包围操作)和局部搜索(如预设攻击操作)的动态平衡,使得算法在搜索空间中同时具备广泛的探索和深度的优化能力。
[0249] 作为一种可选的实施例,以一个1个起点,8个任务点的算例为例,224×331的高程数据,4块禁飞区域为例,进行单无人机三维航迹规划。
[0250] 表4是根据本发明实施例的一种起点和任务点信息的示意表,如表4所示,包括1个起点和8个任务点。
[0251] 表4
[0252]
[0253] 表5是根据本发明实施例的一种禁飞区域信息的示意表,如表5所示,包括4块禁飞区域。
[0254] 表5
[0255]
[0256] 表6是根据本发明实施例的一种地形高程数据的示意表,如表6所示,包括224×331的高程数据。
[0257] 表6
[0258]
[0259]
[0260] 图15是根据本发明实施例的一种三维空间环境信息的示意图,如图15所示,基于表4所示的1个起点和8个任务点,表5所示的4块禁飞区域,和表6所示的224×331的高程数据,构建三维空间环境信息的可视化视图。
[0261] 图16是根据本发明实施例的一种初始随机生成个体航线的示意图,如图16所示,基于图15所示的三维空间环境信息生成完全随机的个体航线。
[0262] 图17是根据本发明实施例的一种灰狼优化算法收敛后的最优个体航线的示意图,如图17所示,确定航线对目标点访问的先后顺序为[1,2,8,6,3,5,7,9,4,1],分别行驶距离为[48.96,71.46,64.08,44.65,97.51,111.92,62.22,29.79,210.23]。
[0263] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页 第1页 第2页 第3页
相关技术
人机三维相关技术
航迹规划相关技术
戴中斌发明人的其他相关专利技术