Update main with fixes on release 0.2.1 branch: G1 static apple-to-plate workflow #678
Conversation
…egion: small objects can fall through parts of the visible shelf. Adding an invisible kinematic cuboid flush with the shelf top so task objects see a clean support. Also, restoring plate to initial position.
Greptile SummaryThis PR cherry-picks two targeted fixes from the
Confidence Score: 5/5Safe to merge — both changes are additive and well-scoped; the support patch is kinematic and invisible, and the scale additions align the test with existing production constants. The shelf_support cuboid placement math checks out: center at SHELF_SURFACE_Z−0.02 puts the top face exactly at SHELF_SURFACE_Z, the 0.8×1.5 m footprint fully covers both spawn positions, and kinematic=True/visible=False mean it cannot interfere with anything beyond providing collision. The new test scale constants match the environment's _TUNED_SCALES exactly. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[get_env called] --> B[Spawn galileo_locomanip background]
B --> C[Spawn shelf_support cuboid\nprocedural_table at SHELF_SUPPORT_PATCH_CENTER\nX=0.62, Y=0.0, Z=SHELF_SURFACE_Z−0.02]
C --> D[shelf_support top face = SHELF_SURFACE_Z\nkinematic, invisible, 0.8×1.5×0.04 m]
D --> E[Spawn pick_up_object\nX≈0.5785, Y∈0.16–0.20\nZ=SHELF_SURFACE_Z+SHELF_AIRGAP+USD_offset]
D --> F[Spawn destination\nX=0.5785, Y=−0.06\nZ=SHELF_SURFACE_Z+SHELF_AIRGAP]
E --> G[Objects rest on shelf_support\nclean collision surface]
F --> G
G --> H[PickAndPlaceTask\npick_up_object + destination]
Reviews (3): Last reviewed commit: "Add a comment for the height of the patc..." | Re-trigger Greptile |
There was a problem hiding this comment.
🤖 Isaac Lab Review Bot
Summary
This PR cherry-picks fixes from the release 0.2.1 branch to address collision issues in the G1 static apple-to-plate workflow. It adds explicit scale parameters for test objects and introduces an invisible kinematic support patch to work around uneven/perforated collision in the imported shelf mesh (a GPU-only issue).
Findings
✅ Suggestion: The hardcoded — Addressed in 10c6914: added comment clarifying cuboid center positioning and procedural_table height assumption.SHELF_SUPPORT_PATCH_CENTER position needs documentation
🔵 Suggestion: The shelf_support uses procedural_table asset but inherits default dimensions. Consider adding explicit width/depth/height parameters to the asset call to ensure the support patch fully covers the task region.
🔵 Suggestion: Test file adds APPLE_SCALE and PLATE_SCALE constants but the main environment file uses _asset_scale() helper. For consistency, consider using the same scale lookup mechanism in both places, or document why the test uses different explicit values.
Verdict
Ship it
The changes are well-motivated and correctly address the physics collision issue. The latest commit adds helpful documentation explaining the shelf support positioning. Minor suggestions above remain for consideration but are not blockers.
Updated: reviewed incremental changes in 10c6914
Summary
This cherry-picks the G1 static apple-to-plate workflow fixes from release 0.2.1 branch into main.
Changes:
procedural_tablesupport patch under the Galileo static pick-and-place shelf area.Motivation
The imported Galileo locomanip shelf mesh appears to have uneven or perforated collision in part of the task region. Small objects like the apple or plate can fall through the visible shelf surface depending on where they spawn.
The support patch gives the task objects a clean collision surface without changing the visible scene geometry.