How to include "ring" and "time" fields in LiDAR PointCloud2 for LIO-SAM compatibility?

Isaac Sim Version

5.0.0

Operating System

Ubuntu 24.04

GPU Information

  • Model:5090
  • Driver Version:575

Topic Description

How to include “ring” and “time” fields in LiDAR PointCloud2 for LIO-SAM compatibility?

Detailed Description

Hi all,

I’m working on integrating LIO-SAM with Isaac Sim (version 5.0, ROS 2 Jazzy).
My setup:

  • Isaac Sim 5.0 on Ubuntu 24.04
  • ROS 2 Jazzy, running LIO-SAM
  • Robot model: Nova Carter example with /front_3d_lidar/lidar_points published to ROS2

Problem

The LiDAR point cloud from Isaac Sim only contains the following fields:

  • x, y, z, intensity

However, LIO-SAM expects additional fields:

  • ring (uint16, scan line ID)
  • time (float32, relative timestamp within the scan)

Without these fields, LIO-SAM immediately throws errors:

Error Messages

[lio_sam_imageProjection-2] [ERROR] [1757666494.917126170] [lio_sam_imageProjection]: Point cloud ring channel not available, please configure your point cloud data!
[lio_sam_imageProjection-2] [WARN] [1757666495.251477140] [lio_sam_imageProjection]: Point cloud timestamp not available, deskew function disabled, system will drift significantly!
[lio_sam_imageProjection-2] [INFO] [1757666495.251488505] [lio_sam_imageProjection]: Waiting for IMU data …
[INFO] [lio_sam_imageProjection-2]: process has finished cleanly [pid 504003]
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[lio_sam_featureExtraction-3] [INFO] [1757667239.927635432] [rclcpp]: signal_handler(signum=2)
[lio_sam_mapOptimization-4] [INFO] [1757667239.927710938] [rclcpp]: signal_handler(signum=2)
[lio_sam_imuPreintegration-1] [INFO] [1757667239.927764771] [rclcpp]: signal_handler(signum=2)
[INFO] [lio_sam_featureExtraction-3]: process has finished cleanly [pid 504004]
[INFO] [lio_sam_mapOptimization-4]: process has finished cleanly [pid 504005]
[INFO] [lio_sam_imuPreintegration-1]: process has finished cleanly [pid 504002]

@me0608623 unfortunately, currently we don’t support this feature. Internally we have already created a request to add timestamp for lidar data. I will create one for ring data as well.
At the same time, you can try creating your customized omni graph node to publish timestamp and ring data for lidar Custom Python Nodes — Isaac Sim Documentation