Smart cameras provide many benefits in a wide array of applications, including 1D and 2D code reading, robot guidance, assembly verification and package inspection. Each of these applications is well suited for smart cameras, because in each scenario the smart camera must perform independently of other application processes—using a processor dedicated to image analysis—to carefully perform inspections and ensure that no defect is missed. With this design, a smart camera can capture an image and notify a reject mechanism, when necessary, in a reliable and deterministic manner. However, for some of today’s more complex application environments—such as those requiring dynamic lighting control, complex measurements, surface flaw detection and multiple interfacing cameras—certain smart cameras may not provide a complete solution.
Traditionally, smart cameras have utilized preset, easy-to-configure onboard tools that were specialized in a few functions. PC vision was used to solve the more complex applications. This involved taking cameras from one vendor, interfacing hardware from other vendors, and writing custom code. Today, that is changing—and these changes are distinguishing smart cameras from “smarter cameras” in a broad array of machine vision applications.
A smart camera is an integrated machine vision system that incorporates image acquisition, a processor, and multiple interfaces within a compact, single-package hardware design. The all-in-one design is a key benefit smart cameras provide, as they involve few components and consume minimal installation time. This makes the cameras generally less expensive than alternative PC vision solutions, which require several auxiliary components to integrate.
An additional benefit is their reliability. Because smart cameras contain few or no moving parts, they are less prone to mechanical wear and subsequent hardware failure, as well as better equipped to handle harsh environments. This reliability also extends into overall operations. Since smart cameras have a dedicated processor in each unit, they are well suited for manufacturing line inspections requiring multiple cameras. With this arrangement, if one camera malfunctions, it does not affect the other cameras; conversely, if a PC vision system experiences a malfunction, the entire system will likely be thwarted.
PC vision, although more complex to integrate and at times prone to reliability issues, offers users the flexibility to program the precise inspection parameters needed for their distinct application. These systems utilize complex algorithms usually written in code by a programmer—facilitating custom inspections, but requiring a specially trained individual for setting parameters. The simple-to-use software traditionally offered by most smart cameras did not allow for the flexibility of creating a solution that is tailored to a specific application.
Due to the wide variety of applications and ongoing innovations that differentiate one manufacturing process from the next, inspection needs are commonly becoming unique to a single task. Though two machine vision applications may involve inspecting the same part, each manufacturer may require different inspection criteria, such as product size or surface defects. Many users also employ different communication protocols—such as MODBUS®, serial communications or TCP/IP—and different user interfaces. For instance, some companies want their operators to have access to all inspection parameters, while others prefer more limited access.
To meet these demands, smart cameras needed to adapt—essentially, they needed to become smarter. Thus, the true differentiator between a traditional smart camera and the new smarter camera is the software, or what might be called the “brain” of the camera.
Smarter cameras merge the ease-of-use advantages of a smart camera with the programming flexibility once reserved for PC vision solutions. These cameras provide user-friendly configuration through a software design that allows users to drag and drop algorithms into an inspection program without writing lines of complex code. With this design, engineers without an extensive programming background can set-up and modify inspections using simple, intuitive software tools. By taking complex, advanced algorithms and making them easy to set up and deploy, these smarter cameras placed sophisticated inspection capabilities within reach for users at virtually all levels and applications.
Smarter cameras may also utilize an integrated development environment (IDE) programming style. Similar to some programming languages used on PCs, these IDEs allow the user to design and debug the programming code and, when finished, view the graphical interface that operators will view during the application process. This software includes several features that deliver increased functionality. Event-driven tasks, for example, allow users to have certain algorithms run on some event other than an application image, such as receiving serial data, a TCP/IP string, or a separate electrical trigger. Algorithms can be simply applied in multiple ways using features such as subroutines, which allow frequently used algorithms to be employed in several areas of the program, and looping, to call certain algorithms multiple times in sequential order.
To assist users in applying the inspection data, a branching feature allows operators to make necessary decisions during image processing. This is possible because the program can take information from one tool and determine which set of logic should be executed based on that information. This data can then be shared between algorithms or presented to an outside device such as a PLC or monitor. It is here that the true flexibility comes into play with smarter cameras: users can add or manipulate data from virtually any section of the program and apply the resulting algorithms in whatever program area desired—allowing engineers to efficiently customize their logic. In addition, the IDE often includes scripting ability so that hard-core programmers can write lines of code when desired.
To enhance the usability of the IDE, smarter cameras offer users access to a wide variety of algorithms prepackaged in tools, which can be selected from a tool pallet and dropped into the programming logic. Tools include: Edge Find, for detecting edges in the attained image; Blob Analysis, for finding like-colored connected pixels; Locate, to search an image for a known feature; Pattern Find, to identify a taught pattern within a search area; and Template, for comparing a trained “golden” image with the current image the smart camera has attained from the application.
This logic is built like an outline. Each tool can access application data from the other tools, saving configuration time. Once the tool is dropped into the logic, the software allows the user to set up the tool through an intuitive step-by-step process, and each tool can be tested individually or together as a single task. Once the software outline is built, the user can then switch from the programming design to the display. The display allows the engineer to see all tools, along with the image, in one view. This makes debugging and program modifications much simpler.
Some smarter camera software even allows for a fully customizable graphical user interface, permitting users to easily integrate machine vision into their work environment. Image displays and overlays, data displays and inputs, graphing and charting, buttons and controls—all of these can be moved and sized to create a one-of-a-kind interface by dragging and dropping them into an interface “canvas.” This design offers engineers all the flexibility of a software programmer, without requiring them to write lines of code. Engineers can also choose what information is displayed and which parameters they want operators to be able to access. By customizing an interface that is intuitive for the user, learning curve effects are decreased and productivity is increased.
Due to the above advances, smarter cameras are solving applications that were once reserved to PC vision solutions, plus other applications that were not possible before. To assist users in distinguishing between the many smart and smarter cameras on the market, the Automated Imaging Association (AIA) has divided the smart camera market into three segments. These segments are based on the competitive advantages and disadvantages of each offering, including price, program flexibility, processing power and camera resolution. Segment 1 generally contains cameras that provide a lower price but fewer features. Segment 2 cameras come with a higher price but offer increased functionality. Segment 3 contains a similar price bracket to segment 2 but includes models with further enhanced features. Few smart camera families offer models that satisfy all segments, but smarter cameras are now available at all levels—for example, a segment 1 smarter camera provides a lower price and, while offering fewer features than segment 2 or 3 offerings, still provides high functionality and sophisticated, yet simple-to-use capabilities compared to traditional smart cameras at this level.
With these new software features, smarter cameras allow users to combine the integrated design benefits of smart cameras with comprehensive software capabilities to provide high reliability and cost-effective inspection results. Faster to integrate and easier to program, with the flexibility to tackle applications ranging from simple to complex, smarter cameras can deliver an excellent solution for adding quality and value to virtually any manufacturing line.
Article also appeared in the July 2009 issue of Vision & Sensors, a supplement of Quality magazine.