Skip to content

Update main with fixes on release 0.2.1 branch: G1 static apple-to-plate workflow #678

Merged
pulkitg01 merged 5 commits into
mainfrom
pulkitg/fix_the_perforated_table_surface
May 13, 2026
Merged

Update main with fixes on release 0.2.1 branch: G1 static apple-to-plate workflow #678
pulkitg01 merged 5 commits into
mainfrom
pulkitg/fix_the_perforated_table_surface

Conversation

@pulkitg01
Copy link
Copy Markdown
Collaborator

Summary

This cherry-picks the G1 static apple-to-plate workflow fixes from release 0.2.1 branch into main.

Changes:

  • Adds explicit apple and plate test scales so the static pick-and-place test uses realistic object geometry.
  • Adds an invisible procedural_table support 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.

pulkitg01 added 3 commits May 13, 2026 14:05
…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-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 13, 2026

Greptile Summary

This PR cherry-picks two targeted fixes from the release/0.2.1 branch to address objects falling through the Galileo shelf mesh in GPU simulation during the G1 static pick-and-place task.

  • Adds an invisible kinematic procedural_table cuboid (shelf_support) flush with SHELF_SURFACE_Z in the production environment, giving task objects a clean collision surface over the perforated shelf mesh region.
  • Adds explicit APPLE_SCALE / PLATE_SCALE constants to the test file and passes them when constructing test assets, aligning test geometry with the tuned production scales ((0.009, 0.009, 0.009) and (0.5, 0.5, 0.5) respectively).

Confidence Score: 5/5

Safe 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

Filename Overview
isaaclab_arena_environments/galileo_g1_static_pick_and_place_environment.py Adds an invisible kinematic procedural_table cuboid (shelf_support) flush with SHELF_SURFACE_Z to paper over perforated GPU-sim collision on the imported shelf mesh; placement math and scene wiring are correct.
isaaclab_arena/tests/test_g1_static_pick_and_place.py Adds APPLE_SCALE and PLATE_SCALE constants and passes them when constructing test assets to match production geometry; values duplicate _TUNED_SCALES in the environment module.

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]
Loading

Reviews (3): Last reviewed commit: "Add a comment for the height of the patc..." | Re-trigger Greptile

@pulkitg01 pulkitg01 self-assigned this May 13, 2026
Copy link
Copy Markdown
Contributor

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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 SHELF_SUPPORT_PATCH_CENTER position needs documentationAddressed in 10c6914: added comment clarifying cuboid center positioning and procedural_table height assumption.

🔵 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

@pulkitg01 pulkitg01 requested a review from bokalnv May 13, 2026 22:29
@pulkitg01 pulkitg01 enabled auto-merge (squash) May 13, 2026 22:48
@pulkitg01 pulkitg01 merged commit dd20035 into main May 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants