For my senior project, I worked with the Seattle construction company Lease Crutcher Lewis to create a handheld 3D mapping scanner that was be used to create an interior 3D model of any building. The scanner is designed to scan the interior walls of a building before the sheetrock is installed, then it can be used with the blueprint model to better understand how things were moved during the construction process. The scanner uses a real time SLAM (simultaneous localization and mapping) algorithm with a RGB-D laser to build a 3D model of the building and localize itself within the corresponding model.
Microsoft Kinect One
Intel ComputeStick with Ubuntu and RTABMAP
iPazzPort Mini Keyboard
XT Power XT-20000QC2-PA2 rechargeable battery
7 inch LCD Touch Screen
Lulzbot TAZ 6 3D printer
To increase scanning accuracy the Microsoft 360 Kinect was upgraded to the Microsoft Kinect One. This made a significant improvement in the quality of the mapping.
RTABMAP uses a feature called Loop Closure Detection. It uses appearance-based detection to correct any inaccuracies in the mapping process. This is done by matching key features from the current images being processed with previous images. If there are enough matching key features then the current location of the scanner will be associated with the recorded location of the previous image. If the map is off when this happens the two points will be aligned and the inaccuracies will be eliminated.
The biggest limitation of the handheld mapping was the size of the computer. The Compute Stick provided a great trade off between size, budget, and performance. The trade off in performance was only noticeable when mapping large areas. This would cause RTABMAP to freeze and crash unexpectedly. Larger rooms can be mapped by breaking the scanning down into a series of sequential sections. The last frame of the previous section needs to be the same as the first frame in the new section. The scanning can be done independently of one another. This eliminated the problem of RTABMAP crashing. Once the mapping is done they can be played back on a desktop using the database as the source, not the Kinect.
The handheld scanner is a great way to map and model a building. It struggles to find anchor points on flat white walls and anything reflective. This makes the scanner a good choice for modeling a building during the construction process or before a renovation. The goal of this project was to create an autonomous drone using the scanner, RTABMAP, and ROS, but after crashing the drone a few times I settled for a handheld scanner.