Rubiks Cube solver robot -Solved 1.19 seconds - Page 1
Forum section: electronics / projects

author: ADC-1995
author_rank: Regular Contributor
timestamp: January 25, 2016, 01:56:07 am
content: This is impressive, nice design.

author: crispy_tofu
author_rank: Super Contributor
timestamp: January 25, 2016, 02:41:14 am
content: Wow

author: SL4P
author_rank: Super Contributor
timestamp: January 25, 2016, 03:21:52 am
content: When our robot overlords deploy RoboCop into the field..."You have 1.02 seconds to comply....." (we're cutting you some slack...)BANG!

author: SuzyC
author_rank: Frequent Contributor
timestamp: January 25, 2016, 03:32:53 am
content: The robot won't win the honor..the Rubiks Cube is modified for use by this machine. A tell-tale mark is made on several points of the cube and so both the cube and the robotic device must be disqualified.

author: EEVblog
author_rank: Unknown
timestamp: January 25, 2016, 04:11:42 am
content: Quote from: SuzyC on January 25, 2016, 03:32:53 amYep, they cheated by modifying the cube.

author: LukeW
author_rank: Frequent Contributor
timestamp: January 25, 2016, 04:13:25 am
content: Doing it fast with an unmodified cube is more a mechanical problem than a software problem.You need to grab it and turn it with sufficient torque, fast.I've heard of some machines that are capable of snapping the cube in half.

author: HighVoltage
author_rank: Super Contributor
timestamp: January 25, 2016, 11:09:40 am
content: That is impressive.Almost too fast to be fun.

author: SL4P
author_rank: Super Contributor
timestamp: January 25, 2016, 11:22:28 am
content: Quote from: EEVblog on January 25, 2016, 04:11:42 amI suppose they could have implemented a thin metal spatula with a neoprene grip surface - to slide into the space around the centre tile... but as noted above, the physical acceleration limits of the cube may be the weak link.

author: filssavi
author_rank: Frequent Contributor
timestamp: January 25, 2016, 11:32:29 am
content: I see no challenge whatsoever in what they did, having a laptop solve a rubick's cube in under 1 second is not pushing the boundaries of computer science, driving 4 stepper motors is not advanced EE either, the only challenge they had was finding a way to turn the cube as fast as they need without breaking the cube, and they cheated by modifiyng the cube...I mean it's a nice contraption, but hardly anything so groundbreaking...

author: Fungus
author_rank: Super Contributor
timestamp: January 25, 2016, 02:24:42 pm
content: Quote from: LukeW on January 25, 2016, 04:13:25 amYes... and that's the point.If you're going to play the game you have to play using the same constraints as everybody else.You especially can't use a modified cube if you're going to claim a "new record!!!".

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 25, 2016, 02:42:00 pm
content: Quote from: EEVblog on January 25, 2016, 04:11:42 amWow. Getting a lot of this. You seem pretty certain about the rules of the record attempt.The WCA rules that govern human competitions spell out what modifications are and are not allowed. This modification is allowed.Also the current Guinness record holder modified the cube more deeply than this ( by completely removing the center caps ) and was not disqualified.Paul Rose ( the silent one in the video ).

author: Shock
author_rank: Super Contributor
timestamp: January 25, 2016, 03:21:11 pm
content: Paul is the cube always set to the same 20 turn starting position for it to be fair for robots?I can't see how it can work well when the cube is solved in under 20 turns or say there is more quarter turns. If you attempted to solve multiple times on a randomized cube you are eventually going to stumble across some faster solves, how do they remove the luck element?

author: Paul Price
author_rank: Super Contributor
timestamp: January 25, 2016, 03:28:30 pm
content: Now you tell us! Looks like you will walk through the qualifications for the Nobel Prize for Rubiks smelling like a rose.What is important here is not that it can once solve a tossed cube in just 1.x seconds but that the worst case of a multitude of tries establishes this record as a max time to solve any.

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 25, 2016, 03:33:24 pm
content: Quote from: Shock on January 25, 2016, 03:21:11 pmA fair question, and one that I've thought about. The final judging attempt hasn't happened yet, so it will be somewhat up to the judge.It will definitely be a hand scramble by the judge. A machine scramble would open the door to play back a memorized reversal.There are websites ( like cubtetimer.com ) that will generate instructions for a "good" scramble, but there is no guarantee.We don't try to generate a fully optimal solve ( takes too long, and we are counting solve time as well as move time ), and we get variations from 0.9 seconds up to 1.4 seconds. The even the slow end of the range is enough to claim the current record.The 20 move longest solve is measured in the "quarter turn metric". Our machine can do half turns, and can combine opposite face turns, so our command list isn't directly comparable to the quarter turn metric.kociemba.org is a fascinating website. They show a histogram that shows that about 70% of solves can be done in 18 moves ( in the quarter turn metric ). Scrambles that require a full 20 moves are exceedingly rare. You are not likely to witness one from a random scramble in your lifetime. But they are pretty easy to engineer.Also ( added with an edit ):From the WCA scramble rules:Puzzles must be scrambled using computer-generated random scramble sequences.Generated scramble sequences must not be inspected before the competition, and must not be filtered or selected in any way by the WCA Delegate.So as long as the scramble is random, the don't appear to enforce that it is hard. But the odds of getting a really easy scramble ( solvable in less that 13 quarter-turns ) at random appears to be less than 1 in 10,000The sweet spot for random scrambles is the 16 to 19 quarter-turn range, with 18 being the most common.

author: jmaja
author_rank: Frequent Contributor
timestamp: January 25, 2016, 05:18:34 pm
content: Quote from: Paul Rose on January 25, 2016, 03:33:24 pmHow many turns are you using? How far from optimal? How long does it take to compute your solution and the optimal solution? Do you break the cube often? How long it would take for a human to make the same turns (using a computer solver)? How many turns do best humans use in a competition?

author: Fungus
author_rank: Super Contributor
timestamp: January 25, 2016, 06:02:23 pm
content: Quote from: jmaja on January 25, 2016, 05:18:34 pmThey actually have "fewest moves" competitions as well as speed. The best humans can average about 25 moves.Speed? There's humans that can average under 7 seconds (over multiple solves).

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 25, 2016, 06:23:36 pm
content: Quote from: jmaja on January 25, 2016, 05:18:34 pm

author: retrolefty
author_rank: Super Contributor
timestamp: January 25, 2016, 06:52:12 pm
content: Well color me very impressed.And glad to see an Arduino had a role doing one simple task, rotation control, but doing it well. You say deceleration/acceleration was required?

author: Fungus
author_rank: Super Contributor
timestamp: January 25, 2016, 07:44:36 pm
content: Quote from: Paul Rose on January 25, 2016, 06:23:36 pmLook at the last entry in this chart:https://en.wikipedia.org/wiki/Speedcubing#World_recordsSpeed runs won't be 25 turns but they'll be close.Solved The Cube all by myself back in the 1980s when there were no online guides (or even other people with cubes!)Once did it in 33 seconds - only eight seconds slower than the world record back then.Solving methods are a lot more studied/perfected nowadays. Under 8 secondsaverage? I don't think my brain even works that fast any more.

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 25, 2016, 07:53:04 pm
content: My partner Jay ( the one who does the talking ) did the mechanical characterization and developed the acceleration curves. This is implemented by controlling the spacing between the step pulses so that we get gentle ramp up to a high mid-rotation speed and a gentle ramp down.This is originally Jay's project. He built the actual machine and designed all of the 3D printed parts. He also developed the microcontroller side code to time the step pulses.There are some other videos of Jay's earlier prototypes on his channel. He originally had a nice 3D printed claw that could grip the cube on the side and use a fully unmofidied cube. He was aiming at the 3.2 second Cube Stormer record. But then Zackary Gromko broke that record with a machine that used a modified cube. Beating Zackaray's record with a unmodified cube was not going to work with our approach. Ultimately we decided that if his approach worked for Guinness, it would work for us.BTW: If you haven't seen the Cube Stormer, you should check it out. It is a beautiful machine made ( as far as I can tell ), completely from Lego and a smart phone.Jay asked for me to help on the PC side software that interfaces to the cameras, detects the cube state, generates a solution ( using H. Kociemba's 2-phase algorithm ), and interfaces to the microcontroller over serial. I also did the homemade board to hold the Atmega 328 ( the Arduino plus breadboard was a bit too fragile ).The motors are capable of more, but the cube itself will slip due to the intertia of the outer pieces overcoming the spring force of the tensioning mechanism.We ended up driving the motors from 30 volts.Initially we ran the vision code and solver on a Raspberry Pi 2, but the search time ended up being just slow enough to noticably eat into the total time. We ended up using a linux PC that. It sends simple 1 byte commands to the microcontroller over a USB-serial adaptor, which will do either a 90 or 180 degree turn ( or a simultaneous pair of turns in some cases ).After the record attempt is over and we organize the code mess a bit, we plan to put our CAD docs and source code for the PC and microcontroller on github.

author: Fungus
author_rank: Super Contributor
timestamp: January 25, 2016, 07:55:16 pm
content: Quote from: Paul Rose on January 25, 2016, 02:42:00 pmIn that case the 3x3x3 is too easy. I propose moving to 4x4x4

author: jmaja
author_rank: Frequent Contributor
timestamp: January 25, 2016, 09:06:01 pm
content: Quote from: Fungus on January 25, 2016, 07:44:36 pmImpressive to solve it without any guides. I couldn't, but I was just 12 when I saw the first guide in a Finnish magazine in 1981. Using that guide and with some modification to it I developed I was able to solve the cube at just under 40 s back then. I averaged a bit over 1 min.

author: Fungus
author_rank: Super Contributor
timestamp: January 25, 2016, 09:20:06 pm
content: Quote from: jmaja on January 25, 2016, 09:06:01 pmI once did a 19s in front of a bunch of people at school. I don't count it as a real solve because it was one of those where every piece just falls into place as you go (my reputation was secure after that though...)My average would have been in the low 40's. My method was different than what most people were using back then; I used to do all the eight corners first, then the edges.Looking at this chart, it's unbelievable that the "25 seconds" record stood from 1982 until about 2003.https://upload.wikimedia.org/wikipedia/commons/2/27/Progression_of_Rubik%27s_Cube_world_records.jpgWonder how long it would take me now...(probably a couple of minutes)

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 25, 2016, 09:26:14 pm
content: Quote from: Fungus on January 25, 2016, 07:55:16 pmI think I'm done with cube robots for the time being. My first hobby interest is ham radio, I just kind of fell into this.I really like solving the larger cubes by hand. I'm not really fast, but I find it kind of theraputic.The largest one I have is a 9x9. The bigger ones are expensive. It takes me 70 minutes to solve, but I don't do it often because I lose focus. A 9x9 is not fundamentally harder than a 5x5, just a lot longer. The 5x5 takes me about 8 minutes.My current favorite is the 6x6. Right combination of difficulty and not taking too long. Plus the even cubes are more fun, because there are no fixed centers and you get into challenging parity situations.

author: jmaja
author_rank: Frequent Contributor
timestamp: January 26, 2016, 07:02:03 am
content: Quote from: Fungus on January 25, 2016, 09:20:06 pmHere's a different record history:http://www.recordholders.org/en/list/rubik.html

author: HighVoltage
author_rank: Super Contributor
timestamp: January 26, 2016, 08:17:50 am
content: Quote from: Fungus on January 25, 2016, 07:44:36 pmSame here.Around 30 seconds was my fastest in those daysThese days I can not make it in a minute and need something like a 1:30It is a good gauge to measure us.And it is amazing that we are slowing down so much with age.

author: Fungus
author_rank: Super Contributor
timestamp: January 26, 2016, 11:55:58 am
content: Quote from: Paul Rose on January 25, 2016, 09:26:14 pmI think the word needs to get out to the robot builders - 3x3x3 with modified center pieces is for wimps. Where's the challenge?

author: German_EE
author_rank: Super Contributor
timestamp: January 27, 2016, 09:38:04 pm
content: Many years ago my brother had a cube and he was reasonably good at solving it, unfortunately he became a right pain in the ass talking about nothing but his cube solving skills. So, we peeled off a single colored sticker from two adjacent faces and swapped them over then left the cube where he could find it. Three weeks later he'd shut up and we found the cube in the bin.So, my question for the robot cube experts is this, how will your robot cope with a 'corrupted' cube?

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 27, 2016, 11:26:27 pm
content: Quote from: German_EE on January 27, 2016, 09:38:04 pmIn our case we validate the cube state before searching for a solution.We have:9 of each colorThe right set of 8 corner piecesThe right set of 12 edge piecesAnd a parity tests that detect incorrectly flipped edges or twisted corners.If I recall correctly, 1 of 12 cubes randomly assembled from a correct set of pieces is results in a correct cube.The solving app will display an error message saying what is wrong.When solving by hand, I can get to the point where solving the last steps just doesn't work, and I can then tell which piece is wrong and fix it.Interestingly, most of these cases can occur on a valid 4x4 cube. My first steps in solving a 4x4 are to build the 2x2 centers and 2x1 edges. At this point you can treat it like a 3x3 and try to solve it. Except sometimes you find out that one of your virtual 2x1 edges is backward, or a pair are incorrectly swapped. When this happens you have to undo your virtual pieces and put them together a different way and try again.

author: Fungus
author_rank: Super Contributor
timestamp: January 28, 2016, 07:23:30 am
content: Quote from: Paul Rose on January 27, 2016, 11:26:27 pmI think it's 1 in 24...It will be unsolvable if you:Flip one edge piece (1:2 chance of being correct)Swap two edge pieces (1:2 chance of being correct))Rotate one corner piece (1:3 chance of being correct)Swap two corner pieces (1:2 chance of being correct)2x2x3x2 = 24Quote from: German_EE on January 27, 2016, 09:38:04 pmNo need - see above. It only takes a couple of seconds to pop out a single edge piece and flip it over.If you swap two stickers you most likely create two identical pieces (ie. two pieces with exact same color combination). It's obvious the cube has been tampered with*. The fact that your brother couldn't figure this out is a real.Did you 'fess up later? Now would be a good time - in the age of ubiquitous video cameras.(*also the stickers never go back properly...unless it's a really cheap nasty cube and they were never on properly to begin with)

author: Paul Rose
author_rank: Regular Contributor
timestamp: January 28, 2016, 12:47:15 pm
content: Quote from: Fungus on January 28, 2016, 07:23:30 amEach of your cases sounds right, but every reference I've checked says 1 in 12.Wikipedia states it as 12, but doesn't explain why.http://www.ryanheise.com/cube/cube_laws.htmlexplains it as follows:1/2 of the permutations are reachable - only permutations that require an even number of swapped pieces can be reached1/2 of the edge orientations are reachable - legal moves only flip an even number of edges1/3 of the corer orientations are reachable - the explanation of this is detailed2*2*3 = 12Added after edit:I figured out the discrepancy. I swapped two edge pieces and tried to solve the cube ( by hand ). I was able to get the edges back using normal moves, but it resulted in two swapped corners. Fixing the corners with normal moves brought back the swapped edges. Your two cases for "Swap two edge pieces" and "Swap two corner pieces" are really just two expressions of the same case.

author: Fungus
author_rank: Super Contributor
timestamp: January 28, 2016, 01:19:16 pm
content: Quote from: Paul Rose on January 28, 2016, 12:47:15 pmYep. I just dug a cube out of the closet and tried it as well. I swapped two corners and I couldn't solve the edges, two of the are swapped.Still have stuff to learn...