PointWorld: Scaling 3D World Models for In-The-Wild Robotic Manipulation 论文解读
核心问题与方案
机器人在非结构化环境中操作的最大难点在于物理世界的动态变化。你一动,物体会动、会滑、会倒、会变形。真实环境复杂:厨房、桌面、地面、杂物堆,各种形状材质。你不可能为每一种场景、每一种机器人、每一种动作都手写物理规则。
因此,研究团队提出了 POINTWORLD,一个大规模预训练的三维世界模型。它的目标是给机器人一个'会预言未来'的能力——你告诉它'现在世界长啥样 + 机器人要怎么动',它就能预测接下来整个场景会怎么变化。
该模型将状态与动作统一表示在同一三维空间中,并以三维点流(3D point flows)的形式建模:在给定一张或多张 RGB-D 图像以及一段低层级机器人动作指令序列的情况下,POINTWORLD 能够预测每个像素在三维空间中的位移变化,以响应所给定的动作。通过将动作表示为三维点流,而非依赖于具体机器人本体的动作空间(例如关节位置),这种建模方式能够直接以机器人的物理几何结构为条件,同时自然地实现跨不同机器人本体的统一学习。
方法详解
1. 输入输出设计
这段话的输入输出非常明确,这是理解模型的关键主线:
-
输入 A:静态点云(Scene Point Cloud) 你可以把'点云'理解成用很多很多 3D 小点拼出来的世界(桌面、物体、地面、墙……每个点有 3D 坐标,可能还有颜色)。图里写'RGB-D image',意思是:用一张 RGB-D(彩色 + 深度)图像,就能算出一个点云。
-
输入 B:动作描述(Robot 3D Point Flows) 他们不是用'关节角、力矩'这种强绑定某个机器人的动作表达,而是用一种更'通用'的表达:用机器人本体上的一些 3D 点(例如手臂、夹爪上的采样点)用这些点将要怎么移动来表示动作(也就是'点的位移')。 这就是文中说的 embodiment-agnostic(与机器人本体无关):不管你是单臂、双臂、人形、移动机器人,只要你能把'机器人会怎么动'表达成'这些点会怎么走',模型就能理解。
-
输出:全场景 3D 点流(Full-scene 3D point flows) '点流(point flow)'你可以把它当成每一个场景点,都会得到一个箭头(3D 位移向量),告诉你它接下来会往哪儿走、走多远。桌上的盒子会被推走 → 盒子上的点箭头都指向滑动方向;布被拉动 → 布上的点箭头呈现拉扯形变;抽屉被拉开 → 抽屉点云整体平移;甚至周围被挤压、碰撞导致的连带运动,也用点箭头表示。
一句话总结输入输出:输入:世界的'3D 点照片' + 机器人动作的'3D 点运动' 输出:整个世界里每个点'下一刻会怎么动'。
2. 网络架构与特征编码
图 2 展示了 POINTWORLD 的整体概览。从上到下就是完整管线:
-
输入 1:RGB-D 观测 你拍一张 RGB-D(彩色 + 深度)。深度告诉你每个像素离相机多远,所以能反推出 3D 坐标。这样你就能得到场景点云(scene points):桌子、物体、背景墙……一堆 3D 点。
-
输入 2:关节动作+URDF 关节动作:比如未来 H 步的关节角序列。URDF:机器人的结构说明书(每个关节连着哪根连杆、连杆形状、坐标系怎么连)。 有了这两样,你就能用正向运动学(Forward Kinematics)算出:机器人身体表面上某些点,在未来每个时刻的位置会在哪里。 这就得到机器人点流(Robot Flows):一串'机器人点云随时间怎么移动'。
-
拼接:Concatenated Point Cloud 把场景点(静态采集到的点)和机器人点(未来会动的点,按时间堆叠)直接拼在一起,作为一个'统一点云'。论文用词叫:embodiment-agnostic interaction geometry。直白翻译:不管你是什么机器人,把它都变成点;点的运动表达动作;这样动作表达不依赖'某个特定机器人关节定义'。
-
特征编码 拼接后每个点要带'特征',不然网络只能看到坐标,理解能力弱。
- 场景点特征:冻结 DINOv3 做法是:把 3D 点投影回 2D 图像上,用 DINOv3 从图像抽特征,再贴回点上。'冻结'意思是:DINOv3 参数不训练,它只是一个固定的'视觉特征提取器'。


