Skip to content

Support Franka in atomic-action tutorials - #519

Open
yuecideng wants to merge 2 commits into
mainfrom
enhance/franka-atomic-action-tutorials
Open

Support Franka in atomic-action tutorials#519
yuecideng wants to merge 2 commits into
mainfrom
enhance/franka-atomic-action-tutorials

Conversation

@yuecideng

Copy link
Copy Markdown
Contributor

Description

This PR adds selectable UR5 and Franka constructions across the atomic-action tutorials while preserving UR5 as the default. Franka uses the same DH_PGI_140_80 gripper contract as UR5, and tutorial motion generation now uses the cuRobo backend.

It also generalizes dual-arm assembly, initial orientation, solver-root lookup, and robot-independent waypoint construction, and adds focused coverage for single- and dual-arm configurations, CLI selection, PGI bindings, and cuRobo setup.

Dependencies: None. The separate DexSim contact/rest-offset transition fix is intentionally outside this PR.

Issue: N/A (no linked issue).

Type of change

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

Screenshots

Not applicable.

Validation

  • black --check --diff --color ./ — 665 files unchanged in a clean worktree
  • pytest -q tests/sim/atomic_actions/test_tutorial_utils.py tests/sim/planners/test_curobo_planner.py tests/sim/planners/test_curobo_integration.py — 89 passed, 1 skipped, 6 deselected
  • python scripts/tutorials/atomic_action/coordinated_pickment.py --robot franka --viser — exited successfully with no PhysX contact/rest-offset warnings
  • python scripts/tutorials/atomic_action/coordinated_pickment.py --viser — exited successfully
  • python scripts/tutorials/atomic_action/coordinated_placement.py --viser — exited successfully

Checklist

  • I have run the black . command to format the code base.
  • I have made corresponding changes to the documentation (not required for these self-contained tutorials).
  • I have added tests that prove the change is effective.
  • Dependencies have been updated (not applicable).

Add selectable UR5 and Franka constructions with a shared PGI gripper across the atomic-action tutorials. Use cuRobo motion generation and generalize dual-arm setup while preserving UR5 defaults.
@yuecideng yuecideng added enhancement New feature or request robot Module related to robot motion gen Things related to motion generation for robot atomic action atomic action related functionality labels Aug 18, 2026
@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown

Greptile Summary

The PR generalizes atomic-action tutorials to select UR5 or Franka robots and migrates tutorial motion generation to cuRobo.

  • Adds shared single- and dual-arm robot construction for UR5 and Franka with PGI grippers.
  • Makes tutorial waypoints, solver roots, initial configurations, and CLI robot selection robot-independent.
  • Consolidates cuRobo obstacle naming and expands focused tutorial and trajectory coverage.

Confidence Score: 4/5

The PR is not yet safe to merge because migrated tutorials still fail during cuRobo initialization on hosts without CUDA.

The previously reported failure remains: tutorial construction always selects CuroboPlannerCfg, whose initialization raises when CUDA is unavailable, so affected tutorials exit before compiling their actions.

Files Needing Attention: scripts/tutorials/atomic_action/tutorial_utils.py

Important Files Changed

Filename Overview
scripts/tutorials/atomic_action/tutorial_utils.py Adds robot-selection helpers and a shared cuRobo generator, but the generator still terminates tutorial startup on systems without CUDA.
scripts/tutorials/atomic_action/scenario_utils.py Adds generalized dual-arm UR5/Franka configuration, mounting, solver, and gripper assembly helpers.
embodichain/lab/sim/planners/curobo/curobo_planner.py Reuses centralized rigid-object naming while retaining cuRobo’s explicit CUDA availability requirement.
tests/sim/atomic_actions/test_tutorial_utils.py Adds focused coverage for robot selection, tutorial imports, PGI bindings, and single- and dual-arm configuration.

Reviews (2): Last reviewed commit: "fix(tests): update success mask argument" | Re-trigger Greptile

Comment thread scripts/tutorials/atomic_action/tutorial_utils.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

atomic action atomic action related functionality enhancement New feature or request motion gen Things related to motion generation for robot robot Module related to robot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant