Problem on Ouster Lidar OS1-64 Gen2 Binary Data Replay

Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)

SDK Manager Version

Host Machine Version
native Ubuntu 18.04

It seems like the “sample_lidar_replay” tool is using the wrong lidar parameters when replaying the Ouster OS1-64 Gen2 binary data.
Please take a look at the images below. The first image is the live lidar, and the second image is the recorded data from the same OS1-64 Gen2 lidar. The “verticalAngles” property should be the same, but “–protocol=lidar.virtual” is using the OS1-64 Gen1 lidar properties by default. (Note: Gen1 is 33 Degree vertical FOV lidar, Gen 2 is 45 Degree)
Please let me know if there is a way to modify the virtual lidar properties after executing “dwSAL_createSensor()”

OS1-64 Gen2 Live lidar

OS1-64 Gen2 recorded data

Dear @baoxin.chen,
Could you share the used recorder tool parameters and sample_lidar_replay command ?

Hi Siva,

Thanks for your quick reply!
The commands I used are listed below:

Live OS1-64 Gen2 lidar replay command
/usr/local/driveworks/bin/sample_lidar_replay --protocol=lidar.socket --params=device=OUSTER_OS1,ip=,dip=,port=7512,hres=1024,scan-frequency=10 --show-intensity=false

Data recording command
/usr/local/driveworks/bin/sample_record --lidar-driver=lidar.socket --lidar-params=device=OUSTER_OS1,ip=,dip=,port=7512,hres=1024,scan-frequency=10 --write-file-lidar=/home/nvidia/Downloads/lidaroutput.bin

Replay recorded OS1-64 Gen2 lidar command
/usr/local/driveworks/bin/sample_lidar_replay --protocol=lidar.virtual --params=file=/home/nvidia/Downloads/lidaroutput.bin --show-intensity=false

Dear @baoxin.chen,
I notice you have reported some issue with OS1 64 Gen2 in another thread and said the issue got fixed. Do you mean, Issue got fixed after moving to DRIVE OS 5.2.0 + DW 3.5, the OS1 64 Gen2 with out any changes?

Hi Siva,

That post was regarding the Live lidar, which is fixed on DriverWorks 3.5. This post is about the recorded binary lidar data.

The cause of the problem is “lidar.virtual” can’t understand OS1-64 gen1 and OS1-64 gen2, because they both use “OUSTER_OS1”. But, the “verticalAngles” property is different between these two lidars. Do you know if there is a hiden API I could modify the property of “dwSensorHandle_t” Object? It could be something like “dwSensorLidar_setProperties”

Dear @baoxin.chen ,
It seems like a bug to me as per code inspection. I am checking internally for clarification and update you the status.

Thank you! Siva,

Appreciate you quick response!

Dear @baoxin.chen ,
We do not natively support OS1-64 Gen2 and is not part of our sensors tested on DW 3.5.
There is no mechanism to set the angles properties.

Ouster did not had mechanism to read the angles from the device so we followed the look up table approach as they did in the sdk.
Thats the reason you see a different VFOV (VFOV of Gen1).

Note: Not just VFOV other issues might also show up as we have not thoroughly tested since it is not part of release

Hi Siva,

Thanks for the confirmation.
Sorry, there might be some confusion I wrote on this post.

But, did you understand that when I wrote “the Live OS1-64 Gen 2 is working well on DW 3.5”? It is only the virtual lidar setting problem, I believe Nvidia must have the internal way to set the lidar properties. If Nvidia couldn’t share this mechanism, could I know the data structure of the recorded lidar binary data (.bin & file?