system: [SYSTEM]

user: 2. 集群协同搜索问题建模 2.1. 问题描述 假设存在一块 l × l 的矩形目标区域，区域中可能存在火灾点或者受难人员，但其具体位置信息未知。现在使用无人机集群对该区域进行搜索，要求尽量提高覆盖率从而减小环境信息的不确定度。 考虑到现实环境和硬件制约，无人机的运动需遵循以下规则： 1) 运动具有连续性。 2) 无人机的通信距离有限。 3) 个体之间存在最小距离。 从物理学的角度，规则1) 是集群必须遵守的物理学原理，因为无人机不可能从区域的一端跳跃到另一端，它需要一个持续的运动过程。其中规则2) 考虑的是无人机的通信约束，现实生活中的无人机，由于硬件成本以及通信技术的限制，无人机的通信距离不可能无限远。规则3) 也非常有必要，为了保证无人机集群能够顺利地执行任务，个体之间的距离不能超过阈值，不然就可能发生碰撞而撞毁。 在遵循这些规则的前提下，如何使集群高效地完成搜索任务，本文对此进行了探究。 2.2. 集群控制算法 无人机集群对不确定区域执行搜索任务，其行为过程类似于蚁群等生物群体在未知环境中寻找食物，应当具有一定的自主性和鲁棒性。如果将每一架无人机都类比为生物个体，则可将无人机集群看作是一类特殊的生物群体。 描述生物群体的运动，1987年Reynolds [ 8 ] 提出了一个经典的Boids模型，它遵循以下三个规则，如图1所示。 1) 集聚。 2) 对齐。 3) 分离。 图1. Boids模型聚集、对齐、分离规则 其中：规则1) 描述的是群体中的个体都有着向自身邻域中心运动的趋势，这是因为处于集群边缘的个体往往受到外界更大的威胁，向邻域中心运动可以减小这种威胁。规则2) 描述的是个体的速度方向会趋向于邻域中个体的平均速度方向，这能保证自身与群体的协同性，使自己不跑出所在的群体。规则3) 保证了个体的自身安全，使个体远离较近的其他个体。 然而对于执行搜索任务的无人机集群而言，直接应用这些规则并不合适。因为商业应用的无人机一般不存在威胁，并且如果考虑威胁可以使用很多其他比“聚集”更有效的技术手段来应对，而且为了保证覆盖率，无人机并不需要向着同一方向运动。 经过分析，本文将区域协同搜索的无人机集群的运动规则改进如下： 1) 离心。个体具有远离邻域中心的运动趋势。 2) 无序。无人机个体具有使速度方向各异的趋势。 3) 分离。无人机之间存在最小距离。 4) 惯性。无人机具有保持上一时刻速度方向不变的趋势。 5) 随机。无人机在每个时刻有个随机运动的趋势。 6) 反向。当无人机飞出目标搜索区域时，其反向飞行。 基于Boids模型改进和增加的这些规则，都是根据任务特性以及科学的逻辑来制定的，可以让集群充分散布到目标区域，从而提高集群的覆盖率，减小区域的不确定度。其中：规则1) 的目的是让无人机个体向着无人机数量较少的地方运动；规则2) 让无人机的运动方向各异，从而提高搜索效率；规则3)是为了保证无人机自身的安全；规则4) 是使无人机具有向前运动的趋势，防止无人机在短时间内对搜索过的区域进行重复搜索；规则5) 让无人机具有一个随机运动的趋势，使得无人机集群在理论上能以概率1对目标区域实现全覆盖；规则6) 保证无人机不会飞出目标区域。 假设第i架无人机在t时刻的速度和位置分别为 v i t 和 x i t ，根据以上运动规则，则有： { v i t + 1 = v i t + c 1 a 1 + c 2 a 2 + c 3 a 3 + c 4 a 4 + c 5 a 5 x i t + 1 = x i t + v i t + 1 (1) 式中 a 1 ~ a 5 分别表示规则1)~5)产生的加速度， c 1 ~ c 5 是权重，表示各个规则对无人机的速度的影响程度。对于无人机个体i，其速度和位置更新的具体算法如表1： Table 1 The UAV swarms’ speed and position updating algorith Algorithm 1: Speed and position updating algorithm 1 for ∃ i ∈ n do 2 a 1 = ( 1 − 1 r | x i t − x ¯ i t | ) ( x i t − x ¯ i t ) 3 a 2 = ( 1 − 1 r | x i t − x ¯ i t | ) ( v i t − v ¯ i t ) 4 a 3 = ∑ j = 1 m 1 r c ( x i t − x j t ) 5 a 4 = c v i t | v i t | 6 a 5 = R a n d o m ，         s . t .       | a 5 | ≤ | v max | 7 v i t + 1 = v i t + c 1 a 1 + c 2 a 2 + c 3 a 3 + c 4 a 4 + c 5 a 5 8 if | v i t + 1 | > | v max | then 9 v i t + 1 = v i t + 1 | v i t + 1 | ⋅ | v max | 10 end 11 if x i t ∉ S l × l ∧ v i t ⋅ ( s ¯ − x i t ) < 0 then 12 v i t + 1 = − v i t + 1 13 end 14 x i t + 1 = x i t + v i t + 1 15 end 表1. 无人机集群速度和位置更新算法 算法中r表示无人机的通信距离， x ¯ i t 和 v ¯ i t 分别表示处于通信范围内无人机个体(不包含自身)的平均位置和速度，具体计算见公式(3)和公式(4)； r c 为距离阈值，当无人机之间的距离小于 r c ，则会相互分离，m为 r c 范围内的其他无人机数量， s ¯ 为搜索区域的几何中心。 k = N e i g h ( x i t ， r ) (2) x ¯ i t = { x i t                                                                                                 k = 0 1 k ∑ j = 1 k x j t                                                         k ≠ 0 (3) v ¯ i t = { v i t                                                                                                           k = 0 1 k ∑ j = 1 k v j t                                                                   k ≠ 0 (4) 式中 N e i g h ( x i t ， r ) 是一个邻域函数，表示无人机 x i t 周围半径r范围内的其他无人机数量。 2.3. 搜索效率评估 评估构建的协同搜索算法优劣，覆盖率是一个非常合适的指标 [ 7 ] [ 9 ] [ 10 ]，其具体含义是无人机侦察覆盖的总面积与目标区域面积之比。其主要有以下几种类型： 1) 瞬时覆盖率 C t = ∪ i = 1 ， ⋯ ， n S i t S (5) 表示某个时刻无人机总的覆盖面积与目标区域面积之比，可以体现该时刻无人机在空间上的分布情况。其中 S i t 为t时刻第i架无人机覆盖面积，S为目标区域的总面积。适合用来评估对每个时间点都有要求的任务，比如监视动物群，要求每个时刻处于无人机集群视野范围之内动物的数量不能少于90%。 2) 持续覆盖率 C c o n = ∩ t = 0 ， ⋯ ， T ( ∪ i = 1 ， ⋯ ， n S i t ) S (6) 表示整个任务执行时间内都处于无人机覆盖范围内的区域面积与总的目标区域面积之比。适合于评估某些特殊任务，比如对重要目标的监视，要求目标时刻处于监视之下。 3) 总覆盖率 C t o t a l = ∪ t = 0 ， ⋯ ， T ( ∪ i = 1 ， ⋯ ， n S i t ) S (7) 表示整个时间段内，无人机总的覆盖面积与目标区域面积的比值。适用于实时性要求不高的任务，比如土地测绘、喷洒农药等，只要求无人机对每一个地区经过一次。 覆盖率的计算是比较复杂的，特别是当无人机数量非常多的时候，这涉及计算每一个无人机的覆盖面积，然后求和并减去重复的覆盖面积，计算量往往很庞大。为了克服这个问题，文献 [ 11 ] 提出了一种空间分布熵的方法来衡量无人机在空间分布上的性能，可以极大地简化计算量。其具体思想是，将目标区域用Voronoi图划分，然后统计每个子区域上的无人机数目，最后通过公式 H = − ∑ i = 1 n p i ln ( p i ) 计算熵。但是该方法也有局限，Voronoi图的划分具有一定的主观性，划分结果不同，最终的熵也会不同。并且它不能体现子区域上无人机数量一样，但分布不一样时，无人机集群性能的差别。随着计算机硬件以及软件的发展，很多计算问题已经变得相对简单，借助图像处理技术，本文选取总覆盖作为集群区域协同搜索的评估指标。