集群编队控制有集中式和分布式两种。集中式控制需要一个控制中心,受限于中心计算机计算资源的限制,无法做到大规模编队,且中心计算机被击毁后,系统将失控。
分布式控制没有一个中心点对集群进行控制,通过集群中相邻个体之间的信息交换实现编队控制,理论上编队可以做到无穷大,而且集群系统的灵活性、可扩展性、鲁棒性更高。
1.分布式控制的几种控制方式
1.1 基于长机-僚机的分布式编队控制方法
其基本思想为leader-follower机制,是一种类似于树的结构,由优先级高的节点向优先级低的节点传送信息,层层下达,以实现无人机集群的控制。这种方法是自上而下的信息传输,没有精确的队形反馈,如队列中出现故障无人机、导致了信息传送不到位等,系统将处于瘫痪。
1.2 基于行为的分布式编队控制
根据对无人机系统实施控制后所期望产生的行为模式,对每个无人机的个体行为规则和局部控制方案进行设计,得到一个“行为库”并储存于编队控制器中。当无人机系统得到指令后,会根据指令在行为库中选取行为并执行。无人机之间的协调则依赖于无人机之间的位置、状态输入值等信息的共享,每架无人机需获取周围无人机的信息。这种方式的实现较为简单、计算量较小,但只能描述事前设计的、有限的动作,难以实现复杂、精确的控制。
1.3 基于人工势场的分布式编队控制
无人机系统中的每一个个体,都与周边的其他无人机、环境产生相互作用。不同无人机之间需避免碰撞,故产生斥力场;不同无人机之间产生集群需要的引力场;无人机与障碍物之间产生斥力场;无人机与目标位置之间产生引力场。多种作用的合力下,无人机沿最小化势能方向运动。
1.4 基于虚拟结构的分布式编队控制
2.AirSim集群编队控制算法
这里的控制算法参考论文[2]实现,是一种比较接近于人工势场的方法。考虑以下三种情况:
- 避碰,考虑无人机与无人机之间的斥力场:
- 中心聚集,考虑无人机集群所需的引力场:
- 速度一致,考虑无人机与目标点之间的引力场:
其中,
- 为系数;
- 表示第个无人机周围的无人机,表示周围无人机的数量,一种选择方法为KaTeX parse error: Undefined control sequence: \and at position 16: N_i=\{j|j\neq i\̲a̲n̲d̲ ̲||r_{ij}||<r^{m…,即选择每个无人机半径范围内的无人机邻居;
- 为两架无人机之间的距离,为无人机到目标点之间的距离。
得到以上三个速度后,相加即为最终的无人机速度指令
对其进行限幅后为
[1] 技术分享 | 浅谈——四种集群分布式控制算法:https://www.bilibili.com/read/cv12625148/
[2] Schilling F , Lecoeur J , Schiano F , et al. Learning Vision-based Cohesive Flight in Drone Swarms[J]. 2018.