无需力矩传感器,GenAN 让四自由度气动肌肉臂首次完成 sim-to-real

Sim-to-Real Transfer for Muscle-Actuated Robots via Generalized Actuator Networks

Jan Schneider, Mridul Mahajan, Le Chen, Simon Guist, Bernhard Schölkopf, Ingmar Posner, Dieter Büchler

cs.RO, cs.LG

2026-04-11

MPI 等提出 GenAN,用约 1.4 小时关节位置轨迹学习气动肌肉执行器,无需力矩传感器;PAMY2 零样本迁移成功率分别为乒乓球 96%、杯中球 75%、到达 90%。

这篇在解决什么

肌腱驱动加气动人工肌肉(pneumatic artificial muscle, PAM)的机械臂,执行器放在底座,运动部件轻,碰撞更软,适合高速、近人作业。肌肉力-长度曲线非线性、有滞回、还随温度漂,肌腱摩擦又随关节构型变,解析模型一直撑不住精细控制。

四足机器人那套 sim-to-real 常靠 domain randomization,前提是仿真动力学大致对。PAM 连「大致对」都没有,噪声加大只会把策略训废。前人多半绕开整机仿真:要么只在单关节上做到达,要么像 Büchler 等人那样机器人保持真机、只仿真乒乓球,实机交互仍要跑很多小时。Hwangbo 的 actuator network 能学串联弹性执行器,但标签是力矩测量,PAM 机械臂通常没有力矩传感器。

方法

GenAN 只学难建模的执行器,机械臂刚体和物体接触仍走解析仿真(MuJoCo XLA)。网络吃关节位置和控制信号的 H 步历史,吐出关节力矩。

训练数据是 2500 条开环随机轨迹,每条 2 秒,合计约 1.4 小时,按轨迹做 80/20 划分,避免同一条轨迹泄漏到验证集。控制指令每 0.5 秒采一次,中间用三次样条连成平滑轨迹。没有力矩标签时,力矩损失用刚体逆动力学从位置、速度、加速度反推力矩当监督。位置损失更贴部署:把预测力矩送进仿真器走一步,跟真实下一时刻位置比。两者差一个 Δt² 乘质量矩阵的逆,力矩误差的方向会被放大或抵消,只压幅值不够。

历史表示改成 delta:当前值保留,过去值改成相对当前的差,再标准化,让相邻帧的微小变化能被网络看见。Hwangbo 用 stride=4 的稀疏历史防过拟合,这里短 stride 更好,主实验取 H=3、stride=1。网络两层、每层 512、tanh,A100 上 150 个 epoch 大约 25 分钟。

部署用 5 个不同种子和数据排列的 ensemble,仿真每步随机抽一个成员,策略奖励再加一项 ensemble 输出标准差惩罚,减少策略去钻模型不确定的空子。仿真 500 Hz,策略 100 Hz。动作是控制量增量,tanh 后再乘 0.01,把抖动压在开环平滑轨迹附近。

结果

仿真精度在另采的 800 条测试轨迹上评。Position GenAN 比 Torque GenAN 单步误差低 6%,500 步(1 秒)误差低 29%。对照是 Fey 等人的 Unsupervised Actuator Net,把执行器辨识做成强化学习;给它扫了 500 组超参,仍然远远跟不上。测试集是真机迁移实验之后才采的,肌腱已经有磨损,数字偏保守。

零样本迁到 PAMY2,一台 4 自由度、每关节一对拮抗 PAM 的肌腱臂,每项任务 100 次:

方法到达杯中球乒乓球
Position GenAN90%75%96%
Torque GenAN97%76%75%
去掉 disagreement 惩罚86%56%82%
单网络、无 ensemble93%74%83%
动作惩罚从 1250 降到 25070%55%54%

到达成功定义为结束时平均误差小于 2°。杯中球是接到球。乒乓球是把球打回对方半场。杯中球用了 54 克球,末端只有 107 克,而 GenAN 训练时臂上没有球,对未见过的动态负载有一点余量。

乒乓球上 Position 明显强过 Torque,96% 对 75%,另外两项接近。仿真更准并不自动变成所有任务都更准,乒乓球最吃拍面位置。动作惩罚降低后策略变抖,走出开环数据分布,三项全掉。数据减到 1000 条、约 33 分钟时,到达成功率还能保住;再少,ensemble 掉得比单网络慢。

为什么重要

执行器网络从「必须有力矩传感器的四足」扩到「只有关节编码器的肌肉臂」。对气动、液压、肌腱这类脏执行器,管线是清楚的:开环扫工作空间,用逆动力学或一步位置损失当监督,刚体仿真照旧。1.4 小时采集加 25 分钟训练,对比真机混合训练的若干小时,成本差一截。

「首次」限定在多关节肌肉驱动臂上的动态任务。单关节到达前人做过。只在 PAMY2 一台机器上验证,「Generalized」目前是接口意义上的,不依赖力矩传感器,跨机型还没有证据。

局限与存疑

作者写了两条硬伤。工作空间覆盖不好时,探索策略参数可能要手调;肌腱伸长、磨损、3D 打印件变形会让动力学慢慢漂,长期用要定期微调网络,也还不能在不同机实例之间迁移。

杯中球失败主要不是执行器:绳子绕到连杆上,或者球弹杯而出。仿真用 MuJoCo tendon,不建模绳子和机体碰撞,球和绳也没做 domain randomization。乒乓球 100 局里,Position GenAN 3 次打太远、1 次漏球;Torque 则 13 次太短、12 次漏球。

多步位置损失在 A100 上要训约 12 小时,相对单步 25 分钟,精度没有稳定收益。论文没有在第二台肌肉臂或液压臂上复现,「宽范围机器人」还是承诺。

术语

原文与代码

社区讨论

相关论文

全部论文解读