feat(isaac): add backend and native ROS 2 Bridge skeleton - #13
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Implement roadmap PR 13 to expose the highest-risk Isaac Sim, GPU container,
native ROS 2 Bridge, and cross-container DDS integration points before the
ANYmal C runtime is added.
Scope
rh.isaaclifecycle extension;isaacsim.ros2.bridge;STARTING/ERRORstatus without claimingREADY;ROS 2 Humble validation observer;
and failure routing.
Out of scope
cmd_velBridge graphs;READYstate;Architecture changes
The architecture baseline now places the complete Isaac Sim x ANYmal C binding
under
simulators/isaac/robots/anymal_cand uses the locomotion policy bundledwith Isaac Sim. Isaac Lab is not installed in the MVP runtime. Standard ROS 2
transport remains owned by Isaac Sim's native Bridge nodes; RoboHarness owns
only Kit lifecycle glue, graph configuration, and platform status semantics.
Implementation
/isaac-sim/apps/isaacsim.exp.base.kitand merge the projectrh.kit, registering both NVIDIA and project extension directories;SimulationContextasynchronously,create the clock graph, and start the timeline;
/RoboHarness/ROS2ClockfromOnPlaybackTick,ROS2Context,IsaacReadSimulationTime, andROS2PublishClock;rh_interfacesin a ROS builder stage and copy the merged installinto the digest-pinned Isaac image;
make isaac-smokewith retained evidence and guaranteed Composecleanup;
make isaac-guiwith scoped X11 authorization, foreground lifecycle,and cleanup without rewriting the developer's default headless
.env.Testing
make dev-check: PASS, 16 packages, 207 tests, 0 errors, 0 failures;skeleton validation: PASS;
git diff --check origin/main..HEAD: PASS;make isaac-smoke: PASS;.build/isaac-smoke/20260824T083123Z-112676;/clockasrosgraph_msgs/msg/Clock;/roboharness/env/statuswas discoverable;make isaac-gui: GUI window opened and Kit reportedapp ready; therh.isaacclock graph became active. The first run performed the expectedRTX
RtPsoshader warm-up and populated the persistent cache.Validated host snapshot:
Generated
.build/isaac-smoke/evidence is intentionally ignored by Git; theresult and environment are recorded here while large logs/image metadata remain
local.
Acceptance criteria
Known limitations
STARTING;READYrequires the robot, sensors,reset behavior, and command safety gate from later PRs.
the reference world are PR 14 work.
compiled; the launcher and guide instruct developers to wait and preserve the
named cache volumes.
Follow-up
PR 14 will add the Isaac Sim x ANYmal C binding, bundled locomotion policy,
sensors, and native Bridge data-plane graphs. PR 16 will complete reset,
readiness, and command safety semantics.