Wednesday, October 24, 2007

Engineering in 2010

Every engineer likes block diagrams. Not only do they encapsulate the concept of a system design at a high level...Every engineer likes block diagrams. Not only do they encapsulate the concept of a system design at a high level, but they are easily understood and form the basis for the design of nearly every machine-vision system. Over the past ten years, the many authors that have contributed to Vision Systems Design have supplied these diagrams to allow you, the reader, to rapidly understand the hardware concepts behind system design.

But of course, these block diagrams can only tell part of the story of any design. The diagrams are, by their nature, static objects that only provide a conceptualized nature of any design. Engineering, on the other hand, is a dynamic process that involves interfacing numerous hardware components, overcoming timing issues, properly configuring software, perhaps on multiple processors, and then debugging the system to ensure correct operation.

In developing a machine-vision system, this task is more complex because of the nature of the parts that need to be inspected and the defects or parameters that need to be measured. What is, in fact, required is an integrated software-development environment that can be used to describe, simulate, test, and build a system in software alone.

While this may appear challenging, it will probably form the basis of all engineering design within the next ten years. Indeed, software developers are already blazing a path toward this goal with graphical development tools that allow the user to develop and test image-processing software before deployment. However, for the concept to become a reality, tests on individual parts will need to be simulated in CAD environments.

Electronic components such as cameras, lighting, frame grabbers, I/O controls, switches, and PLCs will need to be simulated as virtual objects within a graphical user interface. Timing and control data from the electrical CAD models of these products will need to be stored in databases. Host CPU operating systems and image-processing software will need to be modeled as objects that control this virtual environment.

At present, many of these ideas exist in isolation. CAD packages can be used to simulate the mechanical motion of systems. Electrical specifications for the components used may exist on data sheets. Machine-vision software must be developed on realtime or Windows-based computers in isolation from the hardware that will be used when the system is deployed.

Imagine, however, using an integrated graphical system environment to develop a machine-vision system. The supplier sends you a CAD model of an ideal part and CAD models of parts with defects. By using simulation software, a complete machine-vision system is developed as a mechanical abstraction in which lighting, illumination, and lens parameters can be controlled. These images are used as a model with which to develop machine-vision software. Simultaneously CAD and electrical models of the hardware are described in a CAD model.

At the highest level, the engineer can visualize the design as a block diagram. As he or she probes deeper into the design, the mechanical, electrical, and software models are revealed so they can be tailored for a specific application.


This, in essence, transforms the static block diagram into a dynamic software model. Engineers that endorse this concept will reap the benefits in numerous ways. By sharing such “block diagrams” with other engineers, systems will be able to be developed more rapidly without having to re-invent the wheel every time a new system needs to be developed.

These concepts are already being explored by a number of companies worldwide. When realized, the simple block diagrams of the past, published electronically, will set a new standard for system design. When published electronically, such sophisticated diagrams will also benefit the less noble art of electronic trade publishing.