Huge thank you to everyone who helps support these projects via patreon. It makes it possible for me to spend so much time and money on projects like this. If you enjoy these videos please consider supporting them on Patreon at patreon.com/stuffmadehere so that I can continue to make increasingly bizarre and interesting stuff to share with all of you :)
Once I wrote many many many lines of software to take some training at work for me so I did not have to do it. It was simple, only consisting of parsing some reading material and answering very basic questions. It would not have taken long to just do it myself. My manager said never had he seen somebody do so much work to get out of doing so little work. I'm still proud to this day.
This man seriously has some of the most incredible feats of engineering I’ve seen. I mean, the sheer amount of work he must put into every one is just astronomical. Many thanks for sharing them!
You're a Renaissance man for sure! Not many people have engineering, software, design, storytelling, and video production skills. Looking forward to part 2!
@@bluack123 he is the master , can't imagine as time passes how brilliant his projects are gonna be , he keeps on stepping up with every single video .
I am a software engineer and a mechanical engineer. I used to work on a pick and place machines to place electronic components on empty PCBs it took teams of amazingly experienced engineers months to build such a machine. Seeing you single handedly creating the entire thing from scratch is unbelievable. Such a talented guy. With a few more like you out there no human will ever need to work anything again.
I would assume the micrometer precision that it needs makes it a much bigger challenge doesn’t it? Still very impressive to see what he can do alone in such a short amount of time.
My dad told me a story once about an early chess computer he played against, many years ago (probably early-mid 70s? I believe this was during his time as a journalist with the Army Times, kinda wonder if there's an article somewhere documenting this story). He checkmated it, and it confidently kept playing as if it hadn't just lost. Very similar vibes.
@@wacco4932 Not to build the machine, to make the machine actually do something useful. Bolting parts together is easy, it is making those bolted together parts actually do something useful that is the hard part!
I’ve been a professional software engineer for over 30 years and a weekend woodworker for 20. My friends consider me a “nerd’s nerd”. I can honestly say I live only in the outer suburbs of “nerdville” when compared to you. You are inspiring just in your enthusiasm to take on (and somehow SOLVE) engineering problems that would daunt TEAMS of people. Kudos to all the skills you have built and integrated so well!
This guy is insanely talented, though I think for a team it would be even harder because of communication issues. He knows everything that runs this project.
I've studied photogrammetry for surveying, so I was smiling throughout the whole section on lens distortion and parallax. Such an underappreciated science.
I'm a software engineer and it would probably take me much longer than 3 weeks to make all these algorithms work let alone build the thing and record everything for RUclips. What this guy does is truly incredible. He's basically doing the work of entire engineering teams in a fraction of the time.
There is this thing that differentiates an "entire engineering team" and someone who can actually build stuff efficiently - motivation. You have to be genuinely interested in stuff you are making for the process to be efficient.
I totally don't understand this. Knowing a bit of the reality with simple Arduino project it seems just impossible that he's doing all that stuff, yet... It seems like he does. His professional portfolio does support the thesis that he's some kind of engineering demigod.
@@bzqp2 He simply reuse code he already used in other videos. Yeah it took him 3 weeks but with years of experience. Position correction, already did. Core XY to stepper, already did. image processing, maybe not on that level, but he know his way around openCV for sho. The only things missing in this video is an efficient solving algorithm, whose surely already have been done by some uni nerds, it just need a bit of google research.
As a software engineer, I can only imagine how much work it took to write the software alone, not even mentioning building the robot. Amazing stuff made here!
@@alexandrep4913 The harder problem is deciding which edge fits against which edge. If you brute force it that's n^2, so a 1000 piece puzzle has ~4000^2 comparisons. Additionally since the data for the edge comes from the real world it'll be inexact, so each edge match will have a "certainty" associated with it. Ideally every match with the highest certainty will be correct, but that's not guaranteed, so there are harder algorithms for that. A 100% correct solution might be NP hard.
Not to mention that he films it all, writes a script, narrates it all, creates animations to explain the concepts, then edits the sound, animation, and video together to make an enjoyable video that is educational and fun. Dude is a legend.
His next project has that actual accomplishment achieved and demonstrated in step #5. The only problem is when he attempts to uploads the video, the upload ETA just keeps spinning.
For the vibration problem, you can detect the natural frequency of the table through recording it somehow and doing a Fourier analysis. Afterwards, you can actuate the motor in a matter that prevents this frequency. That's how they make high speed stable systems.
you forgot the first rule of engineering !! keep it simple stupid his solution is less work , me i would've filled the table with concrete to increase its weight and reduce vibration , i will be left with a cool concrete table after the project ends
I was thinking something similar. Need to find a way to smoothly accelerate and not try to apply full motor power all at once. Of course this would also help with the 'too powerful a motor' and once tuned, could provide incredible motion performance with minimal jerking.
@@teramalik7260 Then that frame would wobble around and provide inconsistant movement and precision. Honestly, his way of just working around the problem is genius and in his situation might work better than just adjusting the frequency of the motors, although abviously doing both owuld be the best solution (the camera and ball and adjusting the frequency)
One way to do it is called input shaping, it's a technique used by 3D printers and other machines to help cancel out vibrations in the machine and the table itself sitting on
This seems like a whole year project for 20 engineers to work on and then eventually fail. I don't understand how a single guy can do this in such a short time. Well done.
The problem is that you have 20 engineers. And we all know that they all have 20 different solutions, to the problem, and they'll argue for the whole year and then as they didn't come to any conclusions they'll scrap the idea.
@@livedandletdie You see it in a lot of places, not just engineering. I guess you could make a "law" that's kind of like Parkinson's Law, but instead of being about time, it's about the number of people: try to solve a problem with 20 people, and you'll probably end up trying to to solve it in a way that requires 20 people, even if the same job could be completed quicker and more effectively with just 1 or 2 people.
Yup, as a software engineer, I can barely imagine all the code he has to create for this project (if he writes most from scratch). So getting this kind of results in less than a month of work... Either he spends very long nights, or he has the luck of having available libraries to make it just a little bit less painful to code everything. And I don't even know how he still has the time for all that fabrication.
I work on a 600M$ satellite project and I can say the process is not much different from this. We also have integration hell, "it turns out I need to spend half my engineering effort on an unanticipated component", "the software is super slow", etc. The main difference is that once you involve many people in your project, you become very inefficient. You start having to spend the majority of your time being in meetings and writing documentation, rather than solving problems.
Thats why I quit working as a dev in a large company. It almost made me hate the very thing I was so excited about. Those meetings and overall inneficiency made me misersble as hell.
Thinking about executing this hurts my head so much. Litterally every aspect sounds so complicated, and having to tie all of those together neatly sounds impossible. You are insane.
@@jshinab2 why not? didnt he say he drilled 30,000 holes? and he has to keep the pump running to suck out the air? well with magnets that isnt necessary
I think my favorite part of these videos is watching it break down a challenge into as small of a piece as you think you need to and then not having a problem with breaking that mini step into a micro step if it’s not working.
Learn what??😂😂😂everything he says sounds so smart that I have no idea what he is ever talking about but the things he makes are awesome so I keep coming back to see new and cool things
@@JoaquinLucero22420 I believe it took him long enough to learn all this and learn the basics And since you may not even have idea about the basics you don't learn or understand anything
Said this before, saying it again: you need a second channel that goes into more detail on the concepts used without necessarily losing too much time explaining the math in detail for people without an engineering background. I'm sure there are enough engineers watching you to make it worth your time :). I still absolutely love the toned down versions for a general audience, but I feel like I'm missing a lot of interesting bits by the time the video's finished.
I'm sure there being engineers willing to watch it is not worth his time, he's a married man with a baby child he needs to feed and he can't afford to spend his time on things that won't bring that much of a viewership
@@tonylee1667 It's absolutely worth his time. A few of the top comments on this video are asking for a second more detailed video to his projects. If this represents just 30% of viewership then it's extremely worth it. I'd imagine the bulk of time spent for him is designing the projects and getting them to actually work, he even references weeks worth of time to get some of the software right. A more detailed video just means talking more and recording more footage. The view/time spent to talk more about a completed project should be much much higher than a video about a new project. He gets to essentially double dip on views for each project.
His videos are already toned down my man, like he did not go into the complete tension calculations for the legs being rigid after tieing the cables, or the software for the gantry.
@@WACC_Warlord The views on that content would not even reach 10% of the original video, due to being relatively niche and being on a separate channel. I think it'd be more beneficial to have the content be exclusive for patreon supporters perhaps, giving more incentive to support his channel directly
You have mastered creating videos that cause me incredible amounts of stress from trying to imagine how much work truly goes into them. I can't wait for the next one!
For real. I was inspired and tried to make a simple desk lamp. After a week of planning and a weekend of effort, all Im left with is a lamp socket on the end of a cord.
I have never been more amazed by the sheer ability and genius of one person…. Just casually makes animations to explain stuff he casually designs, builds, and write codes to just work. I’ve seen entire companies less capable than this one person
> short time He spent three weeks on just making the bot put the pieces back without mistakes... That's 10 seconds of this video! I assure you this whole project took months.
I'm in a somewhat similar position, but for me the most impressive thing about this is really the motivation and amount of work put into one project. I simply can't imagine to have that much willpower
Bro you’re resilience is just on another level. I’m working on table that uses a coreXY mechanism and I got stuck and after like 6 hours of no progress I genuinely considered giving up. You’re ability to push through problems is amazing.
That guy is one hell of a engineer, the pure mass of base knowledge behind this is brain melting, normally a team of 10-20 guys is working on such projects.
Yeah, if you check out his other videos it just doesn't stop. As far as I've seen on RUclips this guy is just on another level. Some serious brains and problem solving, really props to him.
I just cant begin to imagine how much effort making something like all by yourself takes. You're so profound in so many fields its actually jawdropping. Building such a thing would take TEAMS of people working non-stop and yet you're taking on this mammothian task single handedly, my respect for your work is indescribable. 🙏
Classic engineer, "It'll take a month to do something, so instead I'll take several months to build something to do it for me." I wholeheartedly approve 👍
But the machine will do it in a week instead of a month, and the next time you need to do the same thing, you can do it in half a month instead a full month. You'll need a full week to find the machine, fix anything that broke, and give it a clean and tune up. Also, it might take you a few months to get the machine to do it for you once, but if you need this thing done often enough, you'll save countless time over the long run. Maybe this machine (not necessarily the puzzle machine) will only be used once, but a future project may borrow parts of several different designs you've already made and will just have to modify the design slightly.
But the prep build is once. The payoff is continual. The something you wanted to do , Is now solved for next time. Ask the Union car builders. Wait. They are robots now. Nevermind.
Hey @stuffmadehere, I work in a very advanced semiconductor fab that is nearly completely run via robots. I saw your interesting concept about belt layouts for you gantry system and wanted to offer a much more simplistic solution. You stated that your issue lies within moving the beam when it has a heavy motor attached. With the equipment I work on we have the same problem except on a much larger scale. Our masts/beams/carriages weigh thousands of pounds. Our solution to this problem, a rack and pinion system. Extremely rigid, fast, and accurate. You could very easily 3D print both the rack and pinion, attach it to a small electric motor and be able to maneuver much heavier payloads with much greater accuracy and stability compared to more traditional a traditional belt and pulley method. Plus it would be much easier to program your carriage movements without having to calculate individual motor resistance etc. Just food for thought, I love your content so very much and figured I’d offer what little bit of applicable knowledge I have on the subject to help make your life easier or possibly aid an advancement in a future project. Ciao :)
I’m a professional in my field and people say I’m smart. But when I watch your channel I feel like I have never known anything and that there’s far more in world than could ever be learned in 10,000 lifetimes.
@europhil2000 that's the dunning Kruger effect. That's why people who barely know anything about a subject think they are experts(called "the peak of Mt. Stupid.). The more you learn and under a subject, the more you realize you don't know(called "the valley of dispare.")
As an engineering student, these videos made me feel so down on myself. Shane's pure brilliance and intellectual fortitude honestly made me think of switching career paths. That is, until I read the comments of several veteran engineers singing his praises as well. Made me feel better that I did not need to match Shane's genius to be an engineer, but rather admire it. Like always, I am so blown away by anything and everything you choose to make.
I hold 3 patents in electronic/electrical disciplines and I'm impressed by Shane's abilities. I've been in the industry for over two decades working in sectors including robotics, oil & gas (oil rigs, refineries etc), reactors and currently weapon systems on naval warships. Despite all this I can't hold a candle to what this guy can do. He's a rare breed so don't ever compare yourself to him, there are very few people on the planet who can match him. I've worked with some highly intelligent people but they aren't anywhere near the calibre Shane seems to be. Simply gain inspiration from him and aim to be the best version of yourself and you can't go wrong, and have fun along the way.
I played golf today. I'm no Tiger Woods, but that didn't discourage me. Do what you love, regardless of where you fall in the spectrum of genius. I guarantee you'll help others
Don't give up! When I was just a CS student, I had many moments like yours as I compared myself to other developers online. But I kept working toward finishing my degree and practicing on personal stuff here and there. Some time after graduating and working as a dev, I realized that comparing myself to someone like this isn't fair - I was just a student at the time and I was comparing myself to very experienced people. If you keep practicing and looking for ways to continue learning (even a tiny drop at a time), you'll eventually find that you're further ahead and more capable than you realize. So keep at it and keep working towards being the best you can be! At 16:05 he mentions it was the last 3 weeks of work to get the pieces aligned right - so there's definitely a lot of frustration and learning that happened off camera.
Aside from the fact that you're very, very good at engineering, I really appreciate how many people are tickled by seeing things like this. It gives me back some hope in humanity ^^ And even for a native German speaker like me with a slightly above average level of English, it's easy to understand because of the simplicity of your explanation PS: watched the video the second time today and I´m still amazed to the max =D
It’s honestly overwhelming to think about the amount of technical thought and labor that goes into each step of these projects. I work as a software engineer and even getting a properly functioning search feature implemented into our app was difficult enough. I couldn’t imagine creating an ENTIRE puzzle sorting robot let alone the sort algorithms. But seeing you in action really inspired me. I signed up for Brilliant back when I saw your baseball bat video but stopped doing the lessons after a month or two. Now seems like a good time to get back on it and start exercising my brain. I could never imagine being on your level mentally, but with enough effort, I’m sure even a guy like me can achieve some pretty amazing things! Thanks for the motivation!!
I'm an electrical engineer myself. I'm truly blown away by your videos. You're easily the most talented, well rounded engineer I've ever come across. I have never seen somebody so greatly apply engineering material into a final product. You deserve all the success in the world. Wish the best for you and your family. I feel dumber than a box of rocks watching your mastery take shape 🤣.
@@quantumpotential7639 I'm over here taking a month to design single parts for work and he drops a video every month where he does more than I've done in the past 5 years in a single 20 minute video...
This is one of those channels that I hate having to wait so long between uploads, but every time a new video comes out it’s so technically impressive I’m surprised we get more than one video every 2 years
Im an engineer, I generally can see and intuitively understand what you're doing on the mechanical side, but I would love a follow up video talking about the details of the software and complexities that arent fit for a normal length youtube video.
@@carsonhunt4642 I'm decently adept at SWE and I still think it would be worth a video. I think the talent of a good educator/video maker (like Shane here) is the ability to explain things at a high level of accessibility. The behind-the-scenes mechE going on here is seriously complicated and I think that it's possible to do something similar for the software too. It doesn't need to be university-level but at least covering the general methods toward the solution I think would appeal to a lot of people. He did say at the end that's what the next vid would be about
As a software engineer I have a general understanding of what his software should be doing. But hell, making something like this work in real world conditions, alone in 3 weeks seems impossible.
@@carsonhunt4642 You're wrong. Solving a software problem isn't too complicated to explain once it's up and running. There are many already working patterns that are well known or can be studied very quickly if needed. Here we just want to know which technique actually worked to provide good response in the given time and computational "space" in this particular solution. What was optimized or done in some "non-standard" way, etc. No one needs to see those 30 thousand lines of java or python code.
that's the reason why sports stadiums, sport live broadcast, and let's play channels are born people have fun by watching other people having fun for them
14:08 my old engineering firm had an internal challenge to write an algorithm that could solve a puzzle very similar to a jigsaw. the managers had to stop the tournament because no work was getting done! the only result was that our senior most tech fellow (an absolute genius) declared that solving the puzzle is "computationally complex!" He was also the only one to submit a working answer... on paper! he had spent every night for a few weeks working out an algorithm on paper in his notebook. most of us couldn't even map the problem into a solvable state or prove if it was NP hard or not. When nerd sniping goes wrong lol
it IS computationally complex :D my approach would be sort of bubble sort-ish, with a lot of heuristics. basically put down the corners first, then scan all tiles to find the edge pieces, then among the edge pieces, find the ones that fit to the corners and construct the frame. then for every piece check if its a match anywhere on the currently known-position-pieces this is made a lot harder by the non 100% matching from the pictures, since there is no absolute does it fit answer, and calculating the BEST fitting tile for a position is ... a lot harder ideally it runs in O(n^2) or O(n*m) where n is the number of pieces and m is the number of valid positions to check
@@Maric18 So here's my go on how I would do that: With this kind of puzzle you always have 4 sides, each can be a hole, pin or an edge. Also for each side of puzzle piece you have length of the side, and position of hole/pin. That could by x/y coords or just distance from top, depending on how the puzzle is made. It shouldn't be too hard to determine middle of hole/pin. That should allow you to create a simple comparison function to check if one side of a piece, will potentially fit with a different one. Then index data of all pieces with that information, along with detailed dimensions (or photo) of each piece. Then use flood fill algorithm starting with one of the double edge pieces. You can find all the potentially matching pieces using the index, and then find the specific one using detailed dimensions. It should get easier once you have more than one side to check for.
@@karolrybak The only issue with your algo is that some of these jigsaw puzzles have diagonal sides on only some of the pieces, so you end up with rhomboid pieces and even some 'triangular' pieces (if you don't count the holes/pins). Your design probably could result in a speedup on some puzzles but on some others it would fail entirely.
My naive approach would be to take the picture of all pieces, make them black and white, extract the sides and create multiple approximate versions (like if you’d make the “ lines thicker”). When you want to match two sides, you flip one and check if the approximate versions match (line up the images and check that there is a continuous region that is black in both), if they aren’t, you exclude them from the candidates, otherwise check the “higher resolution” versions, until you only have one. Then just identify e.g. the upper left corner, check the non-corner sides and find the matching pieces. This should be O(n^2).
I have an old pantry that we weren't using and I store all my gantries there. sigh.... LOL Yes, I call it my GANTRY PANTRY! sigh... sorry..... I'll let myself out...>>> RUNS LIKE HELL! 🤷👈👈👈🏃♂🏃♀🏃
@@ABoojumSnark I think the biggest issue with a man vs machine event is that, especially for smaller pieces, the robot takes a long time to start actually putting everything together. And if you count this time, then for every puzzle that you could reasonably complete in one sitting, robo would lose in this state. But once it got going it would win. So it becomes a problem of "What counts as victory?"
@@Wheagg that's the part i think would make it interesting. Do a few puzzles (10, 100, 1000pc?) And count all the prep and calculation time, and see how it changes for machine vs human as the complexity grows. Humans do the calculating part too, it's just a continuous process during the assembly instead of front loaded.
Been thinking about how to do something like this for a while; this implementation is honestly amazing and shows just how good Shane is at full-stack engineering. Insane how far the projects have come!
Good point! The coordination ect required is really impressive. Same goes for skiing, i always think about how much the human body does to keep me stable. It'll take a long time fir the first skiing robots im sure
@@samuvisser Bipedal robots are already performing backflips with leg tuck and all off of 2ft high boxes and then sprinting out of the landing. It is not going to take as long as you might expect.
@@Phil8sheo the backflip demos are done in a highly controlled environment, right? If not, they likely need various separate cameras to map everything out. One amazing thing in an activity like skiing is how quickly a human can react to bumps and unexpected conditions. I’m pretty sure that truly independent skiing robots will happen, and I bet it will be both sooner and later than we expect.
As incredible as the builds always are on here, and as helpful as the explanations are, the little jokes are the cherry on top. The fake Amazon review, the 4th screen news story about puzzles being considered torture by the UN.. Every second on this channel is so well thought out.
I saw the news story too lol. Not a real article, but searching for it led me down an interesting rabbit hole about what psychologically constitutes torture. Good stuff
I was too focused on everything that I had tunnel vision to anything else! I am also on ritalin for narcolepsy so tunnel vision is not uncommon? But I also have photographic memory? So I often tell people where they put something down that they misplaced? I can rewind my footage in my mind like a video? I never realised that this isn't normal behaviour?? So I've been told lol
@kwokshsee well, considering we've been sending objects into space for decades now, with many failiures, it shouldn't be surprising that we're starting to get it right more consistently
Can't believe it's possible for one person to be this smart and patient. I bet the feeling of satisfaction you get when it all works in the end is priceless!
On a smaller scale I had that feeling when I spent a couple of days getting a Minecraft redstone contraption to work, but I bet it's a great feeling to do that IRL.
@@holysecret2 oh yea I bet redstone is dope! The most complex thing I ever made with redstone was just a music room that played different chords when you stepped on certain plates. But in Dreams (PS4/PS5 not literal dreams lol) I made some dope stuff and once I became fluent I started finishing stuff and it's the best feeling when it all works. Just like when code finally runs without errors. I made a bus simulator game that even works in VR -it seamlessly detects whether you're in VR or not and gives you the appropriate controls so you can play the game however you want. So fun to build virtual circuits and there are so many interacting parts that I knew EXACTLY what the "integration hell" phase of debugging was when I first saw him mention it in a video. It's amazing how well you can get at debugging to the point where debugging in the same environment almost starts to become a streamlined process isntead of hours of aimless tinkering its like an almost airtight checklist "okay let's build this temporary thing to test for the presence/absence of X to see if the problem is Y". like HELL YEA!
@@pinniporker basically if I had all his tools I'd either 1. Stay to very small stuff and go slow as hell in tinkering or 2. Hurt myself pretty badly lmao
As a software dev, I am definitely looking forward to part II. Algorithms are our bread and butter. The software alone involved in this project would make a great interview question to see how somebody thinks and breaks down a problem
Mind if I ask, where do you work that algorithms are your bread and butter? Because I love algos, but most SWE work doesn't touch algos very much. When I saw this problem I couldn't stop myself from thinking of ways to solve it and have a few ideas already to reduce the search space.
I've watched a lot of his videos, but for some reason this one really struck me with just how advanced his engineering skill really is. Every piece of this is a mini-project that he tosses off as if it's nothing, and then it comes together with enough precision to make it all work. As a software guy, I'm super curious how he's going to make a feasible solving algorithm.
Bro is a mechanical engineer, electrical/electronics engineer, software engineer all in one. And he's great at all of them. I know he has both a BSME and did computer science or something.
Wow…this guy works so hard on his videos. He’s so thorough when it comes to explaining his process and making it so that we understand how complex and amazing it all is. He didn’t have to give us all those animated visual aids and he DEFINITELY did not have to harness himself onto that wooden frame to show us how strong it was with the tension cables, but he did, and the video was infinitely better for it. You can tell he has so much respect for his craft and his audience.
Cool to see the bright light background to detect shape. Couple years back i made something like it at work to get shape outlines for products we have to draw.
I've said this before, and I'll say this again. This is the best channel on youtube. I just hope this guy is getting paid enough so that he never stops with these kinds of videos
Well he has 3045 patrons on patreon who pay him monthly. Even if he's only getting the $5 minimum tier he's making $185k a year from them, if you bump it up to $10 average for the patrons you get $371,000. Which considering how insanely brilliant he is, he could probably be making millions from crazy inventions or continuing engineering work if he wasn't on youtube, but he's certainly not poor.
Honestly I love to hear your struggle. There are too many makers cutting out their struggle and it makes it hard to feel capable doing things in my own projects. I 100% watch these videos for the triumph over the setbacks. Feel free to un-abridge!
As an amateur coder I can only imagine the amount of euphoria he finally succeeded in the assembling the test puzzle. Engineering is fascinating and easily the most useful/worthwhile skill to learn. It is a combination of almost every subject matter and takes immense patience and unrivaled perseverance. Well done!
You mentioned not wanting the pieces to move around and I was like "tacky / rubber surface". And you're all like, "no, let's drill lots of holes and use a powerful vacuum" 😅 Still, this is awesome. You are awesome.
:D my first thought was "rubberize the table"... like that non-slip material you put on shelves... but that's way too textured... or spray the work surface with a rubberized paint, like plastidip or somesuch... :D
i am absolutely in love with the amount of complexity that builds throughout the course of any given video. it sometimes causes me to be stressed but i know that somehow you will come up with a solution.
16:02 "FINALLY! What a pain!" This had me dying - the thrill of victory followed immediately by the catharsis of expressing how difficult everything has been up to this point. Wow. I had to rewind several times so I could continue belly laughing. This is incredible. Amazing. Why are you not working for NASA again?
There's another catch with 5k puzzles. Usually the way they build it is using a grided mold cut into an image, somewhere about 20x25 pieces grid cut a lot of times troughout the image. So one piece can fit multiple spots, but it's image won't actually match. This makes a whole white puzzle easier for this software, since it's blind to the puzzle collors (if that's how this specifically puzzle was made). It may be harder for us to do it when it's all white pieces, but for your software it might me easier. As someone who loves puzzles and engineering, I'm hyped to see part two. This might be my favorite machine that you've built so far! Congrats with the hard work! :D
Could perhaps be remidied by some easily recognizable patterns (for computer vision) drawn on the puzzle after the first time the machnie solves it, then try again xD But this fact you mention should ease the compute tons...just match it to the closest theoretical shape of the 500...then again he needs to procure that dataset of 500 unique shapes etc.
@@megthedingus8918 - That was their point. An all white puzzle is harder for humans, but easier for AI. A human could use a similar computational approach, but we can't compute as easily where a specific shape is needed.
The white puzzle comes disassembled so marking similar edges with an algorithm isn't exactly feasible out of the box. Though one thing I'm very curious about is why he isn't using something called a scanner to get way more accurate results. He could even multi-scan pieces and increase the size range of multiple pieces by a lot. Also, it would probably help to do some preprocessing on the pieces to match the edges per batch to reduce complexity, could start running preprocessing during the scanning process, be it the lens or the scanner to reduce run time. If somehow you could make an A* evaluation function for the vector graphics that is continuous, you could potentially cut a dimension of complexity down to log n, and run time should be greatly reduced.
Jo stuff, you always say "What you haven't seen it's all the software I'm going through". The point is that I'm sure that a lot of us would love to see it, would love to listen to you explaining it. It would be so cool if you opened a channel called Stuff Explained Here, where you explain to us all the algorithms, all the stuff you coded and made to make this work.
see it in his perspective, it will take too much time and probably wont get enough views since most of the people wont understand a thing. 1 of his project alone will take him weeks to months, it wont be worth it for him to explain the coding
@@basicthing2363 but he has already done the work. Explaining the coding can't take more than a few days of work considering what a beast SMH is, and I'm sure it would still get lots of views. I'd wager there are lots of software devs watching SMH already.
that channel actually already exists atm :P edit: didn't notice that @Adrien Burg beat me to posting that the "stuff explained here" channel recently got created xP
not to mention every part on this complex machine was custom designed then printed and you know that each part had a few renditions. I cant even imagine trying to do this with a team of people working on it. And he did it by himself in a few months. Just looking at the arm with the camera and vacuum made me impressed. then comes the multiplex magazine that was 100% custom.
The software is the fun part, once you've waded through mechanical hell to build the rest. Once you reduce it all to a software problem, there is no problem. -SE
@@ilikewaffles3689 3 weeks just to get it to solve that one test run. The total time was probably much longer. The whole project is just insane... especially when you realize he did it himself.
Same! I guess that side is just harder to make a video about. But, there are some great visualizations in this video and others, so I’m really excited to see how the code gets explained.
Not only he can build and program incredible machines like this, but his scripts are so good that you now know what is CoreXY, a telescopic lens, and multiplexing, among other things. You always learn several things with his videos, it's awesome. Also, imagine compacting a 3 weeks work into a 20 minutes video that is entertaining, engaging, fun and educative. Superhuman.
I've always wanted to see a machine that could tattoo skin automatically like a CNC machine and I'm convinced you're the only person who can do it. I for one would love a Tattoomadehere
I went to a weekend hackathon where a group of engineering students tried to do this. Ended up being able to tattoo a recognizable space invaders alien onto a slab of pork. Was fascinating to watch.
maybe some kind of laser engraver modded to hold and control the tattoo gun? that way you could upload an image and it would be able to sense light/shadow to appropriately create the image on skin
Now that you say it, I have to think something like that isn't all that far away. They're already doing surgery, but I think someone is in control of those
The demonstration with the metal wires was really interesting, I’d love to see more cuts to stuff like that when explaining certain design/build choices in future videos. It reminds me of when the teachers would do cool demonstrations in science or physics class
i absolutely love how you show your struggles and fails. it makes me feel better that even though im failing, not even a genius like you could do things on your first try. so its ok to fail, and what i'm doing is ok, because i'm always able to improve myself like you and create a working project in the end
My first paid "thank you" for a you tube content! You give me a lot of inspiration! Thank you very much for doing what you do! Lot of work in your projects, I love them! 🔥🔥🔥 Looking forward for the part 2! Thank you again from a SW engineer ❤️
The things we do to avoid boredom :) Love the drive to face challenges solely by the novelty, complexity and coolness of them. Really inspirational, keep it up!
I love how you can appreciate each step of solving the problem. It is really inspiring to see you take it one by one without losing your patience. Respect man, love your work !
Shane, That quote.. "Why have fun when I can build a robot to have fun for me" is what got me into programming. Though I don't write game playing bots anymore, the motion detection class library I wrote for kal online is still fun. Though now it can tell the difference between a dog/cat or person. Cuz haven't we all needed a webcam that will follow motion ;D
First year of CS I probably spent half my time making games then making a bot to play the game to perfection. It's more fun than playing games. Now I just need a bot that makes games and bots so I never need to have fun again!
This feels like the sort of project where a different person/team would normally have each piece. One for the moving robot, one for a piece sorter algorithm, one for a solving algorithm, etc..
Been waiting it, too. But the filming in the end might be TEDIOUS to extreme. You get the thing to start laying pieces, and then it messes up at say midway through. You fix it, and it does it at the start. Fix, midway. Fix, 3/4 done and it looses it. You get the picture. Just the building sequences will take time, and there -sadly- will be problems. This might not be so extravagantly interesting as exploding golf clubs (the sticks that you hit ball with, not the watering holes!!!) and baseball bats, but the insane amount of challenges in this is very inspiring! Well, it might be everything but inspiring occasionally... 😂
As an engineer I am insanely blown away at what you accomplish. Its super motivating! Also, it makes me realize how my skills pale so hard in comparison. Hats off to you sir! I love it!
“I’m making a the magazine out of polycarbonate, for when it jams up”. I like how he knows something is going to go wrong, even with his own design. Respect, keep up the good videos
Solving this NP hard problem is going to be interesting. My first optimization idea would be to determine all corner and edge parts and aligning them. It should be easy to tell, based on whether there is a flat line on one or two sides. During that step, all other parts can be ignored. After that, you always have a missing puzzle piece that you know two sides of. Classifying the parts based on inward and outward bulged sides might be helpful to cut down the total number of possible parts to consider. Also combining pieces that fit together during calculation and treating the multi piece combination as one piece might work. Having two 3-piece clusters can be checked based on bulges in a lot of cases, that way you don't need to compare every piece individually There are probably way smarter ideas for this, this is a very nice optimisation problem. It is kind of like the bin packing problem, just more exact. Edit: for all people suggesting to just use a hash representation of each edge and look it up in an array, that does not work because multiple tabs and pockets fit together, especially with 5000 this is a big issue. There is a paper about this problem called "Even 1 × n Edge-Matching and Jigsaw Puzzles are Really Hard", definitely an interesting read. (credit @Shuhao Tan for finding this!)
My thinking was to "digitise" each edge, encode it as you would a key. For each of N steps along the edge, calculate the distance from the "base" of the edge, and round it off. Save this result to a database, and in theory that key should match exactly with the inverse key on another piece, so the matching just becomes a lookup exercise.
Edges first would trip up the robot for specialty puzzles like jigsaw 29. Actually, I am curious whether the final robot will be able to solve jigsaw 29.
Good idea to start with the edge, like a human puzzle player usually does. The puzzle piece magazine seems great for storing differently shaped pieces as well, but I'm not sure how to do that efficiently. In principle, there are only six different types of puzzle pieces (except edges), which lends itself to an intuitive storage system, but algorithm-wise it would be difficult: storing all similar pieces together would be a bit of a logistics hell because the piece you need will almost never be at the top of the stack. Still, it could be an idea to complete the frame, then, starting in a corner and working one row at a time. Finding the first piece to fit in a corner would take time, the second less so, and eventually it would go really fast towards the end as the number of available bricks shrinks.
I was thinking puzzle pieces all fall into certain classes of shapes. There are only a handful of features with infinite variations to them. If the pieces could be described by their feature sets, perhaps the search space for compatible pieces would be much smaller?
The production quality of these videos, and your level of comfort in front of the camera, have skyrocketed since your first videos. This should be shown to engineering students as a great example for thinking through problem solving, and also just to instill them with enthusiasm for solving hard problems. Kudos, man, great stuff.
Suggestion: To speed up the computation of the pieces you could start the algorithm from the external pieces, after which once the frame is finished you start again from one of the 4 corners so you already have 2 reference hooks and if for example they were two protrusions you could tell the algorithm to exclude all the pieces that do not have two adjacent indentations (saving the computation of pieces that are impossible to place from a logical point of view) I hope this is understandable 😅
I think this is a variant of The Stable Marriage Problem. The Stable Marriage Problem is what dating apps have to deal with to match people up: - You have a group of men and women that want to pair with exactly one other person. - Each man/woman ranks every woman/man (respectively) in order of preference. - The goal is to ensure no two people want to abandon their partners and match up together. It's kind of a similar problem, except replace "Man" with "Piece Nub" and "Woman" with "Piece Socket"
I also thought of starting with that, but I've been working on a lot of mesh construction recently for a game I'm working on, so if I were to think of a purely software solution I'd go: 1. Turn each piece into a list of vertices, sampled at a uniform length. Puzzle pieces are square, so mark for all vertices to which of the 4 edges they belong to. 2. First check the side lengths to match and change orientation. 3. If orientation is ok, match the edge vertices to its counterpart, even at much higher density than shown in the video that's going to be pretty fast (it might be a ratio on N:M verts, just scale accordingly). 4. Calculate a difference factor for all comparisons, the sum of the differences should show correct pieces. 5. There might be N correct pieces because I'm sure not all pieces in a puzzle are unique (in either 1 or 2 dimensions), so then you'll have to try some sudoku like variations, e.g. if A fits into slot 1, can B fit into slot 2, etc. Overall I'm pretty sure that the final solution should be pretty fast.
@@animal9633 Up to the 4th step it would be "fast". The 5th step requires bruteforce which, for 5000 pieces, it is quite a bit. (Almost) every piece can go 4 different ways, and you can quickly discard some combinations, but (5000*4)! is just too big.
@@devezek its a sum and not a product, so its not factorial. Worst case you would have to make 12.5mio * 4 = 50 mio comparisons in total. If you dont compare every single pixel of your outline with every other pixel of every other puzzle piece left over but break it down to "possible pieces by nobs and holes", "piece width corner to corner", "max hole diameter", etc and only go into detail with whatever is left i would assume the algorithm will take seconds for the 5k puzzle instead of millenias.
As a coder, I’ll be interested in seeing how he goes about solving this problem. It seems like the complexity is growing exponentially per puzzle piece in his current solution.
@@pereJobs there definitely has to be some code he is using or can use to rule out certain piece combinations to cut down on arrangements. like two pieces with no outs, or ones that are all outs.
Maybe he somehow sorts them in categories based on the position and size of the ins and outs, then dividing the categories into smaller and smaller groups until there are only the two pieces (or rather sides) in each group that fit together. That would be O( n * log n ) if i'm right, which is quite usable.
Huge thank you to everyone who helps support these projects via patreon. It makes it possible for me to spend so much time and money on projects like this. If you enjoy these videos please consider supporting them on Patreon at patreon.com/stuffmadehere so that I can continue to make increasingly bizarre and interesting stuff to share with all of you :)
I love ur vids, can’t wait for part 2
Hi
Love your projects, keep it up!
i love you
No problem king. Anytime.
you are a true engineer...building an entire machine to make life slightly more boring
facts
Once I wrote many many many lines of software to take some training at work for me so I did not have to do it. It was simple, only consisting of parsing some reading material and answering very basic questions. It would not have taken long to just do it myself. My manager said never had he seen somebody do so much work to get out of doing so little work. I'm still proud to this day.
Accurate ! 😂
@@nonconsensualopinion you are my kinda guy there aaron! well done
@@nonconsensualopinion this is the way
This man seriously has some of the most incredible feats of engineering I’ve seen. I mean, the sheer amount of work he must put into every one is just astronomical. Many thanks for sharing them!
Nice
Hackmsith: finally, a worthy opponent
These kind of projects really shows how much computing power we have inside our brain i think too. Awesome project nevertheless
@@unionleaderr this dude puts hacksmith to shame. There isn't even a comparison.
He hasn't done anything with space though, so it's not astronomical.
You're a Renaissance man for sure! Not many people have engineering, software, design, storytelling, and video production skills. Looking forward to part 2!
He is a complete allrounder, knocks it out of the park , great idea , great execution, excellent video production, and over all a complete package
Ha! that's a great way of describing it, renaissance man! agree!
@@acrush25 Indeed, jack of all trades, master of all, I love his content so much, he's my favorite content creator on RUclips.
@@bluack123 he is the master , can't imagine as time passes how brilliant his projects are gonna be , he keeps on stepping up with every single video .
And to relax, he studies quantum mechanics. Okay.
I am a software engineer and a mechanical engineer. I used to work on a pick and place machines to place electronic components on empty PCBs it took teams of amazingly experienced engineers months to build such a machine. Seeing you single handedly creating the entire thing from scratch is unbelievable. Such a talented guy. With a few more like you out there no human will ever need to work anything again.
A truly horrifying prospect
@@wea69420 how is this horrifying
@@eurydice4766 How would us humans make a living?
@@Ccodebits Robots would work for humans, there would be no need for humans to make a living. Hypothetically of course
I would assume the micrometer precision that it needs makes it a much bigger challenge doesn’t it? Still very impressive to see what he can do alone in such a short amount of time.
I love the confidence this robot had putting the pieces down, even when they were totally in the wrong spot.
I did the puzzle boss, it's perfect just like you wanted.
We should all try to be more like the robot.
My dad told me a story once about an early chess computer he played against, many years ago (probably early-mid 70s? I believe this was during his time as a journalist with the Army Times, kinda wonder if there's an article somewhere documenting this story). He checkmated it, and it confidently kept playing as if it hadn't just lost. Very similar vibes.
Me taking direction in any area of my life. 15:13
10/10 would get hired as assistant manager at an Amazon warehouse.
"Solving the 5000 pieces puzzle would take about 10 years to solve manually. Thankfully, I made this robot that can solve it in 3000 years"
3000 years + 3 weeks, you need to also build machine
@@tsraikage Plus the decade+ of engineering and coding experience required to build the machine
@@wacco4932 Not to build the machine, to make the machine actually do something useful. Bolting parts together is easy, it is making those bolted together parts actually do something useful that is the hard part!
Such is the nature of modern technology, always searching for new and novel ways to make life more complicated!
Engineer way to think yep
I’ve been a professional software engineer for over 30 years and a weekend woodworker for 20. My friends consider me a “nerd’s nerd”. I can honestly say I live only in the outer suburbs of “nerdville” when compared to you. You are inspiring just in your enthusiasm to take on (and somehow SOLVE) engineering problems that would daunt TEAMS of people. Kudos to all the skills you have built and integrated so well!
Hey wassup
I had never heard kudos before, what does it exactly mean?
Lol I built and wrote my own software for a pick and place machine and yeah I feel the same way.
@@LucasPlay171 Kudos = Congratulations
@@LucasPlay171 like 'props' to you
This guy is insanely talented, though I think for a team it would be even harder because of communication issues. He knows everything that runs this project.
I've studied photogrammetry for surveying, so I was smiling throughout the whole section on lens distortion and parallax. Such an underappreciated science.
That was madly interesting, never heard of the field.
Finally I find a person who studied that 😍
I'm a software engineer and it would probably take me much longer than 3 weeks to make all these algorithms work let alone build the thing and record everything for RUclips. What this guy does is truly incredible. He's basically doing the work of entire engineering teams in a fraction of the time.
There is this thing that differentiates an "entire engineering team" and someone who can actually build stuff efficiently - motivation. You have to be genuinely interested in stuff you are making for the process to be efficient.
@@NGC1433 you are correct, but it also takes some serious amount of talent.
I totally don't understand this. Knowing a bit of the reality with simple Arduino project it seems just impossible that he's doing all that stuff, yet... It seems like he does. His professional portfolio does support the thesis that he's some kind of engineering demigod.
@@bzqp2 He simply reuse code he already used in other videos. Yeah it took him 3 weeks but with years of experience.
Position correction, already did.
Core XY to stepper, already did.
image processing, maybe not on that level, but he know his way around openCV for sho.
The only things missing in this video is an efficient solving algorithm, whose surely already have been done by some uni nerds, it just need a bit of google research.
Nah it's super easy...
Just ask your questions on Stackoverflow and copy the algorithms the people gives you!
:P
As a software engineer, I can only imagine how much work it took to write the software alone, not even mentioning building the robot. Amazing stuff made here!
Whoa, a polish software engineer?
Agreed. I’m thinking about the data structures and what it would take to construct the puzzle without sorting first. Awesome project
@@BatteryAddict I'm thankful for the reverse polish notation on my financial calculator. Thanks Jan for inventing PN so we could reverse it later.
@@alexandrep4913 The harder problem is deciding which edge fits against which edge. If you brute force it that's n^2, so a 1000 piece puzzle has ~4000^2 comparisons. Additionally since the data for the edge comes from the real world it'll be inexact, so each edge match will have a "certainty" associated with it. Ideally every match with the highest certainty will be correct, but that's not guaranteed, so there are harder algorithms for that. A 100% correct solution might be NP hard.
Not to mention that he films it all, writes a script, narrates it all, creates animations to explain the concepts, then edits the sound, animation, and video together to make an enjoyable video that is educational and fun. Dude is a legend.
“Getting the camera infinitely far away is ‘challenging’ and I’d rather not attempt it” really got me 😂
doesnt sount too hard to do tbh
Yeah, that part was good 😂
His next project has that actual accomplishment achieved and demonstrated in step #5.
The only problem is when he attempts to uploads the video, the upload ETA just keeps spinning.
He could've used a fresnel lens, but the camera lens that he used also works I guess lol.
@@sebastianwalder2498 A fresnel lens is just a thinner substitute for a normal lens. It does nothing for the required positioning of the lens.
For the vibration problem, you can detect the natural frequency of the table through recording it somehow and doing a Fourier analysis. Afterwards, you can actuate the motor in a matter that prevents this frequency. That's how they make high speed stable systems.
you forgot the first rule of engineering !!
keep it simple stupid
his solution is less work , me i would've filled the table with concrete to increase its weight and reduce vibration , i will be left with a cool concrete table after the project ends
I was thinking something similar. Need to find a way to smoothly accelerate and not try to apply full motor power all at once. Of course this would also help with the 'too powerful a motor' and once tuned, could provide incredible motion performance with minimal jerking.
Or just put the motors/machines on a frame, disconnected from the table with the pieces.
@@teramalik7260 Then that frame would wobble around and provide inconsistant movement and precision. Honestly, his way of just working around the problem is genius and in his situation might work better than just adjusting the frequency of the motors, although abviously doing both owuld be the best solution (the camera and ball and adjusting the frequency)
One way to do it is called input shaping, it's a technique used by 3D printers and other machines to help cancel out vibrations in the machine and the table itself sitting on
This seems like a whole year project for 20 engineers to work on and then eventually fail. I don't understand how a single guy can do this in such a short time. Well done.
I'm not saying this video is, but anything on youtube can be staged. /watch?v=Hvk63LADbFc
20 engineers is too many damn engineers.
The problem is that you have 20 engineers. And we all know that they all have 20 different solutions, to the problem, and they'll argue for the whole year and then as they didn't come to any conclusions they'll scrap the idea.
@@livedandletdie You see it in a lot of places, not just engineering. I guess you could make a "law" that's kind of like Parkinson's Law, but instead of being about time, it's about the number of people: try to solve a problem with 20 people, and you'll probably end up trying to to solve it in a way that requires 20 people, even if the same job could be completed quicker and more effectively with just 1 or 2 people.
Yup, as a software engineer, I can barely imagine all the code he has to create for this project (if he writes most from scratch). So getting this kind of results in less than a month of work... Either he spends very long nights, or he has the luck of having available libraries to make it just a little bit less painful to code everything. And I don't even know how he still has the time for all that fabrication.
Honestly, as an engineering student I would LOVE a series that explains everything and the math involved
I didn't know you were a engineering student
Absolutely!
we need to sleep in his workshop for years then.. 😀
If you want a general overview, lots of robotics is Linear Algebra. Just a big 'ol pile of matrices.
It would be cool to see a small "time passed" indicator in some corner to see how long each step really takes
would love to see this implremented
Yeah make it happen.
Like at a drive through?
I like ths idea
agree with
I work on a 600M$ satellite project and I can say the process is not much different from this. We also have integration hell, "it turns out I need to spend half my engineering effort on an unanticipated component", "the software is super slow", etc.
The main difference is that once you involve many people in your project, you become very inefficient. You start having to spend the majority of your time being in meetings and writing documentation, rather than solving problems.
This! That's why almost every engineering project goes over budget.
That is super cool
@@pyrotechnicalbirdman5356they also auction off contracts for that stuff to the firm that can claim to make it for the cheapest
Meetings are what your brain does to put together separate thoughts into a cohesive one.
Thats why I quit working as a dev in a large company. It almost made me hate the very thing I was so excited about. Those meetings and overall inneficiency made me misersble as hell.
"Why would I have spend time having fun?" This man spreads a great message.
Can’t even wrap my head around the skills need for a project like this, so amazing ❤️😊
Exactly what I was thinking. I'm mind blown
Just the ability and dedication to solve a such a complex task is just truly amazing.
That guy is like one in 10 million. If not rarer..
Is not just skill: budget, time and infrastructure are a big part of the challenge.
Even with all of his skills it took him 3 weeks to do just that! This is why there are studios full of people coding for companies.
He basically replaces all the ''Impossible'' to ''Challenging'', what an insane lad!
@el diamante Wtf does the James Webb Telescope have to do with anything?
@@bable6314 it is called ✨spamming ✨
@kwokshsee ...integration hell is the reason the JWST took so long.
Thinking about executing this hurts my head so much. Litterally every aspect sounds so complicated, and having to tie all of those together neatly sounds impossible. You are insane.
Watareyoudoinhere? :D
NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooo
@@sterbendes300 Because he can be here :D
ayy I see you everywhere like the nilered mark rober deepfake then this
You ruin everything
As soon as I know you're here the video quality hits negative 96.3
It's very rare to see such pure genius and intellectual brilliance so publicly. You and your channel are astounding.
I couldn't have said this any better, it summarises my feelings entirely
yes
we need more of him
The amount of problems this man solved for a single project.
Pure genius.
he could have used a magnet instead of the vacuum thing. way easier and simpler
he could also used magnets to hold the puzzle pieces still once placed
@@Blox117 Are you saying that he should have attached a magnet to every single puzzle piece? That doesn't seem easier at all
@@jshinab2 why not? didnt he say he drilled 30,000 holes? and he has to keep the pump running to suck out the air? well with magnets that isnt necessary
I'd like to do "robot burger kiosk".. where the robot tosses a frozen burger patty on a George Foreman grill for 7 minutes...
I think my favorite part of these videos is watching it break down a challenge into as small of a piece as you think you need to and then not having a problem with breaking that mini step into a micro step if it’s not working.
I love that we live in a world where someone this talented can spend their time doing something this crazy and we can all learn and appreciate it.
Shut up
Learn what??😂😂😂everything he says sounds so smart that I have no idea what he is ever talking about but the things he makes are awesome so I keep coming back to see new and cool things
@@JoaquinLucero22420 maybe because you’re not attempting to “learn” anything, you are watching for enjoyment.
what about starving children in africa? still love it?
@@JoaquinLucero22420 I believe it took him long enough to learn all this and learn the basics
And since you may not even have idea about the basics you don't learn or understand anything
Another stunning video, as always
coool
i like it
cool
Bien
Nice
Said this before, saying it again: you need a second channel that goes into more detail on the concepts used without necessarily losing too much time explaining the math in detail for people without an engineering background. I'm sure there are enough engineers watching you to make it worth your time :). I still absolutely love the toned down versions for a general audience, but I feel like I'm missing a lot of interesting bits by the time the video's finished.
I'm sure there being engineers willing to watch it is not worth his time, he's a married man with a baby child he needs to feed and he can't afford to spend his time on things that won't bring that much of a viewership
@@tonylee1667 It's absolutely worth his time. A few of the top comments on this video are asking for a second more detailed video to his projects. If this represents just 30% of viewership then it's extremely worth it.
I'd imagine the bulk of time spent for him is designing the projects and getting them to actually work, he even references weeks worth of time to get some of the software right. A more detailed video just means talking more and recording more footage. The view/time spent to talk more about a completed project should be much much higher than a video about a new project. He gets to essentially double dip on views for each project.
His videos are already toned down my man, like he did not go into the complete tension calculations for the legs being rigid after tieing the cables, or the software for the gantry.
He already has a second channel where he has done exactly that for previous projects.
@@WACC_Warlord The views on that content would not even reach 10% of the original video, due to being relatively niche and being on a separate channel. I think it'd be more beneficial to have the content be exclusive for patreon supporters perhaps, giving more incentive to support his channel directly
You have mastered creating videos that cause me incredible amounts of stress from trying to imagine how much work truly goes into them. I can't wait for the next one!
It’s incredible for him to think of these engineering feats in such a short time, AND to explain it easily so casual viewers can understand it
For real. I was inspired and tried to make a simple desk lamp. After a week of planning and a weekend of effort, all Im left with is a lamp socket on the end of a cord.
I have never been more amazed by the sheer ability and genius of one person…. Just casually makes animations to explain stuff he casually designs, builds, and write codes to just work. I’ve seen entire companies less capable than this one person
> short time
He spent three weeks on just making the bot put the pieces back without mistakes... That's 10 seconds of this video! I assure you this whole project took months.
Dude, I have an engineering degree and I feel like a pre-schooler watching this guy, hes a genius.
I'm a sr ME at a primary contractor and I feel like I'm at the "intro to engineering" level compared to him haha
I'm in a somewhat similar position, but for me the most impressive thing about this is really the motivation and amount of work put into one project. I simply can't imagine to have that much willpower
seriously?
Don't worry, I feel like you're a pre-schooler too!
He's "extra".
Bro you’re resilience is just on another level. I’m working on table that uses a coreXY mechanism and I got stuck and after like 6 hours of no progress I genuinely considered giving up. You’re ability to push through problems is amazing.
He did work at a 3D printer company designing 3D printers. I can imagine coreXY being second nature for him
*yro'ue
u'r'e'
That guy is one hell of a engineer, the pure mass of base knowledge behind this is brain melting, normally a team of 10-20 guys is working on such projects.
He’s the engineer that makes all the other normal engineers feel like imposters.
I can barely follow his videos. Massive brain, doing something he loves and has a beautiful wife... absolute chad engineer.
@@ILoveMyMalinois never thought of him as a chad before but I think you nailed it lol.
Yeah, if you check out his other videos it just doesn't stop. As far as I've seen on RUclips this guy is just on another level. Some serious brains and problem solving, really props to him.
The pain that this man goes through to engineer all of this is incredible
Not just to engineer it, but to also present it to us. Such a great production.
It's so unfair how much work he has to do in order to make only one vídeo!
I just cant begin to imagine how much effort making something like all by yourself takes. You're so profound in so many fields its actually jawdropping.
Building such a thing would take TEAMS of people working non-stop and yet you're taking on this mammothian task single handedly, my respect for your work is indescribable. 🙏
And in three weeks. Imagine a team doing this, would take months.
well said, I agree 100 %
Vision is what matters most for a project of this size, as one can throw as many bodies and minds at it and still mess it up.
Classic engineer, "It'll take a month to do something, so instead I'll take several months to build something to do it for me."
I wholeheartedly approve 👍
Haha, though in this case the real-world puzzle will take 10+ years to complete at maximum efficiency.
It's a very interesting problem!
But the machine will do it in a week instead of a month, and the next time you need to do the same thing, you can do it in half a month instead a full month. You'll need a full week to find the machine, fix anything that broke, and give it a clean and tune up.
Also, it might take you a few months to get the machine to do it for you once, but if you need this thing done often enough, you'll save countless time over the long run. Maybe this machine (not necessarily the puzzle machine) will only be used once, but a future project may borrow parts of several different designs you've already made and will just have to modify the design slightly.
But the prep build is once. The payoff is continual.
The something you wanted to do , Is now solved for next time.
Ask the Union car builders. Wait. They are robots now. Nevermind.
Also classic engineer, "I'll just do it in software".
LOL! First he engineered the problem to justify the time spent automating the solution.
Hey @stuffmadehere, I work in a very advanced semiconductor fab that is nearly completely run via robots. I saw your interesting concept about belt layouts for you gantry system and wanted to offer a much more simplistic solution. You stated that your issue lies within moving the beam when it has a heavy motor attached. With the equipment I work on we have the same problem except on a much larger scale. Our masts/beams/carriages weigh thousands of pounds. Our solution to this problem, a rack and pinion system. Extremely rigid, fast, and accurate. You could very easily 3D print both the rack and pinion, attach it to a small electric motor and be able to maneuver much heavier payloads with much greater accuracy and stability compared to more traditional a traditional belt and pulley method. Plus it would be much easier to program your carriage movements without having to calculate individual motor resistance etc. Just food for thought, I love your content so very much and figured I’d offer what little bit of applicable knowledge I have on the subject to help make your life easier or possibly aid an advancement in a future project. Ciao :)
I’m a professional in my field and people say I’m smart. But when I watch your channel I feel like I have never known anything and that there’s far more in world than could ever be learned in 10,000 lifetimes.
Welcome aboard ;-)
The fact that you say that proves your point that you are an expert. The more you know the more you usually know what you don't know.
@europhil2000 that's the dunning Kruger effect. That's why people who barely know anything about a subject think they are experts(called "the peak of Mt. Stupid.). The more you learn and under a subject, the more you realize you don't know(called "the valley of dispare.")
Same
I love how making the table was just a side quest on this mission. Most content creators would have a 30 min video of just that.
So true!
I wouldnt mind a two hour vid of just that....
tbh I would love a 30min video of his process of making the table.
As an engineering student, these videos made me feel so down on myself. Shane's pure brilliance and intellectual fortitude honestly made me think of switching career paths. That is, until I read the comments of several veteran engineers singing his praises as well. Made me feel better that I did not need to match Shane's genius to be an engineer, but rather admire it. Like always, I am so blown away by anything and everything you choose to make.
As an engineering student myself, I related to this so deeply
Engineering student as well. This ^
I hold 3 patents in electronic/electrical disciplines and I'm impressed by Shane's abilities. I've been in the industry for over two decades working in sectors including robotics, oil & gas (oil rigs, refineries etc), reactors and currently weapon systems on naval warships. Despite all this I can't hold a candle to what this guy can do. He's a rare breed so don't ever compare yourself to him, there are very few people on the planet who can match him. I've worked with some highly intelligent people but they aren't anywhere near the calibre Shane seems to be. Simply gain inspiration from him and aim to be the best version of yourself and you can't go wrong, and have fun along the way.
I played golf today. I'm no Tiger Woods, but that didn't discourage me. Do what you love, regardless of where you fall in the spectrum of genius. I guarantee you'll help others
Don't give up! When I was just a CS student, I had many moments like yours as I compared myself to other developers online. But I kept working toward finishing my degree and practicing on personal stuff here and there. Some time after graduating and working as a dev, I realized that comparing myself to someone like this isn't fair - I was just a student at the time and I was comparing myself to very experienced people.
If you keep practicing and looking for ways to continue learning (even a tiny drop at a time), you'll eventually find that you're further ahead and more capable than you realize. So keep at it and keep working towards being the best you can be!
At 16:05 he mentions it was the last 3 weeks of work to get the pieces aligned right - so there's definitely a lot of frustration and learning that happened off camera.
Aside from the fact that you're very, very good at engineering, I really appreciate how many people are tickled by seeing things like this. It gives me back some hope in humanity ^^
And even for a native German speaker like me with a slightly above average level of English, it's easy to understand because of the simplicity of your explanation
PS: watched the video the second time today and I´m still amazed to the max =D
Your English is quite average, not "slightly above" !
It’s honestly overwhelming to think about the amount of technical thought and labor that goes into each step of these projects. I work as a software engineer and even getting a properly functioning search feature implemented into our app was difficult enough. I couldn’t imagine creating an ENTIRE puzzle sorting robot let alone the sort algorithms.
But seeing you in action really inspired me. I signed up for Brilliant back when I saw your baseball bat video but stopped doing the lessons after a month or two. Now seems like a good time to get back on it and start exercising my brain. I could never imagine being on your level mentally, but with enough effort, I’m sure even a guy like me can achieve some pretty amazing things!
Thanks for the motivation!!
Why'd ya stop the lessons
@@mirnasimmi4901 I’m not sure if there was a specific reason. I just got bored
I’m looking to get into software engineering, but i barely even know where to start. What steps do u recommend to get started?
And that exactly explains my thoughts that I was too feeling but was thinking how to say being a software engineer.
AND creating explanation animations.....
I'm an electrical engineer myself. I'm truly blown away by your videos. You're easily the most talented, well rounded engineer I've ever come across. I have never seen somebody so greatly apply engineering material into a final product. You deserve all the success in the world. Wish the best for you and your family. I feel dumber than a box of rocks watching your mastery take shape 🤣.
At least you're a rock. He makes me look like a box stomped on by Big Foot after it's been sitting in the rain.
@@quantumpotential7639 I'm over here taking a month to design single parts for work and he drops a video every month where he does more than I've done in the past 5 years in a single 20 minute video...
This guy is on a whole other level from other RUclips builders.
He should say "let me show you its features"
I mean, Jlaser also makes amazing things.
If any other youtuber will come close, this genius will create a machine to slow them down😏😂
Styropyro also has that "unfairly gifted" vibe. He's so casual with his genius that it's infuriating lol
Check out James Bruton he's in the same league, maybe more specialized in robot movement projects, but he pumps out entire projects pretty quickly.
This is one of those channels that I hate having to wait so long between uploads, but every time a new video comes out it’s so technically impressive I’m surprised we get more than one video every 2 years
Im an engineer, I generally can see and intuitively understand what you're doing on the mechanical side, but I would love a follow up video talking about the details of the software and complexities that arent fit for a normal length youtube video.
Software engineering is a tad too complicated compared to mechanical, not worth a video as most won’t understand it / not friendly for most viewers.
@@carsonhunt4642 I'm decently adept at SWE and I still think it would be worth a video. I think the talent of a good educator/video maker (like Shane here) is the ability to explain things at a high level of accessibility. The behind-the-scenes mechE going on here is seriously complicated and I think that it's possible to do something similar for the software too. It doesn't need to be university-level but at least covering the general methods toward the solution I think would appeal to a lot of people. He did say at the end that's what the next vid would be about
As a software engineer I have a general understanding of what his software should be doing. But hell, making something like this work in real world conditions, alone in 3 weeks seems impossible.
@@carsonhunt4642 You're wrong. Solving a software problem isn't too complicated to explain once it's up and running. There are many already working patterns that are well known or can be studied very quickly if needed. Here we just want to know which technique actually worked to provide good response in the given time and computational "space" in this particular solution. What was optimized or done in some "non-standard" way, etc. No one needs to see those 30 thousand lines of java or python code.
As a computer engineer, I'm on the opposite end haha
"Why have fun when I can build a robot to have fun for me?"
-the mission statement of the channel
Building the robot is the fun!
that's the reason why sports stadiums, sport live broadcast, and let's play channels are born
people have fun by watching other people having fun for them
@@aedeatia if building the robot is fun then it’s time to build a robot-building robot.
except for all the powder-actuated tools he builds, those are never not fun to use 😎
14:08 my old engineering firm had an internal challenge to write an algorithm that could solve a puzzle very similar to a jigsaw. the managers had to stop the tournament because no work was getting done! the only result was that our senior most tech fellow (an absolute genius) declared that solving the puzzle is "computationally complex!" He was also the only one to submit a working answer... on paper! he had spent every night for a few weeks working out an algorithm on paper in his notebook. most of us couldn't even map the problem into a solvable state or prove if it was NP hard or not. When nerd sniping goes wrong lol
it IS computationally complex :D
my approach would be sort of bubble sort-ish, with a lot of heuristics. basically put down the corners first, then scan all tiles to find the edge pieces, then among the edge pieces, find the ones that fit to the corners and construct the frame. then for every piece check if its a match anywhere on the currently known-position-pieces
this is made a lot harder by the non 100% matching from the pictures, since there is no absolute does it fit answer, and calculating the BEST fitting tile for a position is ... a lot harder
ideally it runs in O(n^2) or O(n*m) where n is the number of pieces and m is the number of valid positions to check
@@Maric18
So here's my go on how I would do that:
With this kind of puzzle you always have 4 sides, each can be a hole, pin or an edge.
Also for each side of puzzle piece you have length of the side, and position of hole/pin. That could by x/y coords or just distance from top, depending on how the puzzle is made. It shouldn't be too hard to determine middle of hole/pin.
That should allow you to create a simple comparison function to check if one side of a piece, will potentially fit with a different one.
Then index data of all pieces with that information, along with detailed dimensions (or photo) of each piece.
Then use flood fill algorithm starting with one of the double edge pieces. You can find all the potentially matching pieces using the index, and then find the specific one using detailed dimensions. It should get easier once you have more than one side to check for.
@@karolrybak The only issue with your algo is that some of these jigsaw puzzles have diagonal sides on only some of the pieces, so you end up with rhomboid pieces and even some 'triangular' pieces (if you don't count the holes/pins). Your design probably could result in a speedup on some puzzles but on some others it would fail entirely.
@@Undercoverfire an edge is just 2 sides without any holes in them. i guess you could think of it like that
My naive approach would be to take the picture of all pieces, make them black and white, extract the sides and create multiple approximate versions (like if you’d make the “ lines thicker”). When you want to match two sides, you flip one and check if the approximate versions match (line up the images and check that there is a continuous region that is black in both), if they aren’t, you exclude them from the candidates, otherwise check the “higher resolution” versions, until you only have one. Then just identify e.g. the upper left corner, check the non-corner sides and find the matching pieces. This should be O(n^2).
We might need a robot that can untangle Christmas tree lights… 🎄🤖
Might be easier to make a robot that shreds tangled lights and reconstructs fresh untangled ones.
I have studied tangled wires and ropes for decades. The amazing way they can knot up. I suspect the Coriolis force has a great deal to do with it.
@@UQRXD oh yes.. it would be the coriolis effect.. undoubtedly.. 📃🧐
@@Cypher791 💩 I am coriholis. I need TP for my cori hole.
If there's anything I've learned from this channel, it's that every problem can be solved with a gantry.
gotta love gantries
Anytime you want to move a tool you basically have the option of gantry or robot arm :P
gantry and try until you succeed
and if it still doesn't work, just use optitrack cameras
I have an old pantry that we weren't using and I store all my gantries there.
sigh.... LOL
Yes, I call it my GANTRY PANTRY!
sigh... sorry..... I'll let myself out...>>>
RUNS LIKE HELL! 🤷👈👈👈🏃♂🏃♀🏃
Oh no, you're going to put me out of a job. I have tons of solid color puzzles it could practice with if you need more test subjects.
Glad to see you here. I just commented about wanting to see a puzzle race collab video with you when this machine is done.
I thought of you when I saw his newest machine. 🤓
@@ABoojumSnark I think the biggest issue with a man vs machine event is that, especially for smaller pieces, the robot takes a long time to start actually putting everything together. And if you count this time, then for every puzzle that you could reasonably complete in one sitting, robo would lose in this state. But once it got going it would win. So it becomes a problem of "What counts as victory?"
@@Wheagg that's the part i think would make it interesting. Do a few puzzles (10, 100, 1000pc?) And count all the prep and calculation time, and see how it changes for machine vs human as the complexity grows. Humans do the calculating part too, it's just a continuous process during the assembly instead of front loaded.
@@ABoojumSnark Sure, that's a good idea too, I just don't think it'd be interesting enough.
Been thinking about how to do something like this for a while; this implementation is honestly amazing and shows just how good Shane is at full-stack engineering. Insane how far the projects have come!
Yep, I really hope he will use his knowledge to build actual usefull tools and make videos about that
I can't imagine the amount of programming needed to get this thing working
You think he also programmed it so that it goes completely insane, like a human would, when it only finds 4,999 pieces?
A couple programs and codes for it
@@johnnysins1171don’t pretend as though this is a simple problem to solve. this is not merely “a couple programs and code” lmaoo
Man, really helps you appreciate how amazing our brains are. A 2-year-old human can do a 3x3 puzzle pretty reliably.
Good point! The coordination ect required is really impressive. Same goes for skiing, i always think about how much the human body does to keep me stable. It'll take a long time fir the first skiing robots im sure
@@samuvisser Bipedal robots are already performing backflips with leg tuck and all off of 2ft high boxes and then sprinting out of the landing. It is not going to take as long as you might expect.
@@Phil8sheo okay but I bet Boston Dynamics can't build a robot that can hold its breath longer than I can
@@Phil8sheo the backflip demos are done in a highly controlled environment, right? If not, they likely need various separate cameras to map everything out. One amazing thing in an activity like skiing is how quickly a human can react to bumps and unexpected conditions. I’m pretty sure that truly independent skiing robots will happen, and I bet it will be both sooner and later than we expect.
@@mortalsno4086 lol I don't know of *any* robots that breathe
As incredible as the builds always are on here, and as helpful as the explanations are, the little jokes are the cherry on top. The fake Amazon review, the 4th screen news story about puzzles being considered torture by the UN.. Every second on this channel is so well thought out.
DO AMERICA like my new Musicvid? i come from germany !
I saw the news story too lol. Not a real article, but searching for it led me down an interesting rabbit hole about what psychologically constitutes torture. Good stuff
Where was it? I missed it!
I was too focused on everything that I had tunnel vision to anything else! I am also on ritalin for narcolepsy so tunnel vision is not uncommon?
But I also have photographic memory? So I often tell people where they put something down that they misplaced? I can rewind my footage in my mind like a video? I never realised that this isn't normal behaviour?? So I've been told lol
The density of information in this short video is astounding. What a genius!
This man holds my attention span longer than I can hold a conversation
@el diamante hello bot
@el diamante I mean the james webb sentence sounded a bit bot-ish so i cant blame him
@kwokshsee well, considering we've been sending objects into space for decades now, with many failiures, it shouldn't be surprising that we're starting to get it right more consistently
@kwokshsee ...what?
@@obsidianflight8065 beep boop beep.
Can't believe it's possible for one person to be this smart and patient. I bet the feeling of satisfaction you get when it all works in the end is priceless!
On a smaller scale I had that feeling when I spent a couple of days getting a Minecraft redstone contraption to work, but I bet it's a great feeling to do that IRL.
@@holysecret2 oh yea I bet redstone is dope! The most complex thing I ever made with redstone was just a music room that played different chords when you stepped on certain plates. But in Dreams (PS4/PS5 not literal dreams lol) I made some dope stuff and once I became fluent I started finishing stuff and it's the best feeling when it all works. Just like when code finally runs without errors. I made a bus simulator game that even works in VR -it seamlessly detects whether you're in VR or not and gives you the appropriate controls so you can play the game however you want. So fun to build virtual circuits and there are so many interacting parts that I knew EXACTLY what the "integration hell" phase of debugging was when I first saw him mention it in a video. It's amazing how well you can get at debugging to the point where debugging in the same environment almost starts to become a streamlined process isntead of hours of aimless tinkering its like an almost airtight checklist "okay let's build this temporary thing to test for the presence/absence of X to see if the problem is Y". like HELL YEA!
Everything that he builds makes him look like he's from another planet. I have no idea how I would make his machines.
@@pinniporker basically if I had all his tools I'd either 1. Stay to very small stuff and go slow as hell in tinkering or 2. Hurt myself pretty badly lmao
@@humble_roots Yeah lol, you wanna subscribe to me?
As a software dev, I am definitely looking forward to part II. Algorithms are our bread and butter. The software alone involved in this project would make a great interview question to see how somebody thinks and breaks down a problem
Mind if I ask, where do you work that algorithms are your bread and butter? Because I love algos, but most SWE work doesn't touch algos very much.
When I saw this problem I couldn't stop myself from thinking of ways to solve it and have a few ideas already to reduce the search space.
all the software engineers job hunting preying that part 2 comes out before their next interview
This is more of a control engineering problem if anything, I'd say
@@joseville i would guess he can using the genetic algorithm and the fitness function is checking which possibility has less deviation
@@HoloDoctor90 Nice way to say a whole lot of nothing.
It really blows my mind how smart some people are. This guy is next level!
These videos blow my mind. Well done Shane!
hi jared im a big fan i didn't know you watch smh
Don't be. It's the brick it app.
I've watched a lot of his videos, but for some reason this one really struck me with just how advanced his engineering skill really is. Every piece of this is a mini-project that he tosses off as if it's nothing, and then it comes together with enough precision to make it all work. As a software guy, I'm super curious how he's going to make a feasible solving algorithm.
Bro is a mechanical engineer, electrical/electronics engineer, software engineer all in one. And he's great at all of them. I know he has both a BSME and did computer science or something.
Wow…this guy works so hard on his videos. He’s so thorough when it comes to explaining his process and making it so that we understand how complex and amazing it all is. He didn’t have to give us all those animated visual aids and he DEFINITELY did not have to harness himself onto that wooden frame to show us how strong it was with the tension cables, but he did, and the video was infinitely better for it. You can tell he has so much respect for his craft and his audience.
Cool to see the bright light background to detect shape. Couple years back i made something like it at work to get shape outlines for products we have to draw.
I've said this before, and I'll say this again. This is the best channel on youtube. I just hope this guy is getting paid enough so that he never stops with these kinds of videos
Well he has 3045 patrons on patreon who pay him monthly. Even if he's only getting the $5 minimum tier he's making $185k a year from them, if you bump it up to $10 average for the patrons you get $371,000. Which considering how insanely brilliant he is, he could probably be making millions from crazy inventions or continuing engineering work if he wasn't on youtube, but he's certainly not poor.
@@RobinClower Minus materials/tool costs
"Its the future. Why would I spend my time having fun when I can build a robot to have fun for me" - best opening line ever.
Honestly I love to hear your struggle. There are too many makers cutting out their struggle and it makes it hard to feel capable doing things in my own projects. I 100% watch these videos for the triumph over the setbacks. Feel free to un-abridge!
As an amateur coder I can only imagine the amount of euphoria he finally succeeded in the assembling the test puzzle. Engineering is fascinating and easily the most useful/worthwhile skill to learn. It is a combination of almost every subject matter and takes immense patience and unrivaled perseverance. Well done!
"This will allow me to see when it jams up"
You know he's a fellow engineer when he doesn't even think if it'll jam. He already knows it'll happen.
Same with the hole drilling plan/solution to the puzzle pieces moveing around on the table. lol
lmaoo yea you kinda always expect it will fail the first dozen times for certain
Murphy's law is not a contingency, it's a given.
You mentioned not wanting the pieces to move around and I was like "tacky / rubber surface". And you're all like, "no, let's drill lots of holes and use a powerful vacuum" 😅
Still, this is awesome. You are awesome.
It is incredibly how much he overengineer things.
I hope he sees this
It probably came to mind easily because CNC routers often work like this.
I thought he could isolate the robot gantry from the table but reverse air hockey table is a cooler idea.
:D my first thought was "rubberize the table"... like that non-slip material you put on shelves... but that's way too textured... or spray the work surface with a rubberized paint, like plastidip or somesuch... :D
i am absolutely in love with the amount of complexity that builds throughout the course of any given video. it sometimes causes me to be stressed but i know that somehow you will come up with a solution.
16:02 "FINALLY! What a pain!" This had me dying - the thrill of victory followed immediately by the catharsis of expressing how difficult everything has been up to this point. Wow. I had to rewind several times so I could continue belly laughing.
This is incredible. Amazing. Why are you not working for NASA again?
Probably because NASA wouldn’t fund him making a puzzle solver
There's another catch with 5k puzzles. Usually the way they build it is using a grided mold cut into an image, somewhere about 20x25 pieces grid cut a lot of times troughout the image. So one piece can fit multiple spots, but it's image won't actually match. This makes a whole white puzzle easier for this software, since it's blind to the puzzle collors (if that's how this specifically puzzle was made). It may be harder for us to do it when it's all white pieces, but for your software it might me easier. As someone who loves puzzles and engineering, I'm hyped to see part two. This might be my favorite machine that you've built so far! Congrats with the hard work! :D
Could perhaps be remidied by some easily recognizable patterns (for computer vision) drawn on the puzzle after the first time the machnie solves it, then try again xD But this fact you mention should ease the compute tons...just match it to the closest theoretical shape of the 500...then again he needs to procure that dataset of 500 unique shapes etc.
well if the puzzle is all white then it technically wouldn't matter if it puts a "duplicate" shaped piece in the wrong spot
@@megthedingus8918 - That was their point. An all white puzzle is harder for humans, but easier for AI. A human could use a similar computational approach, but we can't compute as easily where a specific shape is needed.
The white puzzle comes disassembled so marking similar edges with an algorithm isn't exactly feasible out of the box. Though one thing I'm very curious about is why he isn't using something called a scanner to get way more accurate results. He could even multi-scan pieces and increase the size range of multiple pieces by a lot. Also, it would probably help to do some preprocessing on the pieces to match the edges per batch to reduce complexity, could start running preprocessing during the scanning process, be it the lens or the scanner to reduce run time. If somehow you could make an A* evaluation function for the vector graphics that is continuous, you could potentially cut a dimension of complexity down to log n, and run time should be greatly reduced.
Jo stuff, you always say "What you haven't seen it's all the software I'm going through". The point is that I'm sure that a lot of us would love to see it, would love to listen to you explaining it. It would be so cool if you opened a channel called Stuff Explained Here, where you explain to us all the algorithms, all the stuff you coded and made to make this work.
see it in his perspective, it will take too much time and probably wont get enough views since most of the people wont understand a thing.
1 of his project alone will take him weeks to months, it wont be worth it for him to explain the coding
@@basicthing2363 but he has already done the work. Explaining the coding can't take more than a few days of work considering what a beast SMH is, and I'm sure it would still get lots of views. I'd wager there are lots of software devs watching SMH already.
Damn the channel just got created!
that channel actually already exists atm :P
edit: didn't notice that @Adrien Burg beat me to posting that the "stuff explained here" channel recently got created xP
I'm not hating this idea.
Amazing.. as usual.... just thinking about writing the software makes my brain hurt!
not to mention every part on this complex machine was custom designed then printed and you know that each part had a few renditions. I cant even imagine trying to do this with a team of people working on it. And he did it by himself in a few months. Just looking at the arm with the camera and vacuum made me impressed. then comes the multiplex magazine that was 100% custom.
@@scottcol23 3 weeks*😳
The software is the fun part, once you've waded through mechanical hell to build the rest. Once you reduce it all to a software problem, there is no problem.
-SE
@@ilikewaffles3689 3 weeks just to get it to solve that one test run. The total time was probably much longer. The whole project is just insane... especially when you realize he did it himself.
I have been waiting for next part since this video came out and i check the channel daily.
I am so happy that you're actually getting into the software this time. That's what I'm most impressed with when it comes to all these projects.
Same! I guess that side is just harder to make a video about. But, there are some great visualizations in this video and others, so I’m really excited to see how the code gets explained.
Not only he can build and program incredible machines like this, but his scripts are so good that you now know what is CoreXY, a telescopic lens, and multiplexing, among other things. You always learn several things with his videos, it's awesome. Also, imagine compacting a 3 weeks work into a 20 minutes video that is entertaining, engaging, fun and educative. Superhuman.
I've always wanted to see a machine that could tattoo skin automatically like a CNC machine and I'm convinced you're the only person who can do it. I for one would love a Tattoomadehere
I went to a weekend hackathon where a group of engineering students tried to do this. Ended up being able to tattoo a recognizable space invaders alien onto a slab of pork. Was fascinating to watch.
maybe some kind of laser engraver modded to hold and control the tattoo gun? that way you could upload an image and it would be able to sense light/shadow to appropriately create the image on skin
There was a program with Colin furze and Tom Scott where they tried this can't remember the name though
Now that you say it, I have to think something like that isn't all that far away. They're already doing surgery, but I think someone is in control of those
i would donate my skin cuz i kmow he has skills
Yeeees. I've worked with big CNC machines before and seeing that you had the vacuum-table trick up your sleeve made me happy
The demonstration with the metal wires was really interesting, I’d love to see more cuts to stuff like that when explaining certain design/build choices in future videos. It reminds me of when the teachers would do cool demonstrations in science or physics class
More than 1 part?! Am I in heaven or something? This is gonna be great!
The moment before the part 2 reveal I was thinking "Man, I wish he would show us the software in at least ONE of his videos!"
Thank you!
It would be cool if we could find his GitHub page.
i absolutely love how you show your struggles and fails. it makes me feel better that even though im failing, not even a genius like you could do things on your first try. so its ok to fail, and what i'm doing is ok, because i'm always able to improve myself like you and create a working project in the end
My first paid "thank you" for a you tube content! You give me a lot of inspiration! Thank you very much for doing what you do! Lot of work in your projects, I love them! 🔥🔥🔥
Looking forward for the part 2!
Thank you again from a SW engineer ❤️
Nice name Matteo!
@johnnytheprick Yea it's called Super Thanks. Its on the bottom of the video.
+
@johnnytheprick you see the badge? If so, yes 😂 btw it's the function Super Thanks
Yes definitely one of the most deserved RUclipsrs. +
I love how you solved a hardware issue with software, it’s the best
As a mechanical engineer, this makes me wince. 😂
Ah yeah, the good old Boeing 737 Max way
@@oscarn-
As a software engineer, this makes me happy.
The things we do to avoid boredom :)
Love the drive to face challenges solely by the novelty, complexity and coolness of them. Really inspirational, keep it up!
I love how you can appreciate each step of solving the problem. It is really inspiring to see you take it one by one without losing your patience. Respect man, love your work !
This was probably one of your most interesting videos to date. Tons of cool concepts being used here to make this thing. Props to you, man.
Shane, That quote.. "Why have fun when I can build a robot to have fun for me" is what got me into programming. Though I don't write game playing bots anymore, the motion detection class library I wrote for kal online is still fun. Though now it can tell the difference between a dog/cat or person. Cuz haven't we all needed a webcam that will follow motion ;D
First year of CS I probably spent half my time making games then making a bot to play the game to perfection. It's more fun than playing games. Now I just need a bot that makes games and bots so I never need to have fun again!
This feels like the sort of project where a different person/team would normally have each piece. One for the moving robot, one for a piece sorter algorithm, one for a solving algorithm, etc..
Been waiting for 2 months for part 2…..can’t wait to see what integration hell we’re in for this time.
me too. There was a time i was checking on this channel daily to see part 2
@@johnwachira2662 Me three! It's been two months so it must almost be here...
Same, I'm sure it's coming soon
me three
Been waiting it, too. But the filming in the end might be TEDIOUS to extreme. You get the thing to start laying pieces, and then it messes up at say midway through. You fix it, and it does it at the start. Fix, midway. Fix, 3/4 done and it looses it. You get the picture. Just the building sequences will take time, and there -sadly- will be problems.
This might not be so extravagantly interesting as exploding golf clubs (the sticks that you hit ball with, not the watering holes!!!) and baseball bats, but the insane amount of challenges in this is very inspiring!
Well, it might be everything but inspiring occasionally... 😂
As an engineer I am insanely blown away at what you accomplish. Its super motivating! Also, it makes me realize how my skills pale so hard in comparison. Hats off to you sir! I love it!
“I’m making a the magazine out of polycarbonate, for when it jams up”. I like how he knows something is going to go wrong, even with his own design. Respect, keep up the good videos
Solving this NP hard problem is going to be interesting. My first optimization idea would be to determine all corner and edge parts and aligning them. It should be easy to tell, based on whether there is a flat line on one or two sides. During that step, all other parts can be ignored.
After that, you always have a missing puzzle piece that you know two sides of. Classifying the parts based on inward and outward bulged sides might be helpful to cut down the total number of possible parts to consider.
Also combining pieces that fit together during calculation and treating the multi piece combination as one piece might work. Having two 3-piece clusters can be checked based on bulges in a lot of cases, that way you don't need to compare every piece individually
There are probably way smarter ideas for this, this is a very nice optimisation problem. It is kind of like the bin packing problem, just more exact.
Edit: for all people suggesting to just use a hash representation of each edge and look it up in an array, that does not work because multiple tabs and pockets fit together, especially with 5000 this is a big issue. There is a paper about this problem called "Even 1 × n Edge-Matching and Jigsaw Puzzles are
Really Hard", definitely an interesting read. (credit @Shuhao Tan for finding this!)
My thinking was to "digitise" each edge, encode it as you would a key. For each of N steps along the edge, calculate the distance from the "base" of the edge, and round it off. Save this result to a database, and in theory that key should match exactly with the inverse key on another piece, so the matching just becomes a lookup exercise.
@@anon746912 I love this idea........
Edges first would trip up the robot for specialty puzzles like jigsaw 29. Actually, I am curious whether the final robot will be able to solve jigsaw 29.
Good idea to start with the edge, like a human puzzle player usually does.
The puzzle piece magazine seems great for storing differently shaped pieces as well, but I'm not sure how to do that efficiently. In principle, there are only six different types of puzzle pieces (except edges), which lends itself to an intuitive storage system, but algorithm-wise it would be difficult: storing all similar pieces together would be a bit of a logistics hell because the piece you need will almost never be at the top of the stack.
Still, it could be an idea to complete the frame, then, starting in a corner and working one row at a time. Finding the first piece to fit in a corner would take time, the second less so, and eventually it would go really fast towards the end as the number of available bricks shrinks.
I was thinking puzzle pieces all fall into certain classes of shapes. There are only a handful of features with infinite variations to them. If the pieces could be described by their feature sets, perhaps the search space for compatible pieces would be much smaller?
This is my first time seeing one of your videos. I had a smile on my face the whole time. So peaceful and interesting. You have a beautiful soul sir!
The production quality of these videos, and your level of comfort in front of the camera, have skyrocketed since your first videos. This should be shown to engineering students as a great example for thinking through problem solving, and also just to instill them with enthusiasm for solving hard problems. Kudos, man, great stuff.
Suggestion:
To speed up the computation of the pieces you could start the algorithm from the external pieces, after which once the frame is finished you start again from one of the 4 corners so you already have 2 reference hooks and if for example they were two protrusions you could tell the algorithm to exclude all the pieces that do not have two adjacent indentations (saving the computation of pieces that are impossible to place from a logical point of view) I hope this is understandable 😅
I think this is a variant of The Stable Marriage Problem.
The Stable Marriage Problem is what dating apps have to deal with to match people up:
- You have a group of men and women that want to pair with exactly one other person.
- Each man/woman ranks every woman/man (respectively) in order of preference.
- The goal is to ensure no two people want to abandon their partners and match up together.
It's kind of a similar problem, except replace "Man" with "Piece Nub" and "Woman" with "Piece Socket"
I also thought of starting with that, but I've been working on a lot of mesh construction recently for a game I'm working on, so if I were to think of a purely software solution I'd go: 1. Turn each piece into a list of vertices, sampled at a uniform length. Puzzle pieces are square, so mark for all vertices to which of the 4 edges they belong to.
2. First check the side lengths to match and change orientation.
3. If orientation is ok, match the edge vertices to its counterpart, even at much higher density than shown in the video that's going to be pretty fast (it might be a ratio on N:M verts, just scale accordingly).
4. Calculate a difference factor for all comparisons, the sum of the differences should show correct pieces.
5. There might be N correct pieces because I'm sure not all pieces in a puzzle are unique (in either 1 or 2 dimensions), so then you'll have to try some sudoku like variations, e.g. if A fits into slot 1, can B fit into slot 2, etc.
Overall I'm pretty sure that the final solution should be pretty fast.
@@raffimolero64 That would solve a puzzle where pices go together in pairs. Solving a jigsaw puzzle requires a np-complete algorithm.
@@animal9633 Up to the 4th step it would be "fast". The 5th step requires bruteforce which, for 5000 pieces, it is quite a bit. (Almost) every piece can go 4 different ways, and you can quickly discard some combinations, but (5000*4)! is just too big.
@@devezek its a sum and not a product, so its not factorial. Worst case you would have to make 12.5mio * 4 = 50 mio comparisons in total.
If you dont compare every single pixel of your outline with every other pixel of every other puzzle piece left over but break it down to "possible pieces by nobs and holes", "piece width corner to corner", "max hole diameter", etc and only go into detail with whatever is left i would assume the algorithm will take seconds for the 5k puzzle instead of millenias.
this guy deserves the most subscribers on RUclips. nothing better in the world today than his content.
Absolutely love the belt solution!
As a coder, I’ll be interested in seeing how he goes about solving this problem. It seems like the complexity is growing exponentially per puzzle piece in his current solution.
genetic algorithms?
I guess he is testing all possible arrangements, so O(n!)
@@pereJobs there definitely has to be some code he is using or can use to rule out certain piece combinations to cut down on arrangements. like two pieces with no outs, or ones that are all outs.
@@pereJobs Can't be O(n!) because in no world is 5000! anyway as small as 3000 years
Maybe he somehow sorts them in categories based on the position and size of the ins and outs, then dividing the categories into smaller and smaller groups until there are only the two pieces (or rather sides) in each group that fit together. That would be O( n * log n ) if i'm right, which is quite usable.