Isaacsim Version
5.1.0
Operating System
Ubuntu 22.04
GPU Information
Topic Description
Detailed Description
I would like to visualize LiDAR beams or point clouds in the Isaac Sim GUI.
I can see the beams when I use Create>>Sensors>>PhysX Lidar>>Rotating, and enable drawLines.
However, when I use Create>>Sensors>>RTX Lidar>>SICK>>nanoScan3, there is no checkbox or option to enable beam visualization.
Is there any way to visualize RTX Lidar beams in the GUI?
Additionally, can I set different colors and shapes like following?
Thanks.
@gavin811201 you can create an action graph for the RTX Lidar and enable “Show Debug View” to view the point cloud / lidar scan. Please check out this tutorial RTX Lidar Sensors — Isaac Sim Documentation
I’d like to see many beams on the screen,
but for functional purposes, I think this is enough.
Thanks a lot!
@gavin811201 I believe you are using 2D lidar. If you switch to 3D lidar, you should be able to see more beams.
As for specifying different colors for the point cloud visualization, you can use DebugDrawPointCloud writer.
You can follow the below steps:
- Use the ROS2RtxLidarHelper node as described
- hit Play → Pause
- Open the PostProcess graph via the Action Graph Editor window
- Find the DebugDrawPointCloud node
- Set the color directly on that node
- Hit Play → you should see the color change in the viewport
I cannot change the color via DebugDrawPointCloud node, did I miss something?
@gavin811201 It looks like once you hit the play again after changing the color, the ROS2RtxLidarHelper recreates the writer, overwriting the color back to default. I have already created an internal ticket to support changing color via the ROS2RtxLidarHelper node. Once this is enabled, your issue should be resolved.
As a workaround, can you try running the below in the script editor to update the color after pressing play:
import omni.graph.core as og
for graph in og.get_all_graphs():
for node in graph.get_nodes():
if "DebugDrawPointCloud" in node.get_type_name():
og.Controller.set(node.get_attri bute("inputs:color"), [1.0, 0.0, 1.0]) # Red
og.Controller.set(node.get_attri bute("inputs:size"), 0.05) # Bigger points
Thanks! Now I can change the color.
However, the code you provided may have a small mistake. I got an error.
So I fixed the code as below:
(reference: Controller — Omniverse Kit )
import omni.graph.core as og
for graph in og.get_all_graphs():
for node in graph.get_nodes():
type_name = node.get_type_name()
if "DebugDrawPointCloud" in type_name:
color_attr = og.Controller.attribute(("inputs:color", node))
size_attr = og.Controller.attribute(("inputs:size", node))
if color_attr:
og.Controller.set(color_attr, (1.0, 0.0, 0.0, 1.0))
if size_attr:
og.Controller.set(size_attr, 0.05)
Great! I am glad it works for you. I will update you once the internal issue is fixed!
Internal ticket: 5796896, 5796918
The documentation for Isaac Sim 6.0 is updated for lidar beams visualization RTX Lidar Sensor — Isaac Sim Documentation
I will close this topic