Isaac Sim Version
5.0.0
Operating System
Ubuntu 22.04
GPU Information
- Model: NVIDIA GeForce RTX 3090
- Driver Version: 570.190
Topic Description
Custom ROS2 RTX Radar Omnigraph Node only publishes data correctly after Simulation Reset/Replay.
Detailed Description
I am developing a custom extension and a custom OmniGraph node to publish RTX Radar data to a ROS2 PointCloud. My custom node logic is designed to function similarly to the standard ROS2 RTX Lidar Helper node.
I have encountered an issue where the radar data fails to publish correctly on the first run of the simulation. It only publishes a single point (Width: 1, Height: 1). However, if I stop the simulation and immediately play it again (Reset/Replay), the data streams perfectly with the expected point cloud density.
Setup & Environment:
-
Isaac Sim Version: 5.0
-
ROS Version: ROS2 Humble
-
OS: Ubuntu 22.04
Action Graph Configuration: My Action Graph is set up as follows:
-
On Playback Ticktriggers the execution. -
Isaac Create Render Productis called. -
Custom Radar Node(Input: Render Product Path, Output: ROS2 Publisher).
The Radar Prim is correctly attached to the Render Product camera.
Observed Behavior (See Attached Video):
-
First Play: When I press Play,
ros2 topic echo /scanreturns a message withwidth: 1,height: 1, and an empty/zeroed data array. It seems the render buffer is not being accessed correctly or is empty. -
Stop & Replay: I stop the simulation and press Play again without changing anything.
-
Result: The ROS2 topic immediately begins flooding with correct, dense radar data.
EDIT 1: With a fresh environment if i just attach on playback tick with create render product node, and give the radar prim to the render product node. And later after i play and stop / reset the simulation and then attach my custom omnigraph node, It start to give the data in very first iteration of attaching the custom node. (May be this observation helps)
Questions:
-
Is there a specific initialization flag or “warm-up” frame count required for the
Isaac Create Render Productnode before a downstream custom node can access its data? -
Why does the Render Product appear to return a valid but empty (1x1) buffer on the first cold start, but a populated buffer on a warm start?
-
Are there recommended checks I should add to my custom node to ensure the Render Product pointer is actually ready to serve data before I attempt to publish?
Any insights on ensuring the data is available on the very first frame would be appreciated.
Screenshots or Videos
I have attached the video clearly showing the issue.