Contents — find the section you need
当数百架无人机在无人机表演中同时重新排列队形,或者当一群仓库机器人协同移动而不发生碰撞时,并不存在一个单一的“指挥中心”实时计算每个机器人的动作。在大多数情况下,每个机器人只是观察自身周围环境的有限信息,并遵循简单的规则——由此,群体整体便会呈现出有序且有意义的行为。本文从三个角度探讨了集群控制(多机器人控制)的概念——即如何用简单的部分构建复杂的整体:集群运动、共识形成和队形控制。
田野中的集群机器人 (Kilobot)图片:Kilobot 机器人集群 (asuscreative, CC BY-SA 4.0), Wikimedia Commons。
本文将介绍一个仅基于局部规则运行的群体机器人研究的典型案例,而非文中讨论的无人机或仓库机器人。
0. 本文内容
-
群体控制试图解决的问题,以及为什么单个机器人不足以应对
-
每个机器人实际可获取的信息(输入)与由此构建的输出(速度指令)之间的关系
-
集中式和分散式设计的架构差异
-
以Boids为代表的基于局部规则的集群控制的工作原理
-
通过共识算法形成共识的数学原理
-
三种编队控制方法之间的区别——领导者-跟随者、虚拟结构和基于行为的方法
-
通信约束(延迟、丢包、带宽)如何影响群体控制设计
-
针对不同应用场景(无人机表演、仓库机器人、灾害搜救等)应选择哪种方法
1. 总结:什么是群体控制
一句话概括:**群体控制是一种控制框架,它能够产生有意义的集体行为。群体控制——包括协同作战、保持队形、达成共识和分工——都是基于众多机器人各自掌握的有限信息和简单的行为规则而实现的。
关键在于“没有哪个机器人掌握着整体的蓝图”。正如鸟群没有指挥者一样,许多群体控制算法的设计理念是,每个机器人仅使用附近其他机器人(邻居)的信息,即使永远无法完全了解整个群体的状态,群体最终也能作为一个协调的整体协同行动。这种“利用局部信息构建全局秩序”的理念,正是群体控制与单机器人控制的根本区别。
2. 为什么需要群体控制?
如果一个问题可以由单个高性能机器人解决,那么就不需要群体控制。在实际应用中,当单个机器人无论在理论上还是实践中都处于劣势时,集群控制便会成为首选方案,例如:
-
空间覆盖范围:单个机器人需要花费太长时间才能搜索大型灾区或场地。将搜索任务分配给多个机器人,可以大致按机器人数量成比例地缩短搜索时间。
-
冗余和容错性:在单机配置中,一个机器人的故障会导致整个任务停止;而由多个机器人组成的集群,即使部分机器人退出,其余机器人也能继续执行任务。
-
多点同步作业:某些任务本身就需要同时出现在多个位置——例如在无人机表演中组成队形,或同时将货物运送到仓库中的多个地点。
-
单位成本:与其建造一个高性能机器人,不如使用多个简单、低成本的机器人,这样在总成本和部署灵活性方面更具优势。
要真正实现这些优势,仅仅增加机器人的数量是不够的——它需要控制律来防止机器人碰撞,同时保持集体行为与目标一致。这就是集群控制的作用。
3. 输入是什么?
每个机器人可用于集群控制的信息可以根据通信和传感设置分为以下几类:
-
自身状态:机器人自身的位置、速度和方向。通常通过 GPS、里程计或诸如 VIO/LIO 之类的自定位方法获得。
-
关于邻近机器人的相对信息:附近机器人的相对位置和速度,可通过摄像头、激光雷达或超宽带 (UWB) 测距等传感器直接观测。
-
通过通信接收的消息:其他机器人通过无线链路明确发送的位置、速度和意图(下一步的行进方向)信息。 (在集中式设计中)来自中央节点的指令:目标位置或角色分配由中央计算机(例如地面站)分发给各个机器人,该计算机跟踪整个集群的状态。
关键在于,许多实用的集群控制算法并不需要“整个集群的完整状态”作为输入。仅使用来自少数附近机器人的相对信息运行的算法是主流方法,这正是随着机器人数量的增长,每个机器人必须处理的信息量不会呈爆炸式增长的原因。
4. 我们求解的是什么?输出是什么?
集群控制最终为每个机器人输出的是它在下一时刻应该如何移动(速度指令或目标位置)。根据目标的不同,此输出旨在实现的“整体理想状态”可分为以下几类。
-
共识:使所有机器人的某个状态量(位置、速度或估计值)趋向于一个共同值。
-
编队:每个机器人持续与其他机器人保持指定的相对位置关系(三角形、直线、圆形等)。
-
集群:在没有明确目标形状的情况下,机器人群作为一个整体移动,在避免碰撞的同时与邻近机器人保持速度一致。
-
任务分配:决定每个机器人应该承担几个离散任务中的哪一个——例如搜索、运输。
所有这些都具有一个共同的结构,即“每个机器人的局部输出累积起来,满足整体的预期集体属性”——下一节的基本架构图将展示这个累积循环。
5. 基本架构
无论采用何种集群控制算法,每个机器人内部运行的处理循环大致遵循相同的四个阶段。
图 1 — 每个机器人持续运行一个高频循环:收集邻居信息、应用局部规则、发出速度指令,并将产生的运动反馈到下一个周期的感知中。
这种在多个机器人间同时运行的循环使得整个机器人群能够展现出有序的行为,即使没有单个机器人掌握完整的蓝图。“谁掌握整体信息”的设计决策导致了接下来要讨论的架构差异。
图 2 — 集中式架构是一种星型结构,其中中心节点了解每个机器人的状态并发出指令。分散式架构是一种网状结构,其中机器人仅与其邻居交换信息,因此中心节点的故障不会导致整个系统停止运行。
6. 代表性算法
Boids — 基于局部规则构建集群运动
Boids 是 Craig W. Reynolds 在其 1987 年发表的论文《Flocks, Herds, and Schools: A Distributed Behavioral Model》中提出的一个模型,用于在计算机图形学中重现鸟类和鱼类的集群运动。每个个体(boid)仅观察其邻居,并根据三个简单规则的加权和求和结果确定移动方向。
-
分离:远离距离过近的邻居
-
对齐:使自身速度与邻居的平均航向保持一致
-
凝聚:向邻居的平均位置移动
在这些规则中,个体所知道的仅仅是少数邻居的相对位置和速度——没有人会明确地追踪整个群体的形状或中心。然而,仅仅这三条规则的叠加,就产生了自然的集群运动:群体在作为一个整体共同移动的同时,避免了碰撞。这种现象——“由简单的局部规则叠加而产生的复杂全局模式”——是贯穿整个群体控制领域的最基本理念。
势场——利用吸引和排斥构建运动
Oussama Khatib 在其 1986 年发表的论文《机械臂和移动机器人的实时避障》中提出的人工势场方法,最初是为单个机器人的避障而设计的。但通过将指向目标的吸引势与来自邻近机器人的排斥势相结合,它自然也适用于群体控制。
只需沿着吸引势U_{\text{att}}(随着接近目标而减小)和排斥势U_{\text{rep}}(随着靠近邻近机器人而急剧增大)的梯度下降方向移动,即可产生指向目标并避免与其他个体碰撞的运动。Boids 分离规则本质上与这种排斥势的原理相同。
Vicsek模型与共识算法——共识形成的数学原理
Boids模型源于工程和视觉方面的动机——“重现动物的运动方式”——而物理学则另辟蹊径,通过一个更为简化的数学模型来研究群体运动。Vicsek模型由Tamás Vicsek及其同事于1995年在《物理评论快报》(Physical Review Letters)上发表,它是一个简单的模型——几乎可以看作是仅提取了Boids模型的排列规则——其中每个粒子以恒定速度运动,同时跟随其相邻粒子的平均方向,并加上噪声。该模型表明,根据噪声强度的不同,群体会在有序相和无序相之间发生相变。有序相中,整个群体协同运动;而无序相中,群体运动则较为分散。
共识算法是严格地用控制理论术语形式化Vicsek模型思想的框架。在Reza Olfati-Saber和Richard M. Murray等人于2004年在IEEE Transactions on Automatic Control上发表的论文所构建的框架中,每个机器人的状态x_i(可以是任何值——位置、方向、估计值)会持续更新,以缩小与邻近机器人之间的差异。
将所有机器人的状态汇总起来,得到\dot{\mathbf{x}} = -L\mathbf{x}。L是一个称为图拉普拉斯矩阵的矩阵,它代表了通信网络的结构——哪些机器人可以与哪些机器人通信。只要通信图是连通的(每对机器人之间都存在路径,无论是直接路径还是通过其他路径),仅凭这一简单的更新规则就能使每个机器人的状态收敛到一个共同值。这是共识算法的数学核心,它适用于群体对齐之外的广泛问题——时间同步、估计值的分布式平均等等。
编队控制——领航-跟随、虚拟结构和基于行为的控制
当需要保持特定的几何队形(例如三角形、单列纵队等)时,可以使用编队控制,这是一种目标更明确的框架。编队控制有三种典型的设计方法。
-
领航-跟随:一个机器人(或其子集)作为领航机器人,其他机器人跟随,并保持与其相对的位置关系。Jaydev P. Desai、James P. Ostrowski 和 Vijay Kumar 在 1998 年 ICRA 会议上提出的框架,以及随后在 2001 年 IEEE 机器人与自动化学报上发表的论文,就是一个典型的例子。该框架利用图论来明确地设计机器人之间的跟随关系。它直观易行,易于实现,但缺点是如果领航机器人出现故障,整个编队容易崩溃。
-
虚拟结构:M. Anthony Lewis 和 Kar-Han Tan 在 1997 年发表的论文《基于虚拟结构的移动机器人高精度编队控制》中提出了一种方法。该方法将整个编队视为一个虚拟刚体结构,每个机器人在该结构上保持固定位置。这种方法能够保持编队整体的高精度,但需要有人计算整个结构的目标轨迹,因此难以实现完全分散式设计。
-
基于行为:Tucker Balch 和 Ronald C. Arkin 在 1998 年发表于 IEEE 机器人与自动化学报的论文中提出了一种方法。该方法并行计算多个反应行为——“保持编队”、“朝向目标”、“避开障碍物”——并结合权重来生成实际运动。该方法与 Boids 算法类似,赋予每个机器人高度的自主性和鲁棒性,但编队的几何精度往往低于其他两种方法。
7. 算法差异
| 方法 | 原理 | 准确度(形成精度) | 通信/计算成本 | 鲁棒性(对部分故障/通信丢失的鲁棒性) | 实现难度 | |---|---|---|---|---|---|---| | 鸟群算法 | 三种规则的叠加:分离、对齐、凝聚 | 无显式形成(仅群体凝聚) | 低(仅少数邻居) | 高(无中心元素) | 低 | | 势场算法 | 基于吸引/排斥势的梯度下降 | 中等(取决于局部平衡) | 低 | 高 | 低 | | 共识算法(Vicsek/Olfati-Saber 族) | 更新规则,缩小与邻居的差异;通过图拉普拉斯算子保证收敛 | 精确收敛,取决于所商定的量 | 低(仅邻居通信) |如果通信图连通,则精度高 | 中等(需要对收敛性有数学理解) | | 领导者-跟随者 | 保持与领导者的相对位置 | 高(相对于领导者位置精确) | 中等(必须传播领导者信息) | 低(容易失去领导者) | 低 | | 虚拟结构 | 将整个编队视为一个刚体 | 非常高 | 高(需要计算整个结构的轨迹) | 中等(重新计算结构成本高) | 高 | | 基于行为 | 多个反应行为的加权组合 | 中等(取决于行为之间的权衡) | 低 | 高 | 中等(需要行为设计和调整) |
总的来说,越重视编队的几何精度(虚拟结构),所需的信息共享和计算成本就越高;越重视去中心化和鲁棒性(Boids,基于行为),编队自身的精度就越容易被牺牲。共识算法在理论上介于这两种极端情况之间,提供了一种可行的折衷方案,既能实现“严格的数学收敛性保证”,又能实现“仅需邻居通信的去中心化”。
8. 难点/复杂环境
群体控制在实现和运行中面临的许多困难都是群体特有的问题,这些问题在单机器人控制中并不存在。
-
通信延迟和断连:大多数共识算法的收敛性保证都假设通信图是连通的。在实际环境中,通信可能会因无线电范围或障碍物而中断或延迟,一旦这一假设不成立,就会出现问题——共识无法收敛,或者收敛到错误的值。
-
可扩展性:在集中式架构中,随着机器人数量的增加,中心节点的计算负载和通信带宽需求会急剧增长,超过一定数量后,将无法维持实时性能。即使在去中心化架构中,在邻居众多的密集环境中,感知和通信负载也会增加。
-
局部最小值和死锁:势场方法可能会使机器人陷入“局部最小值”,此时多个斥力和引力相互平衡,导致机器人无法到达目标(一个典型的例子是多个机器人同时试图进入狭窄通道时造成的拥堵情况)。
-
容错设计不足:理论上,去中心化设计对部分故障具有鲁棒性,但实际上,具有某些固有不对称性的设计(例如领导者-跟随者模式)可能会保留比预期更脆弱的故障模式。
-
混合异构机器人和传感器:在实际部署中,机器人模型和机载传感器并不统一,每个机器人获取信息的精度和频率也各不相同,基于单一理想模型的算法往往无法有效运行。
9. 实际选择
如何选择集群控制算法很大程度上取决于应用场景优先考虑的是“编队精度”还是“鲁棒性/去中心化”。
-
无人机表演:预定的轨迹和编队需要以极高的精度实现,许多生产系统采用接近集中式/虚拟结构的设计,将预先计算好的轨迹分配给每架无人机(精度和可重复性优先于自主飞行决策)。
-
仓库/物流机器人集群:许多运输机器人需要分配动态变化的任务(例如,将货物从哪个货架运送到哪个目的地),混合集中式/去中心化设计很常见——中央管理系统负责任务分配,而单个机器人的路径生成和避障则以去中心化的方式进行处理。有关路径规划的基础知识,请参阅路径规划入门。
-
灾害搜救、农业监测和其他广域覆盖:由于这些环境中的通信往往不稳定,因此更倾向于采用对中心依赖性较低的去中心化方法(例如类似Boids的集群行为或基于共识的覆盖)。单个机器人的行为决策通常会与行为规划框架相结合。
-
小规模科研和教学用集群机器人:由于这些实验性设置机器人数量较少且通信稳定,因此通常采用虚拟结构或领导者-跟随者架构——这些架构追求编队精度。
无论应用场景如何,选择集群控制架构的出发点都是回答以下三个问题:“将运行多少个机器人”、“通信环境的稳定性如何”以及“对故障容忍度的要求是编队精度还是鲁棒性”
10. 总结(三行概括)
-
群体控制是一种框架,它仅利用每个机器人关于其邻居的有限信息,通过局部规则来生成群体整体的有序行为。
-
Boids 和势场方法实现了去中心化的集群运动,而共识算法则通过图拉普拉斯算子建立数学上的收敛性保证,从而实现共识的形成。
-
领导者-跟随者、虚拟结构和基于行为的编队控制在编队精度和鲁棒性/去中心化之间的权衡中占据不同的位置,必须根据应用场景进行选择。
局部避障能否保证群体的全局任务?
局部安全性和全局到达或覆盖范围是不同的。
评估通信范围、死锁和碎片化情况。
评论
请先登录。
暂无数据。