At our plant, we have several laser date code machines like the one shown below
this machine can print the manufactured and best before date to the containers as it travels on the conveyor. Text displayed on the container as shown below
the laser engraves the text on the container.
The machine before the laser date coder machine is the Labeller. If the Laser Coder detects a fault, such as, power outage, lack of air pressure etc, it sends a signal to the Labeller machine to stop.
Problem
unfortunately, the Laser coder machine can not detect when the lens is clouded with dust. whenever this happens, it causes partial coding [letters missing]. Because of the speed and the dusty environment of the plant, within a minute we can have four pallets with defective coding and because of ISO standards re-coding is not allowed.
Inversion
I want to build a stand-alone system to track the text image, once I have three bottles of poorly printed images I must have an output from the Arduino controller. I can use this signal to stop the Labeller Machine.
I prefer to work in C++ since I have some knowledge.
Questions
Q.1 Is this project possible using Pixy2 Camera and Arduino?
So essentially you want the computer to look at the label to determine if the writing is readable? Perhaps a optical character reader can be used to read the code and then the result can be compared with what it should be?
within a minute we can have four pallets with defective coding
that is a lot of product so that line is moving very fast. I am doubtful hobby level cameras will be able to deal with that but since the cost to try is low and your reward is no doubt very high you should try. As far as hardware I don't know about the pixy, I would be more inclined to use the new HI Q RasPi camera. The problem will be speed of acquisition + speed of image analysis must be less than the inter-product gap. If lighting is not optimal then a flash is needed but that may impact either staff, or other processes on the line. I am not very confident that this is doable, but it's worth a try. If it was me with your experience I would find an image processing library and test it for both speed and accuracy. If it can keep up then move forward, otherwise ....
Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting
@leon - I've always been curious about the problems engineers run into building the manufacturing equipment. Although I think the project you have laid out sounds cool and would interest many people on the forum... I have to ask the low-tech question...
Wouldn't it easier to just clean the lens periodically (proactively)? Or even run it continuously to keep dust off it in the first place. Since you said it's a dusty environment, using an air-jet wouldn't even interrupt the processing. Or if that isn't readily available... a servo with a rag. 😆
VBR,
Inq
3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266... Even usable on ESP-01S - Quickest Start Guide
At our plant, we have several laser date code machines like the one shown below
this machine can print the manufactured and best before date to the containers as it travels on the conveyor. Text displayed on the container as shown below
the laser engraves the text on the container.
The machine before the laser date coder machine is the Labeller. If the Laser Coder detects a fault, such as, power outage, lack of air pressure etc, it sends a signal to the Labeller machine to stop.
Problem
unfortunately, the Laser coder machine can not detect when the lens is clouded with dust. whenever this happens, it causes partial coding [letters missing]. Because of the speed and the dusty environment of the plant, within a minute we can have four pallets with defective coding and because of ISO standards re-coding is not allowed.
Inversion
I want to build a stand-alone system to track the text image, once I have three bottles of poorly printed images I must have an output from the Arduino controller. I can use this signal to stop the Labeller Machine.
I prefer to work in C++ since I have some knowledge.
Questions
Q.1 Is this project possible using Pixy2 Camera and Arduino?
Q.2 What other Hardware is Necessary?
Q.3 What software is necessary?
Q.4 Which store I can shop items?
BRGS.
Leon
I don't have an issue where members need help for their own hobby projects etc..., but I am very uneasy about this one in particular, as you work for a massive corporation such as "Coca Cola", and this appears to be a project for them, of which you would personally be handsomely rewarded from the help you receive here (should you receive it)... in essence, you are acting on behalf of, and representing your company "Coca Cola", in asking this forum for help, and I find that very disturbing to say the least!
"Coca Cola" makes billions and trillions of dollars, so if I personally help you, I would expect a handsome percentage of profit in return - DEAL? 😉
@frogandtoad Since he says he is a student, he likely wouldn't get any kind of significant reward if he was able to 'fix' the problem. In this case he is more likely a naive student than an agent of coke but in any case, time to unsubscribe.
Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting
on a production plant, every second counts from the starting to the ending of production. if you have to stop and clean frequently it will affect your productivity and efficiency.
@leon Very few here will help with 'homework' and even fewer will help a company looking for free work.
Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting
yea the plant run at 2400 bpm. In other words, you are saying that the speed would be an issue for the camera? And if you find one with the appropriate speed it needs to be compatible with the Arduino?
@leon Too much missing data, but I can tell you that the vision code was removed form Ver 3 as it took several minutes to process just one image. You need to find an industrial vision system like a friend of mine used to make or as has been suggested just direct a high speed air flow at the lens.
Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting
yea the plant run at 2400 bpm. In other words, you are saying that the speed would be an issue for the camera? And if you find one with the appropriate speed it needs to be compatible with the Arduino?
Leon
No, that's not what he is saying. The camera doesn't do the processing, it is the computer connected to it that tries to translate the image into text. There is no Arduino on Earth that can handle 2400 high-resolution images and convert them to text in one minute. As @zander said it would take multiple minutes for ONE bottle. And ESP32 is only 10x faster... It can't handle 2400 bpm.
I imagine a high-end Windows computer possibly using one of the high-end GPU's so you can use the Cuda cores to the the OCR MIGHTbe able to do it, if you are well versed in using C/C++ and Windows SDK and Cuda SDK.
You still haven't addressed why the air blowing across the lens to KEEP the dust from getting on the lens is a non-starter.
3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266... Even usable on ESP-01S - Quickest Start Guide
@inq I am afraid we have a major case of DK here. Where is that ignore button anyway?
Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting
We use cookies on the DroneBot Workshop Forums to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.