SquidCuber | The world's fastest (1 second average) Lego Rubik's Cube solving robot!
Вставка
- Опубліковано 10 лют 2020
- For those interested, the full source-code is available here: github.com/efrantar/squidcuber (robot), github.com/efrantar/rob-twophase (solving algorithm).
This succeeds my own mirrcub3r ( • mirrcub3r | The (forme... also featured in the 2019 Royal Institution Christmas Lectures • Christmas Lectures 201... ) as the new fastest Lego-based Rubik's Cube solving robot in the world. Most, obviously it can now turn all 6 sides making solutions ~12% shorter on average. This is however by far not the only improvement that has been made. First, the now exclusively Technic-based construction is a lot more stable and centers the cube much better allowing even more aggressive turning while at the same time maintaining noticeably better consistency. Further, the solving algorithm has been carefully revised, making it even more efficient and implementing some extra features. One of those is the ability to return more than a single solution thus allowing post-selection based on historic timing data (collected during previous solves) to also incorporate information not directly considered by the solving algorithm into the process of finding the solution that will take the shortest time to execute. Perhaps the biggest improvement of SquidCuber is the color recognition algorithm (although it is not very relevant in terms of speed). Being a combination of machine learning and full constraint propagation it is able to reliably handle the extremely difficult scanning conditions of this robot (most prominently, the strong reflections caused by the steep viewing angles and unfavorable surface texture of the cube), which completely broke all my previous approaches.
Overall, this machine pushes the Lego hardware to its absolute limits and includes basically every optimization, no matter how small, I could come up with. For now, I believe this is about as good as it is going to get. However, I think it is already pretty crazy that consistent 1 second times are possible with Lego at all. - Наука та технологія
Similar to all other 6-axis robots, SquidCuber solves a cube with slight modifications (in this case a small Lego plate glued onto each center). However, recently I have also made Cuboth, a super fast Lego robot that solves a cube without any such modifications: ua-cam.com/video/Kjb-MmwueEQ/v-deo.html and it is in fact currently the world's fastest robot to do so (even counting non-Lego machines)!
It's too much *POWER*
you deserve millions views
@@theneoncuber797 Thanks!
@@anakinskywalkercrappyprodu2205 The LEGO side of engineering is a pathway to many machines some consider to be... unnatural.
ок
With just legos?
Thats 10x cooler
Thank you! Yes, the idea of this project (as well as my previous robots) was to see how far Lego can pushed. While you of course cannot compete with the most recent overall record holders that use top of the line professional industry motors (which are orders of magnitude more powerful than the Lego ones), I am myself still a bit surprised how far one can actually get with "toy" hardware just by meticulous optimization.
Yeah amazing
Lego hardware is actually surprisingly powerful. Mainly due to the bricks themselves, which are surprisingly strong.
@@bigsmall246 yeah Lego really makes the mark there as opposed to other ripoffs who don't go for the same amount of durability with individual bricks so major shout-out to Lego for doing that mad making our childhood infinitely better
@@EliasFrantar At first I was like "sub1 did that like years ago wdym fastest Rubik's Cube solving robot"
And then I read the title again
That's awesome
Incredible!
Thanks a lot!
Truly!
I agree with Elijah
да
Hmm ua-cam.com/video/mpOTJ3wo5oc/v-deo.html 🙄
Asian mom:
"*you can do better*"
Oh Man can't agree more!!! 😂
I would like to see the asian mom tried lmao
Your username 🤣🤣
Exactly!!😂
She be like: You need to break this Machine's record
Underrated joke 😂
It's amazing how far technology can go. Assembled so perfectly, to solve a cube in 1 second.
Idiottt. IT s in reverse. Dont solve notging. Just mix
This is the coolest solver I've seen. It is really cool how the average is so low, and you didn't just have lucky solves!
Thank you! Yes, given the speed of modern solvers (now even of the ones made with just Lego) I think the average is really what should matter (thus I also only put this solver's lucky PB at the very end of the video). Unfortunately, there are only videos of a single solve for most other really fast solvers (Sub 1 Reloaded, MIT robot, Master P) making it quite hard to judge their actual speed (they are certainly faster than SquidCuber, and they better be using much more powerful motors, but I suspect that their average is also quite a bit higher than the solve we see). Because of this I think SquidCuber might actually have the fastest (inofficial) average on camera by any robot in general?
@@EliasFrantar x d ha ha đh đã gà cẫvzavazacagxvsxsbvscsxvxvhcwbxebhecnecebe
@@khoadangminh1194 haha
This is some super crazy mindset you guys be having 👏🏻
Makes me think what else you capable of!!
Meanwhile somewhere some people are wasting time worrying about a dead drug dealing criminal.
This is amazing, props to the creator of this machine.
UA-cam: wanna see a robot solve a rubix cube in a second?
Me: fuck yeah
Wanna see it again?
It is spelled rubik's cube
lego robot
@@V0RT3X798 no Shıț sherlock.
Wieojaja
underrated. at least the algorithm is starting to come to its senses
Thanks! Yes, the video is getting a lot of views recently (and views are also slowly but steadily increasing on my newest robot). I am very happy that so many people are now (after almost a year) watching my projects that I have put so much time into :)
.....took the algorithm where you can rotate 2 opposite sides at once. This saves a lot of (waiting) time.
The fact is it was reverse video😁😁😁
This is one of the most incredible individual builds I’ve ever seen accomplished in any medium. Congratulations, astonishing!
wow that is amazing and the fact that you did it with legos makes it 100 times better!
Amazing! I never tought that it would be possible to port that axle / parallel moves actuator to LEGO with such a speedy result.
Thank you! I am also a bit surprised that I managed to make it that fast, I just never stopped optimizing, always tried out new tricks and eventually (over the course of 3 robot iterations) reached the time you see in this video. If you had asked me a year ago I would have probably told you that a 1 second average with Lego is essentially impossible (at that time the best Lego solver was sitting at 2.2 average and already looked pretty much like the limit), yet here we are. :)
The creators: this took weeks to even conceptualize and years to make.
The viewers: haha cube go brr
LOL funny.
How dare people enjoy things others put work into.
How dare you insult my intelligence with this gross misunderstanding.
Lego machine go brr.
LoL
Viewer: Wow, this must have took weeks or even years to figure out!
Creator: lego goes brrr
Nice job bro! Its great!
Wow. I make a lot of Lego Technic designs but this is by far the most amazing feat of Lego engineering and programming I have ever seen. This is a truly inspiring piece of work and achievement that can't be over rated. You are a genius.
I wish a 4x4 or 5x5 version would be possible. That would be sick to watch
I can see a way to do a 5x5x5. However, while all odd numbers have an easy anchor non moving point, the middle of the face, all even numbers do not! Don't say it's not feasible for even edges, just the approach has to be different!
@@olivierleynaud7841 how would you do a 5x5? Assuming the anchor points are in the center, you could only rotate the edges. The center 3x3 of the 5x5 would be untouched.
@@wolflordy3193 Two ways, the first and fastest is two concentric axles (an axle inside a pipe), the first one digging through the first layer to grab the second. However not all cubes are the same build, not sur it will work for all. Second, far slower, grabbing second layer with a retractable and rotatable two or four digits grabber. It will be slower as it would nees to open fully to let the next move happen. It will also be mechanically more fragile.
5x5, sure but who can hold the position for 4x4
Well your wish came true! the 5x5 has been done by a robot in 3.08 seconds. Still no telling when there will be a robot for the 4x4 though
Wow this is so beautiful!
Dude, amazing work! I didn't know this was possible!
IT s possible If You put in reverse
Incredible! I never thought about it.. 🙏
Me: wow thats fast
Me after realising that its made of lego: invest!
Now that is impressive. All the robot aren’t made of lego. This guy made it of lego which is insane
what
what
What he means is all the other rubix cube solving machines are robots, but this one is lego so it’s crazier
@@helpkirbyhasagun_2047 ya thank for translation couldn't understand the wording
@@missingno2401
Np
Man you really killed this one! Keep going!!
Awesome engineering ❤️
Wow just wow. Well done !!!!
Thanks!
wow this is amazing
Thanks!
This is legendary!
There needs to be intrusions for this, this is the coolest thing I've seen.
Imagine if he would make a tutorial on this
I'd pay money to see how he made this
probably like a 50 part series 2 hour each
The algorithms to memorize would be to much for a human. And we're limited in our dexterity comparably.
Then it will be solved in 10 minutes
So cool. Best one I've seen
Thanks!
Nice job !!
Super cool job creating that!
When your parents force you to become an engineer but you wanna be a YouCuber instead
So cool Dude...A subscription well deserved :)
Thanks!
Awesome 🔥
OMG! ITS AMAZING!!! BRAVO 👏🏻
That was strangely the longest second of my life
Look how humans have improved the technology 🔥
This is just amazing 🤩
I'm deeply impressed!
That's incredible! I can't believe these speeds are even possible with Lego. Amazing!!
Solving rubix cube in a machine is amazing, and the fact that this is a lego machine, its mind blowing
Nice namesake, great video. You gain a new subscriber.
That is so cool! 😎
"This is a simple Rubik's cube tutorial."
The Rubik's cube tutorial:
The fact it's made from legos makes this 100× cooler!
Have you managed to get monetised and recieve ad revenue for all those views?! Cuz you 100% DESERVE it.
Damn this is so cool 👏
That's incredible. Wow
Dam that gan cube is smooth
Guenniss book record holder :
Finally a worthy opponent.
OP dude🔥🔥🔥
Amazing!
The machine: this is incredible am i really doing this?
Would it be possible to make a 4x4 solver with legos, I know middle layers will be pain but you can be the first one, maybe you can make fast popping sticks that can turn these.
A (fast) Lego 4x4x4 solver is actually my next project, which is planned for this year :) The 6-axis mechanism of SquidCuber is going to be very difficult to adapt for handling a 4x4x4 cube. I think extending the mechanism used by my newest robot Cuboth (that solves 3x3x3 cubes without any center modifications) is a lot more promising, but you will have to stay tuned to see what exactly I am planning! ;)
This is excellent.
THIS IS SO AMAZING
How is this guy not on the genius world record!
Because îs fake. IT din reverse. The machine just mix
Question: does the fact that every starting scenario has the correct color in the middle of the face influence the difficulty of the solving algorithm?
Not at all. The solving algorithm does not use the colors red, blue, green, etc. but only treats them as right, left, up, and so on. This means, whatever color the center on the right face is, it will always be called R. Note also that the 6 centers of a cube can never move (you can check this on your own cube), which is why this 6 axis design actually works in the first place.
@@EliasFrantar Very Cool!
Wow this is amazing
Amazing :D
*Seeing in ×2 , just amazing 🤟*
It went so fast that slow motion looks like normal turning
Nice timing accuracy. Well done! to firmwarers. 👍😀
Потрясающе!
Colorful Plot twist: They're just playing the solved rubix cube footage, backwards. 😐
1:48 “yeah”
dayum! this is SICK
Krasse Sache, Alter!
HOLY ROCK.
What solving algorithm does it use
It uses "rob-twophase" github.com/efrantar/rob-twophase, which is my own extremely efficient implementation of Herbert Kociemba's two-phase algorithm further adapted to take the robot mechanics (i.e. turns on opposite faces can be performed in parallel, a 180 degree turn takes about twice as long as a 90 degree one) directly into account while searching for a solution. This gives about 20% faster to execute solutions on average. Additionally, my solver returns more than 1 solution so that I can then also select the fastest one based on data about the timing of turn transition that I collected from prior solves. This solving algorithm is one of the keys to the exceptional performance of the robot.
Amazing.. Cheers👍
For a new best time: make only one turn with the fastest motor being the one that has to turn
@red dunkey what are you talking about? you've been replying this in multiple comment threads.
I didn't even notice this was Lego until I read the title again
same
This is so cool
Good job
This rubik's cube solver is amazing. Are you using an external power supply? Do you use daisy chain connection between the two Mindstorms EV3? Are you planing to make any kind of building instruction?
Thank you!
Yes, all 3 Mindstorms are directly connected to a 9V power supply (as the prices for the official rechargeable batteries are pretty absurd I use a home-made solution to do that; this is what the thin red & black cables on the table are for). No, all 3 Mindstorms are connected via USB to a PC, which does all the move-scheduling etc. and sends the appropriate commands to EV3s.
At the moment I unfortunately do not have any plans to make instructions. The main reasons are a) that this robot would be very expensive to recreate (it uses 3 Mindstorms & 12 Medium Motors after all) and b) it is designed to push the speed to the absolute limit and not necessarily to be robust to varying setups (i.e. cubes, web-cams, etc.). For example it heavily utilizes the corner cutting capabilities of the particular cube I am using (which took extensive amounts of manual tuning and even automatically considers data collected during prior solves). Hence, getting the machine to work (especially as efficiently as in this video) would probably require quite a bit of non-trivial tweaking.
My full source code is however public (see video description) so that anyone building their own robot can have a look and learn some tricks or even reuse some parts (with proper credit I hope). Further, I am always happy to answer questions / provide tips for anyone working on their own solver. :)
Uncontrollable laughing like a mad man at this 😂 it’s like a robot that has to have it perfect
Extremely impressive solution for extremely impressive puzzle toy.
I’ll never understand how you did it,but it’s so cool!!
Wow, a computer can solve something really fast. That's amazing.
Totally missed the point you sarcastic pr1ck. It's not the computer solving it that's interesting. That's the easy bit. The robotics part, physically solving it quickly is the really tough part.
Certainly a cool piece of engineering. I'm curious if there's relevance for real life applications?
Speed cubing is real life ffs!
@@ChrisLee-yr7tz well if we're arguing semantics then everything is real life. I'm asking what use it has outside of what it is currently demonstrated here, that is speedcubing, that we see out there?
Fancy looking gears beyond cog wheels find itself in car engines' Reuleaux Triangle, so what other applications is there for this contraption that requires high speed calculation and quick, precise, physical adjustments?
@@HibiscusOrchid yeah I'm being silly cause I'm a cuber...
Incredible
Interesting solves.
Legend watch after 1 years
I am
ua-cam.com/channels/PyuvKLmVupjr2Z66lF4AkA.html
ua-cam.com/channels/PyuvKLmVupjr2Z66lF4AkA.html
Me
This is possibly the worst and low effort comment I've ever seen.
Hi Elias, I am from Science Centre Singapore and I would like to reach out to you with regards to SquidCuber. We are developing an exhibition on Robotics and while we were researching on what to showcase, we came across this video and would really love to showcase your SquidCuber. Is there any way we can discuss further?
I just responded to your email.
I'm blown away.
Thats really cool
What cube r u using (main?)
This robot uses a GAN 356R, my newest robot uses a GAN 356X and I personally "main" a GAN 356XS (however I am not that great a cubing myself, my specialty lies more in creating super fast cube robots).
I dont get world records for fastest rubics cube solve times, the randomised cube can vary in difficulty and time.
That's true, I also think this is a problem, especially since most other really fast robots (on UA-cam) show you exactly one solve (presumably the luckiest one they have ever gotten). This is why I always show multiple random solves in my videos and also consider the speed of my machine in terms of average solving time (i.e. ~1 second here, instead of the ~0.75 best solve; similarly ~1.9 seconds average for my newest robot that solves cubes without center modifications).
@@EliasFrantar BTW, dont take my comment as a way of hitting you, I think what you're doing is great and big brain, I was just talking about actually people world records.
This is insane
Fun fact : Every Legendary video is always less than a minute
Это афигенно Выглядит очень захватывающе Прикольно попробовать эту конструкцию на больших кубиках Думаю будет выглядить очень красиво
Can you please share how you did the color reading? I finished my implementation today, and the most time I spent was on color detection and it still doesn't work reliably. I had to do a very naive approach of k-means clustering of all tiles after reading all 6 sides. ua-cam.com/video/myctUKspBio/v-deo.html but it still not 100% reliable due to light conditions, different cubes, glare on the stickers etc.
Hi Dmitry!
Color recognition is indeed quite tricky and also took me quite a while to get working reasonably for my robots, which feature extremely difficult conditions due to looking at the facelets from angles and various amounts of light for different parts of the cube. My current method consists of two parts: 1) compute confidence estimates for every facelet using a KNN learned from data 2) greedily build the most probable valid (i.e. fulfilling all constraints of a solvable cube) cube according to these estimates; step 2) is quite challenging to implement properly, but also very powerful in correcting scanning mistakes. You can find my code here: github.com/efrantar/squidcuber/tree/master/scan
Looking at your video, it seems that you can get straight scans of all 6 sides in the same conditions, which makes things much easier. A simple approach that I found to work quite well in such a setup is to first convert all color values to HSV, then find the white stickers by taking the 9 with lowest S, sorting the rest by H (shifted by ~30 degrees to make sure all red stickers are at the beginning) and then assigning the colors in order: red, orange, yellow, green, blue. I think this is also somewhat similar to what the MindCuber is doing (although the MindCuber's color scanning is certainly more advanced).
Elias
@@EliasFrantar wow, that is genius, how did I miss that (separating the white first then everything becomes trivial). I've tried doing some dumber heuristics by HSV, then went back to RGB, eventually implemented some weird version of same size k-means clustering to make it work (but still using RGB to calculate the distance from the 6 centroids). Will try the suggested approach, thanks!
Wooowww man made my day. Machine learning , AI and automation damm great,time saving,productive and creative🎯🥳🥳
Wow bro keep making awesome videos and make videos of solving rubic cube by hand
Man this robot too has a gan cube still I don't have it
Machine: Solves it in 0.99 seconds
Video: Ends in 59 seconds
I was about to say the same lol
Finally, I found what I was looking for!
Satisfying!!!😌
I saw it in 0.25x speed and still could'nt recognize it. Machines are really faster than my....my...everything.......