Isaac ROS Perceptor Fails on Jetson Orin (Works on x86 Server) – Topic Data Flow Stops After Initialization

1. System Setup

  • Server Side: Running NVIDIA Isaac Sim on an x86 server. It publishes image_raw and camera_info at a resolution of 960x576.

  • MIC Side (Jetson Orin): Running Isaac ROS Perceptor (including V-SLAM and nvblox).

  • Communication: Using Zenoh Bridge or Fast for cross-machine ROS 2 communication.Both work.

2. Observed Issues and Behavior

  • Pre-launch Check: Before launching Perceptor on the Orin, I run ros2 topic hz /front_stereo_camera/left/image_raw on the Orin side. The data flow is stable with a consistent frequency.

  • Perceptor Launch: When I launch Perceptor, the logs indicate that V-SLAM initializes successfully:

    [visual_slam_node]: cuVSLAM tracker was successfully initialized.

  • Error Messages: Immediately following initialization, I see repeated transform errors:

    [nvblox_node]: Tried to clear map outside of radius but couldn't look up frame: base_link [nvblox_node]: Lookup transform failed for frame base_link. Layer pointclouds not published

  • Pipeline Failure: Based on the Perceptor terminal logs, it appears that while initialization completes, image_raw is not correctly flowing into the processing pipeline. Consequently, no depth images are being generated, which prevents cuVSLAM from functioning correctly and leads to the base_link transform errors.

  • Data Flow Interruption: Once these logs appear, the image_raw frequency drops to zero on the Orin side. But I can still run ros2 topic hz /front_stereo_camera/left/image_rawon server and still can get data
    average rate: 0.755 min: 0.656s max: 3.813s std dev: 0.49411s window: 78
    average rate: 0.755 min: 0.656s max: 3.813s std dev: 0.49105s window: 79

3. The Core Question The exact same setup (same Isaac Sim scene and Perceptor configuration) works perfectly when Perceptor is run on an x86 server. In that case, I can successfully send goals via Foxglove and complete navigation tasks. However, when running on the Jetson Orin (MIC), the communication and the image pipeline break down immediately after initialization.

Why does this configuration run successfully on an x86 server but fail to ingest images and generate depth/VSLAM data on the Jetson Orin platform?

Any insights, suggestions, or requests for further logs would be greatly appreciated.

This is an Isaac ROS issue. Let me move your post to Isaac ROS forum for better support

Hello @jordan00661155,

The behavior difference between x86 and Jetson Orin is very likely due to Perceptor’s compute and I/O demands exceeding what the Orin (plus bridge) can sustain with Isaac Sim as the source, not a functional incompatibility. Perceptor in Isaac Sim is heavy, and on embedded hardware (Jetson Orin) it can hit performance limits even when the same scene works on a powerful x86+dGPU host.

Inside the Perceptor container, run top and tegrastats while the sim is streaming to check system load. If you see 90–100% CPU on several cores and/or GPU pegged, you’re hitting the resource limit already.

The strongest next steps are to confirm resource saturation on the Orin, then back off camera load (resolution/FPS/number of cameras) or temporarily disable parts of the Perceptor graph until the image stream stays healthy end‑to‑end. Start with a single-stereo-camera configuration instead of multi-cam.