A few folks over at Carnegie Mellon have come up with a very simple way to do high-speed motion tracking (PDF) with little more than a flashlight. It’s called Lumitrack, and while it looks like a Wiimote on the surface, it is in reality much more accurate and precise.
The system works by projecting structured light onto two linear optical sensors. The pattern of the light is an m-sequence – basically a barcode where every subset of the m-sequence is unique. By shining this light onto a linear sensor, Lumitrack can calculate where the light is coming from, and thus the position of whatever is holding the light.
Even though the entire system consists of only an ARM microcontroller (in the form of a Maple Mini board), two linear optical sensors, and a flashlight with an m-sequence gel, it’s very accurate and very, very fast. The team is able to read the position at over 1000 frames/second, nearly the limit of what can be done with the Maple’s serial connection.
Already there are some interesting applications for this system – game controllers, including swords, flight yokes, and toy cars, and also more artistic endeavors such as a virtual can of spray paint. It’s an interesting piece of tech, and with the right parts, something any of us can build at home.
You can see the Lumitrack demo video below.
Continue reading “Extremely Precise Positional Tracking”
The Makerbot Digitizer was announced this week, giving anyone with $1400 the ability to scan small objects and print out a copy on any 3D printer.
Given the vitriol spewed against Makerbot in the Hackaday comments and other forums on the Internet, it should be very obvious the sets of Hackaday readers and the target demographic Makerbot is developing and marketing towards do not intersect. We’re thinking anyone reading this would rather roll up their sleeves and build a 3D scanner, but where to start? Below are a few options out there for those of you who want a 3D scanner but are none too keen on Makerbot’s offering.
Continue reading “3D Printering: Scanning 3D models”
Fresh from Microsoft Research is an ingenious way to reduce interference and decrease the error in a Kinect. Bonus: the technique only requires a motor with an offset weight, or just an oversized version of the vibration motor found in a pager.
Being the first of its kind of commodity 3D depth sensors, the tracking on a Kinect really isn’t that good. In every Kinect demo we’ve ever seen, there are always errors in the 3D tracking or missing data in the point cloud. The Shake ‘n’ Sense, as Microsoft Research calls it, does away with these problems simply by vibrating the IR projector and camera with a single motor.
In addition to getting high quality point clouds from a Kinect, this technique also allows for multiple Kinects to be used in the same room. In the video (and title pic for this post), you can see a guy walking around a room filled with beach balls in 3D, captured from an array of four Kinects.
This opens up the doors to a whole lot of builds that were impossible with the current iteration of the Kinect, but we’re thinking this is far too easy and too clever not to be though of before. We’d love to see some independent verification of this technique, so if you’ve got a Kinect project sitting around, strap a motor onto it, make a video and send it in.
Continue reading “Building a better Kinect with a… pager motor?”
[Steven] needed to come up with a project for the Computer Vision course he was taking, so he decided to try building a portable 3D camera. His goal was to build a Kinect-like 3D scanner, though his solution is better suited for very detailed still scenes, while the Kinect performs shallow, less detailed scans of dynamic scenes.
The device uses a TI DLP Pico projector for displaying the structured light patterns, while a cheap VGA camera is tasked with taking snapshots of the scene he is capturing. The data is fed into a Beagleboard, where OpenCV is used to create point clouds of the objects he is scanning. That data is then handed off to Meshlab, where the point clouds can be combined and tweaked to create the final 3D image.
As [Steven] points out, the resultant images are pretty impressive considering his rig is completely portable and that it only uses an HVGA projector with a VGA camera. He says that someone using higher resolution equipment would certainly be able to generate fantastically detailed 3D images with ease.
Be sure to check out his page for more details on the project, as well as links to the code he uses to put these images together.
After futzing around with a cheap pico projector, a webcam and a little bit of software, [Jas Strong] built herself a 3d scanner.
In spite of the dozens of Kinect-based scanner projects, we’ve seen structured light 3d scanners before. This method of volumetric scanning projects a series of gradient images onto a subject. A camera captures images of the patterns of light and dark on the model, math happens, and 3d data is spit out of a computer.
[Jas] found a Microvision SHOWWX laser pico projector on Woot. The laser in the projector plays a large part in the quality of her 3d models – without a focus, [Jas] can get very accurate depth information up close. A Logitech webcam modified for a tighter focus handles the video capture responsibilities. The software side of things are a few of these structured light utilities that [Jas] melded into a single Processing sketch.
The results are pretty remarkable for a rig that uses woodworking clamps to hold everything together. [Jas]‘ 3d model of her cat’s house looks very good. She’s got a few bugs to work out in her setup, but [Jas]
plans on releasing her work out into the wild very soon. We’ll update this post whenever that happens. made her code available here. The code requires the ControlP5 and PeasyCam libraries.