Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’d use it to pick through and sort the massive pile of Lego my children leave behind after an Easter long weekend. Seems trivial to do identification based on the high quality corpus of block databases. Wouldn’t have to be super quick - you could just leave it running overnight.

I’m sure someone’s written an interesting paper on the ideal sorting algorithm too (i.e. large things > small things vs. ‘just pick up and place the nearest thing’.) I would personally just get it to sort them into basic sets before placing the trays back in their goddamn drawers.



Picking up and sorting Lego with a robot arm is pretty much a state of the art research project (a few years ago at least), not a hobby project.


Depends on your defenition of hobby and if the hobby as part of it being enjoyable needs to produce something tangible in the short term. Following sota research, tinkering, trying new things in a field unrelated to your day job can be a fullfilling hobby.


I imagine it is strongly affected by whether the pile is already decomposed into individual bricks or not.

The analysis and disassembly of a combined set of bricks can frustrate even human eyes, brains, and fingertips.


My impression is that the fastest/easiest way to do it would be putting all the pieces inside hopper with the selector at the bottom. Perhaps using compressed air to push the falling pieces into different containers as they fall. I believe there’s already something like that in produce factories, separating vegetables by state/size.


I interviewed once with a company that made rice and grain sorters. They have a massive hopper at the top and pass the grain in a curtain through a machine vision camera, and then decide in real time where each grain goes based on the image.

Apparently pretty much every grain of rice you've eaten has been through a machine like that.


That is very interesting! Thanks for sharing. I did not imagine that rice was a good candidate for this


Oh look someone has already done something like that:

https://www.youtube.com/watch?v=04JkdHEX3Yk


I don't know why this can't just be a cleverly laid out arrangement of layered sieves, each one parsing a different object .. I don't see how it needs to be mechanical in any sense other than "pour in the lego junk, out it comes neatly sorted", a la coin-sorting machines ..


The problem with sieves with Legos is that everything goes in the square hole: https://www.youtube.com/watch?v=Nz8ssH7LiB0


I could see people wanting to add on color detection for the bricks, but even that could still be solved by camera + servos/steppers and a chute that goes to different bins. No need for an arm.

Doesn't stop me from wanting one though.


It is probably possible to do it, but the sieves would be quite big, just to account for the very large number of pieces, as well as having to “orientate” them correctly using only gravity.


> Seems trivial

Said like someone who's never tried it :)

For a start you're going to need a camera. Maybe more than one. You want depth sensing? Even an cheap choice like a RealSense is going to add another $250 to your costs. And you'll need a sturdy mount for it, the robot's going to vibrate the table and you don't want to suffer motion blur.

Got the camera in a fixed location, over the area you're picking from? Then the robot's going to block the camera's view when it reaches in. No real-time hand eye coordination for you. Putting the camera on the robot's wrist? Now you've got motion blur problems - and reliability problems, because normal USB cables aren't designed for continuous flexing. You've also got a gripper in view all the time - and now the camera moves, things are always out of focus.

The reach of the arm isn't long enough to give you many bins to drop items off into, considering the number of lego parts there are. The longer you make the arm, the greater the torque at the shoulder joint. Making the motors bigger? Now the elbow motor is heavier. Gearing them down? Now you've got gear backlash.

Your Dynamixels will break, for some reason. Maybe eventually you'll figure out why. In the meantime, $50 each please.

Parts like the small satellite dish https://www.bricklink.com/v2/catalog/catalogitem.page?P=4740... will prove very hard to grasp. And there's like 50 different colours, you're going to need to know your way around lighting and camera settings if you want to reliably tell transparent light blue, transparent medium blue and transparent dark blue apart.

And that's before you get into questions like how to tell a 2x4 stud brick apart from two 1x4 stud bricks next to each other - or how to grasp a brick when an adjacent brick is blocking you from getting in with the gripper.

Every single one of these issues is solvable - but by the time you've solved them all? You could have hand-sorted that lego 20 times over :)


> Even an cheap choice like a RealSense is going to add another $250 to your costs

fyi, Luxonis is selling some for $150, I'm still meant to try them but they look quite good


I happen to use a few of their cameras, and they generally work as advertised (satisfied Kickstarter backer for OAK D and OAK D lite, probably going to buy the OAK D pro at some point). But, while I did indeed pay less than 250 for them individually, their current active depth offerings are $350(and while my oak d is fine for my lit, varied environment, I do often wish it was a little more accurate). I thought the Lite was also around $200 but it's actually $150 as you said. It's a pretty good little platform for the price. Be sure to check out the experimental repo too : https://github.com/luxonis/depthai-experiments/tree/master/


It’s trivial to fork one of the several open source projects focused on this problem.


They really spent a lot of time diving into the complexities of your question and I found it really interesting. Your handwavey, one sentence response without even an example (if there even is one??) is kind of rude in this context.


For example ?

[1] lists [2] which uses a robotic arm, but it is closed source

[1] https://github.com/360er0/awesome-lego-machine-learning [2] https://www.thirdarmrobotics.com/q_and_a.html


I think the easiest way to collect the Lego pieces from the floor is by using a vacuum cleaner.

Then look at the sorting as a separate problem :)


We have a “Lego sheet” - just a regular bed sheet that goes on the floor before playing with Legos. When it’s time to collect, you make a “bag” with the sheet, grabbing (most of) the pieces, and then we “pour” them into the final container. The sheet goes in top of the pieces on the same container so it’s also the first thing that comes out the next time.


I guess this was a common enough solution that now you can find products that are essentially what you're describing, e.g.: https://www.amazon.com/SAM-MABEL-Storage-Basket-Play/dp/B0BV...

From the item description: "TIDY UP IN SECONDS: Say goodbye to messy playrooms with our storage organizer! The play mat provides a dedicated area for creative play, and when it's time to pack up, simply gather the handles and tip everything back into the compact storage cube. "


The devil is in the details. In theory everything is trivial with enough SW dev hubris ;)

Even just the path planning towards the block to ensure good grip and pick up is not a simple task. Consider all the block shapes, possible orientations, collisions..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: