top | item 18056636

Self-solving Rubik's Cube

630 points| murkle | 7 years ago |media.dmm-make.com | reply

103 comments

order
[+] Zanni|7 years ago|reply
But is it actually "solving" itself? Or just recording the scramble and playing it back in reverse order? I realize it's an artificial distinction, but if the cube is tracking its state and then running a solve algorithm, that's more interesting (to me) than if it's just popping a stack.

Either way, it's extremely cool.

[+] emiliobumachar|7 years ago|reply
Very cool and impressive.

Next step: a solving algorithm that minimizes maximum net horizontal displacement from the starting position, to avoid falling off the table.

(the demonstration video has the cube almost fall off the table. A human had to interfere to push it away from the edge)

[+] ape4|7 years ago|reply
Yeah, I was thinking it could add some "walking" moves to get away from the edge. Rotate two sides together like two wheels.
[+] sgustard|7 years ago|reply
Or replace the table with a bowl.
[+] Ajedi32|7 years ago|reply
Seems to me you could make a pretty neat commercial product out of that. Add some LEDs to each surface, plus a speaker and you could have a Rubik's cube that tutors you on how to solve it.
[+] pavel_lishin|7 years ago|reply
It could scream in terror every time you try to turn the wrong face.
[+] whamlastxmas|7 years ago|reply
In my limited rubik's experience, solving (on an amateur level) is really mostly about memorizing moves and I'm not sure you'd really learn those moves very well just seeing it happen in front of you without explanation.
[+] louwhopley|7 years ago|reply
Perfect project to run as a Kickstarter campaign
[+] evan_|7 years ago|reply
this would be a sellable product even without the motorized aspect of it
[+] gadders|7 years ago|reply
I'd buy one if the price wasn't too nuts. Looks pretty cool.
[+] lwb|7 years ago|reply
Or have it play music and be like a DJ Rubik's kind of thing
[+] lpasselin|7 years ago|reply
Fitting the hardware in the cube is the innovation
[+] gurtwo|7 years ago|reply
I find it strange that people here are fixated with the solving software part. What's really cool to me in the project is the mechanical solution; fitting all the motors, axles, MCU, sensors and battery inside a customized cube.
[+] faissaloo|7 years ago|reply
There are so many cool mods you could make with this, you could have it change to a particular pattern when idle or scramble again once you solve it!
[+] _-__---|7 years ago|reply
I like the rescramble idea. You could maybe go one step further by varying the difficulty of the rescrambling - I'm not sure if there's an established distance metric between rc states (something like a levenshtein distance, "minimum-number-of-changes-needed"), but the program could shuffle the cube out to some threshold on that metric to get easy, medium, hard, etc.
[+] foofoo55|7 years ago|reply
Are there awards for this sort of thing? If not, there should be. Such marvelous engineering and craftsmanship skills need to be recognized for the benefit of the individual and to inspire others.
[+] rwnspace|7 years ago|reply
So it moves while self-solving. If the movement is regular, how about an effort to solve associated 'maze puzzles' with scrambles? It would be neat to see solutions with isomorphic paths.
[+] Vagantem|7 years ago|reply
Suddenly realizing how magicians do their Rubiks Cube tricks, they put them in a bag and the cubes solve themselves..
[+] salutonmundo|7 years ago|reply
Maybe, maybe not. Substitution tricks are surely pre-industrial.

This does bring Clarke's third law to mind, though.

[+] DonHopkins|7 years ago|reply
In Soviet Russia, Rubik's Cube solves you.
[+] femto113|7 years ago|reply
This is totally charming! Seems like it would benefit from having a clutch so you can disengage the servos while scrambling or attempting to solve by hand.
[+] guiambros|7 years ago|reply
[+] zeptomu|7 years ago|reply
Wow, how did they get 850k?

They have like 2 things, a cube that measures its configuration and some matchmaking platform where you can cube against others.

If one wants to learn how to solve the cube using instructions (although I think finding it out on your own is a nice exercise), there are 1000s on the internet and even apps that use your phone's camera to give specific instructions.

On the other hand if you want to do speed-cubing (that's actually a thing) it is impossible to avoid cheating over the internet (granted that's also true for chess and other games that have been solved using computers).

The linked project however is really cool - completely useless, but extremely nice. Kudos to the maker.

[+] 317070|7 years ago|reply
This one has the sensors to measure the state of the cube, but not he motors to manipulate the state.
[+] pen2l|7 years ago|reply
There are some CAD pics in that page. I find it curious that the cad pics merge together the mechanical parts, the wires, and the electronics.

Can anyone tell which CAD software they’re using just by looking at the screenshots?

[+] Z1515M8147|7 years ago|reply
Just a stab, but it could be PTC Creo using wiring looms.

Example image of wiring an assembly in Creo:

http://www.arbortext.com/-/media/Images/CAD/PTC-Creo-PCX---1...

I am not aware of the interface method Creo uses for wiring or resolving connections, it could be purely graphical with no resolving at all. If so I would assume that the electronics/pcbs you can see in the original article are likely just 3D STEP models exported from the ECAD package into Creo.

Sadly, the market does not currently (to my knowledge) present engineers with one single software solution for ecad->mcad>wiring>assembly>release, instead relying on various software packages, licenses and extensions on these with each user (company) forging their own local workarounds to bridge or replace specific steps of the process.

[+] matchagaucho|7 years ago|reply
The number of solve moves appears to be 4x the number of shuffle moves (?)
[+] gus_massa|7 years ago|reply
Nice observation. I count 15 vs 65.

Most algorithm to solve the cube use some family of predefined blocks of moves. Each block of moves does something simple but interesting, like swapping two edges, or rotating two corners, without changing the rest of the cube. So you can start building one face and then slowly extend the solved part until all the cube is solved.

This is easy to memorize and to use, because all the decisions to use a block of moves are "greedy", you just fix another edge or you fix another corner, one by one.

The problem is that this approach doesn't provide the shorter solution. It's funny to make tree or four moves and then watch someone else use a few hundreds of moves to solve the cube.

[+] aidenn0|7 years ago|reply
The cube can't do middle rotations, so it will take longer than the minimum path in general; it's also likely that the solving code is not well optimized.
[+] PDoyle|7 years ago|reply
Yeah, they're using a rather naive human-oriented algorithm. It would be straightforward to improve this with a software upgrade.
[+] crtasm|7 years ago|reply
The videos are incredibly satisfying. I wonder... if you try the old trick of flipping a single edge piece does it give up immediately or attempt the impossible forever?
[+] bunderbunder|7 years ago|reply
I bet it has absolutely no idea what the colors on the stickers are. It's probably just keeping track of how the cubelets have been permuted from some initial state, and then figuring out how to get back to that state.

So, if you flip a single edge or corner piece, it'll just solve itself into a state where every cubelet is in the correct position, but that edge or corner piece is rotated.

[+] patejam|7 years ago|reply
The software to see if it's in a valid state is trivial. But like the other commenter said, it's probably just calibrated to a "start" position.
[+] DonHopkins|7 years ago|reply
Kids these days. Next they'll have bowling balls you can steer with your phone.
[+] sne11ius|7 years ago|reply
That's an awesome idea.

There's a lot of room in a bowling ball so I think it should be possible.

Let's put a camera in the finger holes (no idea if there is a "right" name for them, sorry) and make the ball steer itself.

After that works, start to reduce the hardware size and go for golf balls and the big money ;)

[+] madmaniak|7 years ago|reply
The shortest implementation of solving algorithm is a stack of taken moves while shuffling which just should be reversed one by one.
[+] mnr|7 years ago|reply
You could have shuffled it into a position where it takes less moves to solve than you made while shuffling.
[+] PDoyle|7 years ago|reply
That depends on whether you think "unscrambling" counts as "solving".
[+] paradite|7 years ago|reply
Probably a silly idea, but I wonder if the cube will maintain zero net entropy through this self-solving process.
[+] nofunsir|7 years ago|reply
This was my first idea for my senior project in 2012! Didn't do it, but glad someone finally did.