|
xy table bill hanson from United States [4 posts] |
9 year
|
Hi Everyone- Well, I'm brand new to the forum, so please bear with me......What I'm trying to do is this: I am in manufacturing, and we make thousands of parts (the size of a stick of gum ) a day. Sometimes we get our parts back from the customer because a few are defective, so we have to have someone sit by a table all day and sort through the parts to throw out the bad ones. Anyway, what I want to do is to have an endless conveyor with my parts continuously dumped on it, and a camera looking down to pick out a "singled" part with no other part touching it. (The conveyor would stop at this point )The camera would pattern-match the part, including angled orientation, and then output this data to something which I can interface to my xy table ( the xy table would then know where to go to pick the part). I know how to program PLC's, however I am unsure of the type of output the camera is capable of, how to minipulate the data, and finally how to make sense of the data- So my question is this: What type of Data does this software put out, and what is a good start to understanding how to interface this to my xy table?? Any Thoughts??- Bill
|
|
|
Steven Gentner from United States [1446 posts] |
9 year
|
Bill,
What you are describing is a common usage of machine vision. (Part Quality Control). There are a couple parts to this system:
1. Camera - Get something that you can mount looking down at the conveyor. Nothing special is needed unless you have a very fast conveyor or very small/large parts. We recommend that if you are not familiar with machine vision cameras you start with a higher end webcam (i.e. between $50 and $100) to test out the system and learn what qualities you might need (i.e. perhaps the field of view needs to be larger, perhaps not much light is available, etc.). Once you know more about what you need you can then look into industrial cameras that can provide those solutions.
2. Conveyor - The best contrast will give you the best results. White parts on a black conveyor is good. Black parts on a black conveyor is problematic. You'll have to really play with lighting in order to get good results.
3. Parts - Shiny parts will require back lighting otherwise the reflection on the part will confuse most cameras and produce images that will probably not work.
4. Lighting - The MOST important aspect of any vision system. Bad light = bad results. Too much, too little = bad results, etc. Best to play with this once you have a setup that you can grab images from.
5. Actuator - Probably the easier part since this really an integration. The software can produce a pass/fail signal where the fail signal simply activates an actuator (either directly from the PC or via a PLC) in order to remove the part. Try to keep this simply. An X&Y table is cool but overkill for removing a part from the conveyor. Often just a pneumatic value from a compressor will be all that's needed to get rid of the part from the conveyor (i.e. just blow the part off). Otherwise a simple push actuator might work ... depends on your setup.
Once you get a setup you can play with, send us an image and we can continue.
STeven.
|
|
|
bill hanson from United States [4 posts] |
9 year
|
Hello Steven- Thanks for the reply- to clarify, I want to pick the "singled" part off of the conveyor using the xy table- in other words, the camera would identify the part, then the camera would output the location (along with rotation angle if the part is crooked), then my xy table would "read" the output, go to that location, rotate the pickup head to correct for angle, and go down to vacuum-pick the part- the part is then carried off to be placed in a nest for further work- so thats what I'm trying to understand- what type of output does the software/camera put out?? I would need to understand that type of communication- thanks again- Bill
|
|
|
Steven Gentner from United States [1446 posts] |
9 year
|
Bill,
The software can output this information in many ways. As you would expect, the software is somewhat useless unless information can be communicated out to another device. Now, since RoboRealm is software and what you probably want to communicate to is hardware it is typically easier for us to change software than it is for you to change hardware. Thus, RoboRealm has quite a few different ways to output this information. This includes straight Ethernet, Serial, USB and Parallel port as the transport mechanism and then ontop of that various protocols like Modbus (Ethernet) or straight flat formats including binary and ascii text (to devices like PLCs). Other routes include direct integration with external peripherals like microprocessors like the Arduino which can then directly drive servos, motors, etc. There are also quite a few devices that connect to a PC that can also drive hardware directly (like Phidgets).
So, rather than tell you about all the different ways that you can use RR (and just confuse you) why don't you mention what you need in order for this to work. For example, your XY table is using an MCU to control it. It probably has serial or ethernet connections. If its is serial you can use the serial module in RR to send
\[object_x]\[object_y]\[object_angle]
(this is the format you would use in the Send field in the serial module) to send 12 binary bytes to your MCU that include the values of those variables. Naturally those variables do NOT yet exist and would be something that would be created as a result of using one or more modules within RR and getting the right values into those variables. These might be pixel coordinates or might be actual real world values depending on how the analysis is done.
If you can't deal with binary you can also use
[object_x]:[object_y]:[object_angle]<cr>
to send 3 ascii numbers delimiter by a ':' (so you know when a number begins and ends). In fact, you can make up just about any protocol you want using this type of module. This same structure applies to the generic Socket module too.
Does that help?
STeven.
|
|
|
bill hanson from United States [4 posts] |
9 year
|
Steven- You are THE GUY!! You have answered every question I had about the communication interface without 10 Email exchanges!! I am going to run with all this info, so thanks again...... ( I 've got a lot to learn, but at 63 it this or Bingo)
|
|