Publish LiDAR data in velodyne format


I try to publish LiDAR data in Isaac Sim. But the lidar data only contain XYZ information. I need data contain XYZ, intensity, ring, and time information like velodyne. How to make it? Does Isaac Sim support velodyne simulation?

1 Like

OK, I create a package to convert the pointcloud format. Now It supports VLP-16. If anyone likes it, I will add other LiDAR.

1 Like

@liuxiao916 can you point me at documentation for the velodyne lidar format?

We are working on adding support for specific hardware sensor configurations for the next release.



I suggest to download a dataset gathered by velodyne and see its message. You need convert it to pcl::PointCloud<PointXYZIRT> to see its ring index and timestamp.

You can find some hints in Velodyne ROS driver. For example, the point type and timestamp.

The official slide and document about velodyne format.

Please feel free to contact me if you have any questions. Good Luck!

1 Like

Hi Liuxiao! Thank you for sharing the package. Could I ask how did you integrate the package into your workflow (eg. by writing it as an OG node or calling the function from a standalone application?) Many thanks!

Hi, Thank you for your interest. This is a ROS package, so you need to build it in you catkin workspace. This is the tutorial.
And I update readme about my LiDAR config in Isaac SIm (VLP-16).

Quick follow up:

new_point.time = (point_id / N_SCAN)*0.1/Horizon_SCAN ;

This time calculation has errors - it appears the simulation is taking lidar scans in discrete steps on each render frame. I’ve created a workaround with a custom lidar buffer on a render callback (and I suppose this method would work in the Omnigraph system as well.) @Hammad_M A nice-to-have feature would be to include generic information such as timestamp and intensity etc inread-point-cloud-node, so users can easily adapt their own custom sensor configurations by overwriting the ROS publishers!


1 Like

Thank you for your reminder. ^-^