← 返回 PaperDaily
视觉与图像
粒子也能做安全约束?这篇论文把PHD滤波用活了
这篇论文干的事很实在:环境里障碍物数量都不固定,还总有测不准、看不全的问题,机器人却还得保证安全。作者把随机有限集的粒子信念直接塞进控制障碍函数里,做到了能解释、能算、还能上水池实验。
龙哥读论文
发布于 2026-08-21 00:20:04
阅读 3
查看原文
🐉 龙哥读论文知识星球来了! 公众号每日8篇拆解不够看?星球 无上限更AI领域论文、资讯、招聘、招博、开源代码, 一站式干货,每日2分钟刷完即赚! 👇扫码加入「龙哥读论文」知识星球,前沿干货、实用资源一站式拿捏~
龙哥导读: 这篇论文干的事很实在:环境里障碍物数量都不固定,还总有测不准、看不全的问题,机器人却还得保证安全。作者把随机有限集的粒子信念直接塞进控制障碍函数里,做到了能解释、能算、还能上水池实验。
原论文信息如下:
随机有限集下的安全控制:问题与挑战
机器人安全这件事,最怕的不是“障碍物很危险”,而是“障碍物数量都不确定,还会动,传感器还看不全”。这篇论文正好盯上了这个麻烦:在未知、动态、遮挡频繁的环境里,机器人不仅要避障,还要对“自己到底看见了多少个物体、这些物体在哪里”这件事保持概率意义上的谨慎。
传统控制障碍函数(CBF,Control Barrier Function,控制障碍函数)擅长做一件事:把系统状态“按住”在安全集合里。但它默认状态是准的,环境也是清楚的。现实里就没这么老实了,机器人常常只拿到噪声测量,甚至连“到底有几个目标”都说不准。作者把这类问题放进随机有限集(RFS,Random Finite Set,随机有限集)框架下处理,再用概率假设密度(PHD,Probability Hypothesis Density,概率假设密度)滤波器来估计多目标信念,最后把安全约束直接做进这个“粒子信念”里。
说白了,论文想解决的不是“看见一个障碍物怎么躲”,而是“看见一锅乱炖的动态点云,怎么还敢保证安全”。这就比普通避障难了一层:既有状态不确定性,又有对象数量变化,还要兼顾实时控制。
粒子变成“安全约束”:核心方法解析
这篇工作的核心思路很直接:既然 PHD 滤波器最终会把多目标信念表示成一堆带权粒子,那就别绕弯子,直接在粒子上做安全约束。这样做的好处是,安全判断不再依赖“拍脑袋式”的单点估计,而是利用整个信念分布来判断哪些粒子代表危险区域、哪些粒子代表安全区域。
先把问题说人话:机器人有自己的状态 x,环境里有一群目标 o(i),但目标数 n 是随机的。PHD 滤波器不是去追踪每个目标的“身份证”,而是估计一个密度函数 D(o),它的积分代表某个区域里期望有多少个目标 。在序贯蒙特卡洛(SMC,Sequential Monte Carlo,序贯蒙特卡洛)实现里,这个密度进一步被表示成 L 个粒子及其权重。
作者利用了泊松点过程(PPP,Poisson Point Process,泊松点过程)的“空集概率”来重写安全约束。直白点说,就是先定义一个“失败集合” F(x):只要目标落进这个区域,机器人就不安全。然后把“失败集合里至少出现一个目标”的概率限制在风险阈值 τ 以内。这样,安全不再是“绝对不碰撞”,而是“碰撞概率不能超过用户给定的风险上限”。
更妙的是,作者没有把粒子再压缩成一个均值或者 MAP(Maximum A Posteriori,最大后验)点,而是直接对粒子集合排序,找出最危险的那一批。其安全函数 hb 不是简单地看某个粒子的状态,而是取“最不安全的一组粒子”里最小的安全裕度,再用 soft minimum 做平滑近似。这样一来,函数虽然是非光滑的,但仍然可以进入 CBF 的控制框架。
为了让这个方法能算得动,作者还做了一个很工程化的处理:把并列粒子的梯度约束压缩成一个辅助变量 ρ,再把原本指数级增长的约束数,降成线性级别。这个动作很像把一锅乱麻梳成几股线,虽然还是复杂,但至少能上 QP(Quadratic Programming,二次规划)求解器,不至于把 CPU 烧成烤红薯。
安全控制流程:
1. 用 SMC-PHD 滤波器更新粒子信念
2. 计算每个粒子对应的安全裕度 s_i
3. 按安全裕度排序,选出最危险的粒子集合
4. 用 soft minimum 构造 belief CBF h_b
5. 将 h_b 及其导数约束写成 QP
6. 求解得到安全控制输入 u
7. 在离散更新时用风险收紧 τ-ε 预留安全余量
这里的关键缩写也顺手捋清楚:BCBF 是 Belief Control Barrier Function,信念控制障碍函数 ,意思是把“状态信念”而不是单点状态放进 CBF;SMC-PHD 是 Sequential Monte Carlo Probability Hypothesis Density,序贯蒙特卡洛概率假设密度滤波器 ;RFS 是 Random Finite Set,随机有限集 。这些词看着绕,其实都在干同一件事:让机器人在“看不清、数不准”的情况下还能做安全决策。
数学上如何保证安全?:连续与离散的博弈
这部分是论文最像“真功夫”的地方。因为信念不是连续光滑地长大,而是一直在“连续预测”和“离散更新”之间跳来跳去:预测阶段粒子按动力学往前滚,更新阶段又会根据新观测重采样、出生、删粒子。也就是说,安全约束不是在一个安安静静的系统里维持,而是在一个会抽风的混合系统里维持。
在连续预测阶段,作者用非光滑 CBF 理论处理“多个粒子在阈值处并列”的情况。由于 Clarke 广义梯度可能有多种取法,直接写一个普通导数条件不够。论文把所有可能成为“最危险集合”的选择都纳入 active set,再通过一个辅助变量把它们统一收口。结果是,只要 QP 里满足那组充分条件,安全集合就能保持前向不变。
离散更新阶段更麻烦。因为新观测一来,PHD 滤波器可能突然“生出”新的粒子,或者把粒子权重重分配,安全函数的值会跳一下。作者没有假装这事不存在,而是采用了一个很实在的办法:把风险阈值先收紧成 τ−ϵ,给更新留出安全缓冲。这样,即便更新后粒子分布发生一定幅度的变化,只要变化没超过缓冲,最终安全集合仍可保持。
这套设计的逻辑很清楚:连续阶段靠 CBF 保证“别往危险里滑”,离散阶段靠风险收紧保证“更新别把你突然甩进危险里”。一个管平滑过程,一个管跳变过程,合起来才算完整。否则只管预测不管更新,滤波器一跳,前面所有安全证明都可能白写。
作者最终把控制求解写成一个 QP,目标是在尽量接近参考控制 uref 的同时满足安全约束。这个形式很适合机器人:参考轨迹负责“想去哪”,CBF 负责“别作死”,QP 负责“在两者之间找一个还能执行的折中”。
真实水池实验:从仿真到硬件部署的验证
论文最加分的地方,不是仿真跑通,而是真把方法丢进了水池里。水下场景比地面场景更难缠:声呐噪声大、遮挡多、目标还可能是另一台移动 ROV。作者让 BlueROV2 搭载 3D 声呐,在木条障碍和移动机器人之间保持安全距离,参考控制沿着 −y 方向硬冲,安全控制器则负责把这股“莽劲儿”按住。
从实验现象看,控制器并不是简单地“刹车”,而是根据障碍分布主动重塑轨迹。它会在障碍出现时调整姿态、改变前进方向,甚至倒退。这个行为和普通避障的最大区别在于:它不是只看最近的一个点,而是看整个粒子信念里“哪些区域更危险”。
从实现角度看,这套方法的实时性也挺硬核。作者在 JAX 里做了向量化和自动微分,把粒子间独立的计算并行化,再用 OSQP 求解 QP。论文报告的平均控制计算时间小于 5 毫秒,这意味着它不是那种“实验室能跑、现场等半天”的方案,而是有真实在线控制潜力的。
方法优缺点与性能总结
这篇论文最值得肯定的地方,是它没有停留在“把不确定性说得很漂亮”的层面,而是真的把不确定性变成了可计算的安全约束。它的强项主要有三点:第一,直接用粒子信念而不是单点估计,避免了信息压缩过度;第二,把连续预测和离散更新分别处理,补上了混合系统里的安全证明;第三,仿真和硬件都做了,而且是水下硬件,这个门槛不低。
但它也不是“无脑满分”。首先,这套方法依赖 PHD 粒子表示,粒子越多,计算和调参压力就越大;其次,离散更新阶段用了风险收紧 τ−ϵ,能缓冲跳变,但也意味着安全性和保守性之间仍要折中;最后,当前控制器并没有显式保证每次更新后都自动回到收紧集合,这一点作者自己也承认还可以继续做得更完整。
如果从工程视角看,这个方法的产品化成熟度算是“有希望,但还没到闭眼上车”的级别。对于动态障碍多、目标数量不固定、传感器信息不完美的机器人平台,它很有吸引力;但如果场景本身很简单,用这么重的随机有限集建模就有点杀鸡用牛刀了。
未来展望与开放问题
接下来最自然的方向,是把“更新后要回到收紧安全集”的过程也纳入显式控制。作者已经在文中点到了时间变化 CBF 的可能性,这说明当前版本更像是一个稳健可用的基础框架,而不是最终形态。
另一个值得继续挖的点,是把这个框架从“所有对象同等对待”扩展到“不同对象不同风险”。现实里,有的目标是人,有的是墙,有的是临时漂浮物,安全优先级不可能一刀切。若能把对象类别、风险等级、运动意图一起编码进 belief CBF,实际部署价值会更高。
还有一个现实问题:粒子法的计算量对硬件和场景规模都很敏感。未来如果能把粒子压缩、稀疏更新、事件触发控制结合起来,可能会比单纯堆更多粒子更实用。毕竟机器人系统讲究的不是“证明很漂亮”,而是“算得动、跑得稳、出事概率低”。
龙迷三问
这篇论文到底解决什么问题? 它解决的是“未知数量动态障碍下的安全控制”问题。不是只躲一个已知障碍,而是在障碍数量会变、测量会噪、对象会进出视野的情况下,还要给机器人一套可证明的安全控制器。
BCBF 和普通 CBF 有什么区别? 普通 CBF 盯的是单点状态,BCBF 盯的是“状态信念”。这里的 belief 不是拍脑袋猜测,而是由 SMC-PHD 粒子滤波器给出的多目标概率表示,所以它能把不确定性一起算进去。
为什么离散更新还要单独处理? 因为滤波器更新不是连续平滑的,重采样和粒子出生会让信念突然跳变。要是只管连续预测,不管更新跳变,安全证明就会在更新那一刻“断电”。所以作者用风险收紧 τ−ϵ 给更新留了缓冲。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数: ★★★★☆ 这篇论文的创新不在“发明一个全新世界”,而在把 RFS、PHD、BCBF 和非光滑 CBF 真正拧成了一套可用的方法,尤其是粒子级安全约束这一步很实。
实验合理度: ★★★★☆ 仿真、虚警、硬件都覆盖了,而且还比较了 Mean-CBF、MAP-CBF 和已有避障基线,实验设计是站得住的。唯一的遗憾是更大规模场景下的压力测试还不够多。
学术研究价值: ★★★★☆ 对多目标不确定环境下的安全控制有明确研究价值,尤其适合后续继续扩展到更复杂的机器人感知-控制闭环。
稳定性: ★★★☆☆ 连续预测部分有理论保证,但离散更新依赖风险收紧和滤波器行为,工程上还需要更细的时序管理。
适应性以及泛化能力: ★★★★☆ 对动态障碍、遮挡、虚警这类问题比较通用,但前提是系统本身能提供足够好的粒子信念估计。
硬件需求及成本: ★★★☆☆ 计算仍然依赖粒子数量和 QP 求解,虽然毫秒级可跑,但不是轻量级方案;对低算力平台还要继续优化。
复现难度: ★★★☆☆ 算法链路不算短,涉及 PHD 滤波、粒子重采样、非光滑 CBF 和 QP,复现门槛中等偏上。
产品化成熟度: ★★★☆☆ 在水下和动态避障场景里已经接近可用,但要大规模上产品,还得补充鲁棒性、异常工况和长期运行验证。
可能的问题: 方法很完整,但对粒子滤波质量和更新时序依赖较强;若感知很差或粒子退化严重,安全裕度会被明显压缩。
主要参考文献
[1]–[3] 论文中关于控制障碍函数与非光滑 CBF 的基础工作。
[5]–[7] 论文中关于 belief CBF 的相关研究。
[8]–[13] 论文中关于随机有限集、PHD 滤波与机器人多目标估计的相关研究。
[14]–[18] 论文中关于不确定性下安全控制与鲁棒 CBF 的相关研究。
[21]–[30] 论文中关于泊松点过程、JAX、OSQP、PyBullet 及基线方法的相关引用。
原文链接:https://arxiv.org/pdf/2607.15016v1.pdf
欢迎加入龙哥读论文粉丝群,
扫描下方二维码或者添加龙哥助手微信号加群 :kangjinlonghelper。
一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥) ,根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群