After hearing about a few 3D object scanners, [Will] thought one of these tools could find a place in his workshop. The price of these scanners made him reconsider simply buying one, so he just made one out of parts that were sitting around. This was the first version of his 3D scanner. It worked, but there were a few shortcomings. [Will] had to rotate the object manually. That’s a cheap way of doing it, but the method is tedious.
Now [Will] is back for round two. He’s made some improvements, and this time a few bits of electronics automate the process, allowing [Will] to hit a button, walk away, and come back to a scanned object.
Even though [Will] has improved his setup immensely, the theory of how to scan an object remains the same. He’s projecting a straight vertical line on an object, taking a few snapshots with a webcam, and reconstructing the object with computer vision algorithms and Meshlab. The new additions include a BeagleBone Black, a stepper motor and an EasyDriver from Sparkfun, and a turntable.
[Will] wrote two scripts for this project. The first does the mechanical heavy lifting – turning the stepper motor and taking a picture, while the second converts the output from the webcam to a point cloud. From there, the point cloud is sent over to Meshlab, and an object appears on [Will]’s hard drive.
There’s about $80 in hardware invested in this setup, and considering the inspiration for this project was the $800 Makerbot Digitizer, we’re going to call [Will]’s experiments in 3D scanning a success.
[Will] recently stumbled across the MakerBot Digitizer, a device that’s basically a webcam and a turntable that will turn a small object into a point cloud that can then be printed off on a MakerBotⓇ 3D printer. Or any other 3D printer, for that matter. The MakerBot Digitizer costs $800, and [Will] wondered if he could construct a cheaper 3D scanner with stuff sitting around his house. It turns out, he can get pretty close using only a computer, a webcam, and a Black and Decker line laser/level.
The build started off with a webcam mounted right next to the laser line level. Software consisted of Python using OpenCV, numpy, and matplotlib to grab images from the webcam. The software looks at each frame of video for the path of the laser shining against the object to be scanned. This line is then extracted into a 3D point cloud and reconstructed in MeshLab to produce a 3D object that might or might not be 3D printable.
This is only [Will]’s first attempt at creating a scanner. He’s not even using a turntable with this project – merely manually rotating the object one degree for 360 individual frames. It’s extremely tedious, and he’ll be working on incorporating a stepper motor in a future version.
This is only attempt number 1, but already [Will] has a passable scanned object created from a real-world thing.
Once you have a 3D printer, making copies of objects like a futuristic Xerox machine is the name of the game. There are, of course, 3D scanners available for hundreds of dollars, but [Joshua] wanted something a bit cheaper. He built his own 3D scanner for exactly $2.73 in parts, salvaging the rest from the parts bin at his local hackerspace.
[Josh]’s scanner is pretty much just a lazy suzan (that’s where he spent the money), with a stepper motor drive. A beam of laser light shines on whatever object is placed on the lazy suzan, and a USB webcam feeds the data to a computer. The build is heavily influenced from this Instructables build, but [Josh] has a few tricks up his sleeve: this is the only laser/camera 3D scanner that can solve a point cloud with the camera in any vertical position. This potentially means algorithmic calibration, and having the copied and printed object come out the same size as the original. You can check out that code on the git.
Future improvements to [Josh]’s 3D scanner include the ability to output point clouds and STLs, meaning anyone can go straight from scanning an object to slicing it for a 3D printer. That’s a lot of interesting software features for something that was basically pulled out of the trash.
The old gen 1 Kinect has seen a fair bit of use in the field of making 3D scans out of real world scenes. Now that Xbox 360 Kinects are winding up at yard sales and your local Goodwill, you might even have a chance to pick one up for pocket change. Until now, though, scanning objects in 3D has only been practical in a studio or workshop setting; for a mobile, portable scanner, you’d need to lug around a computer, a power supply, and it’s not really something you can fit in a back pack.
Now, finally, that may be changing. [xxorde] can now get depth data from a Kinect sensor with a Raspberry Pi. And with just about every other ARM board out there as well. It’s a kernel driver that’s small, fast, and does just one thing: turns the Kinect into a webcam that displays depth data.
Of course, a portabalized Kinect 3D scanner has been done before, but that was with an absurdly expensive Gumstix board. With a Raspi or BeagleBone Black, this driver has the beginnings of a very cheap 3D scanner that would be much more useful than the current commercial or DIY desktop scanners.
[Till Handel] just put the finishing touches on a paper he wrote about how to build a cheap 3D scanner — mostly out of spare parts.
Using parts from old printers and notebooks, he’s cobbled together this rather rough-looking laser scanner. But don’t be fooled by its looks! It’s capable of scanning 360° around itself at distances from 0.3 – 5m, making it an excellent candidate for scanning rooms.
It uses a line laser and a webcam mounted on an arm driven by a stepper motor, which looks like it’s out of an old optical drive. An Arduino Uno and an A4988POW stepper driver control the system. The paper (Caution: PDF) is very detailed and published under GPLv3 (a general public license).
Continue reading “Make a 3D Scanner for 60€ Using Old Hardware”
A lot of the big names in 3D printers were at the Midwest RepRap festival showing off their wares, and one of the biggest was Lulzbot with their fabulous Taz 3 printer. This year, they were showing off a new filament, a new extruder, and tipping us off to a very cool project they’re working on.
The new products Lulzbot is carrying are Ninjaflex filament and the extruder to go with it. Ninjaflex is the stretchiest filament we’ve ever seen, with the feel of a slightly hard silicone rubber. Straight off the spool, the filament will stretch to a little less than twice its original length, and in solid, printed form its a hard yet squishy material that would be perfect for remote control tank treads, toys, and 3D printed resin molds. With all the abuse the sample parts received over the weekend, we’re going to call Ninjaflex effectively indestructible, so long as you don’t try to pull the layers apart.
Also from Lulzbot is word on the new 3D scanner they’re working on. The hardware isn’t finalized yet, but the future device will use a webcam, laser, and turntable to scan an object and turn it directly into an .STL file. Yes, that means there won’t be any point clouds or messing about with Meshlab. Lulzperson [Aeva] is working on the software that subtracts an object from its background and turns it into voxels. The scanner will be low-cost and open source, meaning no matter what the volume of the scanner will be, someone will eventually build a person-sized 3D scanner with the same software.
Videos of [Aeva] below showing off the new stuff and talking about the scanner.
Continue reading “MRRF: Stuff From Lulzbot”
[Christopher] from the Bamberg Germany hackerspace, [Backspace], wrote in to tell us about one of the group’s most recent projects. It’s a Kinect-based 3D scanner (translated) that has been made mostly from parts lying around the shop.
There are 2 main components to the hardware-side of this build; the Kinect Stand and the Rotating Platform. The Kinect sits atop a platform made from LEGO pieces. This platform rides up and down an extruded aluminum rail, powered by an old windshield wiper motor.
The Rotating Platform went through a couple of iterations. The first was an un-powered platform supported by 5 roller blade wheels. The lack of automatic rotation didn’t work out so well for scanning so out came another windshield wiper motor which was strapped to an old office chair with the seat replaced by a piece of MDF. This setup may not be the best for the acrophobic, but the scan results speak for themselves.
Continue reading “Kinect + Wiper Motor + LEGO = 3D Scanner”