ouster-lidar / ouster-ros

Official ROS drivers for Ouster sensors (OS0, OS1, OS2, OSDome)
https://ouster.com
Other
116 stars 138 forks source link

Filtering out dust/fog/smoke using DUAL RETURNS #248

Open Pallav1299 opened 10 months ago

Pallav1299 commented 10 months ago

Hi @Samahu @kairenw

  1. We're using Ouster OS0-32 Rev-06 Lidar. We're using the latest ouster_ros driver in LEGACY mode. We recently realized that dust is being detected in the pointcloud. I know that we can get two pointcloud rostopics (points1, points2) by setting to DUAL RETURN mode in ROS driver, and leverage the second pointcloud topic to get pointcloud data without dust particles detection. But, how should I use the second pointcloud?
  2. Shouldn't the pointcloud comprise of points with second return whenever there are dual returns? Please provide reference documentation for the same.
  3. Could you please also tell, which resolutions support DUAL RETURN mode?

Platform:

Samahu commented 10 months ago

@Pallav1299 I agree there is a lack of documentation/support on how to utilize the second return to filter smoke or dust and other particles. But in principle when dual mode is enabled the first return penetrates through fog/smoke etc. The second return has measurements that correspond to less dense objects such as tree leaves, smoke, maybe glass, etc. You could enable the dual return in the ROS driver and check what type of objects gets captured in the second point cloud and how it differs from the first point cloud (both point clouds are visualized with different colors in RVIZ). It is currently left open to the user on how they want to utilize the second point cloud.

Pallav1299 commented 10 months ago

@Samahu, thanks for your response. I saw this THREAD and this VIDEO of Ouster's Dirt drive performance. It seems to be performing quite good.

Questions:

  1. Is there a parameter to check which return is stronger in dual return mode?
  2. Can you please tell what approach was used in the video to filter out the dirt/dust from the raw pointcloud? Was only dual return used for this?
  3. Is it possible to share this Dirt Drive, Smoke and Fog test data(ROSBAG) and ouster configuration to test it ourselves? It would be very helpful.
  4. Is there a measurement metric for fog/smoke/dust density, under which Ouster performs good? Or is it general?
Samahu commented 10 months ago

@Pallav1299 I am asking around if we can publicly share access to the raw data of the recording that you referenced. According to one of my colleagues the capture didn't utilize any specific technique to filter out the dust, this was the raw output of the sensor.

I could also refer you to some additional literature about the subject (which may or may not apply to some or all of our sensors):

Pallav1299 commented 9 months ago

@Samahu, sorry for not replying sooner. I'm attaching link to compressed ROSBAG data that we collected using OS-32 in Dual_Return profile. DATA_LINK

I want to understand what’s leading to different results in our data and the DIRT DRIVE data from Ouster related to more dust particles being detected.

We seek your insights regarding dust/smoke/fog filtering to handle complex use-cases.

Samahu commented 9 months ago

@Pallav1299 You should take advantage of the signal/intensity channel in both returns since it response is weak to smoke and fog. The PointCloud(s) generated by ouster-ros driver directly embeds this information for each point (refer to https://github.com/ouster-lidar/ouster-ros/blob/master/include/ouster_ros/os_point.h). Utilizing this information and picking the right threshold will enable you to filter unwanted particles from the scene. Simply relying on the raw xyz data from the range data won't be sufficient.

Pallav1299 commented 9 months ago

@Samahu, Thanks for sharing the resources and insights.

  • Design of Dust-Filtering Algorithms for LiDAR Sensors Using Intensity and Range Information in Off-Road Vehicles

3. Is it possible to share this Dirt Drive, Smoke and Fog test data(ROSBAG) and ouster configuration to test it ourselves? It would be very helpful.