Pointcloud isaac sim empty

Hello there,

My pointcloud as title suggest is empty!
Few background note:

I have a isaac sim extension, where i placed a robot, the ground plane and a cloth-like object on a place to do some pick and place operation.
I therefore created a camera and created the annotator to obtained the rgb/depth/pointcloud

for rp in self.rp_list :
   rgb = rep.AnnotatorRegistry.get_annotator("rgb")

   depth = rep.AnnotatorRegistry.get_annotator("distance_to_camera")

   ptc = rep.AnnotatorRegistry.get_annotator("pointcloud")

While the RGB/D are working perfectly, point cloud is always empty. (I well aware of the fact that depth and ptc have the same information, but still it would be more conveniente to have the ptc direclty)

What i am missing?


According to the documentation, by default, only objects with assigned semantic labels are included in the pointcloud.
You can either assing a label to the object you are trying to grasp, for example with: omni.isaac.core.utils.semantics.add_update_semantics
Or you can customize the Pointcloud annotator to include unlabeled objects using: rep.AnnotatorRegistry.get_annotator("pointcloud", init_params={"includeUnlabelled": True})

That should fix your issue I think.

I also recently started using the pointcloud annotator and am experiencing a huge frame rate decrease when its activated. Did you notice this too?


I found an alternative workaround, this adds the semantic to the primitive from the path. It was buried in the thousand of scripts…

from omni.syntheticdata.tests.utils import add_semantics

add_semantics(self.stage.GetPrimAtPath(cloth_path), "cube")

I do notice the same decreasing, but it’s more related to the rendering of the scene and not to the pointcloud itself…