5 ms·
Sorting 2 Tons of Lego (2017)
- lucb1e 7y ago(2017)
- sverhagen 7y agoThe pictures at the end are so satisfying to see. I have a four year old and their Lego is a constant throwback to good times.
- jacquesm 7y agoCrazy how often this has been posted to HN.
- ChuckMcM 7y agoI agree with Nico its got a lot to like, it is very approachable and doesn't imply access to a lot of hard to get/use equipment. So good stuff. Now you need sub-sorters :-) I always kept my technic stuff sorted by various parts (large gears, medium gears, small gears, motors, axles, wheels, etc) Another interesting project would be a 'pick a part' machine that used an arm and image recognition to select parts from bins and assemble a 'kit' (all the parts needed to make a particular thing)
- jacquesm 7y ago> Now you need sub-sorters The main limitations is to be able to sort into only 12 bins in one pass. If you want more detail or more groups then you need more passes. Ideally it would sort into a few hundred bins at once but I have not been able to come up with a geometry that works well. The most radical idea would be a tower of 2 meters high or so with bins spaced around it like flower petals, the air jet would have to be timed super precisely to aim the part into the right bin, especially near the bottom where the velocity would be quite high. Pick a part is easier, the software is trivial but the hardware is anything but, an 'automated warehouse' for Lego parts would be a pretty tricky thing from a mechanical point of view. And once you're on that train of thought, the obvious end-game is a machine that re-assembles the sets, then we can declare Lego a 'solved problem'.
- StavrosK 7y agoDo you use relays for the blowers? Can you use MOSFETs for more accuracy?
- jacquesm 7y agoHm, never even thought that that might be a factor. Yes, it uses relays. I'm not sure how much belt travel will be off because of that, but given that it would be a constant it would likely already be accounted for a an offset to 'center of part' which is where I try to hit the parts to make sure they don't spin like mad.
- StavrosK 7y agoThat sounds reasonable, where you may have more luck with something more accurate is if you had to run the blower for a shorter time, or maybe pulse it to lower the wind speed (I'm not sure if that's possible).
- jacquesm 7y agoThe relay pulses are about 50 msec, that's mostly limited to ensure there is enough air to rapidly hit multiple bins in a short time, as well as to be able to 'pick out' a part from two adjacent parts on the belt without hitting the other two. That took a while to get right!
- bmking 7y agoIt's exactly the kind of things I hope to see every now on then on Hacker News! :)
- jacquesm 7y agoI should set it up again and give a live demo one of these days. It's lots of fun to watch it work. At least once every week someone mails me about it. The bulk of these are wantrepreneurs who have suddenly seen the light and want to take the project over, and who think I'm gullible enough to believe their cover stories (5 minutes of Googling usually turns up a commercial operation). Can't blame them for trying to corner the market I guess. Meanwhile, the consultancy I've been running for the last 12 years is growing up, rapidly. We just named our first CEO (other than me), who will hopefully take it to the next level so who knows, I just might have some free time again in the near future. Here's to hoping.
- sbierwagen 7y agoDid you ever sell any of the sorted Lego?
- jacquesm 7y agoYes, quite a bit actually, mostly to the United States and to one fellow here in NL that was building a huge castle. https://twitter.com/jmattheij/status/1016382615417389057 https://twitter.com/jmattheij/status/1016382615417389057 Amazing accomplishment, he surveyed the building just prior to demolition with a drone and then built the whole thing without a single drawing.
- gus_massa 7y agoFor comparison: Some photos of the castle: https://www.davidbakerphotography.com/location-history/residential-urban-exploration/the-history-of-chateau-de-noisy-chateau-miranda-Belgium https://www.davidbakerphotography.com/location-history/resid... (see in particular one near the bottom) About the demolition: https://www.byronhartshorn.com/2017/05/31/chateau-de-noisy-is-being-demolished-and-you-might-be-the-reason-why/ https://www.byronhartshorn.com/2017/05/31/chateau-de-noisy-i...
- NicoJuicy 7y agoI think it's one of the 2 examples where Machine Learning actually was seen usefull as DIY-project. The other one is with a cucumber farm: https://cloud.google.com/blog/products/gcp/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow https://cloud.google.com/blog/products/gcp/how-a-japanese-cu... Fyi: The real reason why i posted it, is that suddenly your RSS feeds on your website work again i suppose :P So all your items on your blog are suddenly in my list again :) That and ... it's an awesome story :p
- jacquesm 7y ago> The real reason why i posted it, is that suddenly your RSS feeds on your website work again i suppose :P I fixed a minor bug in my Hugo setup and posted a new article, that's probably the reason why that changed. Now I still need to go fix the images on older posts. No rest for the wicked! My current project also has ML in it; music, MIDI, programming, what's not to like :)? I'm very much unsure about whether or not I will be able to get it to work though, I may have bitten off more than I can chew with this one.
- NicoJuicy 7y agoAhhh, yes. It could be that the URL or Unique Id changed of the feed. No worries for the images though, as i'm not using that ( but i could) http://handlr.sapico.me/ http://handlr.sapico.me/ :p
- bigiain 7y agoCan confirm, Feedly handed me a bunch of older posts as unread along with the "Briefcase" on earlier today...
- OrgNet 7y agoBTW: The search feature on your site sends the query over HTTP (missing the S).
- jacquesm 7y ago
- secabeen 7y agoHave you ever posted the code? I would totally try implementing this, as the hardware work is something I can do, but my programming skills are rusty enough that I don't think I can write the code. I'd love to see other people try to build and improve on it.
- jacquesm 7y agoNo, I was planning to and then every 2 bit Lego trader and bricklink contacted me to try to go commercial with it. That's not how I envision this and so I decided to keep it inside for now. A ton of work went into labeling the dataset (many 10's of thousands of images), and there is no way I will let the likes of Bricklink and overpriced parts sellers use it to corner the market. This is very much a mom-and-pop market, and there are countless people out there that augment their pensions by sorting Lego by hand and re-selling it. Releasing this would put them out of business overnight, or, they'd have a grace period as long as someone does not put together industrial mechanics for it and then it is 'game over'.
- secabeen 7y agoFair enough. I guess I'll have to figure it out myself. :D
- bigiain 7y agoThat's because it's _Awesome!_ (A more cynical man than myself might assumed the entire project was intentionally and exclusively created to appeal to the HN audience...)
- jacquesm 7y agoHaha, that would have been an expensive mistake!
- gibi555 7y agoI think shipping to Russia will be very expensive for me. Also, the difference in exchange rates will play a big role. I apologize for the bad English. I am writing using Google translator
- jacquesm 7y agoIf you're ever in the neighborhood or know someone who travels to NL then let me know.
- gibi555 7y agounfortunately I can only dream of visiting you)) for a month of work we are paid 355 euros. but if someone from my friends goes, I will inform you! it's so interesting to communicate with someone from another country)), albeit with the help of Google translator
- NicoJuicy 7y agoFyi, shipping to Russia: - 1 kg = 30,03€ - 5 kg = 42€ - 30 kg ( max ) = 77,76€
- rdtwo 7y agoCan you sort them with enough detail that you can reassemble existing sets? That’s probably the way to go for adding significant value back to the pieces
- jacquesm 7y agoYes, absolutely. The workflow would be: sort about 10% of the pieces in a test, use that to determine which sets are present based on the rare pieces, then pull those out of the bulk in one pass, it can do 12 sets in one go. Then you do it all over again until there is no more left.
- ant6n 7y agoGiven a large set of unsorted lego pieces, and a list of possible lego sets with associated dollars values: Do a single pass to identify/scan all the pieces. Then based on that, divide those into sets such that the associated dollar values are maximized and such that the number of sets is minimized. Then select the 11 most valuable of the sets and use the sorting machine to sort these out, all the remaining legos go in the 12 set. Repeat. Simple ;D
- StavrosK 7y agoThis project is fantastic, both the goal and the execution really appeals to me. It screams hacker/maker, good job.
- deleted 7y ago[deleted]
- Theodores 7y agoThe sorting is colour first for me. Colour is the resource that matters, the limiting factor to a model. Therefore I find it amusing that this is not the primary consideration. As a child I found that the models made by my sister and myself were in a different league to those of the other kids because of this aspect of colour. We could use every brick in the box to build a townscape but nothing in the scene would be built without attention to the colours. Some other house or building might have to be part demolished to get the right colour bricks, it came down to resource optimisation. Those other kids that didn't have the colours sorted out were beginner level, they had worked out the bricks stick together but hadn't worked out that colours matter, as they do with the Lego sets, which are never jumble sale coloured with random bricks everywhere. There always has to be this aspect of taste to the colours. Right now I do have a manually sorted selection of bricks. They are for my niece when she is old enough to move on from Duplo. We have sorted the bricks by colour and then by size. The challenge to this has also involved washing them with the sorting being by colour and then size granularity. There are specials such as the flowers and other vegetation, doors/windows and so forth. In theory my niece will be able to get the bigger blocks first and then the specialised fiddly piece, e.g. 1x tiles, can come along later. There have been other decisions made, for instance the mini-figures have been broken down to their component parts so that there is no knowing what they were originally. There are just lots of tops/bottoms/heads and hairdos. We are short of roof parts. But who is to know if my niece would want to be making the town scene that was the de-facto model that my sister and myself would want to make? I also think too many specialist brick shapes can be bad for the imagination, so I hope the staggered release of basic blocks to then move on to the smaller pieces will help with this aspect of creative possibilities for my niece. My niece is a single child so won't have resource wars with a sibling, which is a bit sad. There are many potential customers, including those too old for LEGO (not that you can ever be too old for it), I hope my 'colour first' pointers help.
- jacquesm 7y agoSorting color is problematic. Yes, it is an easy first sort step with relatively limited number of output bins. But once sorted by color it becomes 10 times at least harder to pick out a shape. Anybody that I know that has sorted Lego in quantity first goes for that because it seems so obvious, and then after a while all of them revert. Think about it: pick the 2x4 brick in red from a pile of 2x4 bricks in various colors vs pick the 2x4 brick in red from a pile of red bricks in various shapes. The first you can do in a heartbeat, the second will take much longer, and it is also much harder to determine that a piece isn't there in the first place.
- ALittleLight 7y agoHow do you disassemble the Lego when they are first acquired? My guess is that, buying bulk Lego, some of them will already be snapped together. Is that a manual first step, or do you have a technique to separate them automatically?
- jacquesm 7y agoThat's an unsolved problem. You'd be surprised how hard it is to separate certain parts from each other. But the first bulk sorting step usually takes care of picking out the larger assemblies and there is a class 'assembly' which gets picked out all by itself by the machine. That at least allows you to concentrate on the parts that are still stuck together.
- wizzard 7y agoCan the machine detect three identical plates stuck together? Just curious. My most hated parts to separate are a flat dot on top of a regular dot. Second runner-up is the 1x1 plate on top of a dot, which is common in the Minecraft sets. I'd pay for a machine just to separate these for me!
- jacquesm 7y agoDepending on the viewing angle: yes. If the part should land particularly unfavorably on the belt then there is a small chance that it would not be seen.
- prawn 7y ago1-2 years ago, I commented on HN in a random Lego thread and Jacques sent my son (we're in Australia) some bulk Technic pieces. As with all Lego, they've been played with over and over and I always remember that generosity. Thanks Jacques.
- bigiain 7y agoI bought 2kg from Jacques, also delivered to Australia, back in (searches email) Aug 2017. It has brought much joy to various small people (and me...)
- lnsru 7y agoThe machine is impressive. It’s so nice to see hardware project here. 2 tons LEGO has eBay Kleinanzeigen value of €20k+ if one sells them in packets of 5 kg. My problem in LEGO building is simple: I don’t have enough rare parts. These can be substituted with improvised modules, but when set needs 3-5 of them it’s not buildable anymore. Having many improvised modules break original plan and the result sometimes isn’t satisfactory anymore.