Valuing uncertainty
By Robert Cravotta, Technical Editor -- EDN, January 5, 2006
As a junior member of a technical staff, I was testing and characterizing how well the automatic-gain-control and target-acquisition algorithms operated with a new visible-light camera sensor. The vision system needed to be able to distinguish and identify a subpixel target within a field of stars from an exoatmospheric position. We were unfamiliar with the sensitivity and idiosyncrasies of the camera-sensor system, but because the vision system would be deployed in low Earth orbit, we could not test the vision system and the various algorithms in field conditions.
An important function of the automatic-gain-control algorithm was to dynamically adjust the sensitivity of the camera sensor to avoid blindness, either from too little or too much light entering the sensor. The intensity of the light from the object we would be searching for in the low-orbit sky would range from faint to bright over the course of a few seconds. The automatic-gain-control algorithm would allow the system to scale the sensor's sensitivity so that the camera would register the object's light signature at low intensity and prevent the increasing intensity from oversaturating the sensor.
At first, the task of setting up the lab testbench to characterize the camera system and automatic-gain-control algorithm seemed fairly straightforward. My lab partner and I began with coarse adjustments to the light level to characterize how the algorithm affected the data for the camera's entire FOV (field of view). As we progressed through the testing, we refined the light source to affect a smaller and smaller portion of the camera's FOV. Things were moving along well until we tried to generate a light source that could be contained within a single pixel.
Generating a light source that we could confirm excited only a single pixel on the camera sensor proved to be quite a challenge. The light source we were using generated a signal larger than a pixel. We were eventually able to approximate a single pixel signal by blocking the light source with cardboard that had a pinhole in it. The process of trying to create and verify a single pixel signal revealed an important unknown and undesirable behavior of the vision system. We reported the condition, and the project engineer expanded our task to understand and develop a correction for the problem.
The instructions for my lab partner and me were to characterize the camera system and to make sure the automatic-gain-control algorithm appropriately adjusted the camera's sensitivity. How to test the system remained unspecified. The system engineer had not expected us to try to simulate a single pixel signal. Because we were not influenced by his assumptions about the camera system, we uncovered an anomalous condition in the lab that would have caused the vision system to fail when it was deployed. Senior engineers are expected to be able to begin work with systems that have little concrete definition and much uncertainty.
Uncertainty in business and production environments is undesirable; it can lead to variable results that negatively impact the success of building a product or delivering a service. A key defining element of engineering is to be able to create systems that can deliver consistent, repeatable, and reliable behavior despite uncertainty and variability over some range of environmental conditions. Dealing with uncertainty is fundamental to being an engineer, and there is usually a positive correlation between the seniority of an engineer and the amount of uncertainty he needs to deal with in his job. It is important to allow some uncertainty to exist in assignments for even the most junior engineers, as it can be a source of growth for them—and it might save a project from failure.
Because of my experience in that lab, I learned always to allow some uncertainty in assignments to junior engineers; it helps them learn and stretch their skills and can help the project in unexpected ways.





















