← 返回 PaperDaily 视觉与图像

10个仿真+4个真机任务,HCPG-Flow更稳了

机器人操作里最烦的不是“不会动”,而是“会动但总选错那一下”。这篇工作把候选动作选择从依赖 critic 打分,改成了接触前后分阶段的几何进度判断,思路很朴素,但很实用。

10个仿真+4个真机任务,HCPG-Flow更稳了
原论文信息如下:
论文标题:
HCPG-Flow: Hierarchical Contact-Progress Guidance for Flow-Policy Robot Manipulation
发表日期:
2026年07月
发表单位:
Harbin Institute of Technology
原文链接:
https://arxiv.org/pdf/2607.17651v1.pdf

引言

HCPG-Flow 盯住的是机器人操作里一个很现实的问题:同一个状态下,flow policy 往往能采样出一堆“看起来都能做”的动作,但机器人每一步只能执行一个。以前常见做法是让 critic 给候选动作排队,可问题也很直白——critic 对那些训练分布里不太常见的动作,常常自己也没底,排名自然容易飘。
这篇工作不打算继续和 critic “死磕”,而是把候选选择搬到 rollout 时刻,用一个解析式的层次化接触-进度引导器来挑动作:接触前看末端到物体的接近进度,接触后看物体朝任务目标推进得怎么样。简单说,就是不再只问“哪个动作未来回报高”,而是先问“这个动作现在是不是更像在干正事”。

方法概述

图1:HCPG-Flow整体框架图
图1:HCPG-Flow整体框架图。仿真和真实机器人任务先输入条件 flow actor,一次性采样出 K = 4 个完整动作候选;随后 HCPG 在 rollout 阶段根据接触状态切换进度目标,给候选动作打分,并把分数变成一个受限的软动作,最后执行该动作并把转移写回原来的 replay buffer。最关键的是,actor 和 critic 的学习目标完全不变,只是执行时多了一层更懂几何的“裁判”。
这套设计的精髓在于,它不是再训练一个新打分器,也不是给策略网络额外加一堆辅助损失,而是把“怎么选动作”这件事做成了一个可解析的几何规则。对机器人来说,这种思路很像老司机开车:前面没碰到目标时先稳稳靠近,碰到了以后就别再瞎绕,赶紧把物体往任务方向推。

核心设计

论文先把 SAC-Flow 的角色说清楚:它负责从同一个状态里采样出多个候选动作,动作分布足够丰富,但“丰富”不等于“会选”。HCPG-Flow 要做的,就是在不改训练骨架的前提下,把执行时的候选选择变得更靠谱。

从“被动执行”到“主动思考”的动作选择

整个流程可以理解成三步。第一步,flow actor 一次性生成 K 个候选动作;第二步,HCPG 根据当前是否接触到物体,决定到底该盯着“末端到物体的距离”,还是盯着“物体到目标的距离”;第三步,把每个候选动作对这个距离的一阶缩短效果算出来,再在候选集内部标准化,最后用温度控制的软嵌入方式合成真正执行的动作。
这里最值得注意的是“软嵌入”而不是硬选一个最大值。硬 argmax 看上去干脆,实际上很容易让动作在候选之间跳来跳去;软加权则更平滑,也更像把多个“差不多靠谱”的提案揉成一个更稳的执行指令。对于真实机器人,这种平滑性很重要,毕竟机械臂不是拿来玩抽卡的。

层次化接触进度:先靠近,再推进

HCPG-Flow 的关键不是“看几何”这么简单,而是它明确区分了两个阶段。接触前,最重要的是让工具末端靠近物体;接触后,最重要的是让物体朝任务目标前进。这个阶段切换由接触信号或抓取状态触发,所以它不是凭空猜测,而是跟任务物理结构绑定的。
论文里给出的解释很朴素:如果一个动作让相关距离的一阶下降更大,那么它大概率更像“在推进任务”。这当然不是全局最优,也不保证长远回报一定最好,但它有一个非常现实的优点——它用的是 rollout 时已经能拿到的几何信息,不必等 critic 慢吞吞地给未来打分。在接触、抓取、插入、释放这类局部几何变化很敏感的任务里,这种即时信号往往比远期价值估计更稳。
为了避免不同任务、不同状态下分数尺度乱飞,HCPG 还会在候选集内部做标准化,再用温度参数把分数转成权重。这个设计的意思很明确:不是让分数绝对值吓人,而是只关心“这几个候选里谁更像正解”。

数据准备及实验设计

实验分成仿真和真实机器人两部分。仿真里,作者选了 ManiSkill 的 PickCube、PushCube、PokeCube、PullCube,以及 MetaWorld 的 ButtonPress、DrawerOpen、DoorOpen、SweepInto、PegInsertSide、LeverPull,一共十个任务。这个组合挺有代表性:有抓取、有推动、有插入、有拨动,也有接触丰富的关节式操作,基本把“动作候选到底该怎么选”这件事考得很全。
对比方法上,最核心的是 SAC-Flow,因为 HCPG-Flow 本质上就是给它加了一个 rollout 时的解析式选择器。MetaWorld 还补了 SAC、FlowRL 和 QSM,ManiSkill 里补了 FlowRL。这样安排的好处是能看清楚:提升到底来自 flow 表达能力,还是来自候选选择本身。
图1:HCPG-Flow整体框架图
图1:HCPG-Flow整体框架图。这个图最重要的不是“网络长什么样”,而是它把数据流画得很清楚:状态先进入 flow actor 生成候选,再由 HCPG 在执行端进行筛选,最后回到原始 replay buffer 和 SAC-Flow 的更新环路中。也就是说,训练不改,改的是执行时的决策方式
真实机器人部分则用了 Franka 平台上的四个任务:peg insertion、button pressing、drawer closing 和 rugby-ball grasping。这里的重点不是炫技,而是看这种“几何引导的候选选择”能不能从仿真走到现实。毕竟仿真里动作再漂亮,落地时一个摩擦系数、一个接触误差,就可能把结果打回原形。

实验结果

图3:MetaWorld最后五个episode成功率
图3:MetaWorld最后五个episode成功率。柱状图展示均值,黑色误差线表示标准差,不是置信区间。HCPG-Flow 在多个任务上把 SAC-Flow 往上推了一截,尤其在 ButtonPress、SweepInto、PegInsertSide 和 LeverPull 上更明显;而在 DrawerOpen、DoorOpen 这类已经接近饱和的任务上,提升就很有限,说明它更像是“补短板”,不是“把所有任务都硬拽到天花板”。
图4:ManiSkill最后五个episode成功率
图4:ManiSkill最后五个episode成功率。这里最扎眼的是 PickCube:SAC-Flow 已经不算弱,但 HCPG-Flow 仍然能把成功率拉高一大截。这个结果很说明问题,因为 PickCube 正是典型的“先靠近、再抓取、再搬运”任务,最需要候选选择器知道当前阶段到底该盯哪种几何关系。相比之下,PushCube、PokeCube、PullCube 本来就比较成熟,HCPG 的提升更像锦上添花。
如果只看最终成功率,可能会觉得这类方法只是“多加一点点分数”。但训练曲线给出的信息更完整:HCPG-Flow 在大多数训练阶段都能保持更好的平均学习走势,说明它不只是最后一刻碰运气,而是持续在帮数据收集往更优的方向偏。
图5:仿真学习进展曲线
图5:仿真学习进展曲线。这个图的价值在于它不是只盯着最后结果,而是看整个训练过程的稳定性。HCPG-Flow 在 ManiSkill 和 MetaWorld 两套环境里都表现出更平滑、更靠前的学习曲线,说明候选选择器确实在改变“采到什么数据”这件事,而不是只在评测时做表面功夫。
更有意思的是消融实验。作者发现,单纯把候选数 K 加大,并不会自动变强;Q-guided 的候选排名也不一定稳。真正起作用的是“接触分阶段 + 候选集内标准化 + 软动作嵌入”这套组合拳。也就是说,光有更多候选不够,关键是要知道该用什么标准去选。
图6:真实机器人平台上的成功状态
图6:真实机器人平台上的成功状态。peg 被插入、按钮被按下、抽屉被关上、橄榄球被稳稳抓起,这四个画面说明 HCPG-Flow 不只是仿真里“看起来很会”,而是在真实接触任务里也能保持较高成功率,而且平均完成步数还更少。对具身智能来说,这种“少走几步”往往比“嘴上更聪明”更重要。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:

这方法到底新在哪里?新点不在“又做了一个更强的 critic”,而在于它把候选选择从价值预测改成了接触条件下的几何进度判断。这个切换很关键,因为机器人操作里很多错误不是“未来回报算错了”,而是“当前阶段就选错了方向”。

它适合所有机器人任务吗?不适合。HCPG-Flow 依赖对象、末端和目标之间比较清晰的几何关系,也依赖接触阶段能被较可靠地识别。对于几何结构不明显、目标定义很模糊,或者需要强长期规划的任务,这种“局部进度优先”的规则就未必占优。

落地价值大不大?挺实在。因为它没有引入额外学习器、没有额外反向传播,也没有把训练系统搞得更复杂,工程上更像是“给已有 flow policy 加一个聪明的执行层”。如果目标是低成本提升机器人操作成功率,这种办法比再堆一个大模型更接地气。

如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★☆☆

它的创新不在“发明了全新范式”,而在于把一个老问题——候选动作怎么选——改成了更贴近物理过程的解析式规则。思路不花哨,但抓住了机器人操作里最容易出错的环节。

实验合理度:★★★★☆

仿真十个任务加四个真实任务,任务类型覆盖得比较完整,对比和消融也都能说明问题。虽然不是那种铺天盖地的大规模实验,但足够支撑核心结论。

学术研究价值:★★★☆☆

它证明了一个很实用的观点:在 flow policy 里,执行时的候选选择本身就是性能上限的一部分。这个结论对后续做具身控制的人很有参考价值。

稳定性:★★★★☆

从训练曲线到真实机器人成功率,结果都比较稳,没有那种“最后一轮突然起飞”的玄学味道。消融里 K 变大不一定更好,也说明方法不是靠堆参数碰运气。

适应性以及泛化能力:★★★☆☆

对接触丰富、几何关系明确的任务很合适,但对复杂长期规划或接触信号不清晰的任务,适用边界还是比较明确。

硬件需求及成本:★★★★☆

额外成本很低,主要是 rollout 时多算一点几何分数,没有新增学习模块,部署门槛不高。

复现难度:★★★★☆

方法本身不难复现,关键在于任务适配器和接触阶段定义是否对齐环境语义。比起再训练一个新网络,这种方法更像工程规则增强。

产品化成熟度:★★★☆☆

如果已有 flow policy 或 SAC-Flow 系统,它很适合作为低成本增强模块;但要想直接迁移到所有机器人场景,还得看任务几何结构是否足够清楚。

可能的问题:它依赖对象中心几何和接触判定,遇到感知噪声大、接触难检测或任务目标定义模糊时,效果可能会打折。再往上走,若任务需要强长程推理,只靠局部进度信号也未必够。

参考文献


主要参考文献

[1] T. Haarnoja, A. Zhou, P. Abbeel, and S. Levine, “Soft actor-critic: Offpolicy maximum entropy deep reinforcement learning with a stochastic actor,” in International Conference on Machine Learning, 2018.
[2] C. Chi, Z. Xu, S. Feng, E. Cousineau, Y. Du, B. Burchfiel, R. Tedrake, and S. Song, “Diffusion policy: Visuomotor policy learning via action diffusion,” in Robotics: Science and Systems, 2023.
[3] Y. Zhang, S. Yu, T. Zhang, M. Guang, H. Hui, K. Long, Y. Wang, C. Yu, and W. Ding, “SAC Flow: Sample-efficient reinforcement learning of flow-based policies via velocity-reparameterized sequential modeling,” in International Conference on Learning Representations, 2026. [Online]. Available: https://openreview.net/forum?id=zZvWj4JrYj
[4] L. Mao, H. Xu, X. Zhan, W. Zhang, and A. Zhang, “Diffusion-DICE: In-sample diffusion guidance for offline reinforcement learning,” in Advances in Neural Information Processing Systems, vol. 37, 2024.
[5] Z. Wang, J. J. Hunt, and M. Zhou, “Diffusion policies as an expressive policy class for offline reinforcement learning,” in International Conference on Learning Representations, 2023.
[6] A. Zeng, P. Florence, J. Tompson, S. Welker, J. Chien, M. Attarian, T. Armstrong, I. Krasin, D. Duong, V. Sindhwani, and J. Lee, “Transporter networks: Rearranging the visual world for robotic manipulation,” in Conference on Robot Learning, 2021.
[7] C. Chi, Z. Xu, C. Pan, E. Cousineau, B. Burchfiel, S. Feng, R. Tedrake, and S. Song, “Universal manipulation interface: In-the-wild robot teaching without in-the-wild robots,” in Robotics: Science and Systems, 2024.

HCPG-Flow:让机器人在操作中学会“审时度势”

机器人操作里最容易翻车的地方,往往不是“不会动”,而是“动作明明很多,偏偏每一步都选错”。flow policy 的问题就卡在这里:它能一次采样出一堆看起来都靠谱的动作,但机器人每个控制步只能执行一个。以前常见的思路是让 critic 来排队,谁的长期回报高就先上。问题也很现实——critic 对那些训练里见得少、但执行时又很关键的候选动作,常常自己也没底,排出来的顺序就容易飘。
HCPG-Flow 的思路很直接:既然长远价值估计不够稳,那就先别急着“算未来”,先看当前这个动作是不是更像在干正事。它把候选选择从 critic 打分,改成了 rollout 时刻的层次化接触-进度引导:接触前看末端执行器是否更接近物体,接触后看物体是否更朝任务目标推进。说白了,就是机器人别一上来就想太远,先把眼前这一步走对。
图1:HCPG-Flow整体框架图
这篇工作的标题里有两个关键词:Hierarchical Contact-Progress Guidance,中文可以理解成“层次化接触-进度引导”。其中,Contact 是接触阶段,Progress 是任务推进程度,Guidance 则是引导动作选择。它不是再造一个更大的策略网络,而是给现有 flow policy 加了一个执行层的“脑内导航”。这种做法很像老司机开车:还没碰到目标时先稳稳靠近,碰到了以后就别再绕弯,赶紧把物体往任务方向推。🤨

无需额外学习的解析式选择器

这套方法最讨喜的地方,是它没有再训练一个新 scorer,也没有给策略网络加一堆辅助损失。很多机器人论文一到“改进选择器”这一步,就开始堆模块、堆损失、堆超参,最后系统复杂得像在给机器人装第二个大脑。HCPG-Flow 反着来:它只在 rollout 时做解析式判断,训练骨架还是原来的 SAC-Flow。
这里的 SAC-Flow 是论文的基础骨架。SAC 指 Soft Actor-Critic,中文是“软演员-评论家算法”,一种经典的离策略强化学习框架;Flow 则指 flow policy,也就是用连续变换来表达动作分布的策略。相比普通高斯策略,flow policy 更擅长表示多峰动作分布,意思是同一个状态下可以给出多个合理动作,而不是只给一个“均值动作”。问题也正出在这里:动作越多,越需要知道该执行哪一个。
HCPG-Flow 的选择器是解析式的,核心不是“学会打分”,而是“按几何常识打分”。它会把当前状态里的几个关键量拿出来:末端执行器位置、被操作物体位置、任务目标位置,以及可选的接触或抓取标志。然后它只看动作的平移部分,判断这个候选动作在当前阶段是不是更能减少目标距离。这个判断非常朴素,但也非常像人类做事:先看方向对不对,再看力度够不够,最后才谈长远收益。
图2:代表性的仿真成功轨迹
图2:代表性的仿真成功轨迹。上排是 ManiSkill 任务,下排是 MetaWorld 中接触丰富、带关节结构的操作任务。这个图的意义不在于“动作很顺眼”,而在于它说明 HCPG-Flow 不是只会在一个玩具任务里刷分,而是能在抓取、推动、插入、拉动这些不同几何结构的任务里都保持一致的执行逻辑。
如果把原始动作候选看成一堆“提案”,那 HCPG-Flow 做的事情就是先给它们排个队,但排队标准不是“谁的未来回报看起来更高”,而是“谁对当前阶段的几何推进更直接”。这件事之所以重要,是因为机器人操作里很多关键转折点都发生在接触附近:还没碰到时,乱推没意义;碰到了以后,继续盯着末端离目标多远也没意义,应该盯着物体怎么动。这个阶段切换做对了,动作选择就不再是瞎猜。

从“被动执行”到“主动思考”的动作选择

论文把动作选择拆成了三个动作:先采样,再打分,最后软融合。第一步,flow actor 一次性生成 K 个动作候选;第二步,HCPG 用接触状态决定当前应该看“靠近物体”还是“推进任务”;第三步,把每个候选动作对目标距离的一阶缩短效果算出来,再在候选集内部标准化,最后用温度控制的软嵌入方式合成一个真正执行的动作。
这里最值得琢磨的是“软嵌入”而不是硬 argmax。硬选一个最大值看似干脆,实际上容易让动作在候选之间跳来跳去;软加权则更平滑,也更像把几个“差不多靠谱”的提案揉成一个稳一点的执行指令。对真实机器人来说,这种平滑性是有价值的,尤其在接触任务里,动作抖一下,可能就从“快成功”变成“又来一遍”。
论文里还有一个很关键的细节:它并不直接用原始分数,而是在候选集合内部做标准化。这个设计的意思很明确——不同任务、不同状态下的绝对分数尺度可能差很多,没必要让分数值本身“吵架”,只要保证同一批候选里谁更像正解就行。再配合温度参数,最终执行动作不会被单个异常候选硬拽走。

操作前看距离,操作后看进度

HCPG-Flow 的核心不是“看几何”这么简单,而是它明确区分了两个阶段。接触前,最重要的是让工具末端朝物体靠近;接触后,最重要的是让物体朝任务目标前进。这个阶段切换由接触信号或抓取状态触发,所以它不是拍脑袋,而是跟任务物理结构绑定的。
论文给出的解释很朴素:如果一个动作让相关距离的一阶下降更大,那么它大概率更像“在推进任务”。这当然不是全局最优,也不保证长远回报一定最好,但它有一个非常现实的优点——它用的是 rollout 时已经能拿到的几何信息,不必等 critic 慢吞吞地给未来打分。在接触、抓取、插入、释放这类局部几何变化特别敏感的任务里,这种即时信号往往比远期价值估计更稳。
为了让这个逻辑更通俗,可以把它理解成两道门。第一道门是“有没有接触到物体”;没接触时,候选动作只要更能缩短末端到物体的距离,就更值得执行。第二道门是“接触后物体是否朝目标推进”;一旦接触建立,末端动作的意义就变成了对物体施加有效位移。也就是说,HCPG-Flow 不是在问“这个动作看起来像不像高手”,而是在问“这个动作是不是当前阶段最该做的事”。
这种做法还有一个隐含好处:它把“动作选择”从纯粹的长期价值判断,拉回到了更容易验证的几何常识。对机器人操作来说,很多失败并不是因为策略不知道最终目标,而是因为在接触附近的那一小步走歪了。HCPG-Flow 盯住的正是这类“临门一脚”的问题。

实验验证:模拟与真实环境下的双重飞跃

实验设计比较干净。仿真部分选了十个任务:ManiSkill 里的 PickCube、PushCube、PokeCube、PullCube,以及 MetaWorld 里的 ButtonPress、DrawerOpen、DoorOpen、SweepInto、PegInsertSide、LeverPull。这个组合覆盖了抓取、推动、插入、拉动、按压和关节操作,基本把“接触前后怎么选动作”这件事考全了。
对比方法的设置也比较合理。最核心的基线是 SAC-Flow,因为 HCPG-Flow 本质上就是在它上面加了 rollout 选择器。MetaWorld 里还补了 SAC、FlowRL 和 QSM,ManiSkill 里补了 FlowRL。这样安排的目的很明确:先看 flow 表达能力,再看选择器到底有没有真贡献,而不是把一堆不相关的方法堆上来凑热闹。
图3:MetaWorld最后五个episode成功率 图4:ManiSkill最后五个episode成功率 图5:仿真学习进展曲线
表格里的数字也支持这个判断。MetaWorld 的跨任务平均成功率从 94.7% 提到 97.1%,ManiSkill 的跨任务平均成功率从 87.2% 提到 96.7%。尤其在 ManiSkill 上,PickCube 的提升非常大,说明这个选择器确实抓住了“接触前后阶段切换”这个关键点。不是所有任务都需要大改模型,但一旦任务的难点正好卡在候选动作的选择上,这种轻量改法就很值钱。👍
表1:MetaWorld最后五个episode成功率
表1:MetaWorld最后五个episode成功率。这里能看到一个很典型的现象:在 ButtonPress、SweepInto、PegInsertSide、LeverPull 上,HCPG-Flow 都比 SAC-Flow 更高;而在 DrawerOpen、DoorOpen 上,两者几乎持平,因为这些任务本来就已经接近饱和。这个结果说明 HCPG 不是“无脑全涨”,而是对真正需要阶段判断的任务更有效。
表2:ManiSkill最后五个episode成功率
表2:ManiSkill最后五个episode成功率。PickCube 的提升最显眼,从 57.5% 跳到 91.7%,这几乎就是“候选选择器救场”的教科书案例。PushCube、PokeCube、PullCube 则是小幅但稳定的提升,说明 HCPG 在成熟任务上也没有把原本不错的策略搞乱。
更值得看的其实是消融实验。作者专门比较了 Q-guided 的候选排名、不同候选数 K,以及 HCPG 的完整版本。结果很有意思:单纯增加候选数并不会自动更强,Q-guided 也不一定稳赢,真正起作用的是“接触分阶段 + 候选集内标准化 + 软动作嵌入”这套组合拳。也就是说,光有更多候选不够,关键是要知道该用什么标准去选。
表3:选择策略与候选数消融实验
表3:选择策略与候选数消融实验。这里最关键的结论是,HCPG K=4 在 Last-5 和 AUC 上都最好,Q-guided K=4 虽然最终成功率不差,但整体稳定性不如 HCPG。这个结果很直白地说明:critic 不是不能用,而是在候选动作分布不够稳的时候,几何进度往往更可靠。
表4:候选数K敏感性分析
表4:候选数K敏感性分析。K=4 的表现最好,K=2 和 K=8 都不如它稳定,尤其在 PickCube 上差异非常明显。这个现象挺有意思:候选太少,容易漏掉好动作;候选太多,反而会把选择器带进噪声里。HCPG-Flow 的最佳点不是“越多越好”,而是“刚刚好”。
转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球