try ai
科普
编辑
分享
反馈
  • 高阶控制屏障函数 (HOCBFs)

高阶控制屏障函数 (HOCBFs)

SciencePedia玻尔百科
关键要点
  • 高阶控制屏障函数(HOCBFs)确保了在控制输入不会瞬时影响安全输出的系统中的安全性,这个问题被称为高相对阶。
  • HOCBFs 通过在安全函数的导数上创建一系列递归的屏障约束来工作,确保采取主动措施以避免危险。
  • 该框架通过处理物理动态、执行器限制以及通过优化与性能目标相结合,应用于自动驾驶和机器人学等现实世界的挑战。
  • HOCBF 理论与输入-输出线性化等基本控制概念密切相关,揭示了确保安全性等同于在线性化空间中施加一个简单的界限。

引言

确保安全是自主系统(从自动驾驶汽车到协作机器人)的一项不容妥协的要求。控制屏障函数 (CBF) 是实现这一目标的强大工具,它定义了一个“安全集”,并强制执行规则以将系统保持在其中。然而,这种优雅的方法在许多现实世界的系统中遇到了一个关键限制:控制延迟。当“刹车踏板”不是立即影响汽车的位置,而是影响其加速度时,会发生什么?这个被称为高相对阶的挑战,可能使简单的安全保证失效,从而在理论与实践之间造成了关键的知识鸿沟。

本文通过探索高阶控制屏障函数 (HOCBFs) 来直面这一问题,HOCBFs 是一种复杂的扩展,为安全关键系统提供了前瞻性。第一章 ​​原理与机制​​ 将解构相对阶的核心问题,并揭示 HOCBFs 的递归逻辑,介绍使其发挥作用的数学工具。随后,​​应用与跨学科联系​​ 章节将连接理论与实践,展示 HOCBFs 如何应用于自动驾驶、机器人学和复杂的工程挑战,将对安全的追求与高性能统一起来。

原理与机制

为了理解在复杂系统中确保安全的挑战,让我们从一个简单直观的画面开始。想象一下,你正在编写程序,让一个机器人在房间里导航,但房间中央有一个巨大且滚烫的熔炉。你的首要任务是编写一条规则:“无论你做什么,绝不能碰到熔炉。”这个“禁区”就是我们安全问题的核心。

门前的守护者:安全的基本思想

用控制理论的语言来说,我们可以将​​安全集​​(记为 C\mathcal{C}C)定义为机器人被允许存在的所有位置。我们可以用一个函数 h(x)h(x)h(x) 来描述这个集合,其中 xxx 代表我们机器人的状态(例如,其位置和速度)。我们设计这个函数,使得对于安全集内的任何状态 xxx 都有 h(x)≥0h(x) \ge 0h(x)≥0,而对于危险区域(熔炉)内的状态则有 h(x)0h(x) 0h(x)0。安全集的边界,即我们绝不能越过的那条线,是 h(x)=0h(x) = 0h(x)=0 的地方。因此,我们“绝不碰熔炉”的规则就变成了“始终保持 h(x)≥0h(x) \ge 0h(x)≥0”的数学指令。

我们如何强制执行这一点?一个基于 20 世纪 40 年代 Nagumo 定理的原则,提出了一个绝妙而简单的想法:充当“门前的守护者”。每当机器人发现自己处于安全集的边缘(即 h(x)=0h(x)=0h(x)=0 时),我们必须确保其速度矢量没有指向危险区域。换句话说,h(x)h(x)h(x) 的变化率,我们称之为 h˙(x)\dot{h}(x)h˙(x),必须是非负的。

​​控制屏障函数 (CBF)​​ 采纳了这个想法,并使其更加鲁棒。CBF 不是等到最后一刻才在边界上采取行动,而是提供一种“排斥力”,随着系统接近边界而变得更强。最常见的形式是​​指数控制屏障函数 (ECBF)​​,它强制执行以下不等式:

h˙(x)≥−κh(x)\dot{h}(x) \ge - \kappa h(x)h˙(x)≥−κh(x)

其中 κ\kappaκ 是一个由你选择的正常数。可以把它想象成一个弹簧:你压得越紧(h(x)h(x)h(x) 变得越小),它推回的力量就越大(h˙(x)\dot{h}(x)h˙(x) 所需的正值就越大)。这个微分不等式的解表明,如果你从一个安全的状态 h(x(0))≥0h(x(0)) \ge 0h(x(0))≥0 开始,你将永远保持安全,并且你与边界的距离衰减速度不会快于指数级。这提供了一个强大而优雅的保证。控制器的任务是找到一个能使这个不等式成立的控制输入 uuu。这似乎是一个已经解决的问题!但是,正如在物理学和工程学中经常出现的那样,一个简单而优美的想法遇到了一个有趣的复杂情况。

延迟问题:为何简单的安全措施还不够

让我们把类比从靠近熔炉的机器人切换到你驾驶汽车朝一堵墙驶去。你的状态是你的位置 x1x_1x1​ 和速度 x2x_2x2​。墙位于位置 dwalld_{wall}dwall​,所以你的安全函数是 h(x)=dwall−x1h(x) = d_{wall} - x_1h(x)=dwall​−x1​。你的控制是油门踏板 uuu,它直接影响你的加速度 x˙2\dot{x}_2x˙2​。

请注意系统中的“延迟”。当你踩下踏板时,你并没有立即改变你的位置 h(x)h(x)h(x)。你甚至没有立即改变你的速度 h˙(x)=−x2\dot{h}(x) = -x_2h˙(x)=−x2​。你改变的是你的加速度,也就是你位置的二阶导数 h¨(x)\ddot{h}(x)h¨(x)。

这种“延迟”就是控制理论家所说的系统的​​相对阶​​。它是你必须对安全函数 h(x)h(x)h(x) 关于时间求导多少次,控制输入 uuu 才会最终出现的次数。对于这辆车来说,相对阶为二。

为什么这是个问题?我们优美的 CBF 不等式 h˙(x)≥−κh(x)\dot{h}(x) \ge - \kappa h(x)h˙(x)≥−κh(x) 只涉及一阶导数。如果控制输入 uuu 没有出现在 h˙(x)\dot{h}(x)h˙(x) 的方程中,那么这个不等式对控制器来说就不是一条规则;它只是一个关于系统当前状态的陈述,我们没有立即改变它的能力!如果我们的方向盘只影响 h¨\ddot{h}h¨,我们就无法通过观察 h˙\dot{h}h˙ 来强制执行安全。

这不仅仅是一个抽象问题。考虑一个独轮车机器人在一个圆形障碍物周围导航。如果独轮车完美地指向障碍物边界的切线方向,它的前向速度输入对其与障碍物的距离没有瞬时影响。在那个特定的时刻,对安全函数一阶导数的控制权限消失了,相对阶变得大于一。一个简单的 CBF 控制器在这个关键时刻将无能为力。

一系列承诺:高阶解决方案

如果我们不能直接控制我们的位置,我们就必须控制那些导致我们位置的因素。我们必须积极主动。我们不能等到快要撞墙时才考虑我们的速度。我们必须在那之前很久就控制好我们的速度。这就是​​高阶控制屏障函数 (HOCBF)​​ 的精髓。

让我们回到相对阶为二的汽车。我们的目标仍然是保持 h(x)≥0h(x) \ge 0h(x)≥0。我们通过做出一个“承诺”来实现这一点。

​​承诺 1:​​ 我们承诺将我们的速度 h˙\dot{h}h˙ 保持在一个安全范围内。我们定义一个新函数 ψ1(x)=h˙(x)+k1h(x)\psi_1(x) = \dot{h}(x) + k_1 h(x)ψ1​(x)=h˙(x)+k1​h(x),其中 k1>0k_1 > 0k1​>0 是我们选择的一个增益。我们将强制执行条件 ψ1(x)≥0\psi_1(x) \ge 0ψ1​(x)≥0。为什么要用这种特定的形式?因为如果 ψ1(x)≥0\psi_1(x) \ge 0ψ1​(x)≥0,它直接意味着 h˙(x)≥−k1h(x)\dot{h}(x) \ge -k_1 h(x)h˙(x)≥−k1​h(x),这正是我们想要的指数屏障条件!所以,通过保持我们的新函数 ψ1\psi_1ψ1​ 安全,我们就自动地使我们原来的函数 hhh 保持安全。

但是我们如何强制执行 ψ1(x)≥0\psi_1(x) \ge 0ψ1​(x)≥0 呢?控制输入 uuu 仍然没有出现在 ψ1\psi_1ψ1​ 的定义中。所以,我们做出第二个承诺。

​​承诺 2:​​ 我们考察 ψ1\psi_1ψ1​ 的时间导数,即 ψ˙1=h¨+k1h˙\dot{\psi}_1 = \ddot{h} + k_1 \dot{h}ψ˙​1​=h¨+k1​h˙。由于 h¨\ddot{h}h¨ 依赖于我们的控制输入 uuu,ψ˙1\dot{\psi}_1ψ˙​1​ 也依赖于 uuu。现在我们有了控制手段!我们可以将相同的屏障逻辑应用于 ψ1\psi_1ψ1​:我们强制执行 ψ˙1(x)≥−k2ψ1(x)\dot{\psi}_1(x) \ge -k_2 \psi_1(x)ψ˙​1​(x)≥−k2​ψ1​(x),其中 k2>0k_2 > 0k2​>0 是某个增益。

这个最终条件 ψ˙1(x)+k2ψ1(x)≥0\dot{\psi}_1(x) + k_2 \psi_1(x) \ge 0ψ˙​1​(x)+k2​ψ1​(x)≥0 是一个直接受我们控制输入 uuu 影响的不等式。我们可以在每个时刻求解这个关于 uuu 的不等式来履行我们的第二个承诺。通过履行承诺 2,我们履行了承诺 1,而这又保证了我们最初的安全目标。这种优美、递归的结构就是 HOCBF。

这一系列的级联约束确保了我们的安全裕度 h(t)h(t)h(t) 的动态由一个类似 h¨+(k1+k2)h˙+k1k2h≥0\ddot{h} + (k_1+k_2)\dot{h} + k_1k_2 h \ge 0h¨+(k1​+k2​)h˙+k1​k2​h≥0 的不等式所支配。任何学习过机械振动或电路的人都会认出这种形式。我们实质上是在迫使我们的安全裕度表现得像一个稳定、良阻尼的线性系统,确保它永远不会“超调”进入危险区域。这个逻辑可以优雅地扩展到任何相对阶 rrr,创建一个由 r−1r-1r−1 个承诺组成的链条,最终形成一个对控制输入的、可执行的单一约束。值得注意的是,这个级联中的中间函数即使在系统安全时也可能变为负值;这就是为什么底层的数学框架必须足够鲁棒以处理这种情况,例如通过在整个实轴上定义我们的“恢复力”函数。

运动的语言:初探李导数

为了使这一系列导数的计算变得易于处理,控制理论家使用了一种来自微分几何的强大工具,称为​​李导数​​。虽然这个名字听起来可能很吓人,但其思想非常简单。

对于由 x˙=f(x)+g(x)u\dot{x} = f(x) + g(x)ux˙=f(x)+g(x)u 描述的系统,向量场 f(x)f(x)f(x) 代表了系统的“漂移”——即在没有任何控制输入的情况下它将如何演化。项 g(x)ug(x)ug(x)u 代表了我们控制的效果。

  • hhh 沿 fff 的李导数,记为 Lfh(x)L_f h(x)Lf​h(x),简而言之就是如果系统只遵循其自然漂移时 hhh 的变化率。
  • hhh 沿 ggg 的李导数,Lgh(x)L_g h(x)Lg​h(x),衡量了 hhh 对控制输入 uuu 的灵敏度。

使用这个记号,hhh 的时间导数就是 h˙(x)=Lfh(x)+Lgh(x)u\dot{h}(x) = L_f h(x) + L_g h(x) uh˙(x)=Lf​h(x)+Lg​h(x)u。这巧妙地将无控动态与受控部分分离开来。高阶李导数只是这个过程的递归应用。例如,Lf2h(x)=Lf(Lfh(x))L_f^2 h(x) = L_f(L_f h(x))Lf2​h(x)=Lf​(Lf​h(x)) 是漂移的漂移。相对阶就是使得混合李导数 LgLfr−1h(x)L_g L_f^{r-1} h(x)Lg​Lfr−1​h(x) 不为零的最小整数 rrr。这是我们在导数链中寻找控制输入 uuu 的数学形式化。

更深层次的联系:几何、线性与不变性

使这个 HOCBF 框架如此引人注目的,不仅仅是它有效,还在于它与更深层、更基本的动力学和控制原理相联系。

首先,HOCBF 过程与非线性控制的另一个基石——​​输入-输出线性化​​——密切相关。通过将输出 h(x)h(x)h(x) 微分整整 rrr 次,我们得到一个形如 h(r)(x)=A(x)+B(x)uh^{(r)}(x) = A(x) + B(x)uh(r)(x)=A(x)+B(x)u 的表达式。如果我们定义一个新的“虚拟”控制输入 v=h(r)v = h^{(r)}v=h(r),我们就有效地线性化了我们的控制与安全函数最高阶导数之间的关系。HOCBF 约束随后变成了对这个虚拟输入 vvv 的一个简单线性不等式。这揭示了一种深刻的统一性:通过 HOCBFs 确保安全,等同于在一个系统的动态已被变得线性的空间中施加一个简单的界限。

其次,这个框架为我们提供了一个理解非线性真实影响的透镜。如果我们的系统具有非线性漂移动力学,这些非线性将在 HOCBF 约束中表现为复杂、依赖于状态的项。例如,系统动力学中的一个三次项可能在安全约束中引入一个四次项,从而给“安全控制”的景观带来非平凡的曲率。一个简化的线性模型,也许被“数字孪生”所使用,会忽略这种曲率,并可能要么过于保守,要么更糟的是,对其拥有的控制权限抱有危险的乐观态度。

最后,人们可能会想,这些复杂的规则是否只是我们选择用来描述机器人的坐标系的产物。答案是响亮的“不”。安全集的概念、系统的相对阶以及 CBF 的有效性,在任何光滑的坐标变换(微分同胚)下都是​​不变的​​。这意味着安全是动力系统本身的一个基本几何性质,而不是我们对其描述的性质。正如物理定律不依赖于你使用笛卡尔坐标还是极坐标一样,安全控制的原理是普适的。这种不变性让我们相信,我们不只是在玩数学游戏,而是在揭示关于受控运动本质的深刻真理。

应用与跨学科联系

在了解了高阶控制屏障函数的原理和机制之后,你可能会对其数学上的简洁性有所感触。但是,一个物理原理的真正美妙之处不仅在于其抽象的优雅,更在于其描述、预测和塑造我们周围世界的力量。现在,我们离开纯理论的洁净室,步入繁忙的应用车间,看看这些思想如何为那些正在定义我们未来的机器和系统注入生命。我们将看到,HOCBFs 不仅仅是一个巧妙的技巧,而是一种深刻的语言,用以教导系统掌握那基本而又往往微妙的预见艺术。

预见的物理学:为何高阶不可避免

想象一下你正开车,看到前方有一堵墙。一个简单的反应式安全规则可能是:“如果你离墙太近,就不要前进。”这听起来很合理,但这是一条注定会失败的规则。为什么?因为你不是直接控制你的位置;你是通过油门和刹车踏板来控制你的加速度。如果你已经在朝墙移动,简单地决定“不前进”是一个不可能的命令。你必须刹车,而刹车需要时间和距离。你需要一个更早行动的规则,一个说:“如果你当前的速度会将你带向墙壁,现在就刹车!”的规则。

这正是高阶控制屏障函数的核心思想。对于像简单质点这样的系统,其运动由加速度(一个“二重积分器”)决定,其位置 h(x)h(x)h(x) 的安全性与控制输入 uuu 并非直接相关。控制首先影响速度 h˙\dot{h}h˙,速度再影响位置。该系统的相对阶为二。HOCBF 通过不仅对 hhh 施加约束,而且对 hhh 及其导数的组合施加约束,从而提供了必要的预见性,有效地定义了一条系统必须保持在其上的安全“滑行路径”,以保证它能及时停下来。

当我们考虑具有更复杂运动约束的系统时,这个想法变得更加引人注目。想象一个类似独轮车的简单机器人在房间里导航。它的控制不是一个简单的“向左移动”或“向右移动”的命令;而是转向速率 ω\omegaω。现在,想象这个机器人正直接指向一个障碍物。它能做什么?无论它在原地旋转多快,它与障碍物的距离在那个瞬间都不会改变。控制量 ω\omegaω 对距离函数 h(p)h(p)h(p) 没有直接影响。用控制理论的语言来说,李导数 LghL_g hLg​h 为零,一个简单的 CBF 将会对此视而不见,找不到任何可以应用的安全控制。

这是一个优美而微妙的观点。系统并非不可控,只是控制的效果被延迟了。机器人必须先转动来改变其航向,然后它才能驶离障碍物。控制的影响隐藏在安全函数的二阶导数 h¨\ddot{h}h¨ 中。HOCBF 就是让我们能够洞察未来、找到那个隐藏影响并制定规则的工具,这个规则说:“你当前的航向是不安全的;你必须现在开始转向,以便之后能够安全脱离。”这不仅仅是数学;这是战略思维的法典化。

运动的交响曲:从自动驾驶汽车到机器人团队

在机器人学和自主系统领域,这些挑战尤为明显,确保安全是首要关切。

一辆在高速公路上行驶的汽车必须保持在自己的车道内。这是 HOCBF 的一个完美应用。“安全集”是由车道线定义的走廊,安全函数 h(x)h(x)h(x) 可以根据汽车与中心线的横向偏差来定义。系统的动态特性,尤其是在高速下,相对于这个横向误差表现得像一个二重积分器。HOCBF 可以利用汽车的转向输入来确保它永远不会偏离车道,同时考虑到其当前位置、航向和前方道路的曲率。

然而,世界不是静止的。障碍物会移动。想象一下,引导一架无人机穿过一个有其他移动车辆的建筑工地。HOCBF 可以通过使安全函数 h(x,t)h(x,t)h(x,t) 显式地依赖于时间来处理这种动态环境。通过整合障碍物的预测运动——它们的速度甚至加速度——安全约束变成了一条避免与障碍物将要到达的位置发生碰撞的规则,而不仅仅是它现在的位置。这就像是躲避一个奔跑的人和躲避一座雕像的区别。

当我们考虑协同工作的机器人团队时,复杂性会成倍增加。考虑两个智能体,一个灵活快捷(一重积分器),另一个较为笨重(二重积分器),它们必须在同一空间工作而不发生碰撞。HOCBF 框架足够强大,可以根据每个智能体独特的动态特性,为它们生成特定、量身定制的安全约束。然而,这揭示了一个更深层次的、近乎社会性的挑战:死锁。想象两个智能体在一条狭窄的走廊里相遇。它们各自的安全控制器可能都会命令它们停下,完美地确保它们不会相撞。它们是安全的,但它们也陷入了僵局,无法朝着目标前进。这不是方法的失败,而是它提供的一个深刻洞见。解决方案在于协调它们安全约束的“激进性”(如增益 k1,k2k_1, k_2k1​,k2​),实质上是协商谁应该让步。

工程的语言:统一理论与现实

HOCBFs 的影响远不止于路径规划。它提供了一种统一的语言,将抽象的微分方程与具体且往往混乱的工程现实联系起来。

讲执行器的语言

我们的理论模型常常假设我们拥有能够瞬时响应的完美执行器。现实从来没有这么仁慈。电机有最大扭矩,引擎在提升功率方面也有其极限。这些都是执行器速率限制。一个忽略这些限制的朴素控制器可能会发出一个物理上不可能实现的指令,从而导致安全保证的灾难性失败。HOCBF 框架通过一种称为动态扩展的技术,以惊人的优雅处理了这个问题。如果执行器指令 uuu 有速率限制,我们只需将 uuu 视为系统的一个新状态,而它的导数 w=u˙w = \dot{u}w=u˙ 成为我们新的控制输入。这自然地增加了系统的相对阶,通常从二阶增加到三阶,需要一个“更高阶”的屏障函数。这种建模行为揭示了一个深刻的真理:速率限制只是从命令到结果的因果链中的又一个物理环节,我们的安全分析必须尊重它。

仁慈的裁判:融合安全与性能

一个只关心安全的系统并不是很有用。一辆停在车库里的汽车是绝对安全的,但它没有实现其目的。我们希望我们的系统既安全又高效。这就是 HOCBFs 通常与一种来自优化的工具——二次规划 (QP)——相结合的地方。

想象一个纯粹专注于性能的“标称”控制器——让机器人尽可能快地到达目的地。这个控制器偶尔可能会发出一个不安全的指令。我们可以设立一个 QP,充当一个仁慈的裁判。其目标是找到一个新的控制指令,该指令尽可能接近期望的性能指令,同时严格遵守 HOCBF 提供的安全不等式。

结果是优美的:大多数时候,当系统远离任何危险时,安全约束是未激活的,QP 只是原封不动地传递性能指令。系统以全效率运行。但随着系统接近边界,HOCBF 约束会收紧。然后 QP 会介入,以最小可能偏差修改性能指令,以确保安全。它不会猛踩刹车;它会温和地将系统推回安全路径。这在一个单一、优雅的数学框架中,统一了性能和安全的竞争需求。

从被动守卫到主动架构师

理解这一过程的最后一步,是不仅将 HOCBFs 视为一种反应式安全滤波器,而且将其视为一种用于主动设计和形式化验证的工具。

我们不只是在运行时检查标称控制器的指令是否安全,而是在设计阶段提出一个更深层次的问题:我们能否选择我们的系统和控制器的参数(比如控制器中的增益 κ\kappaκ),使得标称行为从一开始就是可证明安全的?HOCBF 理论允许我们推导出这些设计参数的条件,以保证安全滤波器很少(甚至永远)不需要介入。这将 CBF 从一个简单的守卫转变为构建内在安全系统的架构师蓝图。

此外,该框架与控制理论中的其他强大思想无缝集成。对于极其复杂的非线性系统,可能很难看清通往安全的路径。像*反馈线性化*这样的技术可以充当一个数学棱镜,将一个看似纠缠不清的系统转变为一个具有更简单底层结构——通常是一个简单的积分器链——的系统。一旦这种隐藏的简单性被揭示出来,我们就可以轻松地将 HOCBF 方法应用于这个新视角。这显示了该领域的非凡统一性:通过找到看待问题的正确方式,我们可以使用一个单一、强大的思想来强制执行所有工程系统中最基本的要求之一——安全保证。