1
$\begingroup$

I'm having an issue with some spurious points appearing in the point clouds coming from my 3D lidar.

More specifically, I'm working with an RS-Bpearl lidar, and the point clouds that I receive from it are mostly correct, except for obstacle edges that get "stretched" towards the background objects.

In result, the foreground objects appear to be fused with the background, creating spurious obstacles behind them. Below is the illustration that I made using rviz:

enter image description here

Here, the frame of the lidar is shown with the RGB arrows, the lidar is positioned ~1.2 meters above the floor, with central axis oriented horizontally. Groups of problematic points are marked by green circles, you may see them form "dents" on the floor surface. These appear right at the shadows of the two large objects on the left and right of the robot, while in reality the floor there is flat.

Is this a normal effect for lidars, coming from the failure to distinguish the strongest return? Or may it be a result of some smoothing applied to the data, prior to converting it to a point cloud?

I would appreciate any suggestions about the nature of this effect and ways to compensate for it effectively.

$\endgroup$
3
  • $\begingroup$ This artifact is not unusual, and is caused by the signal-return intensity falling off right at an edge. Does the lidar driver provide you the return-signal-intensity for each sample (it may be in the scan-plane-data prior to generating the point cloud)? $\endgroup$
    – Mike973
    Nov 10, 2023 at 14:05
  • $\begingroup$ From what I can see, the observations at some point have format pcl::PointXYZI (with I at the end for intensity), so I assume this structure contains the intensity. $\endgroup$
    – Constantin
    Nov 10, 2023 at 16:37
  • $\begingroup$ Are you able to share a short bag of the lidar output? $\endgroup$ Dec 11, 2023 at 0:44

1 Answer 1

0
$\begingroup$

This artifact is not unusual, and is caused by the signal-return intensity falling off right at an edge. The simplest fix is to just filter the data to ignore samples where the intensity indicates a weak signal. A better approach would take into account the intensities of a sample's neighbors.

$\endgroup$
2
  • 1
    $\begingroup$ Thank you for your input! I'm not sure I can trace how low return intensity leads to the effect I've described. Here is my train of thought: When laser beam hits an object edge, I would expect (at least) two returns: one from the object itself and other from the background. Since we're using our lidar driver in Strongest Return mode, we expect only one return being left. And that return should alternate between the object and the foreground, rather than find itself somewhere in between the two. Am I right? It seems to me that some kind of averaging is applied here, but I can't find it. $\endgroup$
    – Constantin
    Nov 14, 2023 at 11:20
  • $\begingroup$ You will need to investigate which principle your particular lidar uses. But my guess is you'll find that some kind of accumulation operation is going on. $\endgroup$
    – Mike973
    Nov 14, 2023 at 13:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.