To Solve a Rubik's Cube In 1 Second, It Takes a Robot
The Next Web features a quick look at an eyebrow-raisingly fast Rubik's Cube-solving robot, created by developers Jay Flatland and Paul Rose. How fast? The robot can solve a scrambled cube in one second (as long as you're willing to round down consistent solutions in "less than 1.2 seconds") which makes for some fun repeat views on YouTube. One speed-shaving element of the design: Rather than grip the cube with a robot hand, Flatland and Rose essentially made the cube an integral part of the system, by drilling holes in the cube's center faces, and attaching stepper motors directly. (Also at Motherboard).
OMG, it runs on linux!
Everything I write is lies, read between the lines.
With all the power of robotics, you've taken a task that takes a human less than five seconds, and reduced it to 1.2 seconds? Wow. I'm impressed.
I've seen video of a guy doing it in about 3.5 seconds, without drilling holes in it.
Not an unmodified cube. This is more like a robot that *is* a Rubik's Cube.
This is garbage, and anyone involved with this should feel bad. If you have to modify the cube, it doesn't count.
The Arduino is responsible for controlling highly-tuned acceleration / deceleration curves to drive the stepper motors.
This is very similar to the way mechanical hard drives position their read/write heads via magnetic coil. Depending on the distance (number of cylinders) that the heads need to travel across, a proportional amount of current is applied to accelerate the arm with the heads attached. After just a few milliseconds, however, the heads need to start decelerating in order to come to rest precisely over the desired track without overshooting.
With both the Rubik's Cube and the hard drive, a physical object needs to be moved and then come to rest precisely in the blink of an eye. It's quite a neat trick of engineering.
systemd is writing it's own kernel.
Is that including the time it took to drill the holes?
This one uses quite a long time to prepare but the solve itself is around 1 second
https://www.youtube.com/watch?v=laPVTrzGDpA
Rotating at 88 jiggaRPMs?
If you have modified the toy, it is no longer a Rubik's Cube. It is some other thing.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Put the steppers and solving logic in the cube, seamlessly, and make it solve itself on a clap, I'll be impressed.
Go into the virtual world where you don't have to worry about such mundane things as a physical cube, and you can twist and turn the cube in nanoseconds, probably solve it in well under a microsecond.
"Behold, my robot can solve a Rubik's cube in less than a second!"
[He pushes the button. There is a whirr of motion, and a flash.]
"Uh... well, as you can see, after the procedure, the cube is a bit too... on fire... to read. But rest assured, if it weren't charred, and, um... also, if it were still a cube, I guess... then each side would be a single color. Uh, a single other than black, I mean. Impressive, no?"
[The audience is silent.]
"Uh... ta-daaaa!"
This is a trivial task for a human, even more so for a computer. The bulk of the time is taken up simply moving the cube. The computer already knew the solution it was going to use before it even started moving the thing. What's the point of this anymore? The computer can come up with a solution in sub-1-second if you simply remove the physical cube and simulate it.
Just imagine how fast it would be on a Robotic Beowulf Cluster!