CN115421522B - 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法 - Google Patents

一种基于并行自适应蚁群算法的无人机覆盖路径规划方法 Download PDF

Info

Publication number
CN115421522B
CN115421522B CN202211373535.4A CN202211373535A CN115421522B CN 115421522 B CN115421522 B CN 115421522B CN 202211373535 A CN202211373535 A CN 202211373535A CN 115421522 B CN115421522 B CN 115421522B
Authority
CN
China
Prior art keywords
solution
path
parameter
vector
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211373535.4A
Other languages
English (en)
Other versions
CN115421522A (zh
Inventor
龚毅光
陈凯
牛天宇
刘云平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Juxin Information Technology Co.,Ltd.
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Publication of CN115421522A publication Critical patent/CN115421522A/zh
Application granted granted Critical
Publication of CN115421522B publication Critical patent/CN115421522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,包括以下步骤:步骤1:对需实施覆盖路径规划的CPP区域和该区域内需要避开的NFZ区域进行栅格处理,以此创建集合VSA、集合VSN和集合NFZS;步骤2:采用Dijkstra算法对经过NFZ区域的子路径进行计算得到避障子路径,得到子路径矩阵中;步骤3:采用多个并行线程,每个线程通过SAACO算法,得到当前线程的最优解;步骤4:从多个线程的最优解中选出算法最优解;步骤5:将算法最优解转换为最优路径,得到最优规划路径。

Description

一种基于并行自适应蚁群算法的无人机覆盖路径规划方法
技术领域
本发明属于无人机路径规划技术领域,具体为一种基于并行自适应蚁群算法的无人机覆盖路径规划方法。
背景技术
在过去的几十年中,无人机(UAV)被广泛应用于航拍、植保、快递运输、灾难救援、电力巡检、新闻报道等领域,其中许多无人机的应用涉及到覆盖路径规划(Coverage PathPlanning,CPP)问题。覆盖路径规划CPP一直是机器人领域的一个热点研究问题,它的任务是构建一条路径,确保无人机在给定区域中探索每个位置,同时避开障碍物。评价CPP路径的常见性能指标有:路径长度、转弯次数或转弯角度、完成路径的时间和区域覆盖率。
CPP算法根据环境是否可知,分为在线路径规划和离线路径规划两类。离线路径规划仅依赖静态环境信息,假设全部的环境信息是事先已知的。在线路径规划不需要事先获知要覆盖环境的完整信息,而是基于传感器信息来实时规划局部路径。
CPP算法按单元分解方式可分为三类:不分解、精确单元分解和近似单元分解。使用单个无人机在形状规则的简单区域执行CPP任务通常不需要进行单元分解,此时最常用的路径规划算法有来回法(Back-and-Forth)和螺旋法(Spiral)。而对于复杂的区域通常需要进行单元分解。精确单元分解将形状不规则的复杂区域划分为形状较规则的子区域后,对子区域执行路径规划。比较著名的精确单元分解法有梯形分解法(TrapezoidalDecomposition)、牛耕分解法(Boustrophedon Decomposition)。近似单元分解也叫基于栅格的分解,它将区域离散为一组规则形状(如正方形)的栅格,并让路径遍历这些栅格。基于栅格的分解方法有:生成树法(Spanning Tree Coverage,STC)、波前算法(Wavefront)、遗传算法、蚁群算法、模拟退火等。近年来,基于栅格分解的CPP算法,因其简单易行,被日益广泛地应用。
蚁群优化算法(Ant Colony Optimization,ACO)是通过模拟自然界中蚂蚁集体寻径觅食行为而提出的一种基于种群的启发式随机搜索算法。近些年来,ACO在路径规划中得到了广泛的应用。ACO采用正反馈机制,使得搜索过程不断收敛,最终逼近最优解。但ACO存在收敛速度慢、容易陷入局部最优、参数难以选择等问题。此外,如果区域内存在障碍物或禁飞区(No Flying Zone, NFZ),如何高效避障也是一个需要考虑的问题。
发明内容
发明目的:为克服传统蚁群算法的缺点,以及为解决如何高效避障的问题,本发明提出了一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,利用并行多线程技术,自适应选择参数,同时提高算法的运行速度和规划路径的性能。
技术方案:一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,包括以下步骤:
步骤1:获取需实施覆盖路径规划的CPP区域和在CPP区域内需要避开的NFZ区域,对CPP区域和NFZ区域进行栅格处理,得到由多个CPP栅格构成的CPP区域,以及得到由多个NFZ栅格构成的NFZ区域,取每个CPP栅格的中心点作为一A类点,以此创建A类点集合VSA;取每个NFZ栅格的顶点作为一N类点,以此创建N类点集合VSN;以每个NFZ栅格的对角线为元素,创建集合NFZS;每个A类点和每个N类点均有唯一的序列号;
步骤2:判断A类点集合VSA中任意两个A类点构成的子路径是否经过NFZ区域,若子路径与集合NFZS中所有的对角线都不相交,则判定该子路径不经过NFZ区域,将该子路径记录在子路径矩阵中;若子路径与集合NFZS中的任意一条对角线相交,则判定该子路径经过NFZ区域;对于经过NFZ区域的子路径,取N类点集合VSN中的所有点和构成该子路径的两个A类点,组合成一个点集合,用这个点集合构建无向图,以该子路径的起点为避障后起点,以该子路径的终点为避障后终点,采用Dijkstra算法,在无向图上求解出从避障后起点到避障后终点的最短路径,该最短路径为避障子路径,将该避障子路径记录在子路径矩阵中;
步骤3:采用多个并行线程,每个线程通过SAACO算法,得到当前线程的最优解;
步骤4:当所有并行线程结束后,在多个线程的最优解中,取适应度值最小的最优解作为算法最优解;
步骤5:将算法最优解转换为最优路径,该最优路径为无人机覆盖最优规划路径;
其中,步骤3中,所述的通过SAACO算法,得到当前线程的最优解,包括以下子步骤:
S310:通过随机产生多个参数向量来初始化参数存档,所述参数存档中存储有多个参数向量、每个参数向量的适应度值和每个参数向量的选择权重;每个参数向量拥有多个参数值;所述参数值包括解存档中解向量的数目n、每个线程的蚂蚁数目q和搜索解存档范围大小参数
Figure 516277DEST_PATH_IMAGE001
;随机产生的参数向量满足自适应参数最大值数组Cmax和自适应参数最小值数组Cmin约定的范围;
S320:从参数存档中选择一个参数向量,用这个参数向量中对应的参数值设置解存档中解向量的数目n;
S330:随机产生
Figure 262779DEST_PATH_IMAGE002
个解向量,计算每个解向量的适应度值,将解向量和它的适应度值存入解存档中;所述解存档中存储有n个解向量、每个解向量的适应度值和每个解向量的选择权重;该解向量为路径顺序经过的点的序列号组成的向量;每个解向量包含A类点集合VSA中所有的A类点,且每个A类点只出现一次;所述解向量的适应度值为:将解向量对应的路径在步骤2的子路径矩阵中查询,得到避障后路径,该避障后路径的总飞行时间为该解向量的适应度值;
S340:对解存档中的解向量按照适应度值进行排序,仅保留前n个解向量;
S350:从参数存档选择一个参数向量作为基本向量,利用基本向量构造新的参数向量,将新的参数向量作为当前参数向量,用当前参数向量中对应的参数值设置解存档的数目n、蚂蚁数目q和搜索解存档范围大小参数
Figure 42516DEST_PATH_IMAGE001
S360:每个蚂蚁依据自身搜索解存档范围,从解存档中选择一个解向量,通过对该解向量进行反转和插入操作,构造出新的解向量;计算新的解向量的适应度值,并将该新的解向量和它的适应度值存入解存档中;直至q个蚂蚁全部完成;
S370:对解存档中的解向量按照适应度值进行排序,仅保留前n个解向量;
S380:将蚂蚁构造的q个新解中最优解的适应度值作为当前参数向量的适应度值,将当前参数向量和它的适应度值存入参数存档中,存入后,将参数存档中的参数向量按照适应度值进行排序,仅保留前a个参数向量,其中a为参数档案中参数向量的数目;
S390:判断是否达到最大迭代次数,若没有,则转入S350:否则退出循环,得到当前线程输出的最优解。
进一步的,在所述的取每个NFZ栅格的顶点作为一N类点,以此创建N类点集合VSN之前,还包括:
对于由多个NFZ栅格构成的NFZ区域,将存在公共边的NFZ栅格进行合并,得到合并后的NFZ栅格;
将合并后的NFZ栅格的顶点作为N类点,以此创建N类点集合VSN。
进一步的,在S320中,根据参数向量的选择权重,利用赌轮法从参数存档中选择一个参数向量,用这个参数向量中对应的参数值设置解存档中解向量的数目n。
进一步的,在S330中,所述的将解向量对应的路径在步骤2的子路径矩阵中查询,得到避障后路径,具体包括:
在解向量中,按起始点到终点的顺序,依次将两个相邻的点组成子路径;
将该子路径在子路径矩阵中查询,得到避障子路径;
组合所有避障子路径,得到避障后路径。
进一步的,在S350中,所述的利用基本向量构造新的参数向量,具体包括:
根据基本向量中每个参数值的概率密度函数Pd(x),在每个参数值的邻域中提取一个新的参数值;
由新的参数值形成新的参数向量;
每个参数值的概率密度函数Pd(x),表示为:
Figure 437725DEST_PATH_IMAGE003
(3)
式中
Figure 48835DEST_PATH_IMAGE004
(4)
其中,
Figure 871298DEST_PATH_IMAGE005
为由参数x、均值μ和均方差σ表示的高斯函数,ξ为收敛速度,
Figure 466227DEST_PATH_IMAGE006
为第j个参数向量的第i个参数值,a为参数存档中参数向量的数目,/>
Figure 665127DEST_PATH_IMAGE007
为第r个参数向量的第i个参数值。
进一步的,在S360中,所述的通过对该解向量进行反转和插入操作,构造出新的解向量,具体包括:通过对该解向量以50%概率进行反转操作,以50%概率进行插入操作,构造出新的解向量。
有益效果:本发明与现有技术相比,具有以下优点:
(1)本发明采用栅格化技术,得到与CPP和NFZ对应的栅格集合,包括;A类点集合VSA、N类点集合VSN和集合NFZS,利用矩形区域代表NFZ区域,使用集合NFZS来判定是否经过NFZ区域,大大降低了NFZ区域的建模难度,简化了判定是否经过NFZ区域的步骤;
(2)本发明运用Dijkstra算法,提前计算A类点集合VSA中任意两点之间的避障后子路径,记录在子路径矩阵中;后续所有避障处理只需查询子路径矩阵即可,极大降低了算法的计算量,提高了算法的运算速度;
(3)本发明采用多个并行线程,每个进程运行一个独立的SAACO算法。并行计算的应用加快了算法的运算速度,降低了SAACO陷入局部最优的概率,提高了算法的整体性能;
(4)本发明针对蚁群算法对参数的依赖性,采用了自适应参数设置方法,能根据参数的质量自动调整参数,自适应参数设置方法减少了人工设定参数的不确定性,提高了算法的稳定性和综合性能;
(5)本发明引入旅行商算法中成熟的交换和插入算子来构建新的解向量,保证了算法的可行性,提高了算法的适用性。
附图说明
图1是本发明的流程图;
图2是实施例1中的需要实施的CPP区域图和NFZ区域图;
图3是实施例1中的栅格化后的区域图;
图4是实施例1中的标注关键点后的区域栅格图;
图5是实施例1中的合并NFZ栅格后的区域栅格图;
图6是实施例1中的未处理NFZ规避的覆盖路径规划图;
图7是实施例1中的处理NFZ规避后的覆盖路径规划图;
图8是实施例1中的参数存档的结构图;
图9是实施例1中的解存档的结构图;
图10是实施例2中平台的主界面;
图11是实施例2中平台的结果保存文件示意图;
图12是实施例2中本发明方法与现有文献公开的方法进行比较实验,得到的实验结果图;其中,图12中的(a)为采用现有文献公开的方法得到的路径示意图,图12中的(b)为采用本发明方法得到的路径示意图;
图13是实施例2中对真实场景进行了建模、运用平台算法进行了路径规划,并对规划路径进行了Gazebo仿真,得到的Gazebo仿真图;
图14是实施例2中CPP model1对应的场景图;
图15是实施例2中CPP model2对应的场景图;
图16是实施例2中CPP model3对应的场景图。
具体实施方式
现结合附图和实施例进一步阐述本发明的技术方案。
实施例1:
如图1所示,本实施例的一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,主要包括以下步骤:
步骤1:导入需实施CPP区域的区域信息和全局参数信息;
本步骤提及的区域信息为CPP模型实例信息,该CPP模型实例信息由利用基于栅格的技术对区域和NFZ进行建模得到,具体为:
S110:获取需要实施的CPP区域图和NFZ区域图,如图2所示。图2中,浅灰色区域代表CPP区域,深灰色区域代表需要避开的NFZ区域,图2区域的尺寸为
Figure 334006DEST_PATH_IMAGE008
S120:基于栅格技术,将需要实施的CPP区域和NFZ区域,映射为栅格集合,如图3所示,得到栅格化后的区域,即得到由多个CPP栅格构成的CPP区域,以及得到由多个NFZ栅格构成的NFZ区域。每个栅格的尺寸为
Figure 327370DEST_PATH_IMAGE009
S130:对栅格化后的区域进行标记,如图4所示。标记规则为:按从上到下,从左到右的顺序,在CPP区域的栅格的中心点处标注:“A”+序号,以此创建A类点集合VSA。同样的,在NFZ栅格的顶点上标注:“N”+序号。上述提及的中心点和顶点用向量:V(te,sn,x,y)表示,其中,te表示点的类型,sn表示点的序号,x,y分别表示点的横坐标和纵坐标。如图4所示,VA10可以表示为V(“A”,10,70,50),VN7可以表示为V(“N”,7,20,60)。
S140:为了减少NFZ区域,简化避障计算,可通过合并相邻的NFZ栅格,去除多余的N类点实现。即将存在公共边的NFZ栅格合并成尽可能大的矩形。图4中,NFZ栅格NR(VN6,VN7,VN10,VN9)和NR(VN7,VN8,VN11,VN10)存在公共边LS(VN7,VN10),可以合并为NR(VN6,VN8,VN11,VN9)。合并后,VN10不参与构建NFZ矩形,为需要去除的多余点,去除多余点后的区域如图5所示,合并后的NFZ矩形,将矩形顶点标记为N类点,以此创建N类点集合VSN。
S150:为了简化避障计算,创建NFZ对角线的集合NFZS。只要路径与集合NFZS中的任意一条线段相交(不包括对角线的顶点),则需要进行避障处理。特殊的,图5中LS(VN7,VN8)是两个NFZ的公共边,它被视为NFZ的内部,无人机不能通过它,因而,该线段也被加入集合NFZS。
最终,本步骤提及的区域信息可以表示为G=G(VAS,VNS,NFZS)。
本步骤提及的全局参数信息包括:无人机平均角速度ψ、无人机平均飞行速度ν、并行线程数目TdNum、最大迭代次数Itmax、自适应参数最大值数组Cmax、自适应参数最小值数组Cmin、解存档中解向量的数目n、参数存档中参数向量的数目a、每个线程的蚂蚁数目q。
步骤2:采用Dijkstra算法进行避障处理,构建子路径矩阵PM;该子路径矩阵PM中的每个元素为:运用Dijkstra算法对A类点集合VSA中任意两个点构成的子路径进行避障计算得到的避障子路径。换言之,若A类点集合VSA中任意两个点构成的子路径没有经过NFZ区域,则将由这两个点构成的子路径记录在子路径矩阵PM中。若A类点集合VSA中任意两个点构成的子路径经过NFZ区域,则将由这两个点构成的子路径进行避障处理,得到避障子路径,再将该避障子路径记录在子路径矩阵PM中。判断两个点构成的子路径是否经过NFZ区域的方法为: 假设NFZ区域的内部不允许无人机通过,而NFZ区域的边允许通过,若该子路径与NFZS中的任意一条对角线相交,则判定该子路径经过了NFZ区域,需要启动避障处理。若该子路径与NFZS中的所有对角线都不相交,则判定该子路径不经过NFZ,不需要避障处理。
本实施例运用Dijkstra算法进行避障处理,包括:将构成子路径的两个点和N类点集合VSN中的所有点组合成一个点集合,用这个点集合构建无向图;然后以子路径的起点为起点,子路径的终点为终点,在无向图上运行Dijkstra算法,得出从起点到终点的最短路径,这个最短路径即为避障子路径。
本步骤的具体操作步骤为:
S210:按顺序从A类点集合VSA中取出两个点VAi,VAj,将这两个点组合成线段LSx =(VAi, VAj);
S220:判断LSx是否与集合NFZS中的任意一条对角线相交。若LSx与集合NFZS中的所有对角线都不相交,则将LSx添加到子路径矩阵PM中,即PM[i][j]=LSx,转到S240。若LSx与集合NFZS中的任意一条对角线相交,则转到S230,进行避障处理。
S230:运用Dijkstra算法对LSx进行避障处理。具体方法为:将LSx的顶点(VAi,VAj)和N类点集合VSN中的所有点组合成一个点集合,用这个点集合构建无向图;然后以VAi为起点,VAj为终点,在无向图上运行Dijkstra算法,得出从起点到终点的最短路径LSy,即为避障子路径,将避障子路径LSy添加到PM中,即PM[i][j]=LSy
S240:判断A类点集合VSA中是否任意两个点组成的线段都已经进行避障处理,若没有,则转到S210,否则,输出子路径矩阵PM。
步骤3:启动多个并行线程,每个线程使用一个SAACO算法计算规划路径,具体操作步骤为:
S310:通过随机产生多个参数向量来初始化自适应参数存档。随机产生的参数向量满足自适应参数最大值数组Cmax和自适应参数最小值数组Cmin约定的范围。参数存档的结构如图8所示。图8中,cj代表第j个参数向量,a代表参数档案中参数向量的数目,
Figure 144016DEST_PATH_IMAGE010
代表第j个参数向量的第i个参数值,f(cj)表示第j参数向量的适应度值,/>
Figure 881028DEST_PATH_IMAGE011
表示第j个参数向量的选择权重。SAACO算法的自适应参数有3个:解存档中解向量的数目n、每个线程的蚂蚁数目q和搜索解存档范围大小参数/>
Figure 404413DEST_PATH_IMAGE001
S320:根据参数向量的选择权重,利用赌轮法从参数存档中选择一个参数向量,用这个参数向量设置解存档中解向量的数目n。
S330:随机产生
Figure 132460DEST_PATH_IMAGE012
个解向量,计算每个解向量的适应度值,将解向量和它的适应度值存入解存档中。
解存档的结构如图9所示,图中,sj代表第j个解向量,
Figure 374085DEST_PATH_IMAGE013
代表第j个解向量的第i个变量值,f(sj)表示第j个解向量的适应度值,/>
Figure 649209DEST_PATH_IMAGE014
表示第j个解向量的选择权重。
解存档中,解向量为路径顺序经过的点的序列号组成的向量。一个解向量包含A类点集合VSA中的所有点,且每个点只包含一次。如解向量sj如下式:
sj=(4,3,2,1,0,5,6,7,8,11,10,9,12,13,14)
解向量sj对应的路径Pj如下式,对应的图形如图6所示。
Pj=P(VA4,VA3,VA2,VA1,VA0,VA5,VA6,VA7,VA8,VA11,VA10,VA9,VA12,VA13,VA14)
解向量的适应度值计算过程为:在解向量中,按从起始点到终点的顺序,依次将两个相邻点组成为子路径,查询子路径矩阵PM,得到避障子路径,组合所有避障子路径得到避障后路径。计算避障后路径的总飞行时间,设置适应度值为总飞行时间。
如图7所示,路径Pj中经过避障处理后的路径Pi为:
Pi=P(VA4,VA3,VA2,VA1,VA0,VA5,VA6,VA7,VN0,VN1,VA8,VA11,VA10,VA9,VA12,VA13,VA14)
该路径的长度为308.28米,转角和为630度,如果无人机平均角速度为30度/秒、平均飞行速度为10米/秒,则总飞行时间为:51.828秒,即适应度值为51.828。
S340:在解存档中按解向量的适应度值进行排序,质量好的解排在质量差的解的上部,保留解存档中排在上部的n个解,去除多余的解,得到刷新后的解存档。
S350:从参数存档选择一个参数向量作为基本向量,构造新的参数向量,将新的参数向量作为当前参数向量,用这个当前参数向量设置解存档的数目n、蚂蚁数目q和搜索解存档范围大小参数
Figure 620576DEST_PATH_IMAGE001
参数存档中第j参数向量的选择概率
Figure 955742DEST_PATH_IMAGE015
如下式所示:
Figure 746981DEST_PATH_IMAGE016
(1)
式中
Figure 825795DEST_PATH_IMAGE017
(2)
式中,
Figure 323773DEST_PATH_IMAGE018
为第j个参数向量的选择权重,/>
Figure 157737DEST_PATH_IMAGE019
表示第r个参数向量的选择权重,采用高斯函数进行计算,/>
Figure 108375DEST_PATH_IMAGE001
是搜索参数存档范围的大小,a是参数档案中参数向量的数目。
在构造新的参数向量时,根据参数向量中每个参数值的概率密度函数Pd(x),概率性地,每个参数值都通过公式(3)在它的附近邻域中选择一个新的参数值,这些新的参数值形成一个新的参数向量。Pd(x)如下式所示:
Figure 990880DEST_PATH_IMAGE020
(3)
式中:
Figure 907146DEST_PATH_IMAGE021
(4)
Figure 849694DEST_PATH_IMAGE022
是参数x、均值μ和均方差σ表示的高斯函数,ξ为收敛速度,/>
Figure 84367DEST_PATH_IMAGE023
是第j个参数向量的第i个参数值,/>
Figure 504984DEST_PATH_IMAGE024
表示为是第r个参数向量的第i个参数值。
S360:蚂蚁从解存档中选择一个解向量,进行反转和插入操作,构造出新的解向量。以50%概率选择反转操作,以50%的概率选择插入操作。
假设x、y是两个随机数,m是解向量的维数,且1≤x<y≤m,si为选择的解向量,如下式:
Figure 977553DEST_PATH_IMAGE025
(5)
其中,s i x-1s i 在x-1位置的分量,s i x s i 在x位置的分量,s i y-1s i 在y-1位置的分量,
Figure 418899DEST_PATH_IMAGE026
s i y位置的分量,s i y+1s i 在y+1位置的分量,/>
Figure 344130DEST_PATH_IMAGE027
s i 在m位置的分量。
反转操作将解向量si中,从x到y位置的分量进行反转,反转操作后的解向量如下式:
Figure 568438DEST_PATH_IMAGE028
(6)
插入操作将解向量si中,y位置的分量插入到x位置,插入操作后的解向量如下式:
Figure 692251DEST_PATH_IMAGE029
(7)
S370:计算新的解向量的适应度值,将新的解向量和它的适应度值存入解存档中。
S380:判断是否达到最大蚂蚁数目,若没有,则转到S360;若达到最大蚂蚁数目则退出循环,转到S390。
S390:刷新解存档(方法同S340)。将蚂蚁构造的q个新解中最优解的适应度值作为当前参数向量的适应度值。将当前参数向量和它的适应度值添加到参数存档中,刷新参数存档(刷新方法参照S340)。判断是否达到最大迭代次数,若没有,则转到S350,若达到最大迭代次数则退出循环,获取并输出本线程的最优解,退出线程。
步骤4:等待所有并行线程结束后,在多个线程的最优解中,取适应度值最小的最优解作为算法最优解。
步骤5:将算法最优解转换为最优路径,输出最优规划路径。
实施例2:
现本发明所提出的一种基于并行自适应蚁群算法的无人机覆盖路径规划方法进行平台开发和仿真验证。
并行自适应蚁群算法的无人机覆盖路径规划平台利用Visual Studio为开发工具,以C#开发语言。开发的平台针对多个地图场景,采用牛耕法、波前法、螺旋法、模拟退火法、蚁群法等对场景地图实施路径规划。规划的路径能够以图形化的方式展示,也以文件形式保存结果。平台的主界面如图10所示,平台的结果保存文件如图11所示。
现利用路径规划平台进行多类验证实验,实验中使用了3个不同场景,分别命名为CPP model1、CPP model2和CPP model3,对应的场景图分别为图14、图15和图16。
(1)自适应参数验证实验。通过实验,对比了人工设定参数与自适应参数配置两种方案的算法性能。部分实验结果如表1,实验结果证明了自适应参数能够获得更优异的规划路径。
表1 人工设定参数与本发明方法的性能对比
Figure 976602DEST_PATH_IMAGE031
(2)并行计算实验。通过实验,对比了采用不同的并行线程数目的算法性能。部分实验结果如表2,实验结果证明了提升线程的数目可以获得更优异的规划路径。
表2 采用不同的并行线程数目的算法性能对比
Figure 389129DEST_PATH_IMAGE033
(3)与其他算法的比较实验。通过实验,对比了本发明算法与来回法、螺旋法和波前法在CPP model1CPP model2下的性能差异。部分实验结果如表3,实验结果证明了本发明所提算法获得的规划路径比其它算法获得的路径更优异。
表3 本发明算法与来回法、螺旋法和波前法的性能对比
Figure 980910DEST_PATH_IMAGE035
(4)与其他文献的比较实验。本发明算法与现有文献(J Valente, J.D.C.A.B. DSanz, Frutos, M.: Near-optimal coverage trajectories for image mosaicingusing a miniquad-rotor over irregular-shaped fields. Precision Agriculture14, 115–132 (2013))公开的基于深度有限搜索算法的规划路径方法进行比较实验,实验结果如图12所示,图12中的(a)图为采用文献提及的方法得到的路径,(b)图为采用本发明算法得到的路径,实验结果证明了本发明所提算法能提供更优异的路径。
(5)本实验对真实场景进行了建模、运用平台算法进行了路径规划,并对规划路径进行了Gazebo仿真。仿真结果表明,算法能够规划出可供无人机实际使用的、优异的覆盖飞行路径。Gazebo仿真如图13所示。
通过大量各类实验,证明本发明所提算法具有非常优异的路径规划性能,规划的路径在飞行时间、能耗等指标上具有明显的优越性。Gazebo仿真证明了算法具备实际可用性,规划的算法可以直接在无人机上使用。

Claims (4)

1.一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,其特征在于:包括以下步骤:
步骤1:获取需实施覆盖路径规划的CPP区域和在CPP区域内需要避开的NFZ区域,对CPP区域和NFZ区域进行栅格处理,得到由多个CPP栅格构成的CPP区域,以及得到由多个NFZ栅格构成的NFZ区域,取每个CPP栅格的中心点作为一A类点,以此创建A类点集合VSA;取每个NFZ栅格的顶点作为一N类点,以此创建N类点集合VSN;以每个NFZ栅格的对角线为元素,创建集合NFZS;每个A类点和每个N类点均有唯一的序列号;
步骤2:判断A类点集合VSA中任意两个A类点构成的子路径是否经过NFZ区域,若子路径与集合NFZS中所有的对角线都不相交,则判定该子路径不经过NFZ区域,将该子路径记录在子路径矩阵中;若子路径与集合NFZS中的任意一条对角线相交,则判定该子路径经过NFZ区域;对于经过NFZ区域的子路径,取N类点集合VSN中的所有点和构成该子路径的两个A类点,组合成一个点集合,用这个点集合构建无向图,以该子路径的起点为避障后起点,以该子路径的终点为避障后终点,采用Dijkstra算法,在无向图上求解出从避障后起点到避障后终点的最短路径,该最短路径为避障子路径,将该避障子路径记录在子路径矩阵中;
步骤3:采用多个并行线程,每个线程通过SAACO算法,得到当前线程的最优解;
步骤4:当所有并行线程结束后,从多个线程的最优解中选出最好的一个解作为算法最优解;
步骤5:将算法最优解转换为最优路径,该最优路径为无人机覆盖最优规划路径;
其中,步骤3中,所述的通过SAACO算法,得到当前线程的最优解,包括以下子步骤:
S310:通过随机产生多个参数向量来初始化参数存档,所述参数存档中存储有多个参数向量、每个参数向量的适应度值和每个参数向量的选择权重;每个参数向量拥有多个参数值;所述参数值包括解存档中解向量的数目n、每个线程的蚂蚁数目q和搜索解存档范围大小参数η;
S320:从参数存档中选择一个参数向量,用这个参数向量中对应的参数值设置解存档中解向量的数目n;
S330:随机产生2×n个解向量,计算每个解向量的适应度值,将解向量和它的适应度值存入解存档中;所述解存档中存储有n个解向量、每个解向量的适应度值和每个解向量的选择权重;该解向量为路径顺序经过的点的序列号组成的向量;每个解向量包含A类点集合VSA中所有的A类点,且每个A类点只出现一次;所述解向量的适应度值为:将解向量对应的路径在步骤2的子路径矩阵中查询,得到避障后路径,该避障后路径的总飞行时间为该解向量的适应度值;
S340:对解存档中的解向量按照适应度值进行排序,仅保留前n个解向量;
S350:从参数存档选择一个参数向量作为基本向量,利用基本向量构造新的参数向量,将新的参数向量作为当前参数向量,用当前参数向量中对应的参数值设置解存档的数目n、蚂蚁数目q和搜索解存档范围大小参数η;
S360:每个蚂蚁依据自身搜索解存档范围,从解存档中选择一个解向量,通过对该解向量进行反转和插入操作,构造出新的解向量;计算新的解向量的适应度值,并将该新的解向量和它的适应度值存入解存档中;直至q个蚂蚁全部完成;
S370:对解存档中的解向量按照适应度值进行排序,仅保留前n个解向量;
S380:将蚂蚁构造的q个新解中最优解的适应度值作为当前参数向量的适应度值,将当前参数向量和它的适应度值存入参数存档中,存入后,将参数存档中的参数向量按照适应度值进行排序,仅保留前a个参数向量,其中a为参数档案中参数向量的数目;
S390:判断是否达到最大迭代次数,若没有,则转入S350:否则退出循环,得到当前线程输出的最优解;
在S330中,所述的将解向量对应的路径在步骤2的子路径矩阵中查询,得到避障后路径,具体包括:
在解向量中,按起始点到终点的顺序,依次将两个相邻的点组成子路径;
将该子路径在子路径矩阵中查询,得到避障子路径;
组合所有避障子路径,得到避障后路径;
在S350中,所述的利用基本向量构造新的参数向量,具体包括:
根据基本向量中每个参数值的概率密度函数Pd(x),在每个参数值的邻域中提取一个新的参数值;
由新的参数值形成新的参数向量;
每个参数值的概率密度函数Pd(x),表示为:
Figure FDA0004006540740000021
式中
Figure FDA0004006540740000022
其中,f(x,μ,σ)为由参数x、均值μ和均方差σ表示的高斯函数,ξ为收敛速度,
Figure FDA0004006540740000031
为第j个参数向量的第i个参数值,a为参数存档中参数向量的数目,
Figure FDA0004006540740000032
为第r个参数向量的第i个参数值。
2.根据权利要求1所述的一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,其特征在于:在所述的取每个NFZ栅格的顶点作为一N类点,以此创建N类点集合VSN之前,还包括:对于由多个NFZ栅格构成的NFZ区域,将存在公共边的NFZ栅格进行合并,得到合并后的NFZ栅格;
将合并后的NFZ栅格的顶点作为N类点,以此创建N类点集合VSN。
3.根据权利要求1所述的一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,其特征在于:在S320中,根据参数向量的选择权重,利用赌轮法从参数存档中选择一个参数向量,用这个参数向量中对应的参数值设置解存档中解向量的数目n。
4.根据权利要求1所述的一种基于并行自适应蚁群算法的无人机覆盖路径规划方法,其特征在于:在S360中,所述的通过对该解向量进行反转和插入操作,构造出新的解向量,具体包括:通过对该解向量以50%概率进行反转操作,以50%概率进行插入操作,构造出新的解向量。
CN202211373535.4A 2022-06-20 2022-11-04 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法 Active CN115421522B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022106975851 2022-06-20
CN202210697585.1A CN114911270A (zh) 2022-06-20 2022-06-20 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法

Publications (2)

Publication Number Publication Date
CN115421522A CN115421522A (zh) 2022-12-02
CN115421522B true CN115421522B (zh) 2023-03-24

Family

ID=82771917

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210697585.1A Withdrawn CN114911270A (zh) 2022-06-20 2022-06-20 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法
CN202211373535.4A Active CN115421522B (zh) 2022-06-20 2022-11-04 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210697585.1A Withdrawn CN114911270A (zh) 2022-06-20 2022-06-20 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法

Country Status (1)

Country Link
CN (2) CN114911270A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149374B (zh) * 2023-04-19 2023-07-21 南京信息工程大学 一种多无人机覆盖路径规划方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050953B2 (en) * 2002-05-22 2006-05-23 Bigwood Technology Incorporated Dynamical methods for solving large-scale discrete and continuous optimization problems
CN103781146A (zh) * 2014-01-22 2014-05-07 南昌大学 基于蚁群算法的无线传感器网络最优路由路径构建方法
CN108932876B (zh) * 2018-08-14 2021-07-06 湖北工业大学 一种引入黑区的a*和蚁群混合算法的快递无人机航迹规划方法
CN110793522B (zh) * 2019-07-24 2021-04-06 西安电子科技大学 一种基于蚁群算法的航迹规划方法
CN110433467B (zh) * 2019-08-13 2021-02-12 南京邮电大学 基于双目视觉和蚁群算法的捡乒乓球机器人运行方法及设备
CN113110520B (zh) * 2021-05-26 2022-08-09 重庆邮智机器人研究院有限公司 一种多智能优化并行算法的机器人路径规划方法
CN114323019A (zh) * 2021-11-30 2022-04-12 潍坊中科晶上智能装备研究院有限公司 一种复杂环境下农用机械全覆盖路径规划方法

Also Published As

Publication number Publication date
CN115421522A (zh) 2022-12-02
CN114911270A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
CN107169608B (zh) 多无人机执行多任务的分配方法及装置
Edison et al. Integrated task assignment and path optimization for cooperating uninhabited aerial vehicles using genetic algorithms
CN111664852B (zh) 一种无人机路径规划方法及装置
CN110703752B (zh) 免疫遗传-人工势场法的无人艇双层路径规划方法
CN111678524B (zh) 一种基于飞行安全的救援航空器路径规划方法及系统
Xu et al. Bits: Bi-level imitation for traffic simulation
Wang et al. Rank-driven salp swarm algorithm with orthogonal opposition-based learning for global optimization
CN115421522B (zh) 一种基于并行自适应蚁群算法的无人机覆盖路径规划方法
CN109765890B (zh) 一种基于遗传算法的多usv群体协同避碰规划方法
CN111667124A (zh) 无人机路径的规划方法及装置
CN115829179B (zh) 一种舰船路径规划方法及装置
Xue et al. Multi-agent deep reinforcement learning for uavs navigation in unknown complex environment
Zeng et al. Robotic global path-planning based modified genetic algorithm and A* algorithm
Mokhtari et al. Safe deep q-network for autonomous vehicles at unsignalized intersection
CN116880561A (zh) 基于改进粒子群无人机路径规划安全增强的优化方法及系统
CN111693049B (zh) 一种无人船覆盖投食的动态路径规划方法及设备
Yang et al. Learning graph-enhanced commander-executor for multi-agent navigation
Zeng et al. Efficient path evaluation for AUVs using adaptive B-spline approximation
Huang et al. An artificial swan formation using the finsler measure in the dynamic window control
Cheng et al. Local perception-based intelligent building outline aggregation approach with back propagation neural network
Cui et al. Ellipse loss for scene-compliant motion prediction
CN115493591A (zh) 一种多航路规划方法
CN114527759A (zh) 一种基于分层强化学习的端到端驾驶方法
Chen et al. Q‐EANet: Implicit social modeling for trajectory prediction via experience‐anchored queries
Hong et al. Maximizing Particle Coverage with Fixed-Area Rectangles

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230531

Address after: No. 16 Qinye Road, Yongning Street, Pukou District, Nanjing City, Jiangsu Province, 211801

Patentee after: Nanjing Juxin Information Technology Co.,Ltd.

Address before: 210044 No. 219 Ning six road, Jiangbei new district, Nanjing, Jiangsu

Patentee before: Nanjing University of Information Science and Technology

TR01 Transfer of patent right