Author Topic: Rubiks Cube solver robot -Solved 1.19 seconds  (Read 15246 times)

0 Members and 1 Guest are viewing this topic.

Offline ADC-1995

  • Regular Contributor
  • *
  • Posts: 52
  • Country: us
Rubiks Cube solver robot -Solved 1.19 seconds
« on: January 25, 2016, 01:56:07 am »
This is impressive, nice design.

« Last Edit: January 25, 2016, 01:58:52 am by ADC-1995 »
 

Offline crispy_tofu

  • Super Contributor
  • ***
  • Posts: 1124
  • Country: au
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #1 on: January 25, 2016, 02:41:14 am »
Wow  :-+
 

Offline SL4P

  • Super Contributor
  • ***
  • Posts: 2103
  • Country: au
  • There's more value if you figure it out yourself!
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #2 on: January 25, 2016, 03:21:52 am »
When our robot overlords deploy RoboCop into the field...
"You have 1.02 seconds to comply....." (we're cutting you some slack...)
BANG!
Don't ask a question if you aren't willing to listen to the answer.
 

Offline SuzyC

  • Frequent Contributor
  • **
  • Posts: 537
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #3 on: January 25, 2016, 03:32:53 am »
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.
« Last Edit: January 25, 2016, 03:36:51 am by SuzyC »
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30257
  • Country: au
    • EEVblog
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #4 on: January 25, 2016, 04:11:42 am »
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.

Yep, they cheated by modifying the cube.
 

Offline LukeW

  • Frequent Contributor
  • **
  • Posts: 672
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #5 on: January 25, 2016, 04:13:25 am »
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.
 

Online HighVoltage

  • Super Contributor
  • ***
  • Posts: 4341
  • Country: de
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #6 on: January 25, 2016, 11:09:40 am »
That is impressive.
Almost too fast to be fun.
There are 3 kinds of people in this world, those who can count and those who can not.
 

Offline SL4P

  • Super Contributor
  • ***
  • Posts: 2103
  • Country: au
  • There's more value if you figure it out yourself!
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #7 on: January 25, 2016, 11:22:28 am »
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.

Yep, they cheated by modifying the cube.
I 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.
Don't ask a question if you aren't willing to listen to the answer.
 

Online filssavi

  • Frequent Contributor
  • **
  • Posts: 268
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #8 on: January 25, 2016, 11:32:29 am »
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...
 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 10334
  • Country: 00
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #9 on: January 25, 2016, 02:24:42 pm »
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.

Yes... 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!!!".

« Last Edit: January 25, 2016, 02:39:37 pm by Fungus »
 

Offline Paul Rose

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #10 on: January 25, 2016, 02:42:00 pm »
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.

Yep, they cheated by modifying the cube.

Wow.  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 ).
 

Offline Shock

  • Super Contributor
  • ***
  • Posts: 2952
  • Country: au
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #11 on: January 25, 2016, 03:21:11 pm »
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?
Soldering/Rework: Pace ADS200, Pace MBT350
Multimeters: Fluke 87V, 117, 27/FM     >>> Fluke 51/52 Thermometer Parts Required <<<
Oscilloscopes: Rigol DS1054Z, Phillips PM3065
 

Offline Paul Price

  • Super Contributor
  • ***
  • Posts: 1419
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #12 on: January 25, 2016, 03:28:30 pm »
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.
 

Offline Paul Rose

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #13 on: January 25, 2016, 03:33:24 pm »
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?

A 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,000

The sweet spot for random scrambles is the 16 to 19 quarter-turn range, with 18 being the most common.








« Last Edit: January 25, 2016, 03:47:08 pm by Paul Rose »
 

Offline jmaja

  • Regular Contributor
  • *
  • Posts: 221
  • Country: fi
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #14 on: January 25, 2016, 05:18:34 pm »
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. 

How 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?
 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 10334
  • Country: 00
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #15 on: January 25, 2016, 06:02:23 pm »
How many turns do best humans use in a competition?

They 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).

 

Offline Paul Rose

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #16 on: January 25, 2016, 06:23:36 pm »
Do you break the cube often?

We have exploded a few cubes by trying to get too aggressive with the motor speed.   So far nothing that we couldn't fix by reassembling the parts and possibly readjusting the cube tension.

I think Fungus is right that a good speed cuber is somewhere on the order of 25 turns.  I watched a slow motion video of a fast solve.  It was still too fast to get a proper count, but I think I saw 26 turns..

The biggest variable in attempts is that we haven't developed automatic shutters for the cameras.  We have 4 volunteers covering the 4 cameras with paper and pulling them out on the "count of three".  The official attempt will be judged by analyzing the video replay that includes an already running stopwatch, judging between the first paper movement and a solved cube.   

In hindsight it would have been nice to put simple shutters on 4 more steppers to block the cameras an to unblock them electronically.   Not super fast for a shutter, but way more repeatable than 4 people listening for a count of three.

We had to tinker with the camera setting to turn off auto-exposure, because the camera image would fade and bloom when the paper was pulled away, slowing down the recognition time.   Tuning the "machine vision" took us longer than any other single aspect.   Surprising how much glare you get on a cube sticker, and how much glare always ends up looking "white".





 

Offline retrolefty

  • Super Contributor
  • ***
  • Posts: 1609
  • Country: us
  • measurement changes behavior
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #17 on: January 25, 2016, 06:52:12 pm »
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?

 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 10334
  • Country: 00
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #18 on: January 25, 2016, 07:44:36 pm »
I think Fungus is right that a good speed cuber is somewhere on the order of 25 turns.  I watched a slow motion video of a fast solve.  It was still too fast to get a proper count, but I think I saw 26 turns..

Look at the last entry in this chart:

https://en.wikipedia.org/wiki/Speedcubing#World_records

Speed 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 seconds average? I don't think my brain even works that fast any more.  :-DD
« Last Edit: January 25, 2016, 07:52:38 pm by Fungus »
 

Offline Paul Rose

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #19 on: January 25, 2016, 07:53:04 pm »
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.   


 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 10334
  • Country: 00
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #20 on: January 25, 2016, 07:55:16 pm »
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.

In that case the 3x3x3 is too easy. I propose moving to 4x4x4  :)
 

Offline jmaja

  • Regular Contributor
  • *
  • Posts: 221
  • Country: fi
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #21 on: January 25, 2016, 09:06:01 pm »
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.

Impressive 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.
 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 10334
  • Country: 00
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #22 on: January 25, 2016, 09:20:06 pm »
Impressive 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.

I 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.jpg

Wonder how long it would take me now...  :popcorn:  (probably a couple of minutes)
« Last Edit: January 25, 2016, 09:22:30 pm by Fungus »
 

Offline Paul Rose

  • Regular Contributor
  • *
  • Posts: 94
  • Country: us
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #23 on: January 25, 2016, 09:26:14 pm »
In that case the 3x3x3 is too easy. I propose moving to 4x4x4  :)

I 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.



 

Offline jmaja

  • Regular Contributor
  • *
  • Posts: 221
  • Country: fi
Re: Rubiks Cube solver robot -Solved 1.19 seconds
« Reply #24 on: January 26, 2016, 07:02:03 am »
Looking at this chart, it's unbelievable that the "25 seconds" record stood from 1982 until about 2003.

Here's a different record history: http://www.recordholders.org/en/list/rubik.html
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf