
Self-solving Rubik's Cube - murkle
https://media.dmm-make.com/item/4462/
======
femto113
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.

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

------
macromaniac
See also: Self rolling dice

[https://m.youtube.com/watch?v=urd8neVMt4Q](https://m.youtube.com/watch?v=urd8neVMt4Q)

------
dllu
I tried making a self-solving rubik's cube in 2013 as part of a school project
[1]. It didn't quite work and I gave up.

[1]
[https://daniel.lawrence.lu/engineering/cube/](https://daniel.lawrence.lu/engineering/cube/)

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

------
still_grokking
The innards look like Borg technology. Very cool.

------
guiambros
Similar, but more elaborated concept:

[https://www.kickstarter.com/projects/1928372437/gocube-
the-c...](https://www.kickstarter.com/projects/1928372437/gocube-the-classic-
puzzle-reinvented)

~~~
zeptomu
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.

------
pen2l
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
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...](http://www.arbortext.com/-/media/Images/CAD/PTC-Creo-PCX---
1.png?h=173&w=298&hash=04BFF746B2457DF0D9FD4AAD478BE92D9A124023&la=de-DE)

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.

------
Vagantem
Suddenly realizing how magicians do their Rubiks Cube tricks, they put them in
a bag and the cubes solve themselves..

~~~
salutonmundo
Maybe, maybe not. Substitution tricks are surely pre-industrial.

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

------
nofunsir
This was my first idea for my senior project in 2012! Didn't do it, but glad
someone finally did.

------
paradite
Probably a silly idea, but I wonder if the cube will maintain zero net entropy
through this self-solving process.

~~~
adrianN
Frictionless motors must be pretty expensive.

------
vandahm
How does the microcontroller know the state of the cube?

------
matchagaucho
The number of solve moves appears to be 4x the number of shuffle moves (?)

~~~
gus_massa
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.

------
lpasselin
Fitting the hardware in the cube is the innovation

~~~
gurtwo
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.

~~~
CorpOverreach
Exactly this!

The solving algorithm is no big deal at this point. Experienced cubers can
solve them in under 10 seconds. There are machines that can solve them in <
1s. [1] Again, the innovation there is the accuracy and precision of the
machinery involved.

[1]
[https://www.youtube.com/watch?v=nt00QzKuNVY](https://www.youtube.com/watch?v=nt00QzKuNVY)

------
part997
QUALITY tutorial... I just did one and am not sure I explained as concisely﻿

------
faissaloo
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!

~~~
_-__---
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.

~~~
nomel
I'm assuming that this cube could not be handled as a normal cube. The gearing
would give it an odd feel, like moving a servo by hand, and giving too much
torque would probably wear teeth.

To make it feel "normal", you could "assist" the user with the motors, but I'm
guessing speed would be severely limited compared to a normal cube.

~~~
Retra
Just make the faces buttons and have the button press signal a rotation.

------
webXL
_Useless_ Rubik's Cube

------
Theodores
Solving the original Rubik Cube (Ideal branded, obviously) was an impressive
feat 35 or so years ago when the craze was in full swing. I would say this
cube is a little bit late to the party. But wouldn't it have been fantastic if
your cube could have gone into 'teaching mode' or 'hints mode' where an
automated cube could just nudge you on to be able to finish the puzzle without
a) popping the squares out or b) clumsily picking off stickers and re-applying
them, thinking nobody would notice.

Also had this cube been a retail best seller a decade ago then I think Edward
Snowden would have had to have chosen another toy to hide his SD cards in.

Nonetheless, Christmas is coming up, I hope Santa has one of these for me...

------
DonHopkins
Kids these days. Next they'll have bowling balls you can steer with your
phone.

~~~
sne11ius
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
The shortest implementation of solving algorithm is a stack of taken moves
while shuffling which just should be reversed one by one.

~~~
ghubbard
Unless you scramble the cube using more than 20 moves.
[http://www.cube20.org/](http://www.cube20.org/)

~~~
Systemic
The comment you're replying to mentioned the shortest implementation, as in
the size of the program written to solve the problem.

I believe you're talking about the the optimal shortest path to the solution,
which while true, relevant and interesting, isn't contrary to the point.

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

~~~
crtasm
Yes, it may need to be flipped in software as well as in hardware.

~~~
bunderbunder
If the software allows for modeling that kind of thing.

There's two ways you could model a piece's orientation in the code: Either
relative to its initial state, or relative to some external/objective
reference point. The latter would allow you to say, "The initial state looks
like the traditional solved state except that this one piece is flipped."
Otherwise, though, it wouldn't really be useful, and I'm pretty sure that it
would make both the math and the programming more complicated, so I'd assume
(or at least hope) that that's not how it's being done.

------
aidos
That's so cool! When I was figuring out how to solve it myself (took a year of
tinkering to come up with an algorithm) the first big revelation is that the
centres always stay fixed relative to one another.

~~~
jawnv6
Sounds like you're ready for a Rubik's Revenge (4x4x4)!

------
emiliobumachar
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)

~~~
sgustard
Or replace the table with a bowl.

~~~
emiliobumachar
This solves the problem, but wipes 95% of the value of the device as a
portable party trick.

~~~
Drdrdrq
Because there are no bowls at parties?

~~~
cjhanks
No party has ever had a bowl, however, it may be possible to research
opportunities for introducing them in the future.

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

~~~
whamlastxmas
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.

~~~
Ajedi32
Hence the speaker and LEDs.

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

~~~
zeptomu
That does not really matter I think. The cool part is that they very able to
build a cube that looks similar like Rubik's but has electronics and motors
embedded that are able to turn it.

Solving the cube with a computer is a solved problem for a long time and there
are myriads of algorithms. Granted the solutions are not perfect (i.e. using
the minimum number of steps needed which is always <= 20), but mostly come
close (~25 steps).

~~~
adrianmonk
I think it has psychological significance.

It's one thing to have an object that violates expectations by taking action
that an outwardly similar object does not. It's a surprise move that turns the
tables on the person interacting with the object. (You could almost view it as
a threat or a power dynamic thing.)

Having those actions be as intelligent as possible raises this surprise to
another level. If I fiddled with it for 5 minutes and it put it back in 30
seconds, I'd feel even more like I just got owned by the object.

