RTX Lidar Sensor output of normals all zeros

Hello Isaac Sim Community,

i am using an RTX Lidar Sensor in Isaac Sim to generate Synthetic Data. I built a custom writer for this and everything works fine, except the output data of (hit point) normals. I am using the “RtxSensorCpuIsaacCreateRTXLidarScanBuffer” annotator and when i am initializing it i am enabling output of normals.

annotator = rep.AnnotatorRegistry.get_annotator(ANNOTATOR)
annotator.initialize(transformPoints=True, outputObjectId=True, outputNormal=True, outputMaterialId=True)
self.annotators.append(annotator)

when i then want to access the data i only get an array of shape (n, 3) of zeros.

Here is the code i use to access the LiDAR data:

avail_keys = data.get(ANNOTATOR).keys()
carb.log_info(f"Scan keys {avail_keys}")


scan_points = data.get(ANNOTATOR).get("data")
carb.log_info(f"Scan points {scan_points.shape}, {scan_points.dtype} {scan_points}") 

scan_distances = data.get(ANNOTATOR).get("distance")
carb.log_info(f"Scan distance {scan_distances.shape}, {scan_distances.dtype} {scan_distances}") 

scan_normals = data.get(ANNOTATOR).get("normal")
carb.log_info(f"Scan normals {scan_normals.shape}, {scan_normals.dtype} {scan_normals}") 

does someone know what i am doing wrong? Help would be much appreciated
Best Regards

1 Like

For everyone who may have the same problem some day, i got an answer from an /u/adevalla:

Hi Valentin,

Can you try setting --/app/sensors/nv/lidar/publishNormals=true when running Isaac Sim? I think by default the RTX Lidar model does not publish the normals.

Thanks,
Avinash

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