Q1:DrEureka 比 Eureka 多了什么?
三件:Safety Instruction(prompt 里叮嘱安全)+ RAPP(扫参数可行范围)+ LLM DR Generation(让 LLM 出 DR 配置)。
Eureka 只生成 reward;DrEureka 把 reward 和 DR 一起让 LLM 联合设计,第一次支撑真机部署。📎
论文:Ma, Liang, Wang, Wang, Zhu, Fan, Bastani(UPenn / NVIDIA / UTS). DrEureka: Language Model Guided Sim-To-Real Transfer. RSS 2024. arXiv:2406.01967. 🌐 · 真机平台:Unitree Go1 四足 + LEAP hand 灵巧手。
让大模型不只写奖励,还自动写真机部署的容差范围。
第一次让大模型生成的奖励撑住真机。
DrEureka 之于机器人工程,像自动开药方。
不只开主药,还配护胃药,让病人真扛得住。
要解决的问题:Eureka 让 LLM 写 reward 写得很好。
但只在仿真里验证,没碰真机。📎
真机部署还要精心设计的 domain randomization(简称 DR)。
DR 是仿真里随机变物理参数(摩擦、质量、电机延迟)的技巧。
DR 太窄,策略对真机参数不鲁棒;DR 太宽,策略学不出来。
这个范围目前靠人工反复试错,是 sim-to-real 最痛苦的环节。📎
老办法:Eureka 只生成 reward,不生成 DR。
DR 参数范围靠人工调。📎
DrEureka 的转身:让大模型同时自动生成两样东西。
一是 reward,二是 DR 参数范围。
第一次让大模型生成的 reward 支撑真机部署。📎
DrEureka 之于 sim-to-real,就像 AI 全自动开药方。
不只开主药(reward),还配护胃药(DR 范围)。
让病人(机器人)真扛得住,不只是化验单好看。
方法核心(大白话):在 Eureka 上加三件事。
第一件·安全叮嘱。
给 LLM 的提示里加一句"安全要求"。
要它写 reward 时考虑稳定性、平滑性,别让仿真高分来自危险动作。
仿真高分常来自抽搐式猛用电机——这种 policy 上真机会炸。📎
第二件·扫可行范围。
对每个物理参数(摩擦、质量、电机延迟)单独扫一遍。
用 Eureka 出来的初始策略当探针去试。
看哪个范围内策略还能跑得动。
这个范围就是"可行范围"。📎
仿真器默认范围太宽,直接拿来做 DR 策略学不出来。
所以要先扫一遍缩窄。
第三件·LLM 出 DR 配置。
把参数 + 可行范围喂给 LLM。
让它一次生成多个 DR 配置。
每个配置配上 reward 训一个策略,挑最好的。📎
为什么这么搭配:reward 决定策略想做什么;DR 决定策略对参数变化有多鲁棒。
两者必须协同——分开调效果差。📎
你会看到:Unitree Go1 四足前进速度 1.83 m/s。
人类专家手写只有 1.32 m/s。
LEAP 灵巧手转魔方 9.39 rad,人类只有 3.24 rad。
全部真机验证。📎
核心机制·四组件闭环。📎
Reward Design + Safety Instruction + RAPP + LLM DR Generation。
组件 1:Reward Design(继承 Eureka)。
基本是原版 Eureka:GPT-4 backbone,K=16 候选/iteration,N=5 iteration。📎
每个 reward candidate 训一个 RL policy。
用 task fitness F 评估。
reflection 反馈 LLM 迭代 mutation。
(详见 P-Eureka-2023.md。)
组件 2:Safety Instruction(DrEureka 新增)。
直接在 LLM prompt 里加显式 safety instruction l_safety。
显式要求把 stability、smoothness、task-specific desirability 作为 reward 语言规范的一部分。📎
为什么不用 post-hoc 加 safety term。
手动加 safety term 与其他 component 的 scale 交互难调。
scale 过大导致 over-conservative degenerate behavior。
直接 prompt instruction-tuned LLM 让它自然平衡所有 component 的权重。
这是利用 instruction-following 能力的简洁设计。
组件 3:RAPP(Reward-Aware Physics Prior,DrEureka 新增)。
重要:RAPP 不动 reward,而是为 LLM 限定 DR 参数的采样范围。
要解决的问题:仿真器物理参数(摩擦、质量、电机延迟)都有内置 max/min。
作者验证这些范围"too wide and may significantly hamper policy learning"。📎
直接拿 simulator 默认范围做 DR,policy 学不出来。
核心洞察:DR 范围应该依赖任务 reward、为 policy 量身定制。
高层目标:寻找"π_initial 仍能 perform 的最大多样参数范围"。
Algorithm 2 流程:对每个参数 p,用 π_initial(Eureka 出来的、未做 DR 训练的 policy)当探针。
扫描候选值 r,每次只改这一个参数(其他 default),rollout π_initial,看 task fitness 是否命中成功准则。
命中则 r 可行,更新 (l, h) 下上界。📎
三个关键设计:
π_initial——便宜快,不用重训。(l, h) 给 LLM 当 guide,不直接当 DR 范围用——LLM 还要再决定 randomize 哪些参数、最终区间。组件 4:LLM DR Generation。
把参数 + RAPP 范围塞进 LLM 上下文。
LLM zero-shot 生成 m 个独立 DR 配置 T_1, ..., T_m。
每个 (R_DrEureka, T_i) 跑 RL 训出 π_final,i。
真机评估挑最佳 π_final。📎
三阶段闭环。📎
Stage A · Safety Instruction → R_DrEureka, π_initial
Stage B · RAPP 扫参数 → 每个参数的可行 (l, h)
Stage C · LLM DR Generation → m 个 DR 配置 → 训 policy → 挑 best
注意:reward design 是迭代的(Eureka 风格进化搜索),但 DR 生成不迭代——LLM 一次出 m 个候选,靠下游 RL 评估挑最好。
常见误区(先抛一个,完整版见末尾):"RAPP 是改 reward 的吧?"
错。RAPP 真名是 Reward-Aware Physics Prior,它不动 reward。
它为 LLM 限定 DR 参数的采样范围。📎
形式化:Sim-to-Real 设计问题(论文 Sec. III)。📎
给定仿真环境 M=(S,A,T) + 真实环境 M + task objective F,sim-to-real 算法 Algo 的目标是设计 (R, T)(reward + DR),让 RL 训出的 policy 在 M 上 F 得分最高:
$$\max_{R, T}\;F\big(\mathcal{A}(M, T, R)\big)\;\text{在}\;M^*\;\text{上评估}$$
其中 T = domain randomization 配置(参数集 + 每个参数的采样区间)。
DrEureka 用 LLM 自动产出 (R, T)。
关键消融(论文 Table I)。📎
Go1 forward locomotion 基线对比:
LEAP cube rotation:DrEureka Best 9.39 rad vs Human-Designed 3.24 rad。
真机验证平台(重要纠正)。📎
其中 walking globe 和 yoga ball 是论文新任务,showcase DrEureka 在 deformable / complex dynamics 上的能力。
observation 仅 16 关节角 + GRU-encoded proprio history,无视觉,无 cube pose。
LLM 超参(论文 Sec. V)。📎
reward + DR 协同效应。
之前 reward 和 DR 分开调(先 reward 再 DR),DrEureka 让 LLM 在统一上下文里联合设计。
两者协同效应远大于分开调——这是 DrEureka 的关键实证发现。📎
局限:
图谱定位:DrEureka 是 T03 reward 设计演化的第四次转折(LLM sim-to-real 联合设计)+ T01 LLM 辅助支线。📎
Eureka 把 reward 自动化;DrEureka 把 sim-to-real 工程的两件事(reward + DR)都自动化。
建立在:
催生:
副产品:DrEureka 揭示了 sim-to-real 工程的"可程序化"本质——最痛苦的两件事都能被 LLM 自动化。这把机器人 RL 工程的门槛大幅降低。
Open problems:
"RAPP 是改 reward 的" —— 错。
RAPP 真名是 Reward-Aware Physics Prior,它不动 reward,而是为 LLM 限定 DR 参数的采样范围。
RAPP 扫的是物理参数的可行区间,给 LLM 当 guide;reward 由组件 1+2 负责。📎
"DrEureka = Eureka + DR" —— 部分错。
还有 Safety Instruction 和 RAPP 两个关键新增,三者缺一不可。
消融显示 Eureka(无 safety + 无 DR)= 0.0 m/s,加 DR 仍不够——必须 safety + RAPP + DR 配齐。
DrEureka 是 Eureka + safety + RAPP + LLM DR Generation 的完整栈。📎
"DrEureka 让 LLM 随便写所有 DR 参数" —— 错。
LLM 在 RAPP 给的可行范围里再裁剪:决定 randomize 哪些参数子集、每个参数的最终区间。
RAPP 范围只是"上界",LLM 有进一步裁剪的自由度。
RAPP 缩窄到可行,LLM 在可行内做最后决策。📎
"DrEureka 在 Fox 系列机器人上验证" —— 错。
论文实际验证平台是 Unitree Go1 四足 + LEAP hand 灵巧手,都是 <10K USD 的低成本平台。
DrEureka 选低成本平台是为了展示"LLM sim-to-real 工程可普及"。📎
Eureka 已经能让 LLM 写出超过人类的 reward 了,为什么它还不够做 sim-to-real?缺的那块是什么?
💡 参考答案
用"AI 全自动开药方"或你自己举的类比,用自己的话解释:DrEureka 是怎么让 LLM 生成的 reward 在真机上也能用的?
💡 参考答案
DrEureka 有个步骤叫"扫参数可行范围"(RAPP)。它扫的不是 reward,是什么?为什么不直接拿仿真器的默认范围做 DR?
💡 参考答案
DrEureka 给 LLM 的提示里专门加了"safety instruction"。为什么光让 LLM 写仿真高分 reward 不够,还要叮嘱"安全"?
💡 参考答案
DrEureka 在什么机器人平台上做的真机验证?请至少说出一种。
💡 参考答案
三件:Safety Instruction(prompt 里叮嘱安全)+ RAPP(扫参数可行范围)+ LLM DR Generation(让 LLM 出 DR 配置)。
Eureka 只生成 reward;DrEureka 把 reward 和 DR 一起让 LLM 联合设计,第一次支撑真机部署。📎
不直接用。
RAPP 只产出每个参数的 (l, h) 可行下上界给 LLM 当 guide。
LLM 还要再决定 randomize 哪些参数子集、每个参数的最终区间。
所以 RAPP 范围是"上界",不是最终 DR 配置。📎
工程权衡。
reward 迭代成本可控(一次 RL 训练评估一个 reward)。
DR 候选评估要训完整 policy 才能比较,每个都贵——LLM 一次出 m=16 个 zero-shot 候选,靠下游 RL 评估挑最好,已是性能/算力的折中点。📎
因为仿真里没法比较不同 DR 训出的 policy——仿真评估本身就是带 DR 的平均,不能预测真机。
DrEureka 保留 m 个 policy 在真机逐一评估挑最好。
研究可行,但实际部署不能跑 m 次真机——这是 DrEureka 的工程局限。📎