I try to implement a method to get 3d bounding box informations in a lidar pointcloud. However, I encountered the node from RTX Lidar Node Descriptions — Omniverse Robotics documentation and found the output of object ID’s, but do not know what it should represent? Is there a mapping from object ID to prim object? If yes, then I can easily compute the bounding box, knowing which points hit which objects in the scene.
sorry for the delayed reply, I have internally forwarded the question to the relevant person.
Until then, can you check if the Instance ID coincides with the Object Id? If so, you could read out the mapping from there.
Update: the instance id mapping is different, I will loop back once I have an answer.
Update 2: the instance segmentation id is the same as the object id.
Would the pointcloud, or the 3d bbox annotator work as a temporary workaround?
okay, thank you!
I have already tried the 3d bbox annotator, but I was not able to achieve any results. The data in the dictionary was always empty, so I guess it is not working for lidar pointclouds.
Is it intended to work out-of-the-box for lidar pointclouds? Maybe there is bug somewhere that a connection in the omnigraph is not there anymore
@ahaidu Any new information?
it seems the object_id is the same as the instance segmentation id. Using this function you can for example get the prim path:
from omni.syntheticdata._syntheticdata import acquire_syntheticdata_interface
"""Given an ObjectId get a Prim Path
object_id (int): object id, like form a RTX Lidar return
prim path string
I will try it out and come back to you if everything has worked as expected.
Hi @ahaidu, your example code helped me out aswell. I was trying to add node
Read RTX Lidar Data Node to the post process graph using python.
Something like this is working for
Debug Draw Point Cloud which is shown in the standalone examples.
writer = rep.writers.get("RtxLidar" + "DebugDrawPointCloud")
can you please share an example how i could do a similar thing for
Read RTX Lidar Data Node