I want to use the RTX lidar, rather than the current PhysX one. It has two features we really need: the ability to have non-uniform channel distributions and the ability to bounce off of dynamic objects. Our real lidar completes one full revolution every 10Hz. To simulate our real setup, what I really want is for Isaac to publish the lidar point clouds to a ROS2 topic at 10Hz. Every message would be one 360 degree scan.
I am trying to figure out how to achieve this.
I ran the RTX lidar publishing to ROS2 example. I did some experiments, only changing the
rendering_dt of the simulation. I learned a few things.
- The amount of points in the scan directly relates to the
rendering_dtof less than 10Hz results in each message having an incomplete scan, a circular section of the full scan (pie-slice-shaped).
- The publishing frequency (measured by
ros2 topic hz /point_cloud) is pretty inscrutable. Even running rviz can decrease this rate (despite my fast workstation). Maybe it is due to the number of subscribers?
- How do I get the RTX lidar to consistently output one full scan at 10 Hz?
- Can you explain the relation between rendering frequency, lidar configuration, and publishing rate?
I’ve attached my experiments on the publishing rate w.r.t. physics / rendering frequency for completeness.