Skip to content

OptiTrack (3/3): Isaac wrapper + full sim e2e#376

Draft
JohnYanxinLiu wants to merge 4 commits into
johnliu/optitrack-natnet-serverfrom
johnliu/optitrack-isaac-wrapper
Draft

OptiTrack (3/3): Isaac wrapper + full sim e2e#376
JohnYanxinLiu wants to merge 4 commits into
johnliu/optitrack-natnet-serverfrom
johnliu/optitrack-isaac-wrapper

Conversation

@JohnYanxinLiu

Copy link
Copy Markdown
Collaborator

3 of 3 in the OptiTrack split. Stacked on 2/3 (optitrack-natnet-server).

  • Isaac wrapper for the NatNet emulator (.../emulator/isaac/**): maps a live USD scene onto the server (catalog/config/frames/manager/scene_setup/ui_extension/usd_bindings) + extension manifest + USD schema + the natnet Pegasus launch scripts.
  • Isaac unit tests (incl. an isaac-wrapper integration test and a float-tolerance loosen on the pose round-trip); scipy + usd-core deps.
  • Dedicated sim e2e tests/system/test_optitrack_e2e.py (optitrack mark): one Isaac bring-up asserting emulator → natnet_ros2 pose_cov ≥ 5 Hz → PX4 local_position fusing the vision. Deliberately not a third parametrized sim (no re-running the generic suites under NatNet).

Tests: full suite collects 310; -m unit = 153 pass; -m optitrack e2e on a GPU runner.

Version: 0.19.0-alpha.11. Base: johnliu/optitrack-natnet-server (2/3).

🤖 Generated with Claude Code

JohnYanxinLiu and others added 4 commits July 23, 2026 14:19
The Isaac integration layer that maps a live USD scene onto the NatNet server:
catalog/config/frames/manager/scene_setup/ui_extension/usd_bindings, the extension
manifest (config/), and the USD schema. Adds the natnet Pegasus launch scripts that
spawn the emulator alongside PX4 in Isaac Sim, the isaac unit tests (incl. a
float-tolerance loosen on the pose round-trip for float32/USD noise), and the
Isaac-wrapper host integration test. scipy + usd-core added for the emulator's
USD/pose-sampling tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
One dedicated Isaac bring-up (example_one_px4_pegasus_natnet_launch_script +
LAUNCH_NATNET=true) that asserts the full NatNet chain: emulator → natnet_ros2
pose_cov >= 5 Hz, then PX4 local_position alive (EKF2 fusing the vision). Its own
`optitrack` mark + _MODULE_ORDER slot — deliberately NOT a third parametrized sim,
so the generic liveliness/sensors/flight suites aren't re-run under NatNet.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add the NatNet emulator Isaac Sim documentation (docs/simulation/isaac_sim/
natnet_emulator.md) and the optitrack-development agent skill covering the emulator,
natnet_ros2, and the NatNet wire-protocol handshake.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Version-increment gate for the Isaac wrapper PR (base natnet-server alpha.10).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant