I've spent the last few days doing research and am hoping someone can provide some guidance on which path I should take.
End goal: a sorting machine that can sort hundreds, potentially thousands of different small parts based on shape and colour. shape and colour would both be from a list that could be defined, think lego
I've been doing research for the last few days on how to do this and I've come to two possible solutions.
1. a system that takes up an impractical amount of space, to mechanically sort based on parts going down a conveyor and being passed over different profiles to match pieces. there would then need to be a 2nd smaller device to sort based on colour. the only way I see this working is if I have "cards" that have the profiles laser cut/machined and based on my needs at the time, I slot the cards I need into place in the sorter and everything else drops into a "misc/unsorted" bin at the end.
2. shape detection. in my mind, I imagine:
a very small conveyor with a bin at the beginning (parts in) -> a detector section which would have a camera top and side to detect the appropriate profile -> colour sensor -> to what would then be a series of paddles that would flip left/right and guide the part off the side of the conveyor at the appropriate point.
my idea also has this in a "learning mode" of sorts each time its powered up. lets say there's 20 bins that items can be sorted into none of which are allocated to any part. the first part that goes through we'll call it "A", doesnt match anything the system allocates bin 1. the second part, lets call it "C" goes through and the system allocates bin 2. now any subsequent time part A or C go through it will detect a match and flick it off into bin 1 or 2. now after 30 odd parts going through a new part shows up, and it does the same process again. any parts over the bin limit get shuffled into a final "bin 21" that is the un-sortable stuff.
While I understand the mechanical platform and I could build that no worries, it would be huge and time consuming to be swapping out the cards by hand. I'd also have to make and store potentially thousands of different cards which would be painful, especially when I need to find that 1 in 5000.
now the research I've done on shape detection, it seems quite complicated software wise. either that or simply my lack of knowledge on the subject means I perceive it as extremely complicated. OpenCV is what I see to be the most likely candidate, there's no way I can afford any of the paid products for a hobby project
. I did also wonder if a Pixy & arduino would do the job, but training the pixy each time would probably be just as arduous as sorting parts by hand.
I'm stuck on deciding to try something new, and go down the software shape recognition path or going with what I know would be expensive, limited by space, and time consuming to build (mechanical).
Thanks in advance all!