Despite being over 25 years old, the original DOOM is still a favorite among gamers and hackers alike. For years now, running the 1993 demonic shooter has been a critical milestone when hacking or reverse engineering a piece of gear, and at this point we’ve seen it run on everything from voting machines to cameras.
But this time around, DOOM isn’t actually running on the device being hacked. Instead, the Roomba 980 that [Rich Whitehouse] has doing his bidding is being used to generate new DOOM levels based on the maps it makes of rooms while going about its business. To be fair they’re pretty simplistic maps, and most of us don’t live in a home quite palatial enough to even fill out shareware trial of id Software’s classic, but it’s still a neat trick.
For those who might not be up to date with the latest and greatest in the world of robotic helpers, newer model Roomba vacuums are equipped with a camera and the ability to generate 3D maps of its environment using a technique called Vision Simultaneous Localization and Mapping (VSLAM). Ostensibly this capability is used to create accurate maps of hazards in the cleaning area, but of course it did set off some privacy alarm bells when introduced due to the possibility that scans of users homes could end up being used for nefarious purposes. Roomba manufacturer iRobot swears they aren’t doing anything suspect with the data their robots collect while traveling through the user’s home, but that hasn’t stopped [Rich] from using the technology as a portal to Hell.
Using “DOOMBA”, the user is able to download the mapping data off of their Roomba 980 (it might work on other models, but hasn’t been tested yet) over the local network and import it into Noesis, a 3D model viewing program developed by [Rich]. The imported map is essentially just a 2D diagram of the home’s floor plan, which on its own wouldn’t make for a terribly interesting DOOM level, so the software will take the liberty of seeding it with weapons, baddies, and all the other varied delights of the netherworld. The user can fiddle around with these settings to try and fine-tune their homespun hellscape, or just let “DOOMBA” randomize it all so they can get on with the ripping and tearing.
Digitizing an object usually means firing up a CAD program and keeping the calipers handy, or using a 3D scanner to create a point cloud representing an object’s surfaces. [Dzl] took an entirely different approach with his DIY manual 3D digitizer, a laser-cut and 3D printed assembly that uses rotary encoders to create a turntable with an articulated “probe arm” attached.
Each joint of the arm is also an encoder, and by reading the encoder values and applying a bit of trigonometry, the relative position of the arm’s tip can be known at all times. Manually moving the tip of the arm from point to point on an object therefore creates measurements of that object. [Dzl] successfully created a prototype to test the idea, and the project files are available on GitHub.
You think you like RGB LEDs? Columbus, OH art professor [Matthew Mohr] has more blinkenlove than you! His airport– convention-center-scale installation piece is an incredible 850,000 RGB LEDs wrapped around a 14-foot tall face-shaped sculpture that projection-maps participants’ faces onto the display. To capture images, there is also a purpose-built room with even illumination and a slew of Raspberry Pi cameras to take pictures of the person’s face from many angles simultaneously.
Besides looking pretty snazzy, the scale of this is just crazy. For instance, if you figure that the usual strip of 60 WS2812s can draw just about 9.6 watts full on, that scales up to 136 kW(!) for the big head. And getting the control signals right? Forgeddaboutit. Prof. [Mohr], if you’re out there, leave us some details in the comments.
(Edit: He did! And his website is back up after being DOSed. And they’re custom LEDs that are even brighter to compete with daylight in the space.)
[adam] is a caver, meaning that he likes to explore caves and map their inner structure. This is still commonly done using traditional tools, such as notebooks (the paper ones), tape measure, compasses, and inclinometers. [adam] wanted to upgrade his equipment, but found that industrial LiDAR 3D scanners are quite expensive. His Hackaday Prize entry, the Open LIDAR, is an affordable alternative to the expensive industrial 3D scanning solutions out there.
LiDAR — Light Detection And Ranging — is the technology that senses the distance between a sensor and an object by reflectively measuring the time of flight of a light beam between the two. By acquiring a two-dimensional array of multiple distance readings, this can be used for 3D scanning. Looking at how the industrial LiDAR scanners capture the environment using fast spinning mirrors, [adam] realized that he could basically achieve the same by using a cheap laser range finder strapped to a pan and tilt gimbal.
The gimbal he designed for this task uses stepper motors to aim an SF30-B laser rangefinder. An Arduino controls the movement and lets the eye of the sensor scan an object or an entire environment. By sampling the distance readings returned by the sensor, a point cloud is created which then can be converted into a 3D model. [adam] plans to drive the stepper motors in microstepping mode to increase the resolution of his scanner. We’re looking forwards to see the first renderings of 3D cave maps captured with the Open LIDAR.
If you are from the 70’s, you’ll probably remember the Disco Body Shaper or the Aerobic Body Shaper exerciser devices that were the rage of the day. Basically, Lazy Susan turntables on which humans could stand and twist away to burn fat. The results were suspect, but [Daniel Kucera] thought one of them would be ideal in 2016 to build a heavy-duty turntable to allow full body scanning.
He had already tried a few other ideas and failed, so it was worth giving this a shot, since it cost just 10 bucks to buy one. The plan was to use a motor to provide friction drive along the circumference of the turntable platform. For this, he used a high torque motor with a gear on the output shaft. From the looks of it, he attached a Meccano plate to the base, and mounted the motor to this plate. A large spring keeps the motor pressed against the rim of the turntable. A strip of rubber scavenged from a bicycle tube was glued along the side of the turntable to provide some friction to the gear drive. The turntable is placed on two thick pieces of foam, to provide clearance for the motor. We aren’t sure if a toothed gear is the best choice to drive this thing, but a hacker’s gotta use what he’s got. He’s clocking 190 seconds for a full rotation, but he still hasn’t posted any scan results from the Android scanner software that he is working on. This one, for sure, doesn’t qualify for a “it’s not a hack” comment.
Photogrammetry is a real word, and [shapespeare] built himself a nice setup to take high-res 3d scans using it. A good set of images for photogrammetry are: in sharp focus, well lit, precisely indexed, and have a uniform background. The background was handled by a 3d printed stand and some copier paper. To get even lighting he used four adjustable LED lamps from Ikea.
In order to precisely index the object, he built an indexing set-up with an Arduino and a stepper motor (housed in the, self proclaimed, most elegant of 3d printed enclosures). The Arduino rotates the platform a measured increment, and then using [Sebastian Setz]’s very neat IR camera control library, snaps a photo. This process repeats until multiple photos of the object have been taken.
Once the photos have been taken, they need to be run through a photogrammetry processor. [shapespeare] uses Agisoft Photoscan, but says Autodesk Memento and 123d Catch do pretty well too. After all this work it appears that [shapespeare] used his new powers to 3d print a giant decking screw. Cool.
Almost by definition, the coolest technology and bleeding-edge research is locked away in universities. While this is great for post-docs and their grant-writing abilities, it’s not the best system for people who want to use this technology. A few years ago, and many times since then, we’ve seen a bit of research that turned a Kinect into a 3D mapping camera for extremely large areas. This is the future of VR, but a proper distribution has been held up by licenses and a general IP rights rigamarole. Now, the source for this technology, Kintinuous and ElasticFusion, are available on Github, free for everyone to (non-commercially) use.
If you’re thinking about using a Raspberry Pi to take Kintinuous on the road, you might want to look at the hardware requirements. A very fast Nvidia GPU and a fast CPU are required for good results. You also won’t be able to use it with robots running ROS; these bits of software simply don’t work together. Still, we now have the source for Kintinuous and ElasticFusion, and I’m sure more than a few people are interested in improving the code and bringing it to other systems.
You can check out a few videos of ElasticFusion and Kintinuous below.