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.
If you’ve got Roomba in hand but aren’t a DOOM fan, have no fear. We’ve seen plenty of hacks and mods for everyone’s favorite house-cleaning hockey puck which happen to be of the non-demonic variety. If you just can’t get enough DOOM, stick around for tomorrow’s 25th anniversary celebration article. You will want to copy the banner art and use it as your new desktop background.
Not only is the Super Nintendo an all-around great platform, both during its prime in the 90s and now during the nostalgia craze, but its relative simplicity compared to modern systems makes it a lot more accessible from a computer science point-of-view. That means that we can get some in-depth discussion on how the Super Nintendo actually does what it does, and understand most of it, like this video from [Retro Game Mechanics Explained] which goes into an incredible amount of detail on the mechanics of the SNES’s memory system.
Two of the interesting memory systems the SNES uses are called DMA and HDMA. DMA stands for direct memory access, and is a way for the Super Nintendo to access memory independently of the CPU. The advantages to this are that it’s incredibly fast compared to more typical methods of accessing memory. This isn’t particulalry unique, but the HDMA system is. It allows the SNES to do all kinds of interesting tricks with its video output display like changing color gradients and doing all kinds of masking effects.
If you’re interested in the inner workings of classic consoles like the SNES, this video gets way down in the weeds in the system itself. It’s interesting to see how programmers were able to squeeze more capability from these limited (by modern standards) systems by manipulating memory like the DMA and HDMA systems do. [Retro Game Mechanics Explained] is a great resource for exploring in-depth aspects of lots of classic games, like how speedrunners can execute arbitrary code in old Mario games.
Continue reading “Memory Mapping Methods in the Super Nintendo”
Ecology is a strange discipline. At its most basic, it’s the study of how living things interact with their environment. It doesn’t so much seek to explain how life works, but rather how lives work together. A guiding principle of ecology is that life finds a way to exploit niches, subregions within the larger world with a particular mix of resources and challenges. It’s actually all quite fascinating.
But what does ecology have to do with Luka Mustafa’s talk at the 2018 Hackaday Belgrade Conference? Everything, as it turns out, and not just because Luka and his colleagues put IoT tools on animals and in their environments to measure and monitor them. It’s also that Luka has found a fascinating niche of his own to exploit, one on the edge of technology and ecology. As CEO of Institute IRNAS, a non-profit technology development group in Slovenia, Luka has leveraged his MEng degree, background in ham radio, and interest in LoRaWAN and other wide-area radio networks to explore ecological niches in ways that would have been unthinkable even 10 years ago, let alone in the days when animal tracking was limited by bulky radio collars.
Continue reading “Hackaday Belgrade: Luka Mustafa on Exploiting IoT Niches”
The Unity engine has been around since Apple started using Intel chips, and has made quite a splash in the gaming world. Unity allows developers to create 2D and 3D games, but there are some other interesting applications of this gaming engine as well. For example, [matthewhallberg] used it to build a robot that can map rooms in 3D.
The impetus for this project was a robotics company that used a series of robots around their business. The robots navigate using computer vision, but couldn’t map the rooms from scratch. They hired [matthewhallberg] to tackle this problem, and this robot is a preliminary result. Using the Unity engine and an iPhone, the robot can perform in one of three modes. The first is a user-controlled mode, the second is object following, and the third is 3D mapping.
The robot seems fairly easy to construct and only carries and iPhone, a Node MCU, some motors, and a battery. Most of the computational work is done remotely, with the robot simply receiving its movement commands from another computer. There’s a lot going on here, software-wise, and a lot of toolkits and software packages to install and communicate with one another, but the video below does a good job of showing what you’ll need and how it all works together. If that’s all too much, there are other robots with a form of computer vision that can get you started into the world of computer vision and mapping.
Continue reading “Robot Maps Rooms with Help From iPhone”
We don’t have to tell you that drones are all the rage. But while new commercial models are being released all the time, and new parts get released for the makers, the basic technology used in the hardware hasn’t changed in the last few years. Sure, we’ve added more sensors, increased computing power, and improved the efficiency, but the key developments come in the software: you only have to look at the latest models on the market, or the frequency of Git commits to Betaflight, Butterflight, Cleanflight, etc.
With this in mind, for a Hackaday prize entry [int-smart] is working on a quadcopter testbed for developing algorithms, specifically localization and mapping. The aim of the project is to eventually make it as easy as possible to get off the ground and start writing code, as well as to integrate mapping algorithms with Ardupilot through ROS.
The initial idea was to use a Beaglebone Blue and some cheap hobby hardware which is fairly standard for a drone of this size: 1250 kv motors and SimonK ESCs, mounted on an f450 flame wheel style frame. However, it looks like an off-the-shelf solution might be even simpler if it can be made to work with ROS. A Scanse Sweep LIDAR sensor provides point cloud data, which is then munched with some Iterative Closest Point (ICP) processing. If you like math then it’s definitely worth reading the project logs, as some of the algorithms are explained there.
It might be fun to add FPV to this system to see how the mapping algorithms are performing from the perspective of the drone. And just because it’s awesome. FPV is also a fertile area for hacking: we particularly love this FPV tracker which rotates itself to get the best signal, and this 3D FPV setup using two cameras.
The IMAV (International Micro Air Vehicle) conference and competition is a yearly flying robotics competition hosted by a different University every year. AKAMAV – a university student group at TU Braunschweig in Germany – have written up a fascinating and detailed account of what it was like to compete (and take first place) in 2016’s eleven-mission event hosted by the Beijing Institute of Technology.
AKAMAV’s debrief of IMAV 2016 is well-written and insightful. It covers not only the five outdoor and six indoor missions, but also details what it was like to prepare for and compete in such an intensive event. In their words, “If you share even a remote interest in flying robots and don’t mind the occasional spectacular crash, this place was Disney Land on steroids.”
Continue reading “Taking First Place at IMAV 2016 Drone Competition”
It’s taken as canon that girls mature faster than boys. In reality, what happens is that boys stop maturing at about age 12 while girls keep going. And nothing tickles the fancy of the ageless pre-teen boy trapped within all men more than a good fart joke. To wit, we present a geolocating fart tracker for your daily commute.
[Michel] is the hero this world needs, and although he seems to have somewhat of a preoccupation with hacks involving combustible gasses, his other non-methane related projects have graced our pages before, like this electrical meter snooper or an IoT lawn mower. The current effort, though, is a bit on the cheekier side.
The goal is to keep track of his emissions while driving, so with a PIC, an ESP8266, a GPS module, and a small LCD display and keyboard, he now has a way to log his rolling flatulence. When the urge overcomes him he simply presses a button, which logs his location and speed and allows him to make certain qualitative notes regarding the event. The data gets uploaded to the cloud every Friday, which apparently allows [Michel] to while away his weekends mapping his results.
It turns out that he mainly farts while heading south, and he’s worried about the implications both in terms of polar ice cap loss and how Santa is going to treat him next month. We’re thinking he’s got a lock on coal — or at least activated charcoal.
Our beef with this project is obvious – it relies on the honor system for input. We really need to see this reworked with an in-seat methane detector to keep [Michel] honest. Until then, stay young, [Michel].