Skip to content

Add coordinated placement atomic action demo#318

Open
skywhite1024 wants to merge 2 commits into
mainfrom
ljd/coordinated_placement_atomic_actions
Open

Add coordinated placement atomic action demo#318
skywhite1024 wants to merge 2 commits into
mainfrom
ljd/coordinated_placement_atomic_actions

Conversation

@skywhite1024

@skywhite1024 skywhite1024 commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR adds CoordinatedPlacement, an object-centric dual-arm atomic action for the case where both arms already hold objects: the support arm moves and keeps holding the support object, while the placing arm aligns its held object above the support target, releases it, and retreats.

The update also adds a bread-on-pan tutorial scenario, target-axis visualization, and a full-frame GIF in the built-in atomic actions documentation so reviewers can inspect the behavior loop directly.

Dependencies: none beyond the existing simulation/tutorial dependencies.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (non-breaking change which improves an existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

Screenshots

See docs/source/_static/atomic_actions/coordinated_placement.gif and the CoordinatedPlacement row in docs/source/overview/sim/atomic_actions/builtin_actions.md.

Notes

  • CoordinatedPlacementTarget explicitly carries both placing/support HeldObjectState values instead of relying on the single-slot WorldState.held_object to represent dual held objects.
  • On success, WorldState.held_object is updated to the support object's held state, normalized to batched tensor shapes, because the placing object has been released while the support object remains held.
  • The tutorial draws target axes at the support/placing object target poses and records from a fixed camera facing the table front.

Checklist

  • I have run the black . command to format the code base.
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • Dependencies have been updated, if applicable.

Tests

  • /home/dex/miniconda3/envs/embodichain040/bin/black embodichain/lab/sim/atomic_actions/actions.py scripts/tutorials/atomic_action/coordinated_placement.py scripts/tutorials/atomic_action/tutorial_utils.py tests/sim/atomic_actions/test_actions.py
  • /home/dex/miniconda3/envs/embodichain040/bin/python -m pytest tests/sim/atomic_actions/test_actions.py -q
  • PYTHONUNBUFFERED=1 /home/dex/miniconda3/envs/embodichain040/bin/python scripts/tutorials/atomic_action/coordinated_placement.py --headless --headless_play --diagnose_plan --device cuda
  • PYTHONUNBUFFERED=1 /home/dex/miniconda3/envs/embodichain040/bin/python scripts/tutorials/atomic_action/coordinated_placement.py --auto_play --device cuda

@skywhite1024 skywhite1024 changed the base branch from ljd/press_atomic_actions to refactor/atomic-actions-redesign June 23, 2026 12:46
Base automatically changed from refactor/atomic-actions-redesign to main June 25, 2026 06:08
@skywhite1024 skywhite1024 force-pushed the ljd/coordinated_placement_atomic_actions branch from 297c3e6 to b9e4823 Compare June 26, 2026 03:07
Normalize coordinated placement held-state outputs, add target-axis recording support, and include the documented demo GIF for PR review.
@skywhite1024 skywhite1024 added docs Improvements or additions to documentation enhancement New feature or request motion gen Things related to motion generation for robot visualization Features or functions for visualization with the simulation labels Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation enhancement New feature or request motion gen Things related to motion generation for robot visualization Features or functions for visualization with the simulation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant