Robot Learning from a Physical World Model
Paper: arXiv:2511.07416 Project: PhysWorld project page Code: PointsCoder/OpenReal2Sim Code reference:
main@8f69a19e(2026-02-13) — project page links this OpenReal2Sim toolbox; inspected code covers real-to-sim reconstruction, simulation import, heuristic trajectory execution, and PPO utilities, but not a standalone paper-specific PhysWorld release.
1. Motivation (研究动机)
这篇论文的核心问题不是“视频生成模型能不能生成一个看起来正确的机器人演示”,而是“生成视频里的视觉运动能否被转化为真实机器人可执行、受物理约束的动作”。近期 image-to-video / text-conditioned video generation 已经能从一张初始图像和自然语言指令生成较真实的任务完成过程,例如把书放进书架、把番茄从锅里倒到盘子里、给花浇水。对机器人来说,这类生成视频很诱人:它绕开了昂贵的 real robot demonstration 采集,看起来可以把互联网规模视频先验转成 manipulation supervision。
但作者指出,直接把生成视频中的 pixel motion、optical flow、sparse tracks 或 object poses retarget 到机器人动作,会遇到一个根本缺口:video model 给的是视觉可行性,不等于物理可行性。生成视频可能在图像上“像是成功了”,但它没有保证接触、重力、碰撞、抓取稳定性、刚体运动和机器人可达性都成立。之前一些路线使用 inverse dynamics 或 policy alignment,把视频帧和动作对齐,但常需要大量真实机器人数据;另一些路线从生成视频直接抽取 flow / tracks / object pose,再交给 grasping 和 motion planning,但在 occlusion、模糊运动、错误抓取或不完整几何下容易累积误差。
PhysWorld 的动机因此很明确:把生成视频先转成一个可交互的 physical world model,让机器人不是盲目追踪视频像素,而是在一个从视频重建出的物理场景里学习如何让真实对象运动到视频暗示的目标状态。这样做的关键价值有三点。第一,它把生成视频中的 implicit visual guidance 变成 3D / 4D 的物体运动目标,避免直接追逐不稳定的手部或像素线索。第二,它用物理模拟提供 feedback,使策略能发现“看起来对但物理上会失败”的轨迹。第三,它把机器人数据瓶颈推给更便宜的单张 RGB-D 初始观测、语言任务和生成视频,而不是为每个任务收集真实演示。
Figure 1 解读:PhysWorld 的输入是初始图像和任务 prompt;中间先生成 task-conditioned video,再重建底层物理世界;输出不是视频本身,而是在真实机器人上执行的动作。图中四列强调了论文的 bridge:Image → Video Generation → World Modeling → Robotic Manipulation。
这篇论文放在 Physical AI / Physical Video Generation 下比放在一般 World Model 更合适,因为它不是单纯预测未来帧,也不是只训练一个视频模型;它把生成视频当作“任务意图和对象运动草图”,再用 real-to-sim reconstruction 和 object-centric residual RL 把草图落地成真实操作。换言之,贡献点在于 physical grounding:用物理世界模型把 AIGC 视频转成 robot-ready data。
2. Idea (核心思想)
PhysWorld 的核心思想可以概括为一句话:先让 video model 展示任务应该如何完成,再把这个展示重建成可交互的物理场景,最后在这个物理场景里学习跟踪对象运动的残差策略。它不是让视频模型直接输出动作,也不是把视觉轨迹硬编码进机器人;它把视频生成、4D reconstruction、mesh completion、physical scene assembly、object-centric residual RL 串成一个闭环。
第一个关键设计是 source of supervision 的转换。Video generation model 给出的是未来帧 ,它包含对象应该如何移动、哪些状态算任务完成、以及场景中大致的动态关系。PhysWorld 不把这些帧视为最终答案,而是把它们变成 object pose trajectory。论文选择 object poses 作为 learning targets,而不是 optical flow、sparse point tracks 或 hallucinated human/robot hand motion。原因是生成视频里的手和机器人形态最容易不稳定;相比之下,对象运动更接近任务本质,也更容易通过 FoundationPose 等工具在重建场景中估计。
第二个关键设计是 physical world model。生成视频通常是 monocular 且部分可见:对象遮挡了背景,背面和底部几何不可见,深度估计没有真实尺度,生成模型还可能产生局部视觉 artifact。PhysWorld 通过三步补齐这个缺口:先用 MegaSaM 得到 temporally consistent depth,并用第一帧真实 RGB-D 的 做 metric alignment;再用 image inpainting、image-to-3D generator 和背景几何假设补全对象与背景 mesh;最后通过 physical property estimation、gravity alignment 和 collision optimization 把 meshes 放到可模拟的场景里。
第三个关键设计是 residual RL。单纯 grasp-and-plan 的基线能缩小搜索空间,但面对复杂任务会因为抓取候选、motion planning、对象碰撞和目标位姿误差而失败;从零 RL 又训练慢、reward 设计困难。PhysWorld 采用 :基线动作提供可行初值,策略只学习 residual correction。物理世界模型提供 reward 和失败反馈,策略则学习把视频中的对象运动目标变成机器人轨迹。
Figure 2 解读:pipeline 分为六步:生成 task-conditioned video;从视频重建 geometry-aligned 4D representation;生成 object/background textured meshes;做 property / gravity / collision 处理形成 physical scene;训练 object-centric residual RL policy;部署到真实机器人。这张图也是读论文时最重要的总览。
这个想法的一个细节是“世界模型”并非一个 learned latent dynamics model,而是从生成视频重建出的 physically interactable digital twin。它服务于机器人学习:可以让策略在近似真实的几何、碰撞和物体动力学中试错。论文的立场是,哪怕这个世界模型还会引入 sim-to-real gap,它也比完全没有物理反馈的 video retargeting 更可靠。
3. Method (方法)
3.1 输入、视频生成与 4D 重建
PhysWorld 的输入是一张 RGB-D image 和语言任务命令。系统调用 image-to-video model 生成未来帧 ;论文主要使用 Veo3,因为其生成质量最高,同时在实验中比较了 Tesseract、CogVideoX1.5-5B 和 Cosmos-2B。视频生成阶段只要求模型能接受初始图像和文本控制,因此框架本身不绑定某个特定 generator。
生成视频给的是像素级演示,机器人需要 metric 3D / 4D 表示。PhysWorld 用 MegaSaM 初始化每帧深度 ,但 MegaSaM 的尺度不一定和真实场景对齐。论文利用第一帧真实深度 解一个 robust scale-shift calibration: 其中 是有效像素集合, 是 Huber weights,用来降低 outlier 对全局尺度和偏移的影响。得到 后,把同一组参数应用到所有帧,得到 metric-aligned depth maps 。随后通过相机内参反投影为 dynamic point clouds ,作为后续场景重建和对象运动估计的基础。
3.2 Textured mesh 与 physical scene reconstruction
4D point cloud 仍然不等于可模拟场景,因为对象和背景要变成 watertight 或至少可碰撞的 mesh。PhysWorld 先在第一帧里分离对象与背景。对象区域被移除后,用 masked image inpainting 填补背景纹理,得到 ;每个对象 crop 送入 image-to-3D generator 生成 canonical textured mesh 。背景几何则利用 object-on-ground assumption:遮挡区域要么属于支撑平面,要么延伸到场景边界;实现上可以沿相机 ray 与支撑平面或边界求交,填充 ,再通过 height-map triangulation 生成 并贴上 纹理。
场景可交互化还有三步。第一,physical property estimation:给对象和背景分配质量、摩擦等物理参数。论文说借助 VLM 的 commonsense knowledge 查询物体类别的典型物理属性。第二,gravity alignment:从分割出的 ground plane points 用 RANSAC 估计法向 ,求把 旋转到世界上方向 的最小旋转: 第三,collision optimization:把背景 voxelize 成 SDF ,对每个对象 mesh 的顶点集合 优化一个沿 gravity-opposing axis 的 vertical translation ,惩罚负 SDF penetration: 论文使用 Adam、gradient clipping 和 early stopping;目标不是精确物理参数识别,而是让初始场景没有明显穿模,并有足够一致的 collision feedback 支撑策略学习。
Figure 3 解读:图中展示从 generated monocular video 得到的 physical scene modeling。重点不是视觉重建漂亮,而是几何和对象放置要能进入物理模拟;遮挡区域补全的误差也解释了后续 reconstruction failure 的来源。
3.3 Object-centric residual RL
重建物理场景后,系统要学习机器人动作。PhysWorld 将 generated video 中的对象 pose trajectory 作为 tracking target。设当前 end-effector pose 为 ,当前 object pose 为 ,归一化时间为 ,视频目标对象位姿为 ,基线 grasp-and-plan 提供 grasp proposal 、pre-grasp offset 和 planned end-effector pose 。策略观测为: 策略输出 translation residual 和 rotation residual ,并与基线动作相加。Reward 由 object tracking、grasp stability 和 planning feasibility 组成。Object tracking reward 同时约束位置和姿态: Grasp reward 在抓取和持有期间,如果 end-effector 与 object 的距离超过阈值 ,给负惩罚;planning reward 对 IK 或 motion planning failure 给负惩罚。论文采用 PPO 训练 。这里的直觉是:基线提供一个大致可行的动作骨架,world model 通过对象跟踪和碰撞反馈指出骨架哪里不对,residual policy 只需学习修正,不必从随机动作中探索完整 manipulation。
3.4 代码搜索与实现锚点
官方项目页没有链接一个名为 PhysWorld 的完整仓库,而是链接到 PointsCoder/OpenReal2Sim。因此本笔记把代码锚定为该官方链接仓库的 main@8f69a19e。这个仓库明确声明支持 “real-to-sim assets reconstruction from images and (generated) videos”、IsaacLab 场景导入/渲染、以及 preliminary trajectory generation。它和论文方法强相关,但 inspected code 更像可复用 toolbox,而不是论文里所有实验、Veo3 调用、VLM property estimation、exact reward constants 和全部 benchmark task 的完整复现脚本。
论文公式与 released code 实现差异:论文描述的完整 PhysWorld 包括视频生成、MegaSaM metric calibration、VLM physical property estimation、FoundationPose 对象轨迹、object-centric residual RL 和真实机器人部署;OpenReal2Sim inspected files 覆盖 reconstruction / simulation / heuristic manipulation / generic PPO 部分,但没有在已检查文件中找到一个端到端 PhysWorld experiment entrypoint,也没有找到论文里所有 reward weights、GPU/LR/batch size、Veo3 inference wrapper 或十个任务的完整配置。因此代码可用于理解和复现 real-to-sim / simulation / PPO skeleton,但不能把它等同于论文全部实验实现。
代码到论文概念映射(Code-to-paper mapping table)
Code reference:
main@8f69a19e(2026-02-13) — pseudocode and mapping based on this commit
| Paper Concept | Source File | Key Class/Function |
|---|---|---|
| 背景点云补全与 metric depth alignment | openreal2sim/reconstruction/modules/background_point_inpainting.py | fit_scale_shift_huber, background_point_inpainting |
| 背景 mesh 生成与纹理 | openreal2sim/reconstruction/modules/background_mesh_generation.py | background_mesh_generation, simplify_heightmap_pmap |
| 对象 crop 到 3D textured mesh | openreal2sim/reconstruction/modules/object_mesh_generation.py | object_mesh_generation, Hunyuan3D shape/texturing pipeline |
| 场景装配与重力对齐 | openreal2sim/reconstruction/modules/scenario_construction.py | gravity_alignment, register_scene_meshes, scenario_construction |
| 碰撞优化 | openreal2sim/reconstruction/modules/scenario_collision_optimization.py | build_sdf_kaolin, optimise_sdf_z, scenario_collision_optimization |
| 抓取与基线轨迹 | openreal2sim/simulation/isaaclab/sim_heuristic_manip.py | HeuristicManipulationPolicy, load_obj_goal_traj, grasp_trials |
| PPO / residual-style policy utility | openreal2sim/simulation/isaaclab/learning/hybrid_ppo.py | HybridActorCritic, ppo_train_hybrid |
下面的伪代码不是论文原文算法的复述,而是根据 OpenReal2Sim inspected code 抽象出的 implementation skeleton。
def reconstruct_background_geometry(scene, intrinsics):
# based on background_point_inpainting.py
recon = scene["recon"]
depth0 = scene["depths"][0]
pred_bg_depth = predict_or_load_inpainted_background_depth(recon["background"])
alpha, beta = fit_scale_shift_huber(pred_bg_depth, depth0, mask=recon["ground_mask"])
bg_depth = alpha * pred_bg_depth + beta
bg_depth = fill_occluded_region_by_plane_rays(bg_depth, recon["object_mask"], intrinsics)
recon["bg_pts"] = depth_to_points(bg_depth, intrinsics)
recon["fg_pts"] = depth_to_points(depth0, intrinsics)
export_cloud(recon["bg_pts"], "background_points.ply")
return scenedef build_physical_scene(scene):
# based on object_mesh_generation.py, scenario_construction.py, scenario_collision_optimization.py
object_meshes = []
for obj in segment_objects(scene):
rgba_crop = crop_object_with_alpha(scene["images"][0], obj.mask)
mesh = hunyuan3d_shape_generator(rgba_crop)
mesh = clean_mesh(mesh)
mesh = hunyuan3d_texture_generator(mesh, rgba_crop)
object_meshes.append(register_object_mesh(mesh, obj, scene["recon"]["fg_pts"]))
bg_mesh = triangulate_heightmap(scene["recon"]["bg_pts"], texture=scene["recon"]["background"])
gravity_T, camera_pose = gravity_alignment(scene["recon"]["normal"])
scene_mesh = apply_transform([bg_mesh, *object_meshes], gravity_T)
scene_mesh = optimize_collision_by_sdf(scene_mesh, clearance=0.004)
return export_simulation_assets(scene_mesh, camera_pose)def train_hybrid_residual_policy(env, net, optimizer, cfg):
# based on hybrid_ppo.py; paper-specific rewards are supplied by env
obs = env.reset()["obs"]
for epoch in range(cfg.total_epochs):
buffer = []
for t in range(cfg.horizon):
is_step0 = (t == 0)
action_pack = net.act_sample(obs, is_step0=is_step0)
next_obs, reward, done, info = env.step(action_pack["env_action"])
buffer.append((obs, action_pack, reward, done, info.get("time_outs")))
obs = reset_done_envs(next_obs, done)
adv, returns = generalized_advantage_estimation(buffer, cfg.gamma, cfg.gae_lambda)
for batch in minibatches(buffer):
logp_new, entropy = net.recompute_log_prob(batch.obs, batch.action)
ratio = torch.exp(logp_new - batch.old_logp)
policy_loss = -torch.min(ratio * batch.adv,
torch.clamp(ratio, 1-cfg.clip_eps, 1+cfg.clip_eps) * batch.adv).mean()
value_loss = clipped_value_loss(net.value(batch.obs), batch.return_)
loss = policy_loss + cfg.value_coef * value_loss - cfg.entropy_coef * entropy.mean()
optimizer.zero_grad(); loss.backward(); optimizer.step()4. Experimental Setup (实验设置)
评估问题与任务规模
实验目标对应三个问题:Q1,视频生成是否能提供可泛化的机器人 manipulation guidance;Q2,physical world modeling 是否提升 robustness;Q3,object-centric residual RL 是否比 embodiment-centric retargeting 或从零 RL 更有效。论文评估 10 个真实机器人 manipulation tasks,每个任务 10 次 rollout:Wipe the whiteboard、Water the flowers、Put the book in the bookshelf、Pour the fish from the pan onto the plate、Put the lid on the pot、Put the spoon in the pan、Put the shoe in the shoebox、Pour the candies from the spoon onto the plate、Sweep the paper scraps into the dustpan、Pour the tomato from the pan onto the plate。
zero-shot baselines
Baselines 有三个 zero-shot、没有 physical world modeling 的方法。RIGVid 直接从生成视频跟踪 object poses,并使用 off-the-shelf grasping model 和 motion planner;Gen2Act 使用 sparse point tracks 作为 tracking objective;AVDC 使用 depth 和 optical flow 表示 object / embodiment motion。PhysWorld 与它们的关键差别是:同样利用生成视频,但额外重建 physical world,并在其中用 residual RL 修正基线动作。
视频生成质量指标
视频生成质量实验比较 4 个 image-to-video models:Veo3、Tesseract、CogVideoX1.5-5B、Cosmos-2B。每个 model-task 组合生成 10 个视频,指标是 usable video ratio,即能否稳健恢复 object poses 的比例。这个指标很实用,因为 PhysWorld 的下游动作学习依赖对象轨迹;视频越不能稳定给出对象运动,后面的 world modeling 和 RL 越难工作。
真实机器人成功率与失败类型
主实验指标是 real-world task success rate。每个任务 10 rollout,所以图中的百分比基本对应 10 次试验中的成功次数。失败分析把 outcome 分成 success、grasping failure、dynamics failure、tracking failure 和 reconstruction failure。Object-centric vs embodiment-centric 的 ablation 只在两个任务上报告:Put the book in the bookshelf 与 Put the shoe in the shoebox。Residual RL vs RL from scratch 则在 Pour the tomato from the pan onto the plate 上比较 object tracking reward 随训练 step 的变化。
训练配置与可复现性限制
训练配置方面,论文明确说明使用 PPO 训练 residual policy,并描述了 observation / action / reward 结构;但 arXiv 版本没有详细给出 GPU 型号/数量、learning rate、batch size、PPO horizon、reward weights 等全部 reproducibility hyperparameters。代码仓库中 hybrid_ppo.py 有 PPO clip、value coefficient、entropy coefficient、GAE 等接口,但具体 PhysWorld 实验配置未在 inspected files 中完整定位。因此复现实验时需要作者后续释放更完整配置或从 OpenReal2Sim/IsaacLab 配置继续追踪。
Figure 5:qualitative setup
Figure 5 解读:qualitative results 展示生成视频、重建/学习和真实执行之间的对应关系。它的作用是证明任务不是单一 pick-and-place,而覆盖擦白板、浇水、倒物、扫纸屑等不同物体动力学和接触模式。
5. Experimental Results (实验结果)
视频生成质量
视频生成质量结果很直接:Veo3 usable ratio 为 70%,Tesseract 为 36%,CogVideoX1.5-5B 为 4%,Cosmos-2B 为 2%。这说明通用开源/小型 video generator 在这些机器人任务上往往难以产生可稳定解析 object pose 的视频;Tesseract 因为有 robotic data fine-tuning,明显好于普通生成模型;Veo3 最高,论文因此主要使用 Veo3。这个结果也限制了 PhysWorld 的适用性:方法虽然减少了真实机器人数据需求,但仍然依赖视频生成质量和可解析的对象运动。
主任务成功率
主结果显示 PhysWorld 平均成功率 82%,高于 RIGVid 的 67%、Gen2Act 的 46%、AVDC 的 30%。
逐任务结果(PhysWorld/RIGVid/Gen2Act/AVDC):
- Wipe the whiteboard:100/90/80/40
- Water the flowers:90/80/80/50
- Put the book in the bookshelf:90/80/10/20
- Pour the fish onto the plate:60/50/30/10
- Put the lid on the pot:80/70/60/60
- Put the spoon in the pan:100/100/80/70
- Put the shoe in the shoebox:80/50/50/30
- Pour the candies onto the plate:80/60/30/10
- Sweep the scraps into the dustpan:70/40/30/0
- Pour the tomato onto the plate:70/50/10/10
PhysWorld 的优势在多数任务上不是微小提升,而是在需要稳定抓取、倒物、插入/放置和长轨迹跟踪时显著减少失败。
Figure 4:benchmark 对比
Figure 4 解读:蓝色 PhysWorld 在 10 个任务中平均 82%,红色 RIGVid 平均 67%。两者都使用 object pose 线索,但 PhysWorld 多了 physical world feedback 和 residual learning,因此在 shoe/book/candy/tomato 等更容易因抓取或动力学误差失败的任务上差距明显。Gen2Act 和 AVDC 的低分说明 point tracks / optical flow 在遮挡和模糊运动下更不稳定。
failure mode analysis
Failure mode analysis 进一步解释了提升来源。RIGVid 的分解是 success 67%、grasping 18%、dynamics 10%、tracking 5%;PhysWorld 是 success 82%、grasping 3%、dynamics 8%、reconstruction 7%。最重要的变化是 grasping failure 从 18% 降到 3%,tracking failure 从 5% 降到 0%。这支持作者的论点:world model 的反馈能修正抓取与追踪误差,使策略不是一次性跟随规划器输出。PhysWorld 新出现的 7% reconstruction failure 也暴露了方法代价:monocular generated videos 的 occluded geometry 可能和真实世界不对齐,特别是背面、容器内部、被对象遮挡的支撑面等区域。
Figure 6:failure visualization
Figure 6 解读:PhysWorld 把 RIGVid 的一部分 grasping/tracking failure 转化为成功,但并非无代价;新增 reconstruction error 表明物理重建质量成为新的瓶颈。作者提出可通过预先做 multiview reconstruction 缓解 occluded geometry mismatch。
object-centric ablation
Object-centric learning 的 ablation 很强。Put the book in the bookshelf 上,embodiment-centric 为 30%,object-centric 为 90%;Put the shoe in the shoebox 上,embodiment-centric 为 10%,object-centric 为 80%。这说明 generated videos 中的人手/机器人手形态不可靠,直接把 hand keypoints 映射到机器人 end-effector 容易把 hallucination 也迁移过去;而对象运动更稳定,也更贴近任务完成条件。这个结果是本文方法选择 object pose tracking 的核心证据。
Residual RL vs RL from scratch 的曲线显示,Residual RL 在几百 step 内把 object tracking reward 提升到约 20 左右并保持较高水平;RL from scratch 长时间接近 0,只有少量尖峰。论文没有给出精确曲线表格数值,但图 7 清楚说明 residual formulation 降低探索难度。基线 grasp-and-plan 把动作限制在可行邻域,PPO 学到的是 correction;从零 RL 必须同时学会抓、搬、避碰和对齐目标,样本效率低得多。
Residual RL vs RL from scratch
Figure 7 解读:蓝线 Residual RL 快速上升并在高 reward 区间波动,红线从零 RL 基本贴近 0。它证明了“world model + baseline action + residual correction”比“只给 reward 让策略自己探索”更适合这类长程操作任务。
总体结论是:PhysWorld 证明了高质量生成视频可以成为机器人学习信号,但必须经过物理建模和对象中心学习才能可靠落地。它的优势在于零真实演示、任务泛化、把 video prior 转成物理可执行动作;局限在于视频生成质量、单目重建误差、sim-to-real gap、物理参数估计不精确,以及当前公开代码还不是完整 paper reproduction。对后续工作而言,最有价值的方向是把 multiview/active reconstruction 接入这个 pipeline,把生成视频本身训练得更物理准确,并释放完整 PhysWorld reward/config/robot deployment code,降低复现门槛。