Project: Sorting robot using camera

Hi there!

I will start a project for an arduino robot who can pick one type of small metal part travelling on a conveyor belt.

It should be able to:

-Recognize a specific shape of an object on the conveyor belt. -Stop the conveyor belt which is powered by a stepper motor. -Identify the X-Y-coordinates on the conveyor belt. -Move an arm equipped with a vacuum suction cup to the coordinate. -Pick the part, put it in a magazine.

I won't be able to do this without your help. The robot's design is pretty much already in order, but when it comes to the programming etc. I am very novice.

Here is a drawing of the project;

|500x273

Any tips and pointers, before I start? I basically have all the hardware, but which camera is more suitable? And which arduino board should I use?

Here is the metal part I want to pick up from the conveyor belt.

|375x500

And this is basically what I want to program to think. Red is the pickable ones, and the rest should just move on, until it returns again. As you can see I just want the ones coming solo to be picked up, and the clusters are of no interest.

|500x374

An Arduino is not nearly powerful enough to handle images. For the sort of thing you want to do I reckon you need all the power of a PC for the image recognition.

Then the PC could send instructions to the Arduino to operate the arm and sucker.

If you are new to programming this is a very ambitious project with a long and steep learning curve.

…R

Love the details of your post, way beyond me how your going to get that level of image recognition in anything less than a top of the line 3D imaging system.

I don’t even see a difference in between those parts besides their alignment.
Maybe using a mechanical orientation method first would make picking them up with a arm a lot easier.

you need all the power of a PC for the image recognition.

Agreed. This is a very difficult project.

A neural network on a PC can be trained to recognize the object.

Will you be receiving a salary while you work on this project?

For my self and other people I have talked to, such a project will take a minimum of 18 months, full time, and probably nights and week ends for you to complete. Is this within your time frame?

Paul

Thanks for all the replies. Although this is part of my work, there is no 18 months planned for this project. I was thinking more like a month worth of work. :) But perhaps I am in a little bit over my head. But I will still give it a shot.

I have found something called "opencv" that might be able to help me achieve this.

Please bare in mind that the system really doesnt require to be 3D vision, but 2D. Just to locate the metal parts that are single and oriented correctly(the right side up and within a limit of rotation) on a surface and tell the robot which X-Y coordinate the metal part is at.

Hatmpatn: Thanks for all the replies. Although this is part of my work, there is no 18 months planned for this project. I was thinking more like a month worth of work.

The question you need to consider (and maybe also your boss needs to consider) is if you think it will take 6 or 18 months would you bother starting the project?

Far too many people (including those with enormous budgets) get started on a project with a very over-optimistic timescale and then say, somewhere down the line, "if I had known it was going to take this long and cost this much I would never have started it it"

You are, for a short period, in the happy position of being able to consider that before you spend your time or your (or someone else's money).

Another way of facing the same issue is to ask yourself the question "what are the circumstances that would make me (or my employer) choose not to do this project?"

You can bet your bottom dollar it will not be working, not even as a first test, within a month. At least 2 or 3 weeks of that time will (and should be) spent just thinking carefully about how to do it.

I like the earlier suggestion of 18 months.

If there is a time limit then just buy an off-the-shelf solution - even that will take a few months.

...R

I have found something called "opencv" that might be able to help me achieve this.

You might start with https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and-opencv/ You would need to fully understand this material just to recognize the object in the images.

I would research how much a commercial system that would meet your requirements would cost.

The cost of commercial systems is likely to be related to the development time and complexity of such systems.

I see that opencv is now on version 4.0. Be sure to factor into your equation the cost of staying up to date with the software releases.

Paul