I have a car with 8 lidars, each with a field of view of 60 degrees. My car looks like this enter image description here

How can I merge all the lidar readings into 1 point cloud?

  • $\begingroup$ Are you using the ROS? What is the type of your LiDAR(s) message? $\endgroup$ Oct 14, 2019 at 7:06
  • $\begingroup$ Which Lidar are you using? (Never heard of a 60 deg opening angle) $\endgroup$
    – FooTheBar
    Oct 14, 2019 at 7:44

1 Answer 1

  1. Find extrinsic between the sensors using a calibration target or any other methods.
  2. Now that you know the relative locations of the sensors, transform the points in each sensor to the first LiDAR coordinate(e.g top left LiDAR in your figure). All the points are merged into the first LiDAR coordinate now.

You need to learn 1. rigid transformation of 3d points, the transformation matrix 2. LiDAR extrinsic calibration.

2 could be difficult if the lidars do not have enough overlap or if you don't have the base knowledge. Request it to the maker if possible.

Not very accurate but ICP could be used to find out the extrinsic which can be found in a point cloud viewer like meshlab or cloud compare. Save scan from all the sensors and load it to the sw above. By aligning using ICP you will have the extrinsic. Save the found extrinsic and next time when you have new point cloud, just apply the same transformation. This could be used only when the LiDARs have enough overlap.

  • $\begingroup$ This is basically the correct solution, but it could be improved by talking about the problem of pair-wise calibration vs globally consistent calibration. If he just uses a standard ICP (with two input-clouds), the error will sum up and the first and last sensor of the calibration chain won't be aligned. $\endgroup$
    – FooTheBar
    Oct 14, 2019 at 7:48
  • $\begingroup$ My other option was to use 2 180 degree sensors on either side, but those would have 0 overlap. How could I merge them if they have 0 overlap $\endgroup$ Oct 14, 2019 at 18:08
  • 1
    $\begingroup$ @JoshGoldman There are calibration methods that do not require an overlap. I had implemented my own as well. But there isn't any open source for that. The one that I did was basically running SLAM on both LiDAR independently and registering trajectory instead of points. You can also use calibration target. Please, upvote or select as an answer if it was helpful. $\endgroup$ Oct 15, 2019 at 1:24
  • $\begingroup$ @FooTheBar That's right! $\endgroup$ Oct 15, 2019 at 1:28
  • $\begingroup$ another user @devvaibhav wants to know this ... Find extrinsic between the sensors using a calibration target or any other methods ... Do you mean how far the sensors are from each other and their relative orientation (rotation and translation matrix/ homogenous transformation matrix)? $\endgroup$
    – jsotola
    Aug 13, 2022 at 0:42

Your Answer

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

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