无限约束控制屏障函数:理论、算法与工程实践

发布时间:2026/5/30 14:11:47

无限约束控制屏障函数:理论、算法与工程实践 1. 项目概述无限约束下的安全控制新范式在自动驾驶汽车紧急避障、协作机器人动态交互或是无人机集群编队飞行这些场景里系统的“安全”从来不是一个可以讨价还价的选项。我们工程师每天面对的核心挑战就是如何让一个复杂的非线性系统在充满不确定性的环境中始终乖乖地待在预设的“安全区域”里。过去十几年控制屏障函数Control Barrier Function, CBF已经从一个漂亮的数学概念成长为安全关键控制系统设计中不可或缺的实用工具。它的魅力在于能把“别撞上”这种模糊的安全要求翻译成控制器输入上的一组硬性不等式约束然后通过在线求解一个二次规划QP问题实时计算出既满足性能目标、又不越雷池一步的控制指令。然而在实际工程中我们常常会遇到一种令人头疼的情况安全集是由无限多个约束来定义的。最典型的例子就是备份CBFBackup CBF。它的思路很直观我先预设一个保守但绝对安全的小区域备份集并设计一个能保证系统永远待在这个小区域里的“保底”控制器。然后我向前看模拟系统在这个保底控制器作用下的未来轨迹。只要这条轨迹在未来一段时间内比如2秒内都满足更宽松的安全约束比如不撞上障碍物那么当前状态就是安全的。这个“未来一段时间内的所有点都安全”的条件本质上就是对时间参数τ从0到T的连续统进行检验这就产生了无限多个约束。类似的问题也出现在刚体碰撞避免需要检查物体表面所有点或存在状态估计不确定性时的鲁棒安全控制中。尽管基于无限约束的CBF方法在实践中尤其是备份CBF已经展示出强大的能力但其理论基础一直存在缺口。当约束从有限个变成无限个时许多我们习以为常的结论不再显然成立保证安全集前向不变性的充要条件是什么由此设计出的控制器是否还能保持我们期望的连续性甚至Lipschitz连续性那个理论上需要检查无穷多个时间点的条件在实际计算中能否简化为只检查有限个点并且依然保证安全这些问题不解决我们使用这些方法时心里总是不踏实就像在高空走钢丝却没有理论证明这根钢丝足够结实。本文的目的就是为无限约束下的CBF理论打下坚实的地基。我们将系统性地探讨上述问题建立从集合不变性条件到控制器设计再到实际算法实现的完整链条。这不仅是对现有CBF理论的重要补充也为更广泛的安全关键控制应用扫清了理论障碍。2. 核心理论基石从有限到无限的跨越2.1 问题形式化与核心挑战我们考虑标准的非线性仿射控制系统\dot{x} f(x) g(x)u其中x ∈ R^n是状态u ∈ R^m是控制输入。f和g假设是局部Lipschitz连续的。我们的目标是为系统设计一个状态反馈控制器k(x)使得闭环系统\dot{x} f(x) g(x)k(x) : F(x)的轨迹始终保持在安全集S内。在经典的有限约束CBF框架中安全集通常由一个或有限个连续可微函数h_i(x)定义S { x ∈ R^n | h_i(x) ≥ 0, i 1, ..., N }CBF的条件要求存在一个扩展的K类函数α使得对于所有x ∈ S存在控制u满足L_f h_i(x) L_g h_i(x) u ≥ -α(h_i(x))这里L_f h和L_g h分别表示沿向量场f和g的Lie导数。这个不等式保证了在安全边界上h_i(x)0状态的变化率\dot{h}_i是非负的或至少不被拉向负方向从而阻止轨迹穿越边界进入不安全区域。当我们转向无限约束时安全集被定义为S { x ∈ R^n | h(τ, x) ≥ 0, ∀ τ ∈ T }其中T ⊂ R^p是一个紧集例如时间区间[0, T]或参数空间的一个紧子集h: T × R^n → R关于τ连续关于x连续可微。此时CBF条件变成了一个**半无限规划Semi-Infinite Program**问题对于所有x ∈ S我们需要找到u满足∂h/∂x (τ, x) [f(x) g(x)u] ≥ -α(h(τ, x)), ∀ τ ∈ T这个“对于所有τ”的要求正是所有理论困难和计算挑战的根源。注意这里有一个关键但易被忽略的细节。在有限约束情况下我们通常要求h_i在边界上的梯度非零即0是正则值这保证了安全边界是光滑流形Nagumo定理的条件可以简化为边界上的Lie导数条件。在无限约束下我们需要一个平行的“良定性”假设这将是后续理论的起点。2.2 无限约束下的Nagumo定理与边界条件Nagumo定理是动力系统不变集理论的基石。对于由单个函数h(x)≥0定义的集合S在h满足一定正则性条件下S在向量场F下前向不变的充要条件是h(x) 0 ⇒ \dot{h}(x) ∂h/∂x (x) F(x) ≥ 0这个条件直观上很好理解在边界上状态向量场不能指向集合外部。对于无限约束定义的集合S我们需要重新审视“边界”的概念。定义在状态x处的活跃约束集Act(x) { τ ∈ T | h(τ, x) 0 }那么S的边界就是那些活跃约束集非空的状态集合∂S { x ∈ S | Act(x) ≠ ∅ }。为了将Nagumo定理推广到无限约束情形我们需要一个关键的良定性假设Assumption 1 对于每个x ∈ ∂S存在一个方向v ∈ R^n使得对于所有活跃约束τ ∈ Act(x)都有∂h/∂x (τ, x) v 0这个假设的直观意义是在边界上的每一点都存在一个方向能同时让所有活跃约束函数值增加。这排除了边界上出现“尖点”或“退化”的情况确保了边界在某种意义上是“光滑”的。在有限约束情况下这等价于要求所有活跃约束的梯度线性无关即Mangasarian-Fromovitz约束规格。在这个假设下论文的核心定理Theorem 1指出如果闭环向量场F是局部Lipschitz的那么S前向不变的充要条件是对于每个x ∈ ∂S和所有τ ∈ Act(x)满足∂h/∂x (τ, x) F(x) ≥ 0这个结论完美地将有限约束下的直觉推广到了无限维。它告诉我们要保证安全我们只需要关注那些“刚好触碰边界”的约束即h(τ,x)0的那些τ并确保在这些点上系统动力学不会把状态推向不安全区域。实操心得这个定理的证明技巧值得深究。它没有直接处理原系统而是引入了一个光滑的扰动向量场φ(x)构造了一个扰动系统\dot{x} F(x) δφ(x)。由于φ(x)在边界上提供了严格的“向外”推动力由良定性假设保证可以证明扰动系统是安全的。然后利用扰动系统的解一致收敛到原系统的解最终证明原系统也是安全的。这种“扰动极限”的思路在处理正则性问题时非常常用。2.3 最优衰减屏障函数OD-CBF统一必要性与充分性经典CBF条件存在α使得不等式成立只是安全性的充分条件而非必要条件。这意味着可能存在一些控制器能保证安全但却无法用某个固定的α函数来表达。为了填补这个缺口最优衰减屏障函数Optimal-Decay CBF, OD-CBF的概念被引入。对于无限约束系统OD-CBF的定义如下函数h(τ,x)称为一个OD-CBF如果对于任意一个扩展K类函数α都存在一个非负函数θ(τ,x)使得对于所有x ∈ S和τ ∈ T有∂h/∂x (τ, x) F(x) ≥ -θ(τ, x) α(h(τ, x))关键点在于θ可以依赖于状态x和参数τ。这给了不等式极大的灵活性。在良定性假设和F局部Lipschitz的条件下论文证明了Proposition 1集合S前向不变当且仅当h是一个OD-BF对于自治系统。这个结论非常强大它建立了集合不变性与OD-BF存在性之间的等价关系。换句话说如果一个集合能被某个向量场保持为不变集那么就一定能找到一个可能依赖于状态的衰减率θ使得OD-BF不等式成立。对于受控系统OD-CBF的条件表述为对于所有x ∈ S和τ ∈ T存在控制u和标量ω ≥ 0使得∂h/∂x (τ, x)(f(x)g(x)u) ω α(h(τ, x)) ≥ 0注意这里只有一个共享的ω变量而不是对每个τ都有一个独立的ω_τ。这是实际设计的关键因为优化问题中我们只能优化有限个决策变量。注意事项OD-CBF框架的核心优势在于其灵活性。传统的CBF要求我们事先指定一个固定的α函数如果α选得“太激进”衰减太快可能导致优化问题在某些状态不可行即使存在其他能保证安全的控制器。OD-CBF通过引入可优化的ω让控制器自己决定每个状态需要多大的“安全裕度”从而在可行性和性能之间取得了更好的平衡。这在处理复杂、非凸的安全集时尤其有用。3. 控制器设计从理论存在到实际构造3.1 基于优化的控制器与连续性保证理论上的存在性是一回事实际构造出可用的控制器是另一回事。对于无限约束问题一个自然的想法是求解如下优化问题来得到控制器[k(x), ω(x)] argmin_{u, ω} 1/2 ||u - u_d(x)||^2 1/2 ρ (ω - ω_d)^2 subject to: ∂h/∂x (τ, x)(f(x)g(x)u) ≥ -ω α(h(τ, x)), ∀ τ ∈ T ω ≥ 0其中u_d(x)是期望的性能控制器ω_d是期望的衰减率权重ρ 0是权重系数。这里我们面临两个核心问题可行性在哪些状态下这个带有无限约束的优化问题是可解的正则性由此得到的反馈控制器k(x)是否连续甚至Lipschitz连续不连续的控制器可能导致颤振或存在性问题。对于可行性论文给出了一个关键条件Proposition 2如果在边界∂S上的每个点x都存在一个控制u使得对于所有活跃约束τ ∈ Act(x)有严格不等式成立∂h/∂x (τ, x)(f(x)g(x)u) 0那么对于任意α都存在安全集S的一个邻域D使得上述优化问题在D内是严格可行的。这个条件的直观解释是在边界上必须存在一个控制律能同时将所有活跃约束“推离”边界即让h增加。这本质上是无限维版本的Slater约束规格。对于控制器的连续性论文将经典的Artstein定理推广到了无限约束情形Proposition 3。如果对于每个x存在ν在我们的问题中ν [u; ω]严格满足所有约束即严格可行性那么存在一个光滑的反馈控制器k(x)满足所有约束。然而这个定理是非构造性的它只告诉我们解存在但没有给出如何找到它。更实用的是Proposition 4它关注我们实际通过求解优化问题如QP得到的控制器。如果优化问题的可行集映射V(x)是下半连续的并且严格可行性条件成立那么由最小范数选择即上述QP的解得到的控制器k(x)是连续的。下半连续性保证了当状态x发生微小变化时可行集不会突然“坍缩”到一个小角落从而最优解也不会发生跳跃。工程实现中的陷阱即使理论保证了控制器的连续性在实际数值求解QP时如果约束条件接近临界即某些约束几乎活跃优化问题的解可能对数值误差非常敏感导致控制器在连续的名义下产生微小的跳变。这种数值不稳定性在实时控制中可能被放大。一个实用的技巧是在不等式约束右侧添加一个小的正数ϵ例如≥ ϵ将其变为严格不等式约束这能显著改善QP求解器的数值稳定性同时只要ϵ足够小对安全性的影响可以忽略。3.2 无限约束的有限化从理论到计算理论上我们需要满足无限个约束但计算机只能处理有限个。一个核心问题是我们能否只检查有限个τ点例如在时间区间[0,T]上取一系列离散点并设计一个控制器满足这些离散点的约束就能自动保证所有连续时间点无限个约束的约束也得到满足论文的Proposition 5给出了肯定的答案并提供了具体的构造方法。假设T和状态空间X是紧集函数a(τ,x), b(τ,x)是局部Lipschitz的。如果原始无限约束问题是严格可行的那么存在正数ϵ*, Δ*, M*使得只要我们以足够小的间距Δ ≤ Δ*对参数空间T进行采样得到一组有限点{τ_i}_{i1}^N那么任何满足离散化约束a(τ_i, x) b(τ_i, x) ν ≤ -ϵ*, i1,...,N且其范数有界||ν|| ≤ M*的控制器ν*(x)都必然满足原始的无限约束。这个结论的证明依赖于Lipschitz连续性。因为函数是Lipschitz的所以它们在邻近点之间的变化是有限的。如果我们要求离散点上的约束以ϵ*的严格余量满足并且采样足够密集Δ足够小那么根据Lipschitz常数我们可以保证在两个离散点之间的任意τ处约束依然成立非正。ϵ*和Δ*的关系由ϵ* (L_a L_b M*) Δ*给出其中L_a, L_b是 Lipschitz 常数。计算策略与参数选择确定 Lipschitz 常数在实际问题中精确的Lipschitz常数可能难以获得。一个保守但实用的方法是进行数值估计。在状态空间和参数空间的紧凑子集上进行采样计算函数差值与自变量差值比的最大值作为Lipschitz常数的上界。选择安全余量ϵ*ϵ*不能太小否则离散化约束会过于严格可能导致可行性问题也不能太大否则会过度限制控制器的性能。通常可以从一个较小的值如0.01开始根据仿真中优化问题的可行性进行调整。计算最大采样间隔Δ*根据估计的L_a, L_b、设定的ϵ*以及控制器范数的预期上界M*计算Δ* ϵ* / (L_a L_b M*)。这是保证理论安全的最大允许间隔。实际采样在T上以间隔Δ ≤ Δ*进行均匀采样或更高效的适应性子采样。对于时间区间[0, T]采样点数N ≈ T/Δ。验证在关键仿真场景中除了检查离散点还应随机抽查一些非离散点上的约束是否被满足作为额外验证。4. 核心应用破解备份CBF的可行性难题4.1 备份CBF框架回顾与无限约束本质备份CBF是处理复杂安全集的一种强大方法它特别适用于那些本身不是控制不变集的安全集S_c。其核心思想是引入一个更小、但更容易保证其不变性的“备份集”S_b以及一个能渲染S_b不变的“备份控制器”k_b。定义备份流φ_t^b(x)为系统在备份控制器k_b作用下的轨迹满足φ_0^b(x)x。那么隐式安全集S_I定义为S_I { x | h_b(φ_T^b(x)) ≥ 0 ∧ h_c(φ_τ^b(x)) ≥ 0, ∀ τ ∈ [0, T] }这个集合包含了所有这样的状态x从x出发在备份控制器作用下未来T秒内的轨迹始终停留在候选安全集S_c内并且在T秒末到达备份集S_b。由于需要对从0到T的所有连续时间τ进行检查S_I就是由无限个约束定义的。对应的安全滤波控制器通过求解以下优化问题得到min_u 1/2 ||u - u_d||^2 s.t. ∂h_c/∂x (φ_τ^b(x)) [fg u] ≥ -α_c(h_c(φ_τ^b(x))), ∀ τ ∈ [0,T] ∂h_b/∂x (φ_T^b(x)) [fg u] ≥ -α_b(h_b(φ_T^b(x)))这里∂h/∂x (φ_τ^b(x))的计算涉及备份流的灵敏度即状态关于初始条件的导数这可以通过伴随方程或自动微分来求解。4.2 传统方法的局限性与OD-CBF的解决方案传统备份CBF的一个主要瓶颈在于函数α_c和α_b的选择。这些扩展K类函数需要事先给定。如果α选得过于激进例如α(s) 10s意味着要求系统在靠近边界时以很强的速率“退回”安全区域这可能导致优化问题在某些状态不可行——即使从物理上讲系统是可以通过某种控制律保持安全的。如图1左所示在某些区域由于约束过紧QP问题无解导致控制器未定义闭环向量场出现“空洞”。OD-CBF框架为这个问题提供了优雅的解决方案。我们将备份CBF的无限约束问题重新表述为OD-CBF形式。定义参数集T [0, T] ∪ {T1}并定义h(τ, x) { h_c(φ_τ^b(x)), 如果 τ ∈ [0,T]; h_b(φ_T^b(x)), 如果 τ T1 }这样S_I { x | h(τ, x) ≥ 0, ∀ τ ∈ T }完全符合我们无限约束的框架。然后我们不再使用固定的α而是求解带有共享衰减变量ω的OD-CBF-QP问题min_{u, ω} 1/2 ||u - u_d||^2 1/2 ρ (ω - ω_d)^2 s.t. ∂h/∂x (τ, x)(fg u) ≥ -ω α(h(τ, x)), ∀ τ ∈ T ω ≥ 0这里的关键是ω是一个优化变量控制器可以根据当前状态的“紧张程度”自动调节安全约束的衰减率。在状态空间宽松的区域ω可以取较小的值让性能控制器u_d主导在靠近边界的危险区域ω会自动增大强化安全约束将状态拉回。如图1右所示采用OD-CBF方法后整个隐式安全集S_I内的QP问题都是可行的闭环向量场在整个区域上有定义且连续解决了传统方法可行性不足的问题。4.3 实现细节与数值考虑在实际实现备份CBF与OD-CBF时有几个工程细节至关重要备份流与灵敏度的计算备份流φ_τ^b(x)通常没有解析解需要数值积分。对于灵敏度∂φ_τ^b/∂x有两种主流方法前向积分变分方程同时积分状态方程和其关于初始状态的变分方程。这增加了系统维度从n维到nn^2维计算量较大。伴随方法反向积分一个伴随方程。这在只需要梯度信息而不是完整的雅可比矩阵时更高效尤其适用于梯度下降类优化算法。 在实际的实时控制中由于计算资源有限常常采用近似方法例如使用备份控制器的线性化系统来计算近似的流和灵敏度或者使用神经网络来拟合备份流映射。约束离散化与采样策略根据第3.2节的理论我们需要在时间区间[0,T]上选择一组离散点{τ_i}。均匀采样是最简单的但可能不是最高效的。一个改进策略是自适应采样在h_c(φ_τ^b(x))值较小接近零的区域加密采样在值较大的区域稀疏采样。这能在保证安全的前提下减少约束数量降低QP的求解负担。QP求解器的选择由于OD-CBF-QP问题可能包含数十甚至上百个约束对应离散化的时间点需要一个快速、鲁棒的QP求解器。对于嵌入式系统基于有效集法或内点法的专用求解器如OSQP、qpOASES是常见选择。需要注意处理可能出现的数值病态问题例如通过正则化或约束缩放。衰减率权重ρ的选择ρ控制了我们对ω偏离其期望值ω_d的惩罚程度。较大的ρ会迫使ω接近ω_d可能影响可行性较小的ρ给予ω更大的自由度来保证可行性但可能导致ω剧烈变化影响控制器平滑性。通常ω_d可以设为1ρ则需要通过仿真调试在性能与可行性之间取得平衡。5. 常见问题、挑战与进阶讨论5.1 理论条件验证的实践困境论文中建立的理论需要验证几个关键条件在实践中这可能颇具挑战性良定性假设Assumption 1的验证我们需要检查在安全边界∂S上的每一点x是否存在一个方向v使得所有活跃约束τ ∈ Act(x)的梯度∂h/∂x(τ, x)与v的内积都为正。对于复杂的高维系统和非线性约束全局验证几乎不可能。一个实用的工程方法是局部验证与在线监测。在控制器运行过程中实时计算当前状态x下的活跃约束集近似和它们的梯度然后尝试求解一个线性规划LP或二次规划QP来寻找这样的v。如果找不到说明当前点可能不满足良定性假设此时可以触发一个降级策略例如切换到更保守的备份控制器。Lipschitz常数的估计为了应用有限化理论Proposition 5我们需要知道函数a(τ,x)和b(τ,x)的Lipschitz常数。对于复杂的非线性系统获得紧致的Lipschitz常数上界非常困难。替代方案包括保守估计通过分析函数的结构给出一个较大的、保守的上界。这会导致采样点非常密集计算负担重。局部自适应采样不依赖全局Lipschitz常数而是在每个采样周期根据当前状态x和最近几次迭代中约束函数的变化率动态调整采样间隔Δ。这更像一个启发式方法但能有效平衡精度与计算量。后验验证在离散点求解控制器后利用区间分析或抽样方法验证离散点之间的约束是否也被满足。这是一种“先设计后验证”的思路。5.2 计算复杂性与实时性挑战无限约束CBF尤其是备份CBF的主要缺点是计算复杂度高。主要开销来自备份流φ_τ^b(x)的数值积分。灵敏度梯度∂h/∂x(τ, x)的计算。求解带有多个约束离散化的τ点的QP问题。加速策略并行计算备份流在不同时间点τ_i的积分和梯度计算是相互独立的可以并行处理。在现代多核CPU或GPU上这能带来显著的加速。模型简化使用备份系统的降阶模型或线性时变近似来计算备份流和梯度牺牲少量精度换取速度的大幅提升。事件触发与缓存并非每个控制周期都需要重新计算所有τ_i点的约束。如果状态变化缓慢可以缓存上一次的备份流和梯度只有当状态变化超过某个阈值时才重新计算。热启动QP求解器在连续的控制周期之间最优解通常变化不大。使用上一个周期的解作为本次QP求解的初始猜测热启动可以极大减少迭代次数。5.3 与其他安全控制方法的联系与比较无限约束CBF不是孤立的技术它与其它安全控制范式有着深刻的联系与模型预测控制MPC的关系备份CBF在思想上与MPC有相似之处都是基于未来轨迹的预测来评估安全性。关键区别在于MPC通常优化一段有限时域内的控制序列而备份CBF只优化当前时刻的单步控制但通过备份控制器来隐含地保证未来安全。因此备份CBF的计算负担通常低于MPC尤其是长时域MPC但最优性可能较差。与可达性分析的关系隐式安全集S_I本质上是从备份集S_b出发在备份动力学下反向可达的集合。因此无限约束CBF可以与基于Hamilton-Jacobi可达性分析的工具结合。例如可以离线计算一个近似的最优备份控制器和其可达集在线则主要处理由S_c定义的约束。与鲁棒CBF的关系当安全约束h(τ,x)中的参数τ表示不确定性例如障碍物位置、系统参数的范围时无限约束CBF框架自然转化为一个鲁棒CBF问题。此时T代表不确定参数的紧致集合。我们的方法保证了对于所有可能的不确定参数安全性都能得到满足。5.4 未来扩展与开放问题尽管本文的工作奠定了无限约束CBF的理论基础但仍有许多开放问题值得探索输入约束与非仿射系统本文主要处理无输入约束的仿射系统。如何将理论扩展到有输入约束u ∈ U或更一般的非仿射非线性系统是一个重要的方向。对于输入约束可能需要结合不变集理论或参考 governor 的思想。自适应与学习型CBF在实际系统中动力学模型f和g可能不完全已知。如何将自适应控制或机器学习方法与无限约束CBF结合在模型不确定的情况下依然保证安全是一个活跃的研究领域。例如可以使用高斯过程来学习模型误差的界并将其纳入CBF约束中。高维系统的可扩展性当状态维度n很高时计算备份流和梯度的成本会急剧增加。研究如何利用系统结构如解耦、分层控制或近似方法来保持算法的可扩展性是走向实际应用的关键。混杂系统与非光滑CBF许多机器人系统涉及接触、摩擦等非光滑动力学。将无限约束CBF扩展到包含非光滑动态的混杂系统需要处理流形切换和边界穿越时的理论问题。在我个人的工程实践中无限约束CBF特别是其OD-CBF变体为解决复杂安全约束问题提供了一个极具威力的框架。它最吸引人的地方在于它将安全验证这个无穷维的问题通过严谨的理论如Proposition 5转化为一个可计算的有限维优化问题同时通过引入可优化的衰减率巧妙地规避了传统方法中参数选择的难题。当然它的计算需求不容忽视这要求工程师在算法设计、代码优化和硬件选型上做出精心的权衡。对于计算资源极其有限的嵌入式平台或许需要结合更轻量级的实时安全监控层。但对于那些对安全性要求极高、且具备一定计算能力的应用场景如自动驾驶主车控制器、高端协作机器人这套方法论无疑提供了当前最严格、最系统化的安全保障设计工具之一。

相关新闻