实时安全监控
CBF(Control Barrier Function,控制屏障函数) 由 Ames et al. 于 2017 年系统化,在 Spine 层(1kHz)持续监控系统状态是否在安全包络内。相比 STL 的时域验证,CBF 提供在线、连续的安全保证——当 CBF 约束与 Brain 指令冲突时,CBF 优先,这是”脊髓反射弧”的工程实现。
CBF 还承担 Spine 层的认知健康监控职能:检测 Brain 层的物理幻觉与决策犹豫,并在确诊后强制接管。
CBF 安全集与 QP 求解
定义安全函数 ,安全集为 。CBF 条件要求:
其中 为 class- 函数。在每个控制周期(1ms),Spine 层求解带 CBF 约束的 QP:
为 Brain 层下发的参考指令,QP 以最小干预修正 使系统保持在 内。在 Prj167(500kV 架空线路),,,CBF 以 1kHz 确保机器人始终保持电气安全距离。
幻觉检测:自信的白痴模式
CBF 的接管职能依赖对 Brain 层认知状态的实时评估。从谱诊断视角,AI 幻觉表现为:
谱一致性得分 :将策略置信度分布 与物理环境的几何支撑度 对比:
表示路径被障碍阻断; 表示路径畅通。
| 状态 | 策略熵 | 几何支撑度 | 一致性 |
|---|---|---|---|
| 正常 | 低(坚定) | 高(畅通) | |
| 犹豫 | 高(摇摆) | 高(路都通) | (物理一致) |
| 幻觉 | 低(极度自信) | 低(是堵墙) |
诊断判据: 且 → 幻觉确诊,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 面对对称障碍物时(如左绕/右绕路径几何等价),策略输出双峰分布,拓扑决策熵趋于最大:
行为上表现为 M/W 型轨迹——机器人先左转一点,停住,右转一点,再停住,形成无收益的周期性振荡(布里丹之驴)。
诊断判据: 持续维持高位 且 主峰位置高频切换 → 犹豫确诊。
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 维护三类安全集:
- 电气安全:(与带电导线距离)
- 关节限位:(关节角不超限)
- 力矩安全:(避免电机过载)
三个 CBF 约束同时纳入 QP,以最小控制代价修正 Brain 指令,确保所有安全集同时满足。当 (接近带电体)时,CBF 优先于一切,立即覆盖 Brain 输出。
→ 安全约束验证(STL)(STL-RHC 时域验证,与 CBF 并行运行)
→ 接口协议 A/B(CBF 与接口 A 的交互协议)