If you've ever thrown a Rubik's Cube at the wall in frustration, you're going to hate this robot.
Developed and built by Ben Katz and Jared DiCarlo of MIT's Biomimetics Lab, it's just smashed the record for the fastest time ever to solve a Rubik's Cube: just 0.38 seconds.
Engineers and roboticists have been developing Rubik's Cube robots for some years now, and they've got it down to a fine art: a combination of cameras and actuators for the physical aspects of handling the cube, and software that is programmed to recognise the colours and return them to the correct sides.
Previously, the world record was held by a machine called the Sub1 Reloaded, which solved a Rubik's Cube in 0.627 seconds in late 2016.
The new Rubik's Contraption, as Katz and DiCarlo call their robot, uses a combination of custom parts, and easily acquirable ones. The six motors are Kollmorgen's ServoDisc U9-series, which Katz noted can be obtained relatively cheaply on eBay, as well as optical encoders on the back, also from eBay.
The cameras are just two PlayStation Eye cameras. The pair also built custom motor drivers and a custom AND board to make sure none of the motors are operating at the same time. This keeps them from trying to make simultaneous moves, and, in turn, prevents the Rubik's Cubes - they used very cheap ones - from exploding.
The Contraption managed to solve the puzzle in just 21 moves. Here's a gif of the replay, because we can't stop watching it:
"The machine can definitely go faster, but the tuning process is really time consuming since debugging needs to be done with the high speed camera, and mistakes often break the cube or blow up FETs," Katz wrote on his blog, where he also detailed the build.
"Looking at the high-speed video, each 90 degree move takes ~10 ms, but the machine is actually only doing a move every ~15 ms. For the time being, Jared and I have both lost interest in playing the tuning game, but we might come back to it eventually and shave off another 100 ms or so."
We'll be waiting with bated breath.
Meanwhile, if you want to take on the fastest person to solve a Rubik's Cube, check out SeungBeom Cho, who solved a Rubik's Cube in just 4.59 seconds in October last year.