Test-Time Spatial Reasoning for Robot Manipulation Using Generative Real-to-Sim
Ivan Kapelyukh, Yafei Hu, Ran Gong, Brandon May, Tushar Kusnur, Laura Herlant, Karl Schmeckpeper, Edward Johns, Xiaohan Zhang
IROS 2026
cs.RO, cs.CV
2026-09-28
Simify单张RGB-D生成完整网格,1024路仿真进化搜索约73秒;消融均值87.5,实机堆叠远超TSDF。
堆最高的塔、搭最长的悬臂、用瓶子当多米诺去撞目标,要的是高精度接触和物理稳定性,语义关系对了还不够。现有两条路都卡在这里。
3D感知基础模型能描述物体关系,却给不出符合动力学的连续位姿。端到端Vision-Language-Action(VLA,从图像和语言直接出动作)要大量遥操作数据,测试时也多半在模仿见过的动作。物体没见过、初始位姿一变,可行的放置顺序和接触配置都会变,模仿发明不了新摆法。
Simify不假设已知CAD、不收集成功摆放数据、不训练目标状态预测器。一张RGB-D当场建成可仿真的数字孪生,再在物理引擎里搜索放置顺序和6D目标位姿。任务用标量奖励给出,例如塔的最高点高度。从语言自动写奖励没有做。
三阶段,全程不训练。
单视图Real-to-Sim,即从真实观测建成可仿真场景。腕部相机拍一张RGB-D。SAM-2出分割提案,GPT-4o列出可操作物体并把编号mask对上。Hunyuan3D-2这类image-to-3D模型几乎都在无遮挡图上训练,每个物体裁切先过一遍基于Stable Diffusion的2D非模态补全,把被挡住的外观补出来,再生成完整网格。网格没有公制尺度,用ICP对齐到观测点云,Foundation Pose估初始位姿,载入Isaac Lab做GPU并行仿真。易拉罐底这种看不见的面也靠生成先验补上,后面罐子滚不滚得像真的,就看这一步。
仿真里用进化算法搜混合空间:离散放置顺序加连续6D位姿。初始化一群随机解,并行仿真里按顺序放下、等沉降、算奖励。前5%当精英原样保留,其余按奖励softmax采样后突变。优化时给放置加高斯噪声,把解往鲁棒处推。最后一代每个候选再跑多次带噪声rollout,选期望奖励最高的上真机。默认1024个并行环境,平均73秒。同一套生成网格如果改成随机采样,三项均值只剩10.3,完整几何本身不够。
真机侧用Foundation Pose再估当前位姿,在生成网格上采样抓取,cuRobo做数千次并行碰撞检测。堆叠的最后一段改用力传感器往下探,力上升才松手,避免开环轨迹提前放手。
仿真每任务每方法10次,每个解再带噪声评估2048次,奖励归一化成任务得分。LLM-GROP用GPT-5做零样本目标位姿推理,提示里有奖励、轴向约束、带坐标框的场景图,以及物体名、质量和3D包围盒。TSDF-EA用同一套进化算法,但网格只来自可见表面的TSDF(Truncated Signed Distance Field,深度融合出看得见的面,背面补不出),用来拆掉3D生成先验。
Fig. 3里Simify三项都高于两条基线。LLM-GROP在堆叠上还能打,悬臂和多米诺就不稳。VLM懂「要堆高」,给不准连续接触位姿。TSDF-EA全面落后,缺的是看不见的那一面。
进化设计消融,任务得分(%):
| 方法 | 堆叠 | 悬臂 | 多米诺 | 均值 |
| MeshGen-Rand | 29.8 | 0.0 | 1.1 | 10.3 |
| Simify-NoVal | 62.6 | 45.6 | 83.8 | 64.0 |
| Simify | 82.2 | 85.9 | 94.3 | 87.5 |
去掉最终噪声验证,均值从87.5掉到64.0,悬臂从85.9掉到45.6。多米诺里优化分数最高的那招是把绿瓶搁在罐子上撬翻,偶尔成功但对噪声极敏;验证阶段改选把瓶子垫在中间、让罐子沿书堆斜坡滚下去,期望奖励更高。
真机是7自由度Franka Panda,腕部RealSense D435,每任务10次。Simify三项平均进度都高于TSDF-EA。TSDF-EA堆叠10次全部停在Stage 1:仿真成功率低于固定阈值就判规划失败。残缺点云经常搜不出稳定可执行的摆法。Simify规划失败更少,能走到后续放置阶段。Fig. 5拆了30次真机失败类型,正文没给逐项百分比。
对照YCB真值,低遮挡下生成网格F1为0.927、TSDF为0.682;高遮挡则是0.825对0.579。TSDF可见面精度略好,完整性差一截。并行环境数增加,三项得分都升,悬臂和多米诺更明显。
这是把测试时算力花在物理仿真上的规划,不需要demonstrator数据。新物体、新初始位姿、没有成功摆放记录时,一张RGB-D加一个奖励就能跑。Hunyuan3D-2可换成别的image-to-3D。
适用面很窄:多物体重排,成败取决于稳定性、平衡和动态碰撞。堆叠、悬臂、多米诺属于这一类。「杯子放到盘子右边」这种语义约束,LLM-GROP可能已经够。
代价是默认1024路GPU仿真,质量和摩擦当已知,奖励要人手写。跟imitation比,省的是演示和离线训练,换成测试时并行仿真,以及生成网格的误差。
质量、摩擦直接给定,质心按均匀密度,悬臂对这些参数敏感。优化时物体瞬移到目标位姿,仿真里没有机械臂,只靠启发式滤掉明显朝外的旋转,真机不一定执行得了。单视图image-to-3D的精度上限就是系统上限。只做刚体。奖励不从语言生成。相机视角给定。
仿真评估用的网格就是优化时那套,Fig. 3的分不能当成真机分。真机只跟TSDF-EA比,LLM-GROP没上Franka,硬件上「超过foundation model空间推理」证据不完整。任务三个、物体很少,悬臂支撑盒加了配重和高摩擦胶带才让单臂可行。30次失败拆解正文没给数字。开放场景里「物理参数给定」几乎等于还要人标定。