Trouble designing 2D/3D LiDAR scanner - Page 1
Forum section: electronics / projects

author: shanecy
author_rank: Contributor
timestamp: April 13, 2014, 04:38:46 am
content: **OVERVIEW OF MY LIDAR PROJECT**Three of us 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 ME**1.)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 Arduino 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 I 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 locatedhttp://opencv.org/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 lookhttp://www.intorobotics.com/fundamental-guide-for-stereo-vision-cameras-in-robotics-tutorials-and-resources/. 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 likehttp://www.starlino.com/opencv_qt_stereovision.htmlfor example.**OTHER METHODS I HAVE RESEARCHED FOR MY PROJECT**The 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.....SonarStereo Vision3D 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.**ADVICE & GUIDANCE**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.Any guidance/information anyone has for me on where I could find more information or just advice on what direction I should take would be extremely helpful and appreciated. Our current funding for our project is at $3000. We are going to the approval board here in 2 weeks and everyone in the group is having a hard time deciding on what direction would be more approachable. Therefore, hearing some other input would be very useful at this point.

author: daedalus
author_rank: Regular Contributor
timestamp: April 13, 2014, 11:29:47 am
content: mostly LIDAR would be used to describe time of flight (TOF) or interferometry measurement. These are complex bits of engineering, spanning many disciplines of engineering, with lots of tradeoffs to be made. Building a complete lidar system is way too much work for an undergrad project (and a postgrad too really). If you really want to go down this route then building some of the subsystems of a LIDAR would be suitable, however I would have concerns about any supervisor that suggests you can do the whole lot.For example you could decide to build a time to digital converter board suitable for use in a 3d lidar, but instead of building all the other bits, just fake the signal propagation delay. Approaching things this way means that if magically you finish your module early, you can add another module to the project, but you end up with something working at the demo day. Lots of student projects try to do far too much, and end up with loads of unfinished bits, and nothing working to show. Those are the projects that are hard to give good marks for."3D LiDAR scanners are extremely expensive and the project requirements state 70% of the project needs to be built." If your uni marks student work like mine did, then all this means is that things you just use don't count towards your grade. So buying a hokuru lidar (£1000 or so), designing something to move it linearly through the tunnel, and doing the data processing / surface reconstruction yourself would be a very strong student project. Your supervisor may even have access to lidars, most unis have stackloads of older model SICK lidars as they are used loads on robotics projects.SICK lidars come up on ebay quite often, and have seen them go for as low as £200 before now, however really getting the right equipment should be your supervisors problem.The crappy linesensor+laser pointer type "LIDAR" that was popularised by the XV11 robot vacuum cleaner is a lot simpler to make, but frankly the data output is pretty rubbish, and the range is poor. Its just about usable for collision avoidance in close environments, but isn't good for accurate mapping. If you are interested in this type of system I suggest you take a look at XV11 sensor teardowns on google.with regards to SLAM and surface reconstruction:ros.org has implementations of both, check the point cloud library for surface stuff if you are interested, but if you are building a LIDAR I don't see how you will have time to also integrate all this sensor processing. If you buy a lidar as I suggested, then it would be a fair project to get your robot running with ROS, and set up the SLAM packages to do mapping, it really depends on what you are actually doing.Don't try and write your own, don't waste your time trying to understand the math involved, just treat it as a black box. The better algorithms are very complex, and its a well researched area, so even if you roll your own you are unlikely to approach the performance of the off the shelf implementations. Also that kind of work is more PhD level research.