Project
# | Title | Team Members | TA | Documents | Sponsor |
---|---|---|---|---|---|
7 | Roomscale 3D LIDAR sensor for hobbiests |
Jamie Xu Terence Lee Xizheng Fang |
Andrew Chen | design_document1.pdf design_document2.pdf final_paper1.pdf presentation1.pptx proposal1.pdf |
|
Team members: Jamie Xu, Xizheng Fang, Terence Lee NetID: CHENGX2, XIZHENG2, TKLEE3 # Problem: After the introduction of autopilot by tesla, there has been an explosive interest in autonomous driving up and down the technology world. Companies like uber and google also jumped into the research as soon as this field appeared profitable. One of the vital sensors in obtaining data around the vehicle (along with countless applications in surveying, movie special effects, sim racing, etc) is a LIDAR sensor, that can accurately map the 3D point cloud of the environment around the car. However, while big companies have had the ability to obtain industrial LIDAR solutions for years, the cost of such sensors remain inhibitively high, so much so that there are still no such solutions aimed towards hobbyists at the moment. The current market environment is as follows, there are multiple offerings by different companies that are on the market, but their target market is all companies with sufficient R&D budget to shell out for the top of the line specs, with weatherproofing, robust housings, millimeter accuracy, and impressive scanning speeds. Of course, with the ever-evolving competitions at the high end, the cost of the devices easily exceeds $10,000, with the cheaper solutions still remaining way above $1,000. Unfortunately, this situation has left hobbyists and enthusiasts with no way of entering the field. The only lidar sensors available for hobbyists are 1D sensors also called TOF sensors and 2D sensors only capable of mapping out the top down layout of a room. This left a huge gap in the market for us to explore in our project proposal. # Solution Overview: We will build a 3d lidar system aimed directly at the hobbyists, with friendly cost of entry being the main selling point. The idea is to use an off-the-shelf time-of-flight sensor (also called 1D lidar in some cases) to obtain the distance measurements, and to mount it on a 2 axis platform to obtain the polar coordinates of the measured area to be later converted into cartesian coordinates and eventually exported as a point cloud file. # Solution Components: ## Subsystem #1: time of flight sensor The time of flight sensor we decided to use support both i2c and UART communication protocol, so an Arduino should be enough to obtain the reading ## Subsystem #2: rotation along the vertical axis To decrease the cost of the project, we plan to use a DC motor with an optical encoder for the 360-degree continuous rotation. To prevent the wire from getting twisted, a slip ring will be used for the connection ## Subsystem #3: pitching the sensor up and down There are multiple approaches to achieve this, the easiest of which is to use a digital high precision RC servo to directly pitch the sensor. The drawback of such a design is the large size and rotational inertia of the rotating piece. There can also be more elegant solutions that offset the motor off the rotational platform, or even eliminate it completely using clever gearing, both of which we may explore down the road of optimization. ## Subsystem #4: polar to cartesian coordinate conversion on the microcontroller This system aims to convert the coordinate systems into the cartesian form that is accepted by most point cloud file formats. The microcontroller will also stream the data points onto a system(probably a computer) using serial communication. ## Subsystem #5 the final point cloud file This system will be a software on the computer that reads the serial data and outputs a point cloud file for the client to view/incorporate into their own project # Criterion for Success - Accurate readout of the distance/angle of the current point of interest - The ability to output a point cloud file after a full scan of the environment - The ability to scan the environment within a reasonable time frame(<10 sec) |