
I’ve long been enamored of robotic Rubik’s Cube solvers. There are many of these out there (most built of Legos) that typically feature everything necessary to complete the solution autonomously. These pieces are as follows:
- Read the cube pattern (generally by taking a picture of each side of the cube and analyzing it).
- Generate an efficient solution.
- Execute each step mechanically.
Recently it struck me that a sufficiently hackable mobile phone could be used to provide everything from the camera to the control via USB or Bluetooth. “That would be a fun application to write,” I thought, for my Android phone, a Google Nexus One. Alas, I haven’t the funds, knowledge, or time necessary to build the robotic component of that.
My dreams dwindled a bit.
But then I thought of something else, something so incredibly obvious that I figured it had to already exist. Some searching around, however, revealed nothing of the sort, so I’m going to announce the idea here:
ARCS, the Augmented Reality Cube Solver.
See, generally augmented reality works when you have markers to track, as otherwise you’re basically limited to geolocational stuff and have to collect all kinds of information to make it work. With visual tags, the problem is much simpler, and a Rubik’s Cube already has 54 visual tags on it: the color-coded stickers.
By detecting the stickers and tracking movement, the application could not only orient the cube in 3D space, but also read each face’s state as the user turns the cube before the camera. Once the entire cube state had been recorded, the application could generate a solution and (here’s the really cool part) overlay the solution step-by-step on the image of the cube itself! Imagine 3D arrows flowing along the layers of the cube, indicating which to turn. As the cube is solved, the application recognizes the new state and shows the next step. If at any time the cube diverges from the expected next state, the app can figure out what the user did wrong and show a correction step.
Now that OpenCV has been successfully implemented on Android, I think this is well within the range of possibility. I don’t know if I could do it myself, but I know someone could, and I think it would be a fantastic app.
Got any other cool augmented reality or general Android app ideas? Sound off in the comments!
0 Responses to “Solving the Rubik’s Cube? There’s an app for that.”