The usual definition of a webcam is a low cost camera with a USB interface, so by that definition, not using just the cRIO 9072 (this page notes using an external laptop because the cRIO 9072 lacks a USB host port). You could potentially use a network camera like the ones we use in FIRST, but you’re looking at almost an order of magnitude higher cost in a lot of cases.
If all you’re trying to do is detect the presence of something, it seems like there could be easier ways to do so. Depending on the thickness of the part, something like an infrared range finder might do the trick, else it sounds like all you really need the camera for is detecting a change of color in the scene it will be viewing (you say it’s a simple machine vision problem, which suggests to me that you’re not trying to do shape recognition or something) to detect whether the component is in the mold. If this is the case, something like a (http://www.sparkfun.com/commerce/product_info.php?products_id=8618) sensor seems like it would work equally well.
Sort of on the same simplification train of thought, it makes me wonder why you need something as complex as a cRIO to just detect presence of an object. (Unless it’s already in the system for something else, I suppose.) But I don’t have any experience in manufacturing process engineering, so I’m not sure as to specifically what requirements you might have.
As mentioned, the IMAQ libraries will also work on a Windows computer. If using LV, you simply need to build the VIs under the host target computer. If using another language, you need an IDE and your code should call into the NIVision dlls and will use the nivision.h header. To get the image into the PC, use the USB camera acquisition functions.
Hello Ryan,
I wanted to design the machine vision system application for detecting plastic transparent component that is formed in the mould. The mold may be damaged if the component stays inside before the next cycle.
So all I wanted to do is detect the presence of the component.Can you advise on suitable sensors/detectors for this application?.
The fact that the part is transparent means that it will be inherently quite difficult to do detection with a vision system. If you could, it would be helpful to get some more details about the setup of the process (what is the physical layout, what are the constraints; also what is the budget?), but here’s some initial thoughts:
If the part is thick enough, you may be able to use a distance sensor like I mentioned in my previous post. Some plastics are opaque in the infrared spectrum even if they’re transparent in the visible spectrum, so you could use an infrared ranger (usually better accuracy, but only works at closer range), alternatively you could use a ultrasonic sensor (less accuracy, can get them with longer range, works with transparent things), you might have some luck with using a laser range finder (simple ones can be found in hardware stores) even though the part is transparent, as the light would tend to scatter. This could actually be an idea for the primary sensing mechanism, as the difference in surface albedo between the transparent part and the (assumedly) opaque mold could be enough to detect, either with just a photocell or a camera. The effectiveness of this might be hampered depending on the ambient lighting conditions of the area.
There’s always the option of some sort of contact sensor as well (i.e. a button that would be pushed when the part was present but released when absent).
Some more random thoughts: is there something else that distinguishes the part from the mold, e.g. is the part heated more than the mold or vice versa so that you could use an infrared thermometer to measure the heat of the surface; a sharp increase/decrease would denote that the part had been removed. These are all based off of the assumption that the sensor would be looking at some sort of “open face” mold.
It seems to me the most obvious solution, though, would be if you could make use of whatever system is responsible for removing the part (whether human or machine) to notify you when the removal is complete. If it’s a machine, it seems like it should be pretty easy to monitor its state directly (some sort of electronic output from the controller) or indirectly (put a sensor on that machine); if it’s human, having a button that says “the part is removed” seems like it might be a better solution from a safety standpoint, anyway, so you know that the operator is out of the machine before you start the next cycle.
This is what I can think of coming from more of a mobile robotics standpoint with a lower budget, not sure if there might be solutions better tailored to your environment.
Following along the same lines, if you are going to use vision to detect a transparent part, you will want to manipulate the arrangement to make it easier and more accurate. Perhaps you can place the light and camera at an obtuse angle to the mold so that the transparent part “shines” or has a highly reflective surface compared to the empty mold. This will likely be with the light at a shallow angle and the camera at a similar angle on the other side. You may also want to play with the color of lighting and/or filters. Since everything is likely to be very warm on the machine, you may want to look at the blue end of the light spectrum to see how the part transmits or reflects UV light.
And as Ryan mentioned, keep your eyes open for a nonvision solution as it is almost always less expensive.
This one takes more testing than a premade sensor, but you could use a small buzzer and look at the acoustic response of the mold, similar to how SONAR works. However, instead of looking for a peak in the response, you’d be looking at the waveform amplitude over time and comparing it to the empty mold. (Make sure to cut off the reading fairly quickly so you don’t record data from objects outside the mold).
This should be an inexpensive option, but it is only appropriate if there will not be changes to the mold.
Alternately, you could look at the photo-reflectivity of the piece in the IR or ultraviolet range, and detect its presence with a change in that value.