11 ms·
Self-solving Rubik's Cube
- guiambros 8y agoSimilar, but more elaborated concept: https://www.kickstarter.com/projects/1928372437/gocube-the-classic-puzzle-reinvented https://www.kickstarter.com/projects/1928372437/gocube-the-c...
- 317070 8y agoThis one has the sensors to measure the state of the cube, but not he motors to manipulate the state.
- zeptomu 8y agoWow, 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.
- rwnspace 8y agoSo 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.
- madmaniak 8y agoThe shortest implementation of solving algorithm is a stack of taken moves while shuffling which just should be reversed one by one.
- ghubbard 8y agoUnless you scramble the cube using more than 20 moves. http://www.cube20.org/ http://www.cube20.org/
- Systemic 8y agoThe 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.
- mnr 8y agoYou could have shuffled it into a position where it takes less moves to solve than you made while shuffling.
- jfoutz 8y agospecifically, rotate one face one quarter turn 3 times. a replay will undo all 3, but the optimal move is to continue the rotation one more quarter turn. (as the degenerate case for a solution being better than unwinding the move stack.)
- aidos 8y agoMore interestingly, the cube is always 20 moves away from a solution, not matter how much you've mixed it up.
- paradite 8y agoProbably a silly idea, but I wonder if the cube will maintain zero net entropy through this self-solving process.
- adrianN 8y agoFrictionless motors must be pretty expensive.
- aidos 8y agoThat'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 8y agoSounds like you're ready for a Rubik's Revenge (4x4x4)!
- Zanni 8y agoBut 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.
- aidos 8y agoLooks like it's solving to me. It's taking longer to solve and there's a screenshot of some solving code in the description. I notice also that it appears to not be able to move the middles sections, so instead it twists the middle and one side and then twists the side back again - so that adds an extra inefficiency. EDIT if you look at the first video, the first move the solver makes is not the inverse of the last one the player made, so I'm sure it has its own solver. Also, there are pretty standard solver algorithms (I've never looked them up because I don't want to spoil the game for myself but I have a really inefficient one I've figured out myself).
- bunderbunder 8y agoI'm pretty sure it's using some version of Fridrich. It looks like it in the video, and the source code screenshot has a file name, "solve_f2l.cpp", that would appear to be referring to the "first two layers" step, which is usually abbreviated as f2l. For finding a solution by computer, it has the advantage of being almost completely a rote application of algorithms.
- nearmuse 8y agoIt is not as relevant, it is the hardware that looks cool.
- zeptomu 8y agoThat 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).
- matchagaucho 8y agoThe number of solve moves appears to be 4x the number of shuffle moves (?)
- gus_massa 8y agoNice 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 8y agoThe 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 8y agoYeah, they're using a rather naive human-oriented algorithm. It would be straightforward to improve this with a software upgrade.
- Theodores 8y agoSolving 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...
- lpasselin 8y agoFitting the hardware in the cube is the innovation
- gurtwo 8y agoI 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 8y agoExactly 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
- londons_explore 8y agoThe fact they designed custom servos for this surprises me. That's a significant time/cost, and typically out of reach for home electronics hobbyists.
- Vagantem 8y agoSuddenly realizing how magicians do their Rubiks Cube tricks, they put them in a bag and the cubes solve themselves..
- rustcharm 8y agothis is not how they do it
- salutonmundo 8y agoMaybe, maybe not. Substitution tricks are surely pre-industrial. This does bring Clarke's third law to mind, though.
- DonHopkins 8y agoIn Soviet Russia, Rubik's Cube solves you.
- emiliobumachar 8y agoVery 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)
- sschueller 8y agoIt should stand itself on one edge like Cubli and solve itself [1] [1] https://www.youtube.com/watch?v=n_6p-1J551Y https://www.youtube.com/watch?v=n_6p-1J551Y
- ape4 8y agoYeah, I was thinking it could add some "walking" moves to get away from the edge. Rotate two sides together like two wheels.
- sgustard 8y agoOr replace the table with a bowl.
- emiliobumachar 8y agoThis solves the problem, but wipes 95% of the value of the device as a portable party trick.
- foofoo55 8y agoAre 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.
- faissaloo 8y agoThere 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!
- _-__--- 8y agoI 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 8y agoI'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 8y agoJust make the faces buttons and have the button press signal a rotation.
- bunderbunder 8y agoThere is a metric for the # of turns needed to solve a cube from a particular state. I can't remember its name offhand, but the word for the maximum possible number of moves - 20 - is known as God's Number. I'm not sure it's relevant to the difficulty of the scramble for a human, though. Most solving methods follow an approach that isn't even trying to find the minimum possible number of moves. The one that most of the fastest speedcubers use is, IIRC, the least move-efficient of all the standard methods. It just manages to be faster in terms of time because it's such rote method that, if you learn it well and get it burned into your muscle memory, you don't really have to ever even stop to think about what you're doing in the middle of a solve.
- Ajedi32 8y agoSeems 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.
- louwhopley 8y agoPerfect project to run as a Kickstarter campaign
- bduerst 8y agoTo be killed by the parent company for infringement maybe.
- lwb 8y agoOr have it play music and be like a DJ Rubik's kind of thing
- fenwick67 8y agolike a bop-it!
- adrianmonk 8y agoLike a Bop It that never says anything but "Twist it!" over and over again.
- pavel_lishin 8y agoIt could scream in terror every time you try to turn the wrong face.
- whamlastxmas 8y agoIn 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.
- macromaniac 8y agoSee also: Self rolling dice https://m.youtube.com/watch?v=urd8neVMt4Q https://m.youtube.com/watch?v=urd8neVMt4Q
- crtasm 8y agoThe 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 8y agoI 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 8y agoYes, it may need to be flipped in software as well as in hardware.
- bunderbunder 8y agoIf 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.
- patejam 8y agoThe 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.
- part997 8y agoQUALITY tutorial... I just did one and am not sure I explained as concisely
- deleted 8y ago[deleted]
- pen2l 8y agoThere 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 8y agoJust 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.png?h=173&w=298&hash=04BFF746B2457DF0D9FD4AAD478BE92D9A124023&la=de-DE 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.
- femto113 8y agoThis 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.
- webXL 8y agoUseless Rubik's Cube
- still_grokking 8y agoThe innards look like Borg technology. Very cool.
- dllu 8y agoI 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/
- vandahm 8y agoHow does the microcontroller know the state of the cube?
- nofunsir 8y agoThis was my first idea for my senior project in 2012! Didn't do it, but glad someone finally did.
- DonHopkins 8y agoKids these days. Next they'll have bowling balls you can steer with your phone.
- sne11ius 8y agoThat'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 ;)
- deleted 8y ago[deleted]