实时安全监控

CBF(Control Barrier Function,控制屏障函数) 由 Ames et al. 于 2017 年系统化,在 Spine 层(1kHz)持续监控系统状态是否在安全包络内。相比 STL 的时域验证,CBF 提供在线、连续的安全保证——当 CBF 约束与 Brain 指令冲突时,CBF 优先,这是”脊髓反射弧”的工程实现。

CBF 还承担 Spine 层的认知健康监控职能:检测 Brain 层的物理幻觉与决策犹豫,并在确诊后强制接管。

CBF 安全集与 QP 求解

定义安全函数 h(x):MphyRh(x): \mathcal{M}_{phy} \to \mathbb{R},安全集为 S={xh(x)0}\mathcal{S} = \{x \mid h(x) \geq 0\}。CBF 条件要求:

h˙(x,u)=h(x)f(x,u)α(h(x))\dot{h}(x, u) = \nabla h(x) \cdot f(x, u) \geq -\alpha(h(x))

其中 α\alpha 为 class-K\mathcal{K} 函数。在每个控制周期(1ms),Spine 层求解带 CBF 约束的 QP:

minuuuref2s.t.h˙(x,u)α(h(x))\min_u \|u - u_{ref}\|^2 \quad \text{s.t.} \quad \dot{h}(x,u) \geq -\alpha(h(x))

urefu_{ref} 为 Brain 层下发的参考指令,QP 以最小干预修正 urefu_{ref} 使系统保持在 S\mathcal{S} 内。在 Prj167(500kV 架空线路),h(x)=d(x,wire)dsafeh(x) = d(x, \text{wire}) - d_{safe}dsafe=5.0md_{safe} = 5.0\text{m},CBF 以 1kHz 确保机器人始终保持电气安全距离。

幻觉检测:自信的白痴模式

CBF 的接管职能依赖对 Brain 层认知状态的实时评估。从谱诊断视角,AI 幻觉表现为:

H(π)0  (极低策略熵,极度自信)同时C0  (几何支撑度为零)H(\pi) \to 0 \;\text{(极低策略熵,极度自信)} \quad \text{同时} \quad \mathcal{C} \to 0 \;\text{(几何支撑度为零)}

谱一致性得分 C\mathcal{C}:将策略置信度分布 ppolicy(τ)p_{policy}(\tau) 与物理环境的几何支撑度 Sgeo(τ)S_{geo}(\tau) 对比:

C=Ωw(τ)ppolicy(τ)Sgeo(τ)dτ\mathcal{C} = \int_\Omega w(\tau)\, p_{policy}(\tau) \cdot S_{geo}(\tau)\, d\tau

Sgeo(τ)0S_{geo}(\tau) \approx 0 表示路径被障碍阻断;Sgeo(τ)1S_{geo}(\tau) \approx 1 表示路径畅通。

状态策略熵 H(π)H(\pi)几何支撑度 SgeoS_{geo}一致性 C\mathcal{C}
正常低(坚定)高(畅通)1\approx 1
犹豫高(摇摆)高(路都通)1\approx 1(物理一致)
幻觉低(极度自信)低(是堵墙)0\approx 0

诊断判据H(π)<εHH(\pi) < \varepsilon_HC<εC\mathcal{C} < \varepsilon_C → 幻觉确诊,CBF 强制接管,切断 Brain 控制输出。

def detect_hallucination(p_policy, S_geo,
                         H_policy_thresh=0.1, C_thresh=0.2):
    """AI 幻觉检测:自信的白痴模式"""
    p = p_policy + 1e-12
    H_policy = float(-np.sum(p * np.log(p)) / np.log(len(p)))  # 归一化熵
    C = float(np.sum(p_policy * S_geo))                          # 谱一致性
    return {
        "H_policy": H_policy,
        "C": C,
        "hallucination": (H_policy < H_policy_thresh) and (C < C_thresh),
    }

决策犹豫:对称性破缺介入

当 Brain 面对对称障碍物时(如左绕/右绕路径几何等价),策略输出双峰分布,拓扑决策熵趋于最大:

Htopo(t)=τpt(τ)logpt(τ)Hmax=logNτH_{topo}(t) = - \sum_{\tau} p_t(\tau) \log p_t(\tau) \to H_{max} = \log N_\tau

行为上表现为 M/W 型轨迹——机器人先左转一点,停住,右转一点,再停住,形成无收益的周期性振荡(布里丹之驴)。

诊断判据HtopoH_{topo} 持续维持高位 主峰位置高频切换 → 犹豫确诊。

CBF 介入:注入微小随机扰动(噪声注入)或施加迟滞比较器(Hysteresis),强制对称性破缺,引导系统选定一侧并执行。

def detect_hesitation(X_topo_history, H_thresh=0.85,
                      switch_freq_thresh=0.3):
    """M 型轨迹诊断:检测双峰振荡"""
    H_series = [compute_topological_entropy(X_topo_history[t])
                for t in range(len(X_topo_history))]
    dominant_mode = np.argmax(np.abs(X_topo_history)**2, axis=1)
    switches = np.sum(np.diff(dominant_mode) != 0)
    return {
        "H_mean": float(np.mean(H_series)),
        "switch_freq": float(switches / len(X_topo_history)),
        "hesitation": (np.mean(H_series) > H_thresh) and
                      (switches / len(X_topo_history) > switch_freq_thresh),
    }

Prj167 中的安全监控

500kV 架空线路运检中,CBF 维护三类安全集:

  • 电气安全h1(x)=d(x,wire)5.0mh_1(x) = d(x, \text{wire}) - 5.0\text{m}(与带电导线距离)
  • 关节限位h2(x)=qmaxqh_2(x) = q_{max} - q(关节角不超限)
  • 力矩安全h3(x)=τmaxτ(q,q˙,u)h_3(x) = \tau_{max} - |\tau(q, \dot{q}, u)|(避免电机过载)

三个 CBF 约束同时纳入 QP,以最小控制代价修正 Brain 指令,确保所有安全集同时满足。当 h10h_1 \leq 0(接近带电体)时,CBF 优先于一切,立即覆盖 Brain 输出。


安全约束验证(STL)(STL-RHC 时域验证,与 CBF 并行运行)

接口协议 A/B(CBF 与接口 A 的交互协议)