一句话定位
Google DeepMind 提出的四足机器人敏捷性 benchmark:仿照犬类敏捷赛(dog agility competition)设计一个 5m×5m、四种障碍(编织杆、A 字架、跳远、暂停台)的障碍赛道和计分公式,并给出两条学习式基线——专精技能 RL + 高层状态机导航,以及把专精技能蒸馏进单个 Transformer 的 Locomotion-Transformer 泛化策略——在自研四足机器人上零样本 sim-to-real 部署,最好成绩约为小型犬速度的一半。
背景与定位
腿式机器人领域长期缺少像 ImageNet(视觉)、OpenAI Gym(RL)那样的标准化敏捷性 benchmark:各家论文用的是各自设计的 ad-hoc 指标,难以横向比较。此前 Eckert & Ijspeert(2019)提出过 13 项敏捷性指标,但没有配套的标准化环境,且指标太多导致研究者可能只挑软柿子捏。Barkour 的定位是”环境 + 单一计分公式”二合一:复用犬类敏捷赛的障碍定义、计时制、犯规扣分规则,把”敏捷”压缩成一个 0–1 的分数,分数 1.0 对应机器人在犬类同等目标速度(1.69 m/s)下无失误跑完全场。
方法脉络上,Barkour 延续了 learning-robust-perceptive-locomotion-wild(Miki et al. 提出的机身周围高度场感知)与大规模并行仿真训练(LeggedGym/IsaacGym、walk-these-ways 同源)的腿式运动 sim-to-real 谱系;同时借用了 rt-1、Multi-Game Decision Transformer、Gato 等”用 Transformer 蒸馏多技能专家生成通才策略”的思路,将其从操作/游戏领域搬到低层腿式控制,提出 Locomotion-Transformer。与同期的四足跑酷工作(如 robot-parkour-learning、extreme-parkour-legged-robots)相比,Barkour 的重心不是刷新单项速度纪录,而是用一套标准化、可扩展的障碍赛道把”多技能组合 + 可控性 + 计时”打包成可复现的评测协议,属于 benchmark 类工作而非纯算法论文。
模型架构
不是单一模型,而是”评测环境 + 两条基线控制器”:
Barkour 环境:5m×5m 场地内固定四类障碍——起止暂停台(各 1m×1m×0.1m)、5 根编织杆(间距 0.5–0.8m)、30° 倾角 A 字架(顶部 1m 高)、0.5m 宽跳远板(1m 宽)。总标称赛道长度 18m,按各障碍标称长度除以目标均速 v_target=1.69 m/s 得到各段允许时间(编织杆 3.55s、A 字架 3.55s、跳远 2.36s、暂停台 0.59s×2、全程 10.64s)。计分公式 R_agility = 1.0 − max(t_run − t_allotted, 0)×0.01 − penalties,每个失败/跳过的障碍扣 0.1 分。
基线一:专精策略(Specialist policies)+ 高层导航控制器——三个独立 RL 策略:全向行走策略(OWP,覆盖起止台与编织杆)、爬坡策略(SCP,负责 A 字架)、跳跃策略(JP,负责跳远)。观测空间含期望速度指令 v̄=(v̄x,v̄y,ω̄z)、本体感知 s_p=(重力投影 g、关节角 θ、偏航角速度 ωz)、以机身为中心的地形高度场 s_v、上一步动作,并附带 0.3s 长度的本体感知历史(应对 POMDP)。动作空间为目标电机角度(相对站立姿态)。策略与价值网络均为 4 层全连接 MLP(1024/512/256/128,ELU 激活),用 PPO 在 IsaacGym(LeggedGym)中训练。高层导航控制器是一个基于路径点(waypoint)的状态机,用特权信息(机器人真值位姿、动捕系统)计算速度指令并在专精策略间切换。
基线二:Locomotion-Transformer(泛化策略)——因果 Transformer(标准 GPT 结构),2 层、context length=15(对应 0.3s 历史)、token/隐层维度 256-d。输入序列为 {s_p0, a0, …, s_p(t−1), a(t−1), s_pt, s_vt},即历史本体感知、动作与最近的高度场地形观测。高度场用 2 层卷积编码器(kernel size 3、通道数 8、stride 1)逐类型 tokenize 成 64-d 向量后拼接投影到 256-d;本体感知+速度指令拼接后投影 256-d;动作投影 256-d;所有 tokenizer 隐层用 ReLU。训练目标是对末位置动作 a_t 做 L2 回归(behavioral cloning 蒸馏,而非 RL),本质是把三个专精 teacher 蒸馏进一个 student。部署时只需一个更简化的导航控制器提供速度指令,无需知道当前面对哪种障碍类型。
数据
Locomotion-Transformer 的训练数据来自在仿真中滚动(rollout)三个专精策略得到的离线数据集,覆盖四类环境(随机台阶、楼梯、缝隙、斜坡):
| 环境 | Episodes | Steps | 机器人时间(h) |
|---|---|---|---|
| Jump | 10,635 | 3,940,673 | 21.89 |
| Flat | 1,000 | 1,495,656 | 8.31 |
| Slope | 3,000 | 2,336,622 | 12.98 |
| Stair Down | 1,001 | 786,536 | 4.37 |
| Stair Up | 1,000 | 1,206,722 | 6.70 |
| Random Steps | 1,000 | 598,035 | 3.32 |
| 合计 | 17,636 | 10,364,244 | 57.58 |
数据采集用 PyBullet 环境实现,对不接受速度指令的策略(SCP、JP)用机器人 1s 后的实际速度作为等效指令;跳跃环境的缝隙宽度采样自 [0.5, 0.7]m,斜坡倾角采样自 [0.5, 0.58]rad;当机身俯仰/横滚角超过 70° 判定摔倒并终止采集。域随机化(sim-to-real 关键)参数:躯干质量 [2.0, 6.5]kg、躯干惯量 [40%, 165%]、躯干线速度扰动 [0,1]m/s(每 10s 更新)、地面摩擦 [0.5, 1.25]、位置增益 [15,20] N·m/rad、阻尼增益 [0.5, 0.75] N·m·s/rad、关节静摩擦 [0, 0.7]。此外还有一个小规模真机数据集:64 episodes、共 112K 样本,用于蒸馏”course-specific”版 Locomotion-Transformer(去掉导航控制器,直接吃机器人位姿)。
训练方法
专精策略训练:PPO(Schulman et al. 2017)在 IsaacGym/LeggedGym 中训练。全向行走策略(OWP)用 [-1.5,1.5]m/s 前后、[-1.0,1.0]m/s 侧向、[-π/2,π/2]rad/s 偏航角速度范围内随机采样的速度指令训练,地形课程沿用 Rudin et al. 2022 的斜坡/楼梯/随机台阶设置。爬坡策略(SCP)用 5°→33°(每级 +3°)的倾角课程训练,训练重点放在前向敏捷移动而非全向。跳跃策略(JP)用三阶段课程:平地加速冲刺(up to 2.25 m/s)→ 0.3–0.6m 渐进缝隙训练 → 固定 0.6m 缝隙+扭矩随机化微调,膝盖离地高度 <0.06m 时终止 episode。奖励函数含 Track Linear/Angular Velocity、Forward Velocity、Base Height、Vertical Velocity、Roll Pitch Velocity、Orientation、Torque、Joint Acceleration、Action Delta/Magnitude、Feet Clearance、Stand Still、Jump Height 等多项,三策略权重各不相同(论文 Table V 逐项列出)。
Locomotion-Transformer 蒸馏:behavioral cloning + L2 回归损失,把 rollout 数据集中的 (状态, 动作) 对直接监督训练;不使用 RL 联合多环境训练(论文指出多样课程和奖励结构使联合 RL 训练困难)。
导航控制器:速度指令由路径点驱动,vx=α·sin(φ)·‖d‖, vy=β·cos(φ)·‖d‖, ω=γ·Δ(ψ),其中 ‖d‖ 是到下一路径点的距离、φ 是路径点方向与机身朝向的夹角、Δ(ψ) 是朝向误差;到达阈值(编织杆 d_lim=0.3m/ψ_lim=0.2rad,跳远前收紧到 0.1m/0.17rad)后切换到下一路径点,并(专精策略场景下)切换对应技能策略。
恢复策略:复用既有的自动恢复策略(Smith et al. 2022 [38])应对翻倒,配合”走回起点”默认策略实现无人值守连续跑批。
是否需要专精训练的消融:作者尝试用单个 RL 策略直接多任务训练(IsaacGym 课程按 50% 斜坡 / 30% 一般地形 / 20% 缝隙混合采样),结果该策略能走完编织杆但爬不上 A 字架、也做不成跳远,证明陡坡等技能确实需要专精训练再蒸馏,单阶段多任务 RL 不够。
Infra(训练 / 推理工程)
- 仿真训练:专精策略主线用 GPU 版 IsaacGym(LeggedGym);另外用 4×2 TPU 集群配合 Brax(JAX 版可微分物理引擎)做加速实验对比——Brax 200 秒内可完成约 2 亿仿真步,IsaacGym 600 秒内约 3200 万步,奖励曲线收敛质量相近,但作者最终认为 Brax 动作质量不如 IsaacGym 平滑(研究人员在 IsaacGym 上打磨时间更长)。用 64 episodes/112K 样本的真机数据蒸馏 course-specific Locomotion-Transformer,仅需约 8 万次迭代(4×4 TPUv3 集群上约 10 分钟训练时间)。
- 真机硬件:自研小型四足机器人,体重 11.5kg,上肢 220mm、下肢 190mm,前后髋距 380mm、左右腿距 290mm;T-Motor AK80-6 电机(Elmo G-SOLTWIR50/100SE2S 驱动器,24V 供电,峰值扭矩 12 N·m/关节);IMU 为 Parker 3DMCX5-AHRS,外部用 Phasespace X2E 动捕系统追踪位姿(真值信息,论文明确列为局限之一)。
- 控制回路:策略以 50 Hz 下发目标电机位置指令,PD 控制回路以 1 kHz 运行(真机实验 PD 增益固定为 20 N·m/rad、0.5 N·m·s/rad);用两颗 Intel Xeon Gold 6154 CPU 的离板工作站经 CAN 总线连接各腿。
- 真机实验规模:约 3600 次 Barkour 尝试(两台机器人),对应约 24 小时连续运行时间、约 60 km 移动距离。
- 推理延迟/FPS:论文未直接给出 Locomotion-Transformer 单次前向的延迟数字,但明确指出”部署到真机对推理延迟有严格约束,因此限制了模型规模”(Section VI-E4),并给出 50 Hz 控制频率作为策略输出频率的约束条件。
评测 benchmark
真机 Barkour 全程评测(Table III,均值±1 标准差):
| 策略类型 | Barkour Score | 完成时间 | 前向速度 |
|---|---|---|---|
| Specialist(71 次试验,40 次触碰跳板/25 次五障碍全过) | 0.77 ± 0.064 | 24.6 ± 1.1 s | 0.74 ± 0.04 m/s |
| Locomotion-Transformer(19 次试验) | 0.73 ± 0.062 | 25.8 ± 1.6 s | 0.69 ± 0.04 m/s |
| 小型犬(对照,两只:博美/吉娃娃混种 3.2kg、腊肠犬 4kg) | 1.00 ± 0 | 9.02 ± 0.65 s | — |
分障碍拆解(Table IV,专精策略):编织杆完成时间 9.27±0.87s(标称 6m,速度 0.73±0.06 m/s,成功率 100%);A 字架 7.95±0.73s(标称 6m,速度 0.68±0.06 m/s,成功率 100%);跳远 2.45±0.54s(标称 4m,速度 1.7±0.24 m/s,成功率仅 38%,多数失败是起跳前/落地后碰到跳板边缘)。单次高分示例:20.4s 完成全程,得分 0.91(论文报告的峰值分数)。
Locomotion-Transformer 消融(PyBullet 仿真评测,3 个随机种子均值±标准差):(a) 模型架构——蒸馏出的 MLP(更大版专精策略架构)明显弱于 Transformer;(b) context length——更长上下文效果更好,说明 Transformer 确实在利用历史状态;(c) 数据集规模——1%(约 176 episodes)不足以训出有竞争力的策略,10%(约 1760 episodes)与 100% 性能相近;(d) 模型规模——增大 Locomotion-Transformer 规模持续提升表现(呼应语言模型的 scaling 现象),但受真机推理延迟约束,模型大小有严格上限。
课程重排的泛化测试:把路径点/障碍位置调整为新路线(先 90° 转弯、再反向走 A 字架、再朝起始台方向跳远),Locomotion-Transformer 无需重新分配专精策略即可完成,验证其不依赖显式障碍类型标签的泛化能力(Fig. 10)。Course-specific(真机数据蒸馏)策略在该小数据集上峰值得分 0.71、均值 0.57,主要失分于编织杆走位偏移,且始终无法完全清空跳远缝隙。
创新点与影响
- 提出了腿式机器人敏捷性领域第一个”标准化环境 + 单一计分公式”的 benchmark(类比 ImageNet/OpenAI Gym 之于各自领域),并给出了具体的赛道尺寸、障碍定义、计分公式与真实小狗对照基线,便于后续工作直接复现比较。
- Locomotion-Transformer 把 RT-1/Multi-Game Decision Transformer/Gato 一脉的”behavioral cloning 蒸馏多专家进单个 causal Transformer”思路首次系统搬到低层腿式运动控制,证明单一策略可以在不知道障碍类型的情况下自动切换步态与技能,且切换比人工状态机更平滑。
- 论文明确承认的局限:(1) 当前基线依赖特权信息(环境 CAD、动捕真值位姿),完全依赖机载感知的版本留作未来工作;(2) 论文自己的结论强调 Barkour 远未被解出——最佳基线峰值 0.91 分、约 20s 完成,而未经专门训练的小狗轻松拿到 1.0 分、约 9s 完成,机器人与动物的敏捷性差距依然很大;(3) 单阶段多任务 RL 无法学会陡坡与跳远技能,说明专精训练+蒸馏路线目前是必要的,而非纯粹的工程选择。
- 后续影响:Barkour 硬件本体(“Barkour Robot”)与仿真模型作为 google-deepmind/barkour_robot、MuJoCo Menagerie 的一部分开源,后续 language-to-reward 等工作复用了同一机器人平台。
原始链接
- arXiv:https://arxiv.org/abs/2305.14654
- PDF:https://arxiv.org/pdf/2305.14654
- 官方博客:https://research.google/blog/barkour-benchmarking-animal-level-agility-with-quadruped-robots/
- 机器人硬件/软件仓库:https://github.com/google-deepmind/barkour_robot
- MuJoCo 仿真模型(v0,论文所用版本):https://github.com/google-deepmind/mujoco_menagerie/tree/main/google_barkour_v0
- Barkour 计分脚本:https://github.com/google/brax/blob/main/brax/experimental/barkour/score_barkour.py
一手源存档(sources/)
- barkour-benchmark-quadruped-agility—blog — Google Research 官方博客(发布叙述、评测视频描述、结论)
- barkour-benchmark-quadruped-agility—github-readme — google-deepmind/barkour_robot GitHub README(机器人硬件/固件仓库、v0/vB 版本区别、仿真资源入口)
- arXiv 原文 PDF:https://arxiv.org/pdf/2305.14654 (arXiv 原文 PDF,不入 git)