PhysVLMM: Interaction-Conditioned Physical Belief Maps for Articulated Objects in Robot Scene Maps
Abstract
Mobile robots must open doors and drawers, yet their scene maps record what each object is and whether it has moved, not how it will respond to a pull. This paper proposes PhysVLMM, a method that maintains a physical belief for every articulated part of a Vision-Language-Motion Map and answers a planner's queries about it, with two algorithms: a map update and a query. Watching a part move provably cannot identify its dynamics, and a measured pull identifies only the pulled part, up to one direction. PhysVLMM therefore (i) keeps that direction as a posterior instead of a point estimate, (ii) passes the evidence of each pull in closed form to the untouched look-alike parts of the map, and (iii) answers whether an action will succeed at a stated risk, or abstains. On real doors and drawers in 18 homes, it identifies the joint type in 86% of held-out pulls (48% for a learned single-view method) and predicts the response to a pull with 41% lower error than differentiable simulation (CRPS 0.323 vs. 0.544), four orders of magnitude faster (13 ms vs. 230 s per case). The posterior lowers the final-position error from 0.460 to 0.270, sharing lowers the force error of untouched parts from 56% to 42%, and at every stated risk from 0.02 to 0.30 the false-safe answers stay within it. Pooling all measured parts of a home does as well as the look-alike groups, and simpler variants predict where a pulled part stops at least as well.
Figures & tables
| joint type | axis, drawer / | hinge | response | time | |
| method | door ( ∘ ) | (cm) | |||
| Simulation (120 RoboCasa kitchens, 4327 parts, 12320 pulls) | |||||
| FlowBot3D [ 3 ] | 66 % | 15.4 / 33.8 | 14.7 | – | |
| GAPartNet [ 7 ] | 35 % a | 70.6 / – | – | – | |
| RigPI [ 11 ] | – | – | – | 0.310 | |
| PhysVLMM | 99 % | 0.5 / 0.6 | 0.2 | 0.062 | |
| variant | description | physics fit | distribution | category prior | look-alike prior | force | query | final position ( to PhysVLMM) |
|---|---|---|---|---|---|---|---|---|
| B1 | joint only, no physics | ✗ | ✗ | ✗ | ✗ | – | – | 0.164 ( 0.151 [ 0.236, 0.086]) |
| B0 | category prior only | ✗ | ✓ | ✓ | ✗ | 56 % | 0.184 | 0.253 ( 0.062 [ 0.124, 0.011]) |
| B2 | physics fit, point estimate | ✓ | ✗ | ✗ | ✗ | – | – | 0.460 (+0.145 [+0.101, +0.186]) |
| B2 | physics fit, posterior | ✓ | ✓ | ✗ | ✗ | – | – | 0.270 ( 0.045 [ 0.102, +0.004]) |
| B3 | B2 + category prior | ✓ | ✓ | ✓ | ✗ | 56 % | 0.184 | 0.285 ( 0.030 [ 0.059, 0.006]) |
| PhysVLMM | B3 + look-alike prior | ✓ | ✓ | ✓ | ✓ | 42 % | 0.145 | 0.315 |
| variant | description | force | query Brier | final position ( to PhysVLMM) |
|---|---|---|---|---|
| B1 | joint only, no physics | – | – | 0.743 (+0.682 [+0.675, +0.688]) |
| B0 | category prior only | 58 % | 0.183 | 0.131 (+0.070 [+0.066, +0.074]) |
| B2 | physics fit, point estimate | – | – | 0.208 (+0.146 [+0.145, +0.149]) |
| B2 | physics fit, posterior | – | – | 0.169 (+0.107 [+0.103, +0.110]) |
| B3 | B2 + category prior | 58 % | 0.183 | 0.064 (+0.003 [+0.002, +0.003]) |
| PhysVLMM | B3 + look-alike prior | 50 % (41 %) | 0.165 (0.133) | 0.062 |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| applied torque profile | rank | condition no. |
|---|---|---|
| constant force, opening only | 3/5 | |
| ramped force, opening only | 4/5 | |
| pull, then release (closer returns the door) | 5/5 | 17 |
| two force levels, then release | 5/5 | 13 |
| home | parts | groups | pulls | per-object | PhysVLMM | factor |
|---|---|---|---|---|---|---|
| H2 | 2 | 1 | 4 | 14 | 13 | 1.1 |
| H3 | 8 | 1 | 16 | 69 | 27 | 2.6 |
| H4 | 11 | 2 | 21 | 79 | 68 | 1.2 |
| H5 | 5 | 2 | 9 | 49 | 25 | 1.9 |
| H6 | 5 | 1 | 10 | 63 | 71 | 0.9 |
| H7 | 6 | 1 | 12 | 26 | 15 | 1.7 |
| predictor | trajectory RMSE |
|---|---|
| B1: mechanism only (runs to the stop) | – |
| B0: category prior | 0.543 |
| B2 : physics fit, point estimate | 0.468 |
| B2: physics fit, posterior | 0.608 |
| B3: B2 + category prior | 0.502 |
| PhysVLMM : B3 + look-alike prior | 0.488 |
| joint axis | held-out homes | doors | drawers |
|---|---|---|---|
| estimated | 0.23 | 0.20 | 0.25 |
| annotated (oracle) | 0.19 | 0.16 | 0.22 |
| force value | data | [CI] | look-alike pairs | other pairs |
|---|---|---|---|---|
| open + close | all windows | 0.60 [0.41, 0.83] | 0.35 | 0.46 |
| opening | all windows | 0.77 [0.57, 0.99] | 0.55 | 0.58 |
| closing | all windows | 0.49 [0.28, 0.76] | 0.41 | 0.64 |
| open + close | suspect windows removed | 0.60 [0.41, 0.81] | 0.37 | 0.58 |
| opening | suspect windows removed | 0.82 [0.62, 1.02] | 0.59 | 0.58 |
| closing | suspect windows removed | 0.44 [0.23, 0.73] | 0.38 | 0.68 |
| running force | speed-norm. | |||||
|---|---|---|---|---|---|---|
| predictor | NLL | MAE | cov. | NLL | MAE | |
| category prior (per-object) | 0.852 | 0.446 | 1.56 | 0.79 | 1.184 | 0.636 |
| mean of the same home | 0.661 | 0.349 | 1.42 | 0.80 | 0.974 | 0.477 |
| mean of the look-alikes | 0.695 | 0.355 | 1.43 | 0.81 | 1.073 | 0.512 |
| hierarchical pooling | 0.662 | 0.352 | 1.42 | 0.81 | 0.980 | 0.495 |
| outlier-aware pooling | 0.635 | 0.342 | 1.41 | 0.81 | 1.015 | 0.503 |
| predictor (touch order) | running force | speed-norm. |
|---|---|---|
| no sharing | 0.771 | 0.808 |
| hierarchical (random) | 0.673 | 0.765 |
| hierarchical (greedy) | 0.670 | 0.747 |
| outlier-aware (random) | 0.675 | 0.768 |
| outlier-aware (greedy) | 0.695 | 0.753 |
| per-object prior | PhysVLMM map belief | ||||||
|---|---|---|---|---|---|---|---|
| grouping | Brier | answered | false-safe | Brier | answered | false-safe | |
| geometric | 3 N | 0.188 | 0.00 | – | 0.135 | 0.19 | – |
| geometric | 5 N | 0.247 | 0.00 | – | 0.192 | 0.01 | 0.00 |
| geometric | 8 N | 0.117 | 0.09 | 0.50 | 0.108 | 0.47 | 0.09 |
| semantic | 3 N | 0.204 | 0.00 | – | 0.131 | 0.32 | 0.00 |
| semantic | 5 N | 0.218 | 0.00 | – | 0.137 | 0.24 | 0.00 |
| running force | speed-normalised | |
|---|---|---|
| 0.0 | 0.04 [ 0.16, +0.08] | +0.05 [ 0.00, +0.14] |
| 0.1 | 0.01 [ 0.13, +0.12] | +0.05 [+0.00, +0.11] |
| 0.2 | 0.05 [ 0.15, +0.06] | +0.03 [+0.01, +0.06] |
| 0.3 | 0.01 [ 0.12, +0.11] | +0.02 [+0.00, +0.05] |
| 0.5 | +0.01 [ 0.09, +0.12] | +0.04 [+0.01, +0.09] |
| home | type | parts | running force per part (N) |
|---|---|---|---|
| H3 | revolute | 8 | 3.8, 1.7, 2.9, 2.3, 2.2, 3.0, 3.7, 3.2 |
| H4 | revolute | 3 | 1.5, 2.7, 1.5 |
| H4 | prismatic | 8 | 6.8, 10.1, 12.3, 4.1, 2.7, 3.7, 3.5, 3.0 |
| H5 | prismatic | 3 | 7.3, 5.5, 6.9 |
| H6 | prismatic | 5 | 6.5, 6.1, 1.9, 3.7, 2.2 |
| H7 | revolute | 6 | 3.3, 3.6, 3.5, 3.6, 4.8, 3.3 |
Robotic Manipulation
Robotic manipulation studies how robots perceive, plan, and control physical interactions to grasp, move, assemble, and use objects.
See all 1,704 papers