Trouble deciding on how to build a LiDAR system for 2D/3Dmap

Trouble deciding on how to build a LiDAR system for 2D/3Dmap

Posted: Nov 25, 2017 4:50 am

by zhizhe

Hi to all, maybe it's related to caving. My friends and I are attempting to build a 2D LiDAR (Light Detection and Ranging) system to scan an indoor area or tunnel system. The data will be used to reconstruct a 2D image. If 2D is accomplished within our timeline we will proceed in designing a 3D system. Our end goal is to integrate it into an obstacle avoidance system but our timeline is too short to accomplish this so our focus will be on developing 2D/3D mapping system.

Questions that are of a concern to us1.)Which strategy in using the laser will be better in generating data to produce a reconstructed image "map". Such as....Do I invert the laser beam to where it's a line that reflects off objects/corners then process the data through an edge-detection algorithm to reconstruct a map?

Do I just use the single beam to scan multiple points using "time of flight" strategy to calculate distance to create a point cloud map.

2.)3D LiDAR scanners are extremely expensive and the project requirements state 70% of the project needs to be built. In other words I cannot just go out and buy a scanning device.

So whatever strategy I use I have to be able to make multiple scans taking in a extremely large amount of data points. This would mean I would have to use a MCU that could extract and calculate all those individual scans and I just don't see that happening with a Arduino101 or even a FPGA. From previous sensor projects i've done i've always experienced delay even using XBEE's to transmit the data to my computer to be processed.

3.)What MCU will be powerful enough to capture this data (RaspberryPi,BeagleBoard,Arduino,FPGA). Will I need to share the load and transmit the data to my computer for image reconstruction. If so what type of transmitter/receiver will do this without a huge delay.

4.)2D and 3D reconstruction requires some heavy duty algorithms. Therefore, having a prebuilt library or software that has this built in would significantly save time.

Resources that we have considered using.

Matlab seems to be used in reconstructing and mapping images through using edge-detection algorithms. There are several toolboxes Matlab sells that deal with image processing. However, I don't believe I could use Arduino,RaspberryPi,BeagleBoard,etc with Matlab unless I transmitted the data to my computer for processing inside Matlab.

OpenCV located HERE is a open source C++ library that is for "Computer Vision". It has a library full of functions for image processing. It is compadiable on Window,Linux,Unix systems also. However, I don't think I could use it with a LiDAR system. OpenCv is used for Stereo Vision. For more information take a lookHERE. At the bottom of the link there are some great tutorials explaining how to use two webcams to acquire 2D and even 3D reconstructed images like HERE

Other methods we have researched for our projectThe overall scope of this project is to reconstruct a 2D "3D if time allows" reconstructed image "map" of the entire scan from start to finish. Even though the end goal would be to incorporate this into an obstacle avoidance system I have to consider a method that meets the requirements I mentioned earlier. Other methods I've considered are as follows.....Sonar Stereo Vision 3D Laser Mapping processing data into a "Point Cloud" I'm not for sure what this video is demonstrating as in whether its using LiDAR or Sonar. But it's using SLAM "Simultaneous Localization and Mapping" alogrithms to generate a 3D map. This seems to be theclosest idea we are trying to simulate.As you seen the sonar method looks very nice and would match the end goal of our project. However, Stereo Vision would allow me to use OpenCV which is free and open source on a platform like the RaspberryPi or BeagleBoard. I could technically use Matlab also with Stereo Vision. However, LiDAR seems very promising and something that would require more hardware design which would meet the requirements more.Sorry to long novel,thanks all guys.