Running LIO-SAM in Issac sim: Duplicated timestamps for /clock, system_time, simulation_time

Isaac Sim Version: 4.5.0

  1. Operating System: Ubuntu 22.04, ROS2 Humble

GPU Information

  • Model: Nvidia GeForce RTX 4080 (ROG Zephyrus G16 2024 version)
  • Driver Version: 575.64.83

Topic Description

When publishing ROS2 Clock from the omnigraph graph nodes ( ROS2 Clock — Isaac Sim Documentation ), there will always be a duplicated timestamp regardless whether the publisher is reading from Isaac Read Simulation Time or Isaac Read System time.

ros2 topic echo /imu | grep -A2 ‘stamp:’

stamp:

sec: 1755769182
nanosec: 309157376

stamp:

sec: 1755769182
nanosec: 309157376

stamp:

sec: 1755769182
nanosec: 445158400

stamp:

sec: 1755769182
nanosec: 445158400

stamp:

sec: 1755769182
nanosec: 581232384

stamp:

sec: 1755769182
nanosec: 581232384

Detailed Description

I am trying to use perform LIO-SAM using the 3D Lidar (OS0_REV6_128_10hz___512_resolution) sensor from isaac sim’s json configuration. However, due to the duplicated timestamp that is being published from isaac sim, i am constantly getting a integrateMeasurement error of dt <= 0. I am unable to localise LIO-SAM properly and experience hallucination in rviz2. A paragraph of the error and a video can be seen below:

[lio_sam_featureExtraction-4] [INFO] [1755769350.121818987] [rclcpp]: ----> Feature Extraction Started.
[lio_sam_imageProjection-3] [INFO] [1755769350.132582331] [rclcpp]: ----> Image Projection Started.
[lio_sam_imuPreintegration-2] [INFO] [1755769350.145099592] [rclcpp]: ----> IMU Preintegration Started.
[lio_sam_mapOptimization-5] [INFO] [1755769350.185142682] [rclcpp]: ----> Map Optimization Started.
[lio_sam_imageProjection-3] [WARN] [1755769350.980040117] [lio_sam_imageProjection]: Point cloud timestamp not available, deskew function disabled, system will drift significantly!
[rviz2-6] [INFO] [1755769351.238057009] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-6] [INFO] [1755769351.238296440] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-6] [INFO] [1755769351.417769841] [rviz2]: Stereo is NOT SUPPORTED
[lio_sam_imuPreintegration-2] terminate called after throwing an instance of ‘std::runtime_error’
[lio_sam_imuPreintegration-2] what(): PreintegratedImuMeasurements::integrateMeasurement: dt <=0
[ERROR] [lio_sam_imuPreintegration-2]: process has died [pid 20548, exit code -6, cmd ‘/home/jeremychia/Documents/sam2/LIO-SAM/install/lio_sam/lib/lio_sam/lio_sam_imuPreintegration --ros-args -r __node:=lio_sam_imuPreintegration --params-file /home/jeremychia/Documents/sam2/LIO-SAM/install/lio_sam/share/lio_sam/config/params.yaml’].
[lio_sam_mapOptimization-5] [WARN] [1755769392.540863792] [lio_sam_mapOptimization]: Not enough features! Only 8 edge and 511 planar features available.
[lio_sam_mapOptimization-5] [WARN] [1755769522.849107708] [lio_sam_mapOptimization]: Not enough features! Only 10 edge and 511 planar features available.
[lio_sam_mapOptimization-5] [WARN] [1755769578.060632879] [lio_sam_mapOptimization]: Not enough features! Only 10 edge and 512 planar features available.
[lio_sam_mapOptimization-5] [WARN] [1755769682.432389300] [lio_sam_mapOptimization]: Not enough features! Only 7 edge and 443 planar features available.
[lio_sam_mapOptimization-5] [WARN] [1755769686.041505307] [lio_sam_mapOptimization]: Not enough features! Only 7 edge and 444 planar features available.

Additional Information

What I’ve Tried

Also to simulate the point_cloud_rings (as LIO-SAM requires it, and isaac sim lidars do not come with pcd rings), I am also using this pcd coverter from this repo: GitHub - REGATTE/isaac_sim_pointcloud_full_publisher: Publish full PCD Data for isaac sim .

Welcome to the community @Tap2Play !

Have you tried with Isaac Sim 5.0.0 which is our latest stable version?

I tried the Isaac ROS2 robotics example (carter_warehourse_apriltags_worker.usd) in Isaac Sim 5.0.0 and I am not able to replicate the issue:

zhengwang@zhengwang-isaac:~/isaacsim-5.0/IsaacSim/_build/linux-x86_64/release$ ros2 topic echo /chassis/imu --field header
stamp:
  sec: 12
  nanosec: 766667332
frame_id: chassis_imu
---
stamp:
  sec: 12
  nanosec: 783334000
frame_id: chassis_imu
---
stamp:
  sec: 12
  nanosec: 800000667
frame_id: chassis_imu

yeah using isaac sim 5.0.0 fixed the problem! thank you so much

Hi @zhengwang , I found this issue to be reoccuring in Isaac sim 5.0, using ros2 Jazzy. I am trying to switch to Jazzy because my motherboard in my new Desktop does not support Ubuntu 22.04.05 LTS.

Attached are some screenshots of my results.


Attached here are a few more screenshots of the results, and a photo of the raw point cloud data with rings




Let me reach out to the internal team about this issue

This issue is expected to be resolved in Isaac Sim 5.1. Please stay tuned!

Apparently by increasing the maximum position count , maximum velocity count to 255, and times per second to 500 resolves the issue.

Under PhysicsScene

Hi, after further debugging, I can confirm that this works for me.

The graph has to be set to On Physics Step and ‘Stage on Demand’ in the graph’s raw USD Properties. In addition, the time per step must be increased from 60


1 Like

Thanks @Tap2Play! That looks like a workaround. When Isaac Sim 5.1.0 comes out, please feel free to try it out and see if the issue persists.

I will close this topic for now.