RTX Lidar Incorrect Object Id

Hello,

I am trying to get the object_id of points generated by the RTX Lidar by doing the following:

render_product = rep.create.render_product(lidar.GetPath(), [1,1])
annotator = rep.AnnotatorRegistry.get_annotator("RtxSensorCpuIsaacCreateRTXLidarScanBuffer",
                                                                init_params={"outputObjectId": True,
                                                                             "transformPoints": True,
                                                                             "keepOnlyPositiveDistance": True})
annotator.attach(render_product)
annotators.append(annotator)

writer = rep.writers.get("RtxLidarDebugDrawPointCloudBuffer")
writer.attach(render_product)

extracted_data = annotator.get_data()
pointcloud_positions = extracted_data["data"]
instance_ids = extracted_data["objectId"]

for i, instance_id in enumerate(np.unique(instance_ids)):
     prim_path =acquire_syntheticdata_interface().get_uri_from_instance_segmentation_id(instance_id)
      

I realized that I am getting for instance_id = 0 a lot of points pertaining to different instances. In the example below, I only have in a .usd scene a single instance. Yet, instance_ids = extracted_data[“objectId”] gave me 2 instances [0, 1].

When I plotted the points pertaining to both instances 0 and 1, I got the following:

These points should have the same instance ID as they are the same instance.

How can this issue be solved?

Best,
Anthony

Hi Anthony,

Can you provide more information about how to reproduce the issue, eg. a sample USD and the full script you’re running?

Thanks.

Hello @adevalla,

The problem occurred when using the Isaac Sim 2023.1.0.

Whenever I moved to to Isaac Sim 2023.1.1, the issue was resolved.

Best,
Anthony

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.