资讯详情

资讯详情

D-Robotics开源机器人世界模型Uranus:让AI在虚拟世界里练手

2016年一个叫DeepMind的团队用AlphaGo打败了李世石全世界都在讨论强化学习有多厉害。但很少有人注意到一个尴尬的事实那套系统在正式比赛前自己跟自己下了差不多3000万盘棋。如果这是一个物理世界里的任务呢如果AlphaGo下的不是围棋而是操控一个机械臂去抓取易碎的杯子3000万次尝试意味着3000万次可能的摔碎、可能的机械臂损坏、可能的高昂维修费用。机器人和围棋不一样,围棋的每一步都发生在数字世界里代价是零,但机械臂的每一次试错都发生在物理世界里代价是真金白银。这就是机器人学习面临的核心矛盾:想要机器人学得聪明就需要海量的试错数据,可每一次试错都要花钱、花时间、还有摔坏东西的风险。D-Robotics团队最近发布的Uranus就是想解决这个矛盾。它不是一个真实的机器人而是一个AI生成的虚拟世界你告诉它机械臂接下来要往哪儿动它就用视频的方式实时生成这样动了之后会发生什么。听起来有点像给机器人造了一个梦境让它在梦里先练习练熟了再去现实世界动手。传统模拟器为什么不够用在Uranus出现之前机器人研究者主要靠两类工具练手真实机器人或者传统物理仿真器,比如Isaac Sim和MuJoCo。**传统仿真器*一种通过手工建立物理规则(比如重力、摩擦力、碰撞检测)和3D模型来模拟真实世界的软件工具游戏引擎里常用的物理系统就是它的近亲。这两条路各有各的麻烦。真实机器人成本高、慢、还不安全机械臂一旦撞到人或者摔坏零件损失是实打实的。传统仿真器倒是安全又便宜但它需要工程师一点点去建模桌子长什么样、杯子有多重、摩擦系数是多少全都要手动输入进去。建一个逼真的虚拟厨房可能要花上几个月而且建出来的虚拟世界和真实世界之间永远存在一道仿真到现实的鸿沟机器人在虚拟世界里练得再好一到真实环境里还是可能翻车。这就好比你想学开车如果每次上路练习都要冒真实车祸的风险那太贵了但如果换成一个完全靠人工画出来的驾驶模拟器画面里的路面摩擦力、刹车反应全靠工程师猜测和调参那模拟器和真实马路的差距可能大到你学完了照样不会开真车。近几年出现了一种新思路:数据驱动的视频世界模型。不再靠工程师手动写物理规则而是让AI直接从海量真实机器人操作的视频里学习如果机械臂这样动画面接下来会怎么变化。这类系统包括Ctrl-World、GigaWorld-1、GE-Sim 2.0等但它们普遍有两个问题一是只在少数几种机器人、几个场景上训练泛化能力存疑二是沿用了传统视频生成的思路每次要一口气生成一大段视频(比如15到33帧)这意味着从下达指令到看到反馈之间会有明显的延迟没法做到实时的你动一下我看一下的交互。Uranus想解决的正是这两个短板。核心设计把视频生成拆成一帧一帧的自回归过程Uranus最核心的设计理念是把预测未来这件事从一次性生成一大段视频改成了像说话一样一个字一个字往外蹦。具体来说Uranus每次推理只生成一个潜在帧对应4张连续的RGB画面。你给它未来4个时间点的机械臂关节角度(专业说法叫qpos)它就吐给你这4个时间点对应的4张画面然后把这4张画面存进记忆里作为下一次生成的参考如此循环下去理论上可以无限延续。**qpos*机械臂在某个时刻所有关节的角度配置是描述机器人姿态最基础的数据格式几乎所有机器人平台都能提供这个信息。**自回归*一种生成方式每一步的输出都依赖前面已经生成的内容就像你写文章时下一个字要参考前面写了什么而不是一次性把整篇文章都想好再落笔。这种设计和市面上其他世界模型最大的区别就是生成粒度。GE-Sim 2.0一次吐25帧GigaWorld-1一次吐33帧Uranus一次只吐4帧。粒度越细意味着控制的响应就越快你刚给出一个指令几乎立刻就能看到反馈而不用等它把一大段视频全生成完。这就像两种不同的打字方式。一种是你写完整段话再发送对方要等你打完一长串字才能看到另一种是你打一个字就实时同步给对方对方几乎是逐字看到你在写什么。如果Uranus也采用攒一大段再发的策略会发生什么意味着从机器人执行一个动作到系统告诉你结果之间会有明显的等待如果这个世界模型要配合真实策略做闭环控制(策略看一眼画面就要决定下一步动作)这种延迟会直接拖垮整个系统的响应速度。而Uranus的生成过程内部其实是两层嵌套的。外层是刚才说的自回归循环一帧一帧往外吐内层则是每一帧的具体生成过程用的是一种叫流匹配扩散的技术。**流匹配(Flow Matching)*一种生成模型技术通过学习如何把随机噪声一步步引导成目标图像原理上比传统扩散模型更直接去噪过程更高效。**扩散模型*一类通过反复去噪声的方式从一团随机噪点逐渐还原出清晰图像或视频的AI生成技术Stable Diffusion这类图像生成工具背后就是这个原理。外层负责保证时间上的连贯性(这一帧和上一帧衔接得上)内层负责保证画面的真实感和细节丰富度。这种套娃结构让Uranus既能保持长时间的稳定性又不牺牲单帧画面的生成质量。让不同机器人共用一套语言骨架条件化机器人这个领域有个头疼的事实市面上的机械臂长得五花八门。有单臂的UR5有双臂的ALOHA有人形机器人AgiBot还有各种移动机械臂。关节数量不同、连杆长度不同、夹爪形状也不同如果每换一种机器人就要重新训练一个模型那这套系统压根没法规模化。Uranus的解法挺巧妙它不直接把这是哪种机器人这个信息喂给神经网络而是先用传统的正向运动学计算把机器人的关节配置转换成图像空间里的一套骨架图也就是把机械臂的关键点(关节位置、末端执行器位置)投影到摄像头画面上画成一串连线的骨架就像医院里的X光片能看到骨骼轮廓一样。**正向运动学*给定机器人每个关节的角度计算出末端执行器(比如夹爪)在三维空间中具体位置的数学方法是机器人学里最基础的计算之一。这套骨架图不管背后是哪种机器人画出来的格式是统一的:都是2D图像上的一堆点和连线。神经网络看到的永远是这种统一格式的骨架而不需要知道背后到底是UR5还是ALOHA。骨架末端还会额外编码一些信息比如夹爪的开合程度用圆圈的大小表示末端执行器相对摄像头的朝向用颜色变化表示。这就好比联合国开会各国代表说的是不同语言但会场里配了统一的同声传译。发言人不需要学会所有其他国家的语言翻译员会把每种语言都转成一种大家都能听懂的通用表达。如果没有这层同声传译Uranus就得为每一种机器人单独训练一个模型UR5一个、ALOHA一个、AgiBot再来一个那所谓的跨embodiment泛化就无从谈起了。摄像头的位置和角度信息Uranus用的是一种叫普吕克射线的几何编码方式把每个像素对应的三维空间射线方向和位置都算出来这样不管摄像头架在哪个角度模型都能理解我现在看到的是从哪个视角拍的。**普吕克坐标(Plücker Coordinates)*一种用6个数值描述三维空间中一条直线(在这里是摄像机光线)的数学表示方法能同时编码射线的方向和它离原点的距离。论文里展示了UR5、ALOHA、AgiBot、ARX5、DROID这五种完全不同的机器人平台都能用同一套骨架条件化方案来表示这也是Uranus号称能做跨embodiment(跨机器人形态)的技术根基。训练方式的转变从一开始就教它边走边看这一段可能是整篇论文里工程含量最高但也最容易被忽略的部分。很多做视频生成的团队习惯先训练一个双向的模型,也就是这个模型在训练时能同时看到过去和未来的所有帧,然后再想办法把它改造成能一帧一帧往外吐的因果版本。这个改造过程通常很麻烦还容易引入误差。Uranus选择了一条更直接的路从头到尾就按照只能看过去不能看未来的方式训练这个思路借鉴自大语言模型的训练方式。**教师强制(Teacher Forcing)*一种训练技巧训练时给模型看真实的历史数据作为参考(而不是它自己生成的可能有误差的数据)这样能让训练更稳定但也会造成训练和实际推理时的输入分布不一致。具体做法是用一个精心设计的**因果注意力掩码*一种限制神经网络看到哪些信息的机制通过掩码把不该看到的位置屏蔽掉让模型只能关注允许看到的历史数据看不到未来。让每一个正在生成的目标帧只能看到参考图像和之前已经生成好的历史帧绝对看不到自己对应的真实答案也看不到未来的帧。这就像考试时监考老师会把后面几页试卷用纸挡住你只能看到当前这道题和前面已经答过的题绝对不能提前偷看后面的答案。如果不设这层掩码模型训练时会作弊看到了本不该看到的未来信息等真正上线推理的时候它突然发现自己再也看不到那些未来了就会因为训练和实际使用的场景不一致而表现失常这就是论文里反复提到的训练-测试差距(exposure bias)问题。除了因果掩码Uranus还用了两个配套技巧。一个是参考帧锚点把最初的几张参考图像牢牢固定在序列开头永远不会被历史记忆的滑动窗口挤掉这样即使生成了很长的视频模型也始终记得最初的场景长什么样。这个设计借鉴了大语言模型里的注意力沉聚(attention sink)现象,某些固定位置的token会持续吸引大量注意力起到稳定锚点的作用。另一个技巧是给每一帧用相对时间坐标而不是绝对坐标(专业叫法是latent-frame-relative RoPE)这样不管生成多长的视频位置编码始终能保持一致不会因为序列太长而迷路。从慢到快4步蒸馏和推理加速一个训练好的模型如果每生成一帧都要几十步去噪那实时交互根本无从谈起。Uranus用了一种叫**分布匹配蒸馏(DMD)*一种模型压缩技术让一个学生模型用更少的计算步骤去模仿一个老师模型生成结果的整体分布而不是逐字逐句模仿老师的具体生成路径。的技术把原本需要多步去噪的生成过程压缩到只需要4步。但这里有个陷阱如果只做分布匹配蒸馏模型在自己生成的历史基础上继续生成时误差会像滚雪球一样越滚越大画面逐渐失真、摄像机视角开始漂移。Uranus的解决办法是引入了**相位一致性模型(PCM)*一种正则化约束技术强制模型在不同去噪阶段的预测结果保持一致防止生成轨迹因为压缩步骤而产生偏差。作为补充约束同时用自我滚动(self-rollout)的方式训练也就是让学生模型直接用自己生成的历史去训练而不是用完美的真实历史这样能进一步缩小训练和实际部署之间的差距。工程团队还在底层做了大量优化把算子编译融合、用CUDA Graph减少重复的启动开销、把关键的线性层换成FP8低精度计算、还专门重写了旋转位置编码(RoPE)的实现。这些优化叠加起来让完整的30层DiT(扩散Transformer)推理速度提升了3倍多。加上把VAE解码器换成一个叫Flash-VAED的高效解码器整体VAE解码吞吐量又提升了大约6倍。最终Uranus能做到24FPS的低延迟生成蒸馏后的1.3B模型在H20显卡上达到10FPS的实时交互速度。数据从哪来超过3300小时的真实机器人数据Uranus的训练数据来自AgiBot World Beta、AgiBot World 2026、DROID、RoboChallenge Table30 v1和v2等多个公开数据集覆盖单臂、双臂、人形机器人等多种平台总时长超过3300小时。但原始数据远没有这么干净。论文里坦诚提到很多公开数据集存在摄像头参数不准确、视频和机器人状态时间戳没对齐、甚至有些数据集根本没提供相机标定信息的问题。团队为此搭建了一套四阶段的数据清洗流水线先统一格式再检查数据完整性然后想办法补全或修正相机标定参数最后做几何一致性校验也就是把机器人关节状态投影到画面上和用AI分割模型(SAM 3)识别出的真实机械臂轮廓做对比两者重合度太低的数据就被剔除。这套流程用Ray和Daft两个开源框架搭建Ray负责跨机器的任务调度和容错Daft负责组织这些多模态的数据操作两者配合能让整个清洗流程在本地小规模测试也能无缝扩展到多节点集群上跑。效果怎么样和真实数据、和其他模型的对比在WorldOlympiad这个专门评测真实世界视频世界模型的基准测试上Uranus在物理规则遵守度、3D一致性、语义对齐、交互真实感这几个维度综合表现最好拿到了0.722的总分超过了Cosmos-Predict-2.5(0.712)等一众对比模型。更直接的对比来自和GE-Sim 2.0的正面较量。研究团队特意挑选了100个来自AgiBotWorld-Beta、都用同一种机器人(AgiBot G1)完成的任务样本让两个模型在完全相同的初始画面和动作轨迹下生成结果。结果显示随着生成时长拉长两个模型的画面质量都会下降这是长序列预测的通病但Uranus的下降速度明显更慢。在最后140到160秒这个区间Uranus的PSNR(峰值信噪比数值越高说明和真实画面越接近)还能维持在12.3左右而GE-Sim 2.0已经跌到了7.1差距超过5个点。SSIM(结构相似度)方面Uranus是0.45GE-Sim 2.0是0.20差了一倍还多。论文里的定性对比图也很直观一个130秒的煮咖啡任务里GE-Sim 2.0到后期画面已经严重扭曲变形而Uranus依然能大致保持场景的可辨识度。在开环一致性评测中(直接对比生成结果和真实执行轨迹)Uranus在训练集样本上有86%的一致率但在完全没见过的测试集样本上跌到58%这说明模型在熟悉场景里表现优秀但面对陌生的场景和任务组合时泛化能力还有明显提升空间。闭环评测则更有说服力。研究团队让9个不同的机器人策略分别在RoboTwin真实仿真环境和Uranus虚拟世界里各跑15轮对比每个策略的成功率排名。结果Uranus和真实环境之间的皮尔逊相关系数达到0.98几乎完美线性相关说明如果一个策略在Uranus里表现好它大概率在真实(或真实仿真)环境里也表现好Uranus具备了作为策略评测代理工具的潜力。泛化能力换了场景、换了任务、换了机器人会怎样论文用四个维度测试了Uranus的泛化边界。场景泛化方面DROID数据集覆盖了13个不同机构收集的场景团队用12个机构的数据训练留出第13个机构完全没见过的场景做测试。结果显示Uranus在陌生场景里依然能完成任务物体交互和最终结果都和真实执行保持一致。轨迹泛化测试的是同一个场景同一个任务但换一条全新的人类遥操作轨迹。Uranus能跟随这条新轨迹生成合理的画面而不是简单回放训练时见过的固定动作。任务泛化更有挑战性团队从Table30数据集里留出20%(6个)从未在训练中出现的任务类型。结果喜忧参半机械臂的运动轨迹能较好跟随但物体交互的准确性开始打折扣比如有个打开台灯的任务机械臂确实按轨迹伸手过去了但灯最终没亮说明模型学会了怎么动但没完全学会动了之后应该发生什么状态变化。具身泛化是最硬核的考验测试用的是AgiBotWorld2026里的G2机器人这个型号完全没出现在训练数据里而且G2的头部还能转动导致摄像头视角会随时间变化这和训练数据里大多固定视角的设定完全不同。结果显示机械臂的大致运动轨迹能跟上视角变化的方向也对但转动角度不够精确更明显的问题是物体交互失真长时间生成后画面的背景和曝光也会逐渐漂移。这几组结果放在一起看能看出一个清晰的规律Uranus对怎么动这件事学得相当扎实不管场景怎么换、轨迹怎么变机械臂的运动本身都能较好复现但动了之后世界发生了什么变化这件事尤其涉及物体抓取、接触、状态改变的细节还是这套系统目前最大的短板。写在后面读完这篇论文最让我意外的其实不是技术细节而是团队在局限性章节里那种近乎自我批评的坦率。他们直接写道模型学的是视觉观察层面的动力学没有显式约束刚体、接触力这些物理规则所以生成结果可能出现抓取失误、接触判断错误、物体状态变化不对这类问题。这种坦诚在很多论文里是看不到的大部分工作只会展示成功案例。还有一个细节值得单独拎出来说论文附录里做了一个动作后果预测的实验用一个专门在失败案例上训练过的Uranus模型去判断一段候选动作最后是会成功还是失败。结果显示光靠动作本身的统计特征来预测成功率AUC只有0.68但加上Uranus生成的特征之后AUC提升到0.74。更有意思的是如果把Uranus的特征打乱或者清零预测效果直接崩到接近随机猜测的水平。这说明Uranus内部确实学到了某种能预判后果的表征不只是在生成好看的画面它对这个动作大概率会不会成功这件事其实是有判断力的。这个发现有点出乎意料因为它暗示视频生成模型的副产品可能比生成本身更有价值。另一个让我反复琢磨的地方是论文最后提到的分布式物理一致性这个开放问题。一个物体被推动后具体滑动多远取决于摩擦系数、质量这些视频模型压根看不到的隐藏物理参数所以指望AI生成的结果和某一次真实录像完全对上号本身可能就是个不合理的要求。更合理的评价标准或许应该是看多次生成的结果是否符合真实世界里可能发生的结果的整体分布而不是死磕某一条录像的复现精度。这个思路挺颠覆的它其实是在说我们过去评价世界模型的方式可能问错了问题。如果一个AI生成的世界永远无法和某一次真实录像完全重合那我们该拿什么去衡量它是不是足够真实QAQ1Uranus是什么AUranus是D-Robotics团队开发的机器人世界模型通过一个自回归扩散模型根据输入的机械臂未来关节轨迹实时生成对应的多视角视频画面可以用作机器人策略训练和评估的虚拟仿真环境。Q2Uranus和传统的机器人仿真器有什么区别A传统仿真器如MuJoCo需要工程师手动建立3D模型和物理规则成本高、存在仿真到现实的差距。Uranus是数据驱动的直接从超过3300小时的真实机器人视频中学习动态规律不需要手动建模能生成更接近真实的画面。Q3Uranus的生成速度有多快A经过蒸馏优化后的1.3B参数模型可以做到24FPS的低延迟生成在H20显卡上实测达到10FPS的实时交互速度每次推理只需要4步去噪一次生成对应4帧RGB画面的一个潜在帧。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →