ouster-ros icon indicating copy to clipboard operation
ouster-ros copied to clipboard

Parts of point cloud missing

Open shubham-shahh opened this issue 1 year ago • 12 comments

Describe the bug Hi, We are using OS-0 32-channel Rev6 lidar, We have found instances, where significant chunks of the point cloud are missing. I have attached a screen recording below which shows the anomalous behaviour.

I have already gone through the issue mentioned here but I am not sure If the cause is the same.

There are 3 possible points of failures

  1. Power supply - We are querying the sensor's telemetry to check for the V, A, and temperature
  • status: ""RUNNING""
  • temperature: 35
  • input_voltage_mv: 1151.0
  • input_current_ma: 1759.0

The usual values of current and voltage are mentioned above, can you please mention the exact cutoff values below which the sensor would stop functioning, the docs mention 12V but even with Ouster's provided power supply we didn't get telemetry reporting 12V

  1. Ethernet Switch - Can you point out some methods to detect packet loss or bandwidth throttling to isolate if the ethernet switch is the culprit?

  2. Driver - Any method to isolate if there are any issues related to the driver?

Setup The Lidar and the edge device are connected to a Gigabit Ethernet switch and the lidar is connected to a constant 12V power supply

Platform (please complete the following information):

  • Ouster Sensor [OS-0]

  • Ouster Firmware Version [Latest]

  • Programming Language [C++]

  • Operating System [Ubuntu 18.04]

  • Machine Architecture [arm]

https://github.com/ouster-lidar/ouster-ros/assets/51359628/cf276b37-f113-4f57-92a7-48a5c0f63cee

shubham-shahh avatar Nov 29 '23 09:11 shubham-shahh

@shubham-shahh I don't know much about power requirements of the sensor and how it could affect the sensor operation, but I will ask around. The sensor does produce some diagnostics and other telemetry but so far I hadn't had the chance to integrate that into the driver.

Samahu avatar Nov 29 '23 16:11 Samahu

Is this ROS1 or ROS2?

Samahu avatar Nov 29 '23 16:11 Samahu

The sensor does not limit or has any cut off based on Power according to the feedback I got. I have a question however, when the sensor exhibits this behavior do you see any warnings or alerts listed on the diagnostics page?

Samahu avatar Nov 29 '23 20:11 Samahu

Is this ROS1 or ROS2?

Hi, Thanks for the response, we are using ROS1 Melodic any inputs on point 2? such that I can isolate if the issue is related to the switch?

thanks

shubham-shahh avatar Nov 30 '23 04:11 shubham-shahh

The sensor does not limit or has any cut off based on Power according to the feedback I got. I have a question however, when the sensor exhibits this behavior do you see any warnings or alerts listed on the diagnostics page?

I have not noticed it, but I will reproduce the issue and see if I get any warnings on the diagnostics page

shubham-shahh avatar Nov 30 '23 04:11 shubham-shahh

Is this ROS1 or ROS2?

Hi, Thanks for the response, we are using ROS1 Melodic any inputs on point 2? such that I can isolate if the issue is related to the switch?

thanks

I am not sure if you have seen this Ouster Network Analysis Guide

Samahu avatar Nov 30 '23 16:11 Samahu

Hi all, I noticed this issue few days ago too. In my case, I faced it when had multiple subscribers on /ouster/points topic (2 RVIZ instances, 1 3D object detection node).

TimeEscaper avatar Dec 06 '23 19:12 TimeEscaper

Hi all, I noticed this issue few days ago too. In my case, I faced it when had multiple subscribers on /ouster/points topic (2 RVIZ instances, 1 3D object detection node).

@TimeEscaper the issue you are describing seems more like this one #240. other users have reported missing parts of the point cloud when the point cloud topic is consumed by more than one subscriber.

Samahu avatar Dec 06 '23 19:12 Samahu

Hi, @Samahu can I use the method mentioned here to check if the scan is incomplete? if yes, it'd be great if you could share an example of how I can leverage it to check if the scan is complete or not before publishing.

thanks

shubham-shahh avatar Feb 07 '24 06:02 shubham-shahh

Hi @Samahu adding SET(CMAKE_BUILD_TYPE "Release") in ouster-ros/CMakeLists.txt solved the issue for me. Is there any reason why it doesn't exist in the default config?

thanks

shubham-shahh avatar Feb 07 '24 09:02 shubham-shahh

Hi, @Samahu can I use the method mentioned here to check if the scan is incomplete? if yes, it'd be great if you could share an example of how I can leverage it to check if the scan is complete or not before publishing.

thanks

The client_example in our C++ examples shows how to invoke this method to check if a scan is complete or not

Samahu avatar Feb 08 '24 16:02 Samahu

Hi @Samahu adding SET(CMAKE_BUILD_TYPE "Release") in ouster-ros/CMakeLists.txt solved the issue for me. Is there any reason why it doesn't exist in the default config?

thanks

Our Getting Started section clearly states to build with Release option. I don't want to force users into a specific build option as it is a common that they want to alternate Release and the two other options Debug or RelWithInfo.

But yeah glad the issue has been resolved. Will try to find some way to hint to users that Release is almost needed for the driver(s) to run normally.

Samahu avatar Feb 08 '24 16:02 Samahu