Push-Wiper:基于分段推动轨迹的通用机器人黏性污渍清洁框架 Push-Wiper: Toward General-Purpose Robotic Cleaning across Varied Stains and Surfaces with Segmented Pushing Trajectories
将黏性污渍清洁重定义为拓扑聚合问题,用扩散策略生成分段推动实现零样本泛化
前置知识
扩散策略(Diffusion Policy)
扩散策略是一种基于去噪扩散概率模型的视觉运动策略学习方法。它把机器人动作建模成动作序列的分布,训练时逐步向专家示范动作加噪,再学习从噪声恢复动作的条件去噪过程;推理时从随机噪声出发,迭代去噪得到多模态的动作序列。与回归单一动作的策略不同,扩散策略能自然地表达“同一个观测对应多种合理动作”的多模态分布,特别适合存在多种合理解法的任务。本文用卷积型扩散策略配合 DDIM 调度器,训练 100 步、推理 10 步,每次预测 $n=16$ 个动作。
本文把扩散策略当作低频的宏观动作生成器,专门用于捕捉分段推动的多模态聚合行为,理解其多模态特性才能看懂为什么作者选择它而非普通回归策略。
力位混合控制(Hybrid Force-Position Control)
力位混合控制把机械臂末端自由度拆成两组:一部分用位置控制严格跟踪期望轨迹,另一部分用力控制维持期望接触力。这样既能沿表面按规划轨迹运动,又能保证海绵与表面之间有足够的法向接触力,而不会压坏表面或脱离接触。本文对垂直法向轴采用导纳控制器把法向力稳定在设定值 $F_z^{des}=20\,\text{N}$,其余平移轴和姿态则跟随 ASPI 生成的轨迹做位置控制。
清洁黏性污渍既需要足够的切向摩擦把材料铲下来,又需要受控的法向力避免损坏表面,这正是力位混合控制要解决的核心矛盾,是理解 Push-Wiper 执行层的关键。
导纳控制(Admittance Control)
导纳控制是一种柔顺控制方法,它把机械臂建模成虚拟的质量-阻尼-弹簧系统,根据期望力 $F_z^{des}$ 与实测力 $F_z$ 的差值,通过二阶动力学方程 $m\ddot{\delta z}+b\dot{\delta z}+k\delta z=F_z^{des}-F_z$ 计算出一个位置修正量 $\delta z$,再把修正后的位置指令发给底层位置控制器。它适合刚性较高的机械臂,能平滑地响应接触力。本文用它在 TCP z 轴(对齐表面法向)上调节接触力。
Push-Wiper 把力反馈完全放在执行层而非策略输入,导纳控制器是这套设计落地的关键组件,理解它能解释为什么策略可以不感知力却仍稳定接触。
模仿学习与遥操作数据采集(Imitation Learning & Teleoperation)
模仿学习让机器人从人类专家示范中学习策略,而不依赖手工奖励函数。本文用 SpaceMouse 遥操作 UR7e 机器人,在平面上完成 150 个清洁任务(75 个番茄酱、75 个花生酱),共采集 448 条分段推动轨迹;再通过对二值污渍图和轨迹施加一致的仿射变换做数据增强,扩充到 2688 条用于训练。关键在于采集的是离散的分段推动(stroke),而非连续的端到端清洁过程。
Push-Wiper 的数据范式——分段推动而非连续轨迹——是它能把扩散策略改造成局部聚合算子的前提,理解采集方式才能看懂方法设计的动机。
研究动机
黏性污渍(如番茄酱、花生酱)由于高黏度和复杂的流变特性,是机器人表面清洁的难点。以文中两类代表性污渍为例,番茄酱在剪切率 $10\,\text{s}^{-1}$ 下表观黏度约 1000–1500 mPa·s,花生酱更高达 29452 mPa·s,近乎一个数量级的差距意味着更强的粘附力、更难清除。常见两种动作各有缺陷:擦拭会把污渍涂抹、扩散,造成二次污染;刷洗虽然摩擦大但容易损伤表面,需要精确的力控。桌面场景又限制了冲洗用水。现有方法中,经典方法(如位置控制、阻抗控制、软臂力位混合控制)要么依赖人工介入、要么残留明显;学习方法(强化学习、模仿学习、扩散擦写策略)大多只针对白板等单一平面上的简单擦痕,未触及黏性污渍。表格清洁现场污渍形态多样(固体碎屑、液体洒落、黏性物质并存),单一策略或单一工具难以胜任,目前还没有专门针对黏性污渍的学习框架。
本文的目标是作者的目标是构建一个能彻底清除任意表面上黏性污渍的通用学习框架 Push-Wiper。具体而言,它要用最普通的硬件(一台带腕部相机的机械臂加一块海绵)就能工作;要能稳定处理番茄酱、花生酱等不同黏度的污渍,无论污渍是简单单个还是复杂分散的多个区域;要在不做额外训练的前提下零样本迁移到训练时从未见过的曲面(凸面/凹面)、固体残渣、液体洒落以及未见过的黏性物质(如黑椒酱、蚝油);还要保证海绵可以自清洁、反复使用。最终用清洁得分 CS(清洁掉的污渍面积百分比)来量化,目标是把基线方法甩开一倍以上的差距。
与已有工作不同的是,本文的独特切入角度是把“清洁黏性污渍”彻底重新定义为一个拓扑聚合问题,而不是去精确建模流体在接触下的变形(这在解析上几乎不可解,需要隐式流变参数先验)。作者据此提出“先聚合、后收尾”范式:先用分段推动把散开的污渍一点点归拢成一个紧凑区域,再用固定动作原语清除聚合体。更关键的是,他们把 2D 拓扑规划与 3D 几何执行严格解耦——策略只在二值污渍图上做拓扑推理、输出低维动作 $a=(x_b,y_b,\Delta\theta)$,而把 2D 动作映射到任意 3D 曲面的工作交给确定性的 ASPI 模块。这种解耦让策略完全不必学习复杂视觉纹理或曲面几何,从根本上缩小了搜索空间,也才使得零样本迁移成为可能。这与以往直接建模复杂视觉/3D 几何的做法形成本质区别。
核心方法
Push-Wiper 的整体思路是“直觉先行、技术对齐”。直觉上,人类擦黏性污渍往往是先推拢成小块再清掉,而非无脑来回擦。作者据此把任务拆成聚集阶段与后处理阶段。聚集阶段把表面离散成 $M\times N$ 网格,每格状态 $D_{i,j}\in\{0,1\}$,目标为最大化干净单元数 $\max\sum\sum D_{i,j}$,并以聚集目标 $\min_{\tau}(D(\mathcal{S}_{t+1})+\lambda K(\mathcal{S}_{t+1}))$ 同时压低污渍空间直径和连通片断数。技术上,作者刻意把观测抽象成无纹理的二值污渍图 $\mathcal{M}_t$,逼策略只从拓扑学推动;用扩散策略作低频宏观规划器,从单次观测 $O_t=\{\mathcal{M}_t,p_{cap}\}$ 生成完整分段推动序列 $\mathcal{A}_t$;再用 ASPI 把 2D 动作重建为 6D 轨迹 $\mathcal{P}_{traj}$;最后由混合力位控制器以 100 Hz 执行,导纳控制器把法向力稳定在 20 N。后处理阶段用固定动作原语清除残留并自清洁海绵。
核心创新点是“2D 拓扑推理与 3D 几何执行的严格解耦”,配套“先聚合、后收尾”的范式和分段推动训练范式。与已有方法的本质区别有三:第一,以往方法要么直接规划整条连续擦写轨迹、要么用单次大动作覆盖,而 Push-Wiper 把示范刻意切成离散的分段推动 stroke,把扩散策略改造成“局部聚合算子”——每个宏观步先重新感知、再规划、开环执行、再重新感知,既避开了接触时腕部相机失视、外部相机被遮挡的感知困难,又规避了单次全局规划在污渍剧烈重分布后迅速失效的问题。第二,动作空间被严格限制在 $a=(x_b,y_b,\Delta\theta)$ 的 2D 平移加偏航,逼策略只能生成把污渍边界向内推的平面聚合动作,由 ASPI 独立重建 6 自由度位姿。第三,二值图抽象消除了策略对视觉外观的依赖。这三点共同让搜索空间急剧缩小,是实现零样本泛化的根本原因。
方法步骤详情
方法分三步。第一步问题分解:表面离散为 $M\times N$ 网格,定义聚集目标,硬件仅需带腕部相机的机械臂和海绵。第二步聚集阶段含三个子环节。动作生成:把观测抽象为二值污渍图,喂给卷积型扩散策略(DDIM,训练 100 步、推理 10 步、每次预测 $n=16$ 个动作),输出序列 $\mathcal{A}_t$,每个动作为 $a=(x_b,y_b,\Delta\theta)$ 的 2D 平移加偏航。轨迹生成:ASPI 把动作投影到曲面得法向 $n_m$,强制 TCP z 轴对齐 $-n_m$ 并叠加偏航 $\Delta\theta$,再用 B 样条+梯形速度+球面插值合成 6D 轨迹 $\mathcal{P}_{traj}$。轨迹执行:法向用导纳控制器 $m\ddot{\delta z}+b\dot{\delta z}+k\delta z=F_z^{des}-F_z$($F_z^{des}=20$ N)维持接触,其余轴位置控制;每条推动后刮海绵,污渍降到 100 像素停止。第三步后处理执行点按、刮除、涮洗、挤水、全幅擦拭等原语。共采集 448 轨迹增强到 2688 条训练。
技术新颖性
技术新颖性体现在四个层面。范式层面,这是首个专门针对黏性污渍、提出“先聚合、后收尾”策略的学习框架,克服了传统擦拭会涂抹、刷洗易伤表面的固有矛盾。架构层面,提出了“解耦的视觉运动架构”——用低频扩散策略生成 3D 动作,再由 ASPI 与混合力位控制转换成 6D 轨迹,把策略与 3D 曲面变化隔离开,从根源上降低了问题复杂度。表示层面,用无纹理二值污渍图作为观测,把任务抽象成纯几何拓扑,这与以往依赖复杂视觉纹理或 3D 表面几何的方法相反。训练范式层面,刻意用离散分段推动而非连续端到端轨迹做示范,把扩散策略从高频 receding-horizon 控制器改造成低频宏观局部聚合算子。综合这些设计,作者宣称并在实验中验证了强零样本泛化:无需再训练即可迁移到未见曲面、固体残渣、液体洒落与未见黏性污渍。
实验结果
核心发现可逐实验梳理。主对比实验(Table I):番茄酱和花生酱各做 20 次,Push-Wiper 总体平均 CS 为 89.88,远超 FC 的 32.64 和 PO 的 44.98,整体提升约 130%。番茄酱上 Push-Wiper 为 92.30,FC 53.99、PO 58.04;高黏度花生酱基线明显崩塌——FC 仅 11.28(复杂低至 6.11,标准差 38.45 出现负 CS),PO 31.99,而 Push-Wiper 仍保持 87.46,几乎不随黏度下降。失败模式(Fig. 4):FC 在力控下海绵变形拖拽材料造成二次污染;PO 缺乏聚合行为,长轨迹主要铺展污渍;Push-Wiper 分段推动逐步收拢可靠清除。曲面泛化(Table II):训练无曲面的凸/凹面零样本,凸面 91.45、凹面 93.42,与平面相当。未见物体/污渍(Table III):固体 100、液体 92.62、CVS 94.42。后处理(Table IV):番茄酱 93.76→100、花生酱 85.12→98.51、平均 89.44→99.25,近乎完全清洁。平均每次试验约 130 秒。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 番茄酱+花生酱清洁(总体平均) | 清洁得分 CS(越高越好,%) | 89.88(Push-Wiper) | FC 32.64 / PO 44.98 | 较最强基线 PO 提升约 100%,整体声称提升约 130% |
| 高黏度花生酱清洁 | 清洁得分 CS(%) | 87.46(简单 85.79、复杂 89.13) | FC 11.28 / PO 31.99 | 较 PO 提升约 173%,基线因二次污染近乎失效 |
| 未见曲面零样本泛化 | 清洁得分 CS(%) | 凸面 91.45 / 凹面 93.42 | 无对应基线(训练集无曲面) | 与平面 89.88 相当,无需重训 |
| 未见物体/污渍零样本泛化 | 清洁得分 CS(%) | 固体 100 / 液体 92.62 / CVS 94.42 | 无对应基线 | 跨物理态(固/液/黏)泛化 |
| 后处理增益 | 清洁得分 CS 提升(%) | 番茄酱 93.76→100 / 花生酱 85.12→98.51 / 平均 89.44→99.25 | 仅聚集阶段 | 平均 +10.97%,接近完全清洁 |
局限与改进
作者明确承认的局限有两条:一是缺乏碰撞约束,难以保障人机协作安全,未来需要加入碰撞约束;二是后处理阶段的动作原语目前覆盖的污渍类型有限,需扩展到更广的污渍类别。我额外观察到若干局限:其一,训练只用了番茄酱和花生酱两类,泛化虽强但训练分布偏窄,未见过的极黏或强粘附物质是否仍稳未知;其二,海绵方案对固体只能“聚合”而无法真正清除(文中对固体以“最终连通块数为 1 则记 CS=100,否则为 0”这种二值判定来评估,并非真实移除);其三,每次试验平均约 130 秒、且每个宏观步都要重新感知,在更大面积或更多区域时效率会下降;其四,法向力设定值 $F_z^{des}=20$ N 是固定的,对不同海绵硬度/脆弱表面未必通用;其五,二值污渍图依赖 HSV/Lab/灰度+形态学的掩码提取,对颜色与背景相近的污渍可能失效。
独立分析的弱点
第一个弱点是训练污渍种类偏少,仅番茄酱与花生酱,虽然零样本结果亮眼,但对完全不同流变特性(如极黏糖浆、粘性极强的胶状物)的鲁棒性未经检验;改进方向是引入更多样化污渍并做流变参数化条件化,让策略显式感知黏度。第二个弱点是固体“清洁”只是聚合到一块、并非移除,评估也用二值连通判据,存在与真实清洁目标的偏差;改进方向是结合末端执行器更换或吸附回收,给出更贴近实际移除率的指标。第三个弱点是法向力 $F_z^{des}=20$ N 固定,且海绵硬度单一,对不同脆弱表面(如漆面、玻璃)可能过载或不足;改进方向是让力设定值随表面/污渍在线学习或自适应。第四个弱点是每次宏观步都要重新感知、平均 130 秒/次,对大面积多区域污渍效率不足;改进方向是引入更长的宏观规划视野或预测污渍重分布来减少重感知次数。第五个弱点是二值图掩码依赖颜色特征,对与背景颜色相近的污渍脆弱;改进方向是用更鲁棒的分割模型或主动照明增强对比。第六个弱点是缺乏碰撞与人机安全约束;改进方向是显式加入碰撞约束与安全停止机制。
未来方向
作者提出的未来工作主要是两点:为安全人机交互添加碰撞约束;把后处理阶段扩展到更广的污渍类型。基于本文成果可延伸的方向包括:其一,把“聚合”思想迁移到其他需要先归拢后清除的接触丰富任务(如粉末回收、碎屑清扫);其二,让力设定值与海绵姿态一起被策略学习,实现真正闭环的力觉感知而非纯执行层处理;其三,把分段推动范式与 3D 曲面感知结合,扩展到完整非平面物体表面(如餐具、容器内壁)的全覆盖清洁;其四,引入在线适应/元学习让框架快速适应新材质、新海绵工具;其五,结合视觉-触觉多模态感知解决与背景颜色相近污渍的掩码难题;其六,研究多机械臂协作以提升大面积清洁效率;其七,把清洁得分 CS 的自动评估做得更鲁棒,避免对颜色检测的强依赖。
复现评估
复现性中等偏好。硬件交代清楚:UR7e 机械臂、KWR75B 六轴力/力矩传感器、Intel RealSense D435 腕部相机、$11\times 7$ cm 海绵经 3D 打印适配器安装、工作站 i7-14700F + RTX 4060Ti,均可常规采购。算法细节充分:给出 ASPI 完整伪代码、导纳控制器方程 $m\ddot{\delta z}+b\dot{\delta z}+k\delta z=F_z^{des}-F_z$、CS 定义、停止判据(污渍<100 像素)、扩散策略超参(DDIM、训练 100 步、推理 10 步、$n=16$)。数据规模给出:150 任务、448 轨迹、增强到 2688。PO 基线用 Pygame 合成全局扫描轨迹。项目网站 https://push-wiper.github.io/ 可访问。不足:未明确公开训练代码与原始数据集;ASPI 中 PointInSurface、GetSurfaceNormal 细节较概括;力控参数 $m,b,k$ 未给具体值;CS 评估对颜色检测依赖较强。整体可大致复现主流程,完整复现仍需相当工程量。
论文图表
图上排展示可乐(液体)的分段推动过程与结果,下排展示黑色圆盘(固体)的分段推动过程与结果,证明框架可迁移到不同物理态的污渍。
这张图支撑 Table III 中液体 92.62、固体 100 的结果,展示了跨物理态(液/固)的零样本泛化,是论文通用性主张的关键证据。
表格给出三种方法在番茄酱和花生酱上的清洁得分(均值±标准差)。总体平均 Push-Wiper 89.88,FC 32.64,PO 44.98。番茄酱上 Push-Wiper 92.30 远超 FC 53.99、PO 58.04;高黏度花生酱上基线崩塌(FC 11.28、PO 31.99),Push-Wiper 仍达 87.46。
这是论文最核心的定量结果表,直接支撑“提升约 130%”的主要主张,并清楚展示基线在高黏度下因二次污染失效而 Push-Wiper 保持稳定。
表格给出在未见曲面上的清洁得分:凸面(番茄酱 95.27、花生酱 87.63、平均 91.45),凹面(番茄酱 94.75、花生酱 92.10、平均 93.42),均与平面结果相当。
这张表是零样本曲面泛化的核心定量证据,证明 2D/3D 解耦设计让框架无需曲面训练数据即可迁移,是论文泛化能力主张的关键。
表格给出在未见物体与污渍上的清洁得分:固体 100.00、液体 92.62、未见黏性污渍 CVS 94.42,证明框架可跨物理态零样本泛化。
这张表展示了超出训练分布(仅番茄酱/花生酱)的泛化能力,把“通用清洁”这一论文标题主张落到了具体数字上。
表格对比有无后处理的清洁得分:仅聚集阶段番茄酱 93.76、花生酱 85.12、平均 89.44;加入后处理后分别升至 100(+6.66%)、98.51(+15.73%)、99.25(+10.97%)。
这张表量化了后处理阶段的增益,证明聚集+后处理可实现近乎完全清洁,是验证两阶段范式完整性的关键。
算法给出 ASPI 的伪代码:对动作序列中每个动作 $a$,先 PointInSurface 投影得到曲面点 $(x_m,y_m,z_m)$,GetSurfaceNormal 得到法向 $n_m$,生成基姿态 $p_{base}$(TCP z 轴对齐 $-n_m$ 叠加偏航 $\Delta\theta$);收集位姿序列后用 BslineAndTrapVel(B 样条+梯形速度)做平移插值、Slerp 做旋转插值,最后拼成 6D 轨迹 $\mathcal{P}_{traj}$。
这是 2D/3D 解耦落地的核心模块,理解 ASPI 才能看懂为什么策略可以不感知曲面却仍能零样本迁移,是方法新颖性的技术核心。