Skip to content

Integrate dexsim gizmo controllers - #431

Open
yuecideng wants to merge 1 commit into
mainfrom
feat/dexsim-gizmo-integration
Open

Integrate dexsim gizmo controllers#431
yuecideng wants to merge 1 commit into
mainfrom
feat/dexsim-gizmo-integration

Conversation

@yuecideng

Copy link
Copy Markdown
Contributor

Description

Summary

  • Delegate world-level rigid-body and articulation manipulation to dexsim's EntityGizmoManipulator.
  • Enable entity gizmos by default when a viewer window opens, keep headless simulations disabled, and expose explicit enable/disable/query APIs.
  • Register EmbodiChain's built-in default_plane as a static external target so it cannot be manipulated.
  • Bind robot TCP gizmos to dexsim's IKGizmoController and NewtonChainIK, while adapting joint state reads and writes through EmbodiChain's Robot abstraction.
  • Update gizmo examples and documentation, and add lifecycle, exclusion, and robot-controller tests.

Dependency / merge gate

This PR requires the next dexsim release and must not be merged or released before that version is published and EmbodiChain's dexsim requirement is updated.

The required dexsim release must include:

  • World.enable_entity_gizmo(), World.disable_entity_gizmo(), and World.get_entity_gizmo();
  • multi-target EntityGizmoManipulator support, including register_external_target();
  • dexsim.kit.ik.IKGizmoController and dexsim.kit.ik.NewtonChainIK.

The dependency file is intentionally unchanged because that dexsim version has not been released yet.

Related: #420

Type of change

  • New feature (non-breaking change which adds functionality)
  • Documentation update

Screenshots

Not applicable; behavior is covered by automated tests and interactive dexsim smoke tests.

Validation

  • black .
  • git diff --check
  • python -m compileall on changed Python modules
  • pytest -q tests/sim/test_cfg.py tests/sim/test_sim_manager.py tests/sim/objects/test_gizmo.py — 28 passed
  • pytest -q tests/sim/objects/test_robot_cfg.py -k 'not pk_dof' — 20 passed
  • pytest -q tests/sim/objects/test_robot_cfg.py -k 'pk_dof' — 8 passed
  • Interactive smoke checks for entity attach/detach, window reopen/config restore, headless behavior, default-plane exclusion, and robot IK on CPU/CUDA

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 feature works.
  • Dependencies have been updated — pending the next dexsim release described above.

Delegate entity and robot gizmo control to dexsim, wire entity gizmos into viewer lifecycle, and exclude the default plane from manipulation.
Copilot AI review requested due to automatic review settings July 27, 2026 11:45
@yuecideng yuecideng added enhancement New feature or request visualization Features or functions for visualization with the simulation dexsim Things related to dexsim robot Module related to robot interaction The interaction simulation features labels Jul 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dexsim Things related to dexsim enhancement New feature or request interaction The interaction simulation features robot Module related to robot visualization Features or functions for visualization with the simulation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants