Lidar topic dropping in isaac sim while on rover

Isaac Sim Version

2024.2.0

Operating System

Ubuntu 22.04

GPU Information

  • Model: NVIDIA RTX 4070
  • Driver Version: Latest

Topic Description

Detailed Description

I am trying to set up a LIDAR sensor in Isaac Sim to simulate and publish ROS 2 topics for use in RViz2. My goal is to integrate the LIDAR sensor into a robotic platform similar to the Nova_Carter example, ensuring it is properly nested within the robot’s TF tree and able to publish data.

However, when I try to attach the LIDAR sensor to the robot’s chassis_link or any other articulation link, I encounter repeated errors in the Isaac Sim logs stating:

[Warning] [omni.usd] Coding Error: in _Get at line 3003 of ... -- Failed verification: ' prim '

The sensor then either disappears from the viewport or behaves unpredictably. In RViz2, even when the LIDAR appears to publish data, I receive the following error messages:

[rviz]: Message Filter dropping message: frame 'front_3d_lidar' at time XX.XXX for reason 'discarding message because the queue is full'

Additionally, when I visualize the TF tree, the LIDAR frame (front_3d_lidar) is not present as a child of the expected chassis_link.

Steps to Reproduce

  1. Add a LIDAR sensor from the Isaac Sim library (e.g., XT-32).
  2. Attach the sensor to the robot’s chassis_link or another appropriate link in the stage hierarchy.
  3. Enable ROS 2 bridge and ensure the sensor publishes data to a ROS topic (e.g., /front_3d_lidar/scan).
  4. Run the simulation and visualize the data in RViz2.

Error Messages

From Isaac Sim Logs:

frames_2025-01-26_14.05.37.pdf (14.1 KB)

[Warning] [omni.usd] Coding Error: in _Get at line 3003 of /builds/omniverse/usd-ci/USD/pxr/usdImaging/usdImaging/delegate.cpp – Failed verification: ’ prim ’
[Warning] [omni.usd]
[Warning] [carb] Client omni.usdphysicsui.plugin has acquired [carb::imguizmo::ImGuizmo v1.0] 100 times. Consider accessing this interface with carb::getCachedInterface() (Performance warning)

From RViz2 Console:

[rviz]: Message Filter dropping message: frame ‘front_3d_lidar’ at time XX.XXX for reason ‘discarding message because the queue is full’

Additional Information

What I’ve Tried

  1. Dragging and dropping the LIDAR under different links in the stage hierarchy (e.g., chassis_link, articulation_root).
  2. Resetting the LIDAR’s Translate, Rotate, and Scale values in the Property panel to ensure no invalid transforms.
  3. Replacing the LIDAR sensor with another sensor from the Isaac Sim library.
  4. Adding a static transform publisher in ROS 2 to bridge the missing TF frame (chassisfront_3d_lidar).
  5. Adjusting RViz2 settings, including increasing the queue size and reducing the publish rate of the LIDAR sensor.

Additional Context

I am trying to mimic the Nova_Carter example setup to ensure proper TF hierarchy and ROS 2 topic publication.
My setup involves publishing LIDAR data for RViz2 visualization and TF tree validation.
The issue persists regardless of the parent link or other adjustments to the LIDAR setup.

Ive spent way to long trying to debug this and cant get anything to work. this is a time sensitive issue. I would really be grateful for any help or a meeting to be setup

Here is more ive tried
frames_2025-01-28_11.26.30.pdf (18.8 KB)
I have my TF tree setup correctly based on the nova_carter example (shown below)
One thing i notice is their TF tree calls the ROS2 topics of the published sensors rather than the sensor name itself. But in their publisher node it calls the sensor directly and no special stuff happening. But it ends up publishing the ros topic in the TF tree. I’ve tried in the nova carter demo adding an additional lidar to replicate their process many times and have failed many times, when i add a lidar in the same fashion it just ends up publishing the wrong thing and dropping the lidar topic like before.
frames_2025-01-28_11.08.00.pdf (22.2 KB)

I would really appreciate some insight as i feel like im running in circles and havent gotten any headway, i know this is the final step to solve the issue, im just not sure where im going wrong

Hey @liam.murray! Based on your TF tree, you are missing the TF between chassis and front_3d_lidar.
But you mentioned that you have tried adding a static transform publisher in ROS 2. Could you please elaborate more how you added that?

Here is how I added the TF between base_scan and sim_lidar:

  1. Add a rotating RTX lidar under base_scan and rename it to sim_lidar
  2. In action graph node ROS2 Publish Transform Tree, add targetPrim sim_lidar
  3. In action graph node ROS2 RTX Lidar Helper, make sure the frameId is sim_lidar.

When visualizing in rviz2, I use base_link as my fixed frame.

Here is my TF tree:

Here are the relevant tutorials: RTX Lidar Sensors — Omniverse IsaacSim , ROS2 Transform Trees and Odometry — Omniverse IsaacSim.

I am not able to upload my file since it is exceeding the limit. But here are some screenshot in case it is helpful:



1 Like

Hi Zheng,

I believe the static transform publisher turned out to be a dead end.

The LIDAR topic is now publishing successfully for both the rotating and XT_32 imported LIDAR from the Isaac Sim library. I followed your steps, and it works perfectly! Thank you so much for your help—I really appreciate it!

I do have one more question: Is there a specific reason why my LIDAR appears to be rotated 90 degrees in RViz2? Everything seems to be oriented correctly in Isaac Sim, so I’m trying to understand what might be causing the discrepancy.

Thanks again!

Best,
Liam
frames_2025-01-29_20.58.25.pdf (17.9 KB)

Great to hear that it works for you!
For the rotating Lidar, it seems that something might be wrong with your base_link or base_scan. Maybe you can try to visualize them in Isaac Sim (tutorial).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.