本发明设计无人机协同技术领域,主要涉及一种基于粒子群算法的多无人机对多个动态未知目标协同搜索的方法。
背景技术:
近年来,得益于传感器、微处理器、信息处理的迅速发展,无人集群系统的功能快速增加,利用多架无人机对未知环境进行目标搜索已成为应用的趋势。其研究成果在军事侦察、搜救、地质勘察方面都有很大的应用价值。利用多架无人机对一个未知区域同时进行搜索的目的在于快速获取搜索区域内的目标及高动态环境信息,以最大概率和最小代价搜索到未知目标。
目前粒子群算法主要解决单架无人机在较小区域内存在威胁的情况下从起点寻到终点寻找一条威胁代价较小的路径,并不适用于高动态环境。首先单架无人机搜索时间长,搜索效率低;其次,在路径规划中,现有的研究大多只关注已知的目标,适应度函数只与解点到目标的距离有关。由于初始值设置的随机性,导致在解的空间搜寻过程中容易错失最优解进而陷入局部最优,其精度大大降低。在目标未知或情况复杂的情况下,这种评估是不能胜任的任务。本方法提出了一种新的方法来有效实现在高动态环境中,无人机集群对多个动态未知目标进行协同搜索和跟踪,避免陷入局部最优,减少路径重叠。
技术实现要素:
本发明的目的是克服现有技术的不足,提供一种多无人机协同目标搜索方法。
为了达到上述目的,本发明采用的技术方案如下:
为了便于描述环境信息,减少计算量,本发明使用栅格化地图来描述搜索空间。
为了引导无人机尽可能快的搜索到目标,本发明使用粒子群算法综合目标可能出现的位置、当前无人机状态,优化出无人机下一个最优航点。
为了达到联合搜索的目标,减少路径重叠,减少搜索任务整体耗时,本发明设计了一种机间通信机制,使得无人机能够感知到尽可能多的全局信息。
为了使得无人机尽可能快速的跟踪目标,本发明设计了一种任务分配机制,引导最优的无人机跟踪最优目标,从而提升任务执行效率。
本发明一种基于粒子群算法的多无人机对多个动态未知目标协同搜索的方法,包括以下步骤:
s1:将二维搜索空间以栅格的形式离散化,用栅格法构建环境地图;
s2:采用多粒子群算法对多无人机进行协同路径优化,即针对每一架无人机单独使用一个粒子群进行引导,根据无人机感知到的环境信息,优化出该无人机下一个最优航迹点,从而引导无人机群实现最优化的搜索;
s3:将全局最优点坐标视为无人机下一时刻的航迹点坐标,无人机跟踪该航迹点坐标,更新无人机的运动状态,引导无人机走向最需要探索的区域;
s4:无人机运动状态更新的同时,向通信约束内的其他无人机发送数据串,数据串主要包括:
1)无人机侦察到的目标位置及目标是否被跟踪更好的无人机跟踪;
2)可能存在目标或者可能不存在目标的栅格编号列表;
3)已被侦察过的栅格的最近侦察时间以及当时是否存在目标;
s5:当任意一架无人机i在探测半径内发现目标时,启动目标分配机制,选择匹配度最高的无人机追踪目标;
s6:重复s2,s3,s4和s5,直至多个目标完全被跟踪为止。
目前,基于仿生学的无人机集群协同算法通过模拟生物群落的行为来实现分布式自组织控制,具有计算简单、鲁棒性好等优点。而其中最为突出的是模拟鸟类迷失的粒子群算法。然而,在路径规划中,现有的研究大多只关注已知的目标,适应度函数只与解点到目标的距离有关。由于初始值设置的随机性,导致在解空间搜索过程中容易陷入局部最优,影响搜索效率。针对现有技术存在的问题,本发明提供一种基于粒子群算法的多无人机对多个动态未知目标协同搜索的方法。该方法可以解决搜索时间长,搜索效率低问题。
附图说明
图1为本发明实施的流程图;
图2为粒子群算法流程图;
图3为粒子分布范围图;
图4为栅格地图;
图5为无人机和目标的初始位置图;
图6为靶机轨迹和任务分配实施结果图;
图7为9架无人机对3个未知动态目标协同搜索的仿真结果图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
本发明的实施方式是一种基于粒子群算法的多无人机对多个动态未知目标协同搜索的方法。如图1所示,包括以下步骤:
s1:用栅格法构建环境地图。整个搜索区域看做二维矩形空间ω∈r2,其长度和宽度分别为lx和ly。将其划分为面积大小相同的m=nx×ny个正方形网格。每一个网格位置视为一个单元c=[x,y]t,其中x和y为该单元的中心点在任务区域内的坐标。
s2:采用多粒子群算法对多无人机进行协同路径优化设计;
s21:初始化粒子种群的数量,每一个粒子种群所对应的粒子的个数m、惯性权值w、最大允许迭代次数cnt_max;
s22:初始化多无人机系统的状态,给出n架无人机出发的位置,同时完成每一架无人机对应的粒子群所在位置初始化;
其中,设每一个粒子种群分别对应一架无人机,每一架无人机对应一个粒子群,粒子随机分布范围如图3所示为:以无人机当前位置为圆心,无人机探测半径r和无人机在迭代时间内最远能到达的距离的圆环之间。
s23:计算每个粒子的适应值。适应值越大,粒子所在位置越优。
其中,无人机k对应粒子i的适应值函数为:
其中,n为目标总数量;i为粒子编号;j为目标编号;k为无人机编号;ω1为跟踪因子;ω2为探索因子;dik为无人机k与粒子i的距离。
进一步的,其中粒子i所在位置存在目标j的概率pij表示为:
其中,τ为记忆衰减因子;t为栅格被搜索次数;r为栅格总数;y为已经搜索过的栅格数。
进一步的,其中无人机k与存在目标j的匹配程度cjk表示为:
其中,djk为目标和无人机的距离。
进一步的,其中目标j是否未被与之更匹配的无人机跟踪tj表示为:
进一步的,其中粒子i所在栅格待探索的迫切性si表示为:
s24:在每一次迭代过程中,对粒子的速度和位置进行更新,粒子j所在栅格的信息按下式进行更新:
标准微粒群算法进化方程如下:
其中,vi(t),xi(t)分别表示粒子i第t次迭代在n维空间中的速度与位置,ω为惯性权重,c1,c2分别表示微粒的认知系数和社会系数,r1,r2为变化范围在(0,1)内的随机值。pi={pi1,pi2,...pin}和pg={pg1,pg2,...pgn}分别表示微粒i的最优经验位置与群体所有微粒的最优经历位置。
式(6)中,第一个等式右边第一部为速度惯性,用于保证算法的全局搜索能力;第一个等式右边第二部为“认知(cognition)”部分,用于表示微粒对自身的认识与思考;第一个等式右边第三部分为“社会(social)”部分,用于表示微粒之间的信息交流与共享。第二、三部分主要表示算法的局部搜索能力,
其中,个体历史最优经验pi的更新公式为:
其中,fitness()表示适应值函数。种群历史最优经验pg的更新公式为:
s25:执行s23和s24直到满足粒子群中每个粒子的局部最优都接近全局最优为止,整个粒子群完成一次迭代。
s3:将全局最优点坐标视为无人机下一时刻的航迹点坐标。根据对应粒子群的全局最优位置,按照无人机的运动学方程,更新无人机的运动状态。引领无人机走向最需要探索的区域;
s4:无人机运动状态更新的同时,向通信约束内的其他无人机发送数据串,主要包括:
1、无人机侦察到的目标位置及目标是否被跟踪更好的无人机跟踪。
2、可能存在目标或者可能不存在目标的栅格编号列表。
3、已被侦察过的栅格:最近侦察时间、当时是否存在目标。
s5:当任意一架无人机i在探测半径内发现目标时,它将启动目标分配机制。
其中,向通信约束内的其他无人机发送数据串式中:
uj为发现目标的无人机序号和无人机的当前位置信息;tk为发现的目标序号和目标的坐标信息;为无人机j飞到目标k的代价,在这里我们设定为无人机i与目标k距离。确定代价最小的无人机执行对目标k的跟踪任务,其他无人机继续执行之前的任务。
进一步的,各个无人机计算出自身与此目标的匹配程度,并让匹配程度最高的无人机前去跟踪此目标,从而达到种群之间的合作与共享。
s6:重复s2,s3,s4和s5,直至多个目标完全被跟踪为止。
为了测试本发明的效果,本发明针对高动态目标进行搜索与跟踪的场景进行matlab仿真,以无人机群搜索过程以及目标的可到达情况作为算法性能评估的指标。
取仿真场景为一个100kmx100km正方形区域。图5为无人机和目标的初始位置,目标0、1、2的初始位置为(50km,20km),(70km,60km),(40km,70km),初始速度都为150m/s,初始角度为随机值。无人机0、1、2、3、4、5、6、7、8的初始位置分别为(0km,0km),(0km,10km),(0km,20km),(0km,30km),(0km,40km),(0km,50km),(0km,60km),(0km,70km),(0km,80km)。初始速度为随机速度,初始角度为0°,无人机的探测半径为8km,最大通信半径为100km。惯性权重ω为1,认知系数c1为2,社会系数c2为2,每个粒子群粒子个数为100,跟踪因子ω1为8,探索因子ω2为1。
图6(a)表示,无人机3率先发现目标1,此时进行任务分配,由于无人机3离目标1更近,分配无人机3对目标1进行跟踪。图6(b)表示,在无人机3转弯过程中,由于目标高速运动。无人机2看到了目标并且此时离目标最近,因此分配无人机2追踪目标1。无人机3继续执行其它目标的搜索任务。减少搜索代价。同时从图6可看出,无人机之间通过机间通信和信息交互引导无人机倾向于探索未探测过的区域,从而减少路径重叠。
图7表示,无人机2完成对目标1的搜索与跟踪。无人机7完成对目标2的搜索与跟踪。无人机5完成对目标0的搜索与跟踪。通过上述仿真实验证明,本发明所述的一种基于粒子群算法的多无人机对多个未知动态目标协同搜索方法能有效地实现在高动态环境内多无人机之间的协同,实现对多未知动态目标的搜索和跟踪。