Machine vision systems can reduce time consuming manual inspection. However, these systems require specialized programming and maintenance, which can make them difficult to implement. California-based Intrinsics Imaging solves this problem through its analytics-as-a-service software, called Heijunka Vision. It provides a library of image processing and machine learning algorithms running in the cloud that work with any IP camera to perform intelligent defect detection.
Typically, Heijunka integrates with SCADA systems to create analytics dashboards, alarms, and quality control actions. But when Intrinsics was approached by a customer hoping to integrate Heijunka directly into process controls, it looked to Opto 22’s groov RIO edge I/O for a way to connect the cloud to the edge.
Securing a path
to the edge
Heijunka Vision finds defects in coatings, underlayment, color consistency, product wrapping, and even pallet counts. It can also continuously inspect in-process materials to ensure that specifications, such as dimensions, smoothness, straightness, and color, are met.
For this application, Heijunka would be looking at two production lines moving discrete boards at high speed.
- The primary line cuts large sheets of raw material to size. Cut sheets would need to be inspected for excess moisture as well as dents, debris, and scratches as small as a grain of rice. The customer runs hundreds of different product types through this conveyor, each being cut to a different size and configuration.
- The second line would be responsible for monitoring the quality of the milling process, specifically looking for chipping along the edges.
Unlike most Heijunka applications, the customer also wanted a pass/fail I/O signal that it could integrate directly into the PLCs handling material rejection. By bypassing the SCADA and providing a direct path to PLC action, the customer hoped to simplify integration and reduce latency.
Besides needing a device that could tolerate an industrial environment and integrate with Heijunka’s existing software stack, the company also required minimal latency. From the time a given video capture was sent to Heijunka, the customer would have a roughly five-second window in which to detect and reject a problematic part. Therefore, Heijunka would need to return a pass or fail indication that consistently fell within that window of opportunity.
Finding the missing piece
For this application, Heijunka would be hosted on AWS and publish MQTT messages to a hosted broker. That broker would be bridged to an on premises broker in the customer’s facility, allowing the cloud and edge networks to exchange data behind the scenes. This architecture proved to be the key factor in choosing groov RIO for the final piece of Intrinsics’ solution.
“The customer found [an edge I/O device that used MQTT, and it] made me realize that an MQTT device could work for what we were doing,” says Eric Cheng, Heijunka’s chief technology officer. “I started searching around and came across [groov RIO.]”
Groov RIO had the industrial build Cheng needed and was compatible with his software stack. “Groov RIO was on the same wavelength as us: built-in MQTT, Linux-based, web interface, and it just seemed more modern than [some other devices] that still require Windows 7 executables for configuration,” he says. “I didn’t want to have those kinds of dependencies.”
The groov RIO MM1 module (GRVR7- MM1001-10) provides eight channels of universal I/O with support for more than a dozen software-selectable signal types. I/O data can be shared via MQTT, REST, VPN, or traditional protocols like Modbus/TCP.
Given the nature of their request, Heijunka’s customer was also interested in the cybersecurity of the proposed architecture and appreciated that groov RIO could secure communications with user authentication, a local firewall, and TLS encryption using X.509 certificates.
Putting the cloud
Intrinsics built an isolated network to connect IP cameras and groov RIO modules to the on-premises MQTT broker. A separate network connects that broker to the internet for video streaming to Heijunka Vision and data exchange with the hosted MQTT broker, both running on AWS.
Each groov RIO module makes an encrypted connection to the local broker, which has only port 8883 open—the standard port for MQTT TLS connections. Bridging between the two MQTT brokers also provides security, with the local broker acting as a firewall for the OT side of the system while still allowing groov RIO data to be exchanged with Heijunka in the cloud. “The goal is to keep the RIOs inaccessible from the outside,” says Cheng.
To satisfy another customer request, each production line uses two groov RIO modules with each configured to provide eight discrete inputs. Production line PLCs encode the product ID for the specific part being examined by Heijunka as a 16-bit integer and send each bit to one of the inputs on the RIO pair. A Node-Red flow in each RIO module publishes its eight input channels as MQTT topics, which Heijunka combines to decode the product ID and select the appropriate set of algorithms for that product type.
The groov RIO modules also use Node-Red to subscribe to quality indicators, which Heijunka publishes to the MQTT broker. One of the relay outputs in each pair of modules is used to indicate the pass/fail decision returned by Heijunka for a given part. The production PLCs watch these outputs and use them to trigger a physical rejection of the product if needed.
Since Heijunka performs all the heavy computation and product identification, the groov RIO modules can run the same logic without regard for the product type, creating a clean interface between cloud and edge networks.
With the full system in place, Intrinsics confirmed a round trip time, from measurement to result, of less than two seconds. At this point, the customer has been automatically rejecting defects for several months and plans to introduce Heijunka in the rest of its facilities.
“I’m impressed with how fast it is even though we are taking two or three steps,” says Cheng. “Most of that latency is due to transmitting video over the network.”
Intrinsics’ customer is using Heijunka to save on labor costs and increase quality with an overall goal of avoiding material returns. The customer can review system performance through Heijunka’s built-in trending, monitor historical trends in defect rates, and diagnose the root cause of elevated defect levels. Each defect that appears in Heijunka indicates a product that triggered a reject signal, which then made its way to the groov RIO modules via MQTT.
“We were under the gun to do this quickly,” says Cheng, “but we got it figured out in less than a month. Now we can provide a direct physical interface to low-level automation systems. Using the RIOs allowed us to own more of the last mile between cloud software and physical action and allowed the customer to speak the language they were most comfortable with. That allowed a cleaner separation between our software expertise and their hardware expertise.”
With groov RIO, Heijunka can now be adapted to many more applications, supporting both hardware and software interfaces, whichever produces the best performance.
For more on Intrinsics Imaging, visit www. intrinsicsimaging.com.