WPS1 Performance

© 2007-2008, Kevan Hashemi, Open Source Instruments Inc..

Contents

Introduction
Design
Description
Derivative Analysis
Prototype
Fitting Analysis
Calibration
Optics
FocusDimensionsAberration
Illumination
Derivatives Again
Cover and Screen
Geometry
Nominal Calibration
Types of Wire
Steel Pins
Stability
Status
Conclusion

Introduction

What we call WPS1 is our Wire Position Sensor Version One, which follows our bench-top breadboard Wire Position Sensor Version Zero, or WPS0. When we present results, you can always refer to the raw tables of measurements by downloading our Excel spreadsheet here.


Figure: Front View of the WPS1.

Warning: Always use a torque wrench to tighten the WPS mounting screw. Do not exceed a torque of 0.17 Nm (24 ounce-inches) or you will damage the kinematic mounting surfaces and so ruin the absolute calibration of the instrument.

For work done at CERN with the WPS1, see the WPS1 Wiki.

Design

Here are our machine shop drawings of the WPS1 bottom plate and side plate. All dimensions are in inches.

Underside of Base Plate: Mechanical drawing of underside of Base Plate. Refers to Detail A, which you will find in the Side View.

Top Side of Base Plate: Mechanical drawing of top side of Base Plade.

Side Plate: Mechannical drawing of side plate. Includes Detail A referred to in Bottom View.

Cover: Mechanical drdawing of cover.

Geometry: End view of WPS1 optical and mechanical geometry.

Mounting Plate Drawing: Mechanical drawing of kinematic mounting plate, shown without mounting balls.

Electronics: Manual for the WPS1 Head (A2051W), a modified version of the Polar BCAM Head (A2051L).

Description

The WPS1 consists of a vertical side plate that holds two cameras, a base plate that mounts kinematically on three balls, an array of infra-red LEDs, and a cover that provides a white background for the camera images.


Figure: Side View of WPS1 with Cover Removed.

On the bottom side of the base plate is a kinematic mount identical to the one on the base of a BCAM, and shown in drawings such as this. The kinematic mount on the underside of the base plate consists of a cone, slot, and a flat depression. These depressions sit on three balls on a mounting plate. We provide a drawing of the mounting plate with a link above. The drawing does not show the three 0.250-inch diameter balls that must be glued into the conical depressions to complete the mounting plate. For a photograph of a mounting plate with its balls in place, see here.

The mounting plate defines a local coordinate system for WPS measurements in exactly the same way as it does for a Black Azimuthal BCAM. We describe the local coordinate system defined by the balls of the mountin plate in the Calibration section of the BCAM User Manual. The cone ball of the mount is the origin of the local coordinate system. The two other balls define the x-z plane. The z axis points roughly in the direction of the arrow made by the three balls. The y axis points up from the cone ball to complete a right-handed coordinate system.

The cone ball of the WPS kinematic mount defines the xy plane at which the WPS measurement takes place. The WPS output is the xy coordinates of a wire where it passes through the plane z=0. It is up to the surveyor of the kinematic mounting balls to translate the WPS measurement into a global coordinate system.

The WPS1 optical system consists of two cameras, a distributed infra-red light source, and a background screen. The cameras use the TC255P black-and-wide CCD (charge-coupled device) image sensor from Texas Instruments. We drive the cameras with an adapted version of the Polar BCAM Head (A2051L). The infra-red light source is a Nine-LED Array (A2041). The screen is a white piece of paper or a white matt-finish sticker.


Figure: Rear View of the WPS1. The red light is the indicator LED, which shines when the infra-red LED array is turned on.

To acquire images from the WPS1 cameras and flash the light source, we use the LWDAQ, a general-purpose TCPIP-based data acquisition system. The LWDAQ software is free and available here. The software provides a WPS instrument for use with the WPS1. The hardware you can buy from Open Source Instruments.

The LWDAQ creates eight-bit digitized images when it reads the TC255P through the A2051L. The WPS1 wire images, which are the basis of its wire-monitoring, are therefore eight-bit black-and-white images.

When we put a WPS in place, we mount it next to a wire without its cover. We tighten the single M4 mounting screw with a torque screw driver to 0.17 Nm torque (24 ounce-inches). We use part number 7022A611 from McMaster with a phillips head insert, part number 5751A68. If you tighten the screw to more than 0.17 Nm, you will drive the flat ball into the flat impression beneath the WPS base, thus ruining our 5-μm absolute calibration. If you do not secure the WPS with the screw, the cable is likely to tilt the instrument on its mount.

With the WPS secured in place, we slide the cover onto the instrument from above or from the side, taking care not to touch the wires with the folded bottom edge of the cover. If you want to make measurements without the cover, you must provide the instrument with a white background screen like the one on the inside of the cover. You can put a piece of white card next to the instrument if you like, or do something like this.

Derivative Analysis

[18-OCT-07] Our images are eight-bit gray-scale arrays obtained from solid state images sensors. The aim of image analysis is to take an image like the one below and fit straight lines to the left and right edges of the wire. To this end, we began with our spot-finding routines, which we use to analyze BCAM images, as described here. We added routines that fit a straight line to the pixels in a spot. You will find our source code here. The routine that fits vertical straight lines to a spot is spot_vertical_line.


Figure: Image of a Wire. This image was taken with the WPS0. Maximum intensity in the image is 172, minimum is 71.

If we differentiate the intensity of this image in the horizontal direction, we obtain the following image, which we show both intensified and with its un-modified gray scale. To obtain the derivative, we let pixel (i,j) have intensity equal to that of pixel (i+1,j) in the original image minus the intensity of pixel (i-1,j) in the original image. If the difference is less than zero, we drop the sign so as to obtain the absolute value of the derivative.


Figure: Gradient Image of Wire. On left with natural contrast, on right with intensified contrast. The maximum intensity in the image is 61, and the minimum is 0.

The WPS analysis takes an image of a wire, obtains the horizontal derivative, and fits a line to the two white stripes in the derivative image. It displays these two lines in red on the original un-differentiated image.


Figure: The WPS Instrument Window in LWDAQ on MacOS. The wire edges are marked in red.

The spots the analysis refers to are the two collections of bright pixels in the derivative image that mark the two edges. The analysis fits lines to these two spots, even though you don't see the spots in the original image. For the meaning of other parameters, like analysis_threshold, consult the manual entry on the BCAM Instrument. In the case of the WPS, the threshold for accepting pixels into a spot applies to the derivative image, not the original image.

You can see the results of analysis printed out in the above screen shot. The position of each line is the distance in microns from the top-left corner of the image sensor to the point where the line crosses the top edge of the sensor. The rotation is the rotation of the line counter-clockwise about the vertical in milliradians. The top edge of the sensor is not the best place to obtain the position of the wire. Better is the center of the sensor. We may move the position measurement down to the center, but for now we are assuming that the routine that uses the WPS output will use the slope to determine the position of the line at the center of the sensor.

Each spot comes with an estimate of its position accuracy, which we obtain by dividing the root mean square residual from the straight line fit by the square root of the number of pixels used for the fit. In this example image, our estimate of the fitting accuracy is 0.3 μm. The WPS1 has a demagnification of 3, so we expect the optical and electronic contribution to our position measurement error to be roughly 3 × 0.3 μm ≈ 1 μm.

Prototype

[25-OCT-07] Here are two views of the prototype. The two angled cameras are on the end plate. The nine-LED array is supported by a black standoff.


Figure: WPS1 End View. The black tubes are the camera shields. The white background screen and the wire are missing from the view.

The black tubes are the light shields around the camera lenses. These tubes are threaded inside to eliminate internal reflections. The circuit board with an RJ-45 connector is a modified Black Polar BCAM Head (A2051L). Instead of two twelve-way flex connectors, it has two eight-way connectors for the two cameras, and we solder a twisted pair for the LED array.


Figure: WPS1 Side View. The black tubes are the camera shields. The white background screen and a wire are now present.

The nine-LED array is angled so that we have the nine LEDs at different heights. There will be nine dim shadows of the wire on the background instead of three strong ones.

We had to go to some lengths with a total-immersion ethanol bath to clean the CCD windows. Dirt on the windows causes spots that spoil the image the derivative analysis we describe above. Below are the two images we get from the above prototype when we cover it with a box. Without the box, we sometimes see bright reflections off the wires. We can remove these bright reflections with background subtraction, as used with the BCAM Instrument.


Figure: WPS1 Images, Intensified for Maximum Contrast. The image on the left is taken from Camera 1, the right from Camera 2. The un-intensified images, suitable for reading into the WPS Instrument are here: Camera 1 and Camera 2. The wire in the images is the one seen in the WPS1 Side View above. Note the shadows of the wire visible in both images, and the dirt on the images, marked by short lines and spots.

We find that we can move the wire in a 10 mm in any direction and still obtain images as sharp as those shown above. In some directions, we can move the wire further than 10 mm. With a ruler, we measure the distance form the CCD to the wire to be 75 mm, and we know from previous measurements that the distance from the aperture to the CCD is 14 mm. We expect the magnification of our camera to be roughly 14 / 75 = 0.2. The image of a 1-mm diameter wire is roughly 200 μm on the CCD, so our magnification is indeed close to 0.2. Movement on the CCD represents movements five times larger at the wire.

The derivative analysis we describe above was erratic because the focus in our actual images is less sharp than the focus in our original image. Nevertheless, by negating the image and treating it as a BCAM spot, we obtained a resolution of order 1 μm, which we find encouraging. We are now working on a new analysis method.

Fitting Analysis

[25-OCT-07] We revived the analysis we used to fit shadows in x-ray images of ATLAS end-cap muon tubes, and applied it to the black wires in our WPS images. This analysis works by first finding the approximate wire location using the horizontal intensity profile. We obtain the horizontal intensity profile by adding all the pixels in each column together. Each column position has a total intensity, and the profile is the graph of these total intensities plotted against column number. You can see the horizontal intensity profile plotted in red on top of both images from the WPS1 below. The profile is plotted so that its maximum value touches the top of the image and its minimum touches the bottom.


Figure: WPS1 Images, Intensified with Fitting Analysis Results Overlayed. Red is the horizontal intensity profile. Yellow is the slope of the horizontal intensity profile. Orange is the fitted center-line of the wire. Green is a box to which the fitting restricts its attention. Blue is the threshold applied to the horizontal intensity profile that the analysis uses to find the approximate location of the wire.

After finding the approximate location of the wire, the steepest ascent fitting begins. The analysis correlates a notch pattern with the image within the green box, moving and rotating the notch to maximise the correlation. In today's version of the code, the fitting takes 1.5 seconds to complete on a 1.3 GHz laptop without the step-by-step re-display of the image (or five seconds if we re-display the images at every fitting step to show the fitting process).

When we acquire ten consecutive images from either camera, the standard deviation of the position of the image on the CCD is 0.2 μm, and of its rotation is 0.2 mrad. In terms of wire position and rotation, the standard deviation is roughly 1 μm in position (we divide by the magnification) and 0.2 mrad (the rotation on the CCD is the same as that of the wire).


Figure: Position and Rotation of Wire Image with Analysis Spacing. The analysis spacing is the width of the rectangle used by the fitting program, as marked in green in the images above.

The fitting analysis operates upon a rectangular area of the image, centered upon the wire. The width of this rectangle is what we call the analysis spacing. Providing that the rectangle is large enough to enclose the entire wire image, we hope to find taht our measurement of wire position and rotation is independent of the analysis spacing. The graph above shows that this is indeed the case. For analysis spacing greater than 450 μm, the measured position and rotation vary by less than 0.1 μm and 0.1 mrad. To obtain our results, we used the following script in the Toolmaker.


for {set x 0.01} {$x <= 0.3} {set x [expr $x * 1.1]} {
  set LWDAQ_config_WPS(daq_flash_seconds) $x
  LWDAQ_print $t "$x [lrange [LWDAQ_acquire WPS] 1 2]"
}

The wire image itself is roughly 200 μ wide, but because of its rotation of 20 mrad in the above image, the wire image spans roughly 250 pixels. The notch pattern we are using to fit with the wire image is 400 μm wide. With rotation, the pattern spans roughly 450 μm. We believe this explains why we need an analysis spacing greater than 450 μm to obtain an accurate measurement.

We could use the yellow line, which is the derivative of the horizontal intensity profile, to determine the width of the wire image. If the wire were exactly vertical, the minimum and maximum of the yellow graph would mark the left and right edges of the wire. But the wire is not exactly vertical. We will think about how we can obtain a good measurement of the wire thickness from the fitting analysis. The measurement will have to be insensitive to de-focus and rotation of the wire image.

The shadows in the images are visible in the horizontal intensity profile. If one of these shadows were to touch the wire image, we would see a large error in image position. The shadows are up to one fifth as dark as the image, and they do touch the wire image when the wire is close to the background screen. Such shadows can displace the image center by up to one tenth of the image width, or tens of microns. We must ensure that the shadows stay clear of the image. We plan to move the light sources so that they are above and below the height of the wire, and cast the wire shadow out of the field of view of the camera. In all cases, keeping the background screen at least 10 mm from the wire helps dim the shadows and keep them away from the wire.


Figure: Position and Rotation of Wire Image with Flash Time. The data acquisition flash time is the time for which we turn on the LED array that shines light upon the background screen. We obtained the above results without background subtraction, but the lights in the laboratory were turned off.

The fitting analysis is insensitive to the image brightness, as you can see in the graph above. As the exposure time increases from 30 ms to 300 ms, the position varies by roughly 0.1 μm rms, and the rotation varies by roughly 0.1 mrad rms. We obtained our results with a script like the one we list above.

Calibration

Given the position and rotation of the wire image in each of a WPS's two cameras, we want to know the position and orienation of the wire in the coordinate system of its three mounting balls. The geometry of each WPS1 is pretty much the same, but on the level of 100 μm and 10 mrad, the exact locations and orientations of their components vary. It is precise knowledge of the locations of its components that allows us to convert a WPS's optical measurements into the position and oriention of the actual wire. Measuring these locations and orientations is the process of calibration. The numbers specifying the locations and orientations are the calibration parameters.

We thought initially to calibrate WPS instruments with wires in precisely-known locations. We would hold wires in V-slots, measure the V-slots with our CMM, and so obtain the locations of the wires, or something like that. We considered calibrating WPS cameras with Proximity Masks. But we settled upon the use of ground steel pins.

Aside: The Proximity Mask is a variety of Rasnik Mask. Brandeis University designed the Proximity Mask, and both Brandeis University and Open Source Instruments have built Proximity Masks in quantity. The only documentation we can find on the Proximity Mask is a description of the Proximity Mask Head (A2045) and an account of an experiment called Proximity Camera Gradient. A Rasnik mask is a chessboard pattern illuminated from behind. The LWDAQ program's Rasnik Instrument is for use with Rasnik masks. We describe the Rasnik image anlysis code used by the Rasnik Instrument in Rasnik Analysis. One way to calibrate a WPS is by placing a calibrated Proximity Mask in two known locations with respect to its mount. The mask will lie in the WPS's z-y plan. It will be vertical and parallel to the nominal wire direction. The WPS would obtain an image something like this.

We ordered some 1.588-mm diameter (1/16") precision-ground stainless-steel 40-mm long dowel pins. By placing such a pin in the field of view of the WPS, measuring the pin and the WPS mounting balls with a CMM, and moving either the pin or the WPS to several different positions, we believe it is possible to calibrate the WPS with absolute accuracy limited only by that of the CMM. The CMM we use is accurate to 2 μm. With four wire positions, we obtain eight measurements of position and rotation from each camera, which is sufficient to determine the camera's calibration constants. The advantage of steel pins over Rasnik masks is that it is conceptually simpler, presents the WPS with a calibration target almost identical to a wire, and can be duplicated at other laboratories more easily. We study the performance of steel pin images below.

We describe the development of our steel-pin calibration procedure in WPS1 Calibration.

Optics

The WPS1 optics consist of the lens, the aperture, the sensor, the lens holder, and the baffle around the lens holder. To the first approximation, the WPS1 optics behave like a perfect thin-lens system, with the aperture centered upon the lens. Straight rays pass through the center of this aperture, which we call the camera pivot point. The purpose of calibration is to determine the location of the pivot point, the location of the sensor center, and the orientation of the sensor. In the following sub-sections, we discuss the focus and nominal dimensions of the WPS1 optics. In a later sub-section, we discuss deviations of the WPS1 optics from the ideal pin-hole camera behavior. These deviations, which are due to lens aberration, displace the wire images by a few microns on the outer edges of the sensor, resulting in measurement errors of ten or twenty microns.

Focus

The WPS lens and aperture must provide adequately sharp images of wires across the dynamic range of the instrument. The dynamic range is the intersection of the two camera fields of view, as shown here. We prefer our derivative analysis to our fitting analysis, so we would like our wire images to be sharp over the dynamic range. Sharper images favor the derivative analysis, as we dicovered below. We concluded that the requirement that we be able to analyze an image of a Rasnik mask with 340-μm squares is adequate to ensure that we can use our derivative analysis over the entire field of view, so we proceed with Rasnik masks as a test of image sharpness.

In both calibration positions of the mask, the mask image must be sharp enough for the rasnik analysis. This puts constraints upon the camera optics, which we discuss in Rasnik Depth of Field.

If the dynamic range of the WPS is ±5 mm in x, we might place the mask at ±2.5 mm and require that it be in focus at these two positions. As we show in Rasnik Depth of Field, a Rasnik designed for maximum depth of field obeys:

D = 4λcs,

where D is the aperture diameter, λ is the light wavelength, c is the pivot-to-ccd range, and s is the maks square size. If we use s = 340 μm (these are the largest squares we have available), λ = 875 nm (the WPS1 infra-red LEDs), and c = 12 mm (as applies to the WPS1), we obtain D = 40 μm. The largest tolerable deviation, a, in pivot-to-ccd will then be:

a = πs2/4λ = 100 mm.

What we see here is that a diffraction-limited camera has tremendous dynamic range, but at the same time has such a small aperture as to be incapable of gathering enough light.

Our first WPS1 uses a lens-to-ccd distance of roughly 14 mm, and a lens of focal length 9 mm. The focal range is 1/(1/9 − 1/14) = 25 mm. The intersection of the two camera field of views is at roughly 50 mm, at twice the focal range. Because they are out of focus, the images are not sharp enough for our originally-planned derivative analysis, but they are fine for our fitting analysis.

We made the aperture of the first WPS1 by gluing aluminum foil behind the lens in a 10-mm BCAM lens holder (the one in the drawing is only 5 mm long) and puncturing the foil behind the center of the lens with a sewing pin. The hole is approximately 300 μm in diameter. We tried a smaller hole made with piano wire, but the images it provided were too dark.

Detail: The lens-to-ccd distance is not the same as the pivot-to-ccd distance. The virtual camera with which we model the WPS camera ignores aperture width and defocus. The pivot point is very close to the center of the aperture. (But not identical, as we describe Appendix 1, here.) The lens-to-ccd distance is the distance from the effective focal point of the lens to the image sensing surface. Our lens is the NT32-469 from Edmund Optics. Its effective focal point is 1 mm in front of its flat surface. We have the flat surface facing the aperture. The flat surface is 2 mm from the front of the lens holder, and the lens holder is 10 mm long. The effective focal point is 10 − 2 + 1 = 9 mm from the back of the lens holder. The hole in the plate that holds the image sensor is 3 mm deep before we come to the window of the sensor. The image sensor is 2 mm below the top of the glass. The total lens-to-ccd distance is 14 mm.

With the wire at range 50 mm, the 9-mm focal length of the lens makes a sharp image 11 mm behind the lens, or 3 mm in front of the image sensor. The image on the sensor will be blurred by 3/11 of the aperture diameter, or 80 μm. This is indeed what we see in initial WPS1 images. In the plane of the object, this blurring is 50/14 times larger, or 300 μm. The maximum tolerable blurring of a Rasnik Mask is half a square width. With 340-μm squares, we can tolerate 170 μm of blurring, but not 300 μm.

[09-NOV-07] We conclude that the existing WPS1 optics are not able to view Rasnik masks during calibration because the focal range is only half the operating range. We will improve the image quality by shaving 3 mm off the lens holder and reducing the pivot-to-ccd range to 11 mm. Now the focal range will be 1/(1/9 − 1/11) = 50 mm, right where we want it, and the blurring ±3 mm on either side of the focal range will be only 10 μm. The Rasnik image will be sharp. So will the wire images. We might be able to return to the faster derivative analysis. The fitting analysis will be more accurate.

We could use the 2-mm diameter aperture built into the BCAM lens holder instead of a pinhole in foil. With a 2-mm aperture and the lens-to-ccd distance reduced to 11 mm, the blurring ±3 mm on either side of the focal range would be only 175 μm, half of what we see now. With the built-in aperture, we can expect it to be centered upon the lens holder to better than 100 μm. The optical assembly more precise. We would also obtain brighter images. The 175 μm blurring at our limit of 170 μm for blurring of a 340-μm square. We will have to try the built-in aperture with a Rasnik mask and see how it performs.

[14-NOV-07] We cut 3 mm off the back of each lens holder. Our aperture is still ≈300 μm. We placed a rasnik mask with 340-μm squares in front of one of the new cameras and took images at various ranges. We found the range over which we could analyze the resulting images was limited by the size of the squares in the image, not by blurring. We observe no blurring from range 25 mm to 70 mm.


Figure: Rasnik Images Taken with Improved Optics. Left is at range 35 mm, right is at range 65 mm. The colored lines and squares are the result of successful image analysis.

The Rasnik analysis provides us with an estimate of our error in measuring mask position. We tabulate this error estimate with range below, as well as the field of view.

Lens-Mask
Range (mm)
Rasnik
Error (μm)
Field of
View (mm)
152.84
252.17
351.310
451.413
551.916
652.018
752.321
852.924
952.227
Table: Estimated Rasnik Error with Range. The error is in terms of mask position. The mask squares are 340 μm. The field of view is the width of the mask seen by the CCD. The Rasnik error is provided by our Rasnik Analysis program.

A lens-to-ccd distance of 11 mm combined with an aperture of 300 μm will give us sharp images, excellent depth of field, enough light, and allow us to use our derivative analysis and calibrate the sensor with rasnik masks.

Dimensions

[10-APR-08] We have made a total of four WPS1 so far, including eight foil pin-hole apertures. These apertures vary in diameter from 200 μm to 300 μm, which explains why some WPS1s are more sensitive to light than others. We recommend using automatic exposure adjustment to account for the different aperture diameters.

ParameterValue
Pivot-CCD9 mm
Aperture Diameter250±50 μm
Lens Focal Length9 mm
Lens-CCD11 mm
CCD Width3.4 mm
CCD Height2.4 mm
CCD Pixel Size10 μm × 10 μm
Field of View±150 mrad × ±110 mrad
Pivot Point Height Above End Plate15 mm
Pivot Point to Front of CCD Mounting Plate4 mm
Table: Properties of the WPS1 Optics. The CCD is the image sensor.

The pivot-ccd distance is the distance between the aluminum foil pin-hole aperture and the CCD surface. The pin-hole is just behind the knife-edge aperture of the lens holder. The WPS1 lens holders are 7-mm long versions of this 5-mm lens holder. The extra 2 mm is on the far end from the lens. The total distance from the aperture to the end of the lens holder is 4 mm. We add another 3 mm thickness of the CCD mounting plate, and another 2 mm from the CCD glass surface to the CCD surface. The total pivot-ccd distance is 9 mm.

Aberration

[27-JUN-08] As we describe in elsewhere, our calibration procedure revealed that our pin-hole camera model of the WPS1 optics provided only 20-μm accuracy over the WPS1 field of view. Images on the CCD appear to be displaced from their correct locations by several microns. The WPS1 aperture is only 250 μm in diameter. If this aperture is centered perfectly upon the lens, neither spherical aberration nor coma aberration can account for image displacements of several microns. But if the aperture is offset from the center, such image displacements are indeed possible.


Figure: Ray Tracing through a Glass Wedge.

In the above figure, a ray enters a glass wedge with angle of incidence b and leaves with angle of refraction e. The internal angle of the glass wedge is a. The net change in the ray dirction is f. Our pin-hole camera model of the WPS1 optics assumes that the angle f is constant for all values of b. The following graph shows how f varies with b for glass with refractive index 1.5, for various wedge angles.


Figure: Variation in Refraction with Angle of Incidence, for Various Wedge Angles. Each graph is for a separate wedge angle, which we give in milliradians in the color legend. Each graph shows the deviation of the angle of refraction, f, from its average value as the angle of incidence, b, varies from −100 mrad to +100 mrad. The field of view of a WPS1 camera is roughly ±150 mrad. We obtained the data for the graph with refraction.pas.

The wedge angle of a lens is zero at the lens center. The graph for a = 0 is the one that would apply to our WPS1 optics if the aperture were centered upon the lens. But this is not the case in practice. When we punch a hole in the aperture foil with a pin, the hole can be off-center by 300 μm. Our 9-mm focal length plano-convex lens has an outer radius 6 mm, so this 300-μm offset means the wedge angle in front of our aperture can be as large as 50 mrad. If we look at the a = 50 mrad graph above, we see that a ray entering with b = −100 mrad will deviate from the direction predicted by our thin-lens, pin-hole camera model by 0.3 mrad. This 0.3 mrad, when multiplied by the 11-mm distance to the sensor, will displace the image of the ray by 3 μm. By ignoring this 0.3 mrad aberration, our measurement of the position of a wire 40 mm away by 10 μm.

Our best pin-hole camera approximation of the WPS1 is inaccurate by roughly 20 μm rms in the WPS field of view, as we show here. It may be that the greater part of these errors is due to poor centering of the aperture upon the lens. We resolve to measure the combined abberation of several WPS1 cameras across their field of view, and see if the aberration is consistent with aperture offset. If so, we can correct for the abberation with two additional calibration parameters: the x and y displacement of the aperture from the lens axis in a thin-lens model of the optics.

Illumination

The ideal illumination of the screen behind the wire would be bright and uniform. Non-uniformity in the background intensity causes an apparant shift in the wire position. A shadow cast by the wire is an example of a sharp variation in background illumination. The ideal illumination must therefore avoid creating shadows in the field of view.

Another potential source of error is reflection of light off the wire to the camera. We avoided bright reflections in the WPS1 by placing the source of light aside from the camera along the length of the wire. The displacement of the light sources along the wire avoids direct reflection off the wire surface into the camera. But we still see signs of light scattering off the wire, which makes the sides of the wire appear brighter than they would if the only source of light were the screen behind the wire. The ideal illumination would cast no light upon the wire, and illuminate only the background screen.


Figure: WPS1A Screen Illumination. Two visible red LEDs replace the WPS1's infra-red LED array. Two mirrors direct the light behind the wire and onto the screen. The black tape stops light reflecting up and onto the wire from the surface of the mounting plate.

The WPS1A uses two mirrors to direct visible red light around the back of the wire and onto the screen. Because the light does not shine directly upon the wire, there are no shadows and there is no illumination of the wire itself. We use two light sources in an effort to make the background intensity uniform for both cameras.


Figure: The WPS1A. Here is our implementation of what we drew in the figure above.

Below are three images, showing how the background intensity varies as seen by Camera 2 (the upward-looking camera) when we flash the two LEDs.


Figure: Images of the Same Wire with Different Illumination. Left is LED 4 only, center is LED 2 and 4, right is LED 2 only. The red line is the horizontal intensity profile in the image. In each case, the total illumination time is 1 s.

The illumination provided by our two LEDs is not uniform. The red graph is the horitontal intensity profile, which we obtain by adding the intensity of every pixel in each column. We plot the profile so that the darkest point is at the bottom of the image and the brightest point is at the top. We can express the gradient of the background intensity in units of percent full scale per percent full width. A gradient of 1 would be line from the bottom left to the top right. We estimate the gradient of the profile on either side of the wire in each image by placing a ruler on the computer screen. Our estimates of the gradient are +3 for the left image, +1 for the center image, and −0.5 for the right image.

When we measure the wire image position with the three different LED combinations, we obtain the following results.


Figure: Change in Image Position with Illumination.

Our resolution with each illumination is below 0.2 μm, but our measured position varies by 28 μm as we vary the illumination. From gradient +3 to +1, we see a jump of +15 μm. From gradient +1 to −0.5 we see a jump of +13 μm. Our sensitivity to illumination gradient is of order +10 μm/%/%. If we want accuracy of 1 μm on the image sensor, we need the illumination gradient to be less than 0.1. Our existing gradient with both LEDs is ten times too large.

We now return to our original nine-LED illumination, but now we combine it with our improved camera orientation and sharper focus. We increase the current through our LED array, align the array with the vertical, and look at how the shadows move with wire position. We find that the shadows never touch the wire image while the wire is within the ±5-mm area marked on our drawing above. Because the angle of incidence of the light upon the wire is low, scattering of light from the wire is dim. We moved the LED array up and down by 30 mm and watched the shadows move back and forth. We measured the image position and found it to vary by 0.4 μm rms as we moved the LED array by 30 mm.


Figure: Images with WPS1. We move the nine-LED array up and down, and watch the shadows move. Standard deviation of image position is 0.4 μm.

Looking at the image on the right, we see that the intensity gradient varies from +0.5 on the left to −0.5 on the right. We expect a ±5 μm error due to these gradients. In terms of wire position, we expect a ±20-μm error, or roughly 5 μm rms. We are not satisfied with this 5-μm rms error. If we are to use our fitting analysis, we must decrease the intensity gradient by another factor of four.

Derivatives Again

If you go back to our section on our Fitting Analysis, you will see that the original images we obtained with the WPS1 were severely defocused. The fitting analysis works better on defocused images. It fits a triangular notch pattern to the wire image, and finds the center of the wire more reliably if the center is marked by a minimum of intensity. As you can see in the above images, the intensity minimum no longer corresponds to the wire center. The sharply-focused wire is, to the first approximation, uniformly dark through its width. It is the edge of the wire that defines the wire position, not the darkness at the center of the wire.

We altered the WPS analysis_min_spacing_um parameter, which changes the width of the notch we use to fit the wire shadow and the width of the image area we use for the fit. We found the measured wire position varied by ±10 μm as we increased the spacing from 400 μm to 1000 μm. With the defocused wires, we observed less than ±1 μm variation in the same experiment, as we show here.

We conclude that our fitting analysis is ill-suited to our new, sharp images. But the sharp images allow us to return to our Derivative Analysis. Our derivative analysis has several advantages over the fitting analysis.

  1. The fitting analysis is affected by a constant intensity gradient accross the image, but the derivative analysis is immune to such a gradient. So long as the gradient is constant, and the intensity of the image is everywhere bright enough for us to see the wire edges, the derivative analysis will be unaffected by the gradient.
  2. Wire shadows can come close to the edge of the wire image without disturbing the derivative analysis. Only if the edge of a shadow touches the edge of a wire image will the derivative analysis be disturbed. Even if the wire edge covers the center of a shadow, which we will try to avoid by proper arrangement of our illumination, the derivative analysis will not be disturbed.
  3. The derivative analysis runs in 10 ms on our 1.3 GHz G4 lap-top, compared to 3 s for the fitting analysis.
  4. The derivative analysis provides two measurements of the wire when it measures the positions of both edges. When a wire nears the edge of the screen, we can measure the position of one edge and issue a warning. We also obtain a measurement of the image width by taking the difference between the edge positions.

We restored our derivative-based analysis to the WPS instrument. Below you see two images taken with the screen in two different positions. The three shadows move as the screen moves. Overlayed upon the image are the horizontal intensity profile, now in green instead of red, the absolute-value derivative intensity profile, in yellow, and the two edges found by the analysis, in red. The horizontal blue line is the horizontal line that defines the location of the vertical edges. The derivative analysis returns the distance from the left side of the image to the intersection of the edge with the blue line.


Figure: Images with Shadows, Showing Derivative Analysis Results. The wire is 1 mm in diameter. Its outer surface is PVC insulation. Raw image: left and right.

It is obvious from looking at the yellow graph that the shadows will not affect the wire unless they touch the edge of the wire. We moved the screen around and measured the edge positions. When the shadows overlap the right edge, the derivative analysis can no longer find the edge because it is no longer sharp. But so long as the shadows do not touch the image, the measured edge positions appear to be unaffected. As we moved the screen in and out, the standard deviation of edge position was 0.3 μm, and of rotation was 0.3 mrad, which is the same resolution we obtain if we leave the screen stationary.

Our improved WPS optics always gives us sharp wire images. But we must still be sure that these images are bright, or else the derivative analysis will not work. We find the analysis is unreliable for an exposure time of 0.1 s, and the image begins to saturate at 0.3 s. We set the default WPS exposure time to 0.2 s. The graph below shows how the measured position and rotation of both wire edges varies with exposure time.


Figure: Position and Rotation of Wire Image with Flash Time for Derivative Analysis. The data acquisition flash time is the time for which we turn on the LED array that shines light upon the background screen. We obtained the above results without background, but the lights in the laboratory were turned off.

To obtain our results, we used the following script in the Toolmaker.


for {set x 0} {$x <= 0.4} {set x [expr $x + 0.01]} {
  set LWDAQ_config_WPS(daq_flash_seconds) $x
  LWDAQ_print $t \
  "[format {%.3f} $x] \
   [lrange [LWDAQ_acquire WPS] 1 2] \
   [lrange [LWDAQ_acquire WPS] 7 8]"
}

As you can see, we vary the exposure time by a factor of three and maintain resolution of 0.3 μm and 0.3 mrad.

Our derivative analysis uses a threshold to distinguish between pixels that are too dark to be part of a wire edge, and those that are bright enough. The BCAM Instrument uses a threshold to identify light spots. We discuss the effect of changing the threshold in our BCAM User Manual. We used the following Toolmaker script to vary the threshold we used with our derivative analysis when we applied it to the left image above.


for {set x 1} {$x <= 30} {set x [expr $x + 1]} {
  set LWDAQ_config_WPS(analysis_threshold) $x
  set result [LWDAQ_acquire WPS]
  LWDAQ_print $t \
  "[format {%.3f} $x] [lindex $result 1] [lindex $result 2] \
   [lindex $result 7] [lindex $result 8]"
}

We present our results below. We plot changes in the position and rotation of each edge of our wire as a function of threshold. The maximum intensity in the derivative image is 34 counts. Our graph goes up to 20. Above 22, the plot moves off to ±10 μm.


Figure: Changes in Position and Rotation of Wire Image with Threshold for Derivative Analysis. We obtained the above results analyzing the same image.

The standard deviation of position as we increase the threshold from 1 to 20 is 1 μrad, and that of rotation is 1 mrad. The WPS Instrument allows you to specify the threshold in terms of the minimum, maximum, and average intensities in the derivative image. The BCAM Instrument allows you to do the same for the original image. We obtain the best accuracy by making the threshold low, so as to include more edge pixels, and using the pixel intensity to weight its contribution to the edge. We have been using "10 #" as our threshold code, which puts the threshold 10% of the way from the average intensity in the derivative image to the maximum intensity. This gives us a threshold of 5 in the image we analyzed to obtain the above graph.

We used the "10 #" theshold code in our plot of position verses flash time. The threshold we used varied in proportion to flash time, and the measured edge positions remained stable to 0.3 μm. Our hope is that by using "10 #" we reduce the effect of threshold upon our measurements to less than 0.3 μm and 0.3 mrad.

Cover and Screen

The screen will be a white sticker on the inside of the WPS cover. Here we consider where to put the screen, and how large it must be.

The farther we place the screen behind the wires, the farther the wire shadows will be from the wires, and the less sharp the wire shadows. Our dynamic range in the vertical direction increases slightly. But the increase is not significant.

With the screen father away, we get less light reflected back to the cameras. Our exposure time must increase. We find this increase does not cause us problems.

When we move the screen farther away, it must be larger. Here are four images taken with the two cameras of a ruler at two ranges. The near range is with the ruler flush up against the edge of the WPS base and standing upon our optical table. The far range is with the ruler half an inch back from the WPS base, still standing on the optical table



Figure: Images of Ruler in Place of Screen. Top-Left: Camera 1, near range. Top-Right: Camera 1, far range. Bottoom-Left: Camera 2 near range. Bottom-Right: Camera 2, far range. The ruler has scales going both directions. The one measuring distance up from the optical table is the top scale in the top images, and the bottom scale in the bottom images.

The nominal center of the WPS1 dynamic range is 50 mm up from the top surface of the 0.5-inch thick base plate. With respect to the optical table surface, the WPS1 center is 62.5 mm hight. A ruler reading of 62.5 mm Camera 1 looks down, Camera 2 looks up, as shown here.

At the near range, Camera 1 sees from 44 mm to 65 mm. At the far range, it sees from 34mm to 60 mm. Camera 2 sees from 62 mm to 83 mm at the near range, and from 67 mm to 93 mm at the far range. At the near range, the fields of view overlap by 3 mm.

Given the geometry of our camers, as shown above, these field of view measurements imply an angular field of view in the vertical direction of 17°. In other words, the field of view subtends a 17° angle in the vertical direction at the camera pivot point. Given that the image sensor is 3.4 mm wide in the vertical direction, the 17° field of view implies that the pivot-to-ccd distance is 11.4 mm. In our Optics section, we concluded that the lens-to-ccd distance was 11 mm.

At the far range, the fields of view are separated by 4 mm. At the near range, we need a continuous 39-mm long screen. At the far range, we can use a continuous 59-mm long screen, or two shorter screens of 26 mm each. We choose to place the screen at the far range, and use two smaller screens that do not overlap. When we set up a new WPS1, we will be able to use the screens as targets by which to orient our cameras. You will find a drawing of the cover here, but the drawing in the next section is more informative.

The cover stays in place by its own weight. The top side rests upon the top of the WPS end plate. The left side of the cover bends in at the bottom, and rests upon the top of the WPS base plate. We will put two constraining pins on the top side of the base plate to stop the cover moving to the right. The right side of the cover rests aginst the right side of the base plate.

Geometry

With our cover designed, we arrive at our final WPS1 optical and mechanical geometry. We increase the angle between the camera axese from 60° to 62° in order to simplify our dimensions and guarantee the separation of fields of view on the inside of the cover.


Figure: WPS1 Geometry, looking from electronics end to optical end. Everything to scale except for the mounting balls, which are exaggerated by a factor of two. The mounting balls are quarter-inch diameter (6.35 mm). The camera fields of view are shown in red cross-hatches.

The location of optical features in the geometry will be accurate by construction to only ±1 mm. The mechanical parts are machined to ±0.15 mm and bent (in the case of the cover) to ±0.5 mm. In the drawing, the WPS x-direction is left, y-direction is up, and z-direction is into the page. We are looking along the wire in the direction of the arrow made by the three mounting balls.

The WPS optical center is the center of its field of view, at the intersection of the two camera axese. The origin of the WPS local coordinates is the cone ball (see above). The drawing shows us that the nominal x-position of the optical center is +37 mm. The nominal y-position is 62.4 mm.

We cannot deduce the nominal z-position of the optical center from the above drawing. With a ruler, we measure the distance from the pivot point to the surface of the end plate: 16 mm. The end plate is 12.5 mm thick. Its other surface is flush with the end of the base plate. The cone ball is 23.5 mm from the end of the base plate. The nominal z-position of the optical center is −5 mm.

For background screens, we will use two white long-life polyester stickers on the inside of the cover. We will leave a 2-mm gap between the stickers, centered upon the height of the WPS optical center. When we adjust the cameras during assembly, we will make sure that the inner edge of the stickers are just out of view.


Figure: WPS1 Field of View. The nominal position of the optical center, in WPS local coordinates, is (38.0, 62.4, −5) in mm.

The WPS field of view is a pentagon. The left edge is defined by the passage of the cover as it comes down from above to rest upon the top surface of the base plate. The remaining sides are defined by the intersection of the two camera fields of view. The field of view encloses a 10-mm square with at least 1-mm to spare on all sides. With assembly accuracy of ±1 mm, we can be sure that all WPS instruments will be able to monitor wires within the 10-mm square centered upon point (38.0, 62.4, −5).


Figure: WPS1 Geometry from Solid Model.

The figure above shows how the camera fields of view intersect, and are cut off by the path of the lid.

Nominal Calibration

If our WPS1 were constructed perfectly, it would have the geometry shown above. The axes of both cameras would lie in the same local coordinate z-plane, with z = −5 mm. The image sensor columns would be perpendicular to this z-plane. The image sensor surfaces would be exactly perpendicular to the line joining their centers to their camera pivot points. The pivot points would be at the same local x-coordinate, with x = −4.5, and separated by 50 mm. The lower camera pivot point would be at y = 37.4 mm. The Camera 1 axis would be declined at 31°, and the Camera 2 axis would be inclined at 31°. The pivots points would be 11.4 mm from the image sensors.

Our first WPS1 lies within ±3 mm of these nominal positions, and ±3° of these nominal angles. If we assume the WPS1 is exactly nominal, and calculate the wire position using the nominal geometry, we will arrive at a measurement of wire position that is offset by a few millimeters, scales incorrectly by a few percent, and is rotated with respect to the true local coordinate system. But our estimate will nevertheless be useful in telling us when we are close or far from the WPS measurement center, and it will allow us to measure the WPS precision.

We prepared an Acquisifier Script that reads both camera images and calculates the position the wire would be in if the images were recorded from a WPS with the nominal geometry. You will find the script here. The script is called WPS.txt. We filled it with comments so you can see how it works.

We moved our test wire in x and y, and confirmed that the sign of our measurements were correct. You can use the same script on your own WPS1 by first setting up the WPS instrument to capture an image from one or the other camera, checking that the wire is in view of both cameras, and running WPS.txt in the Acquisifier.

We moved the wire to the nominal center of the WPS and left it stationary. We took repeated measurements over the next few minutes. Our precision is as follows.

MeasurementPrecision
Wire Image Position (Camera 1)0.04 μm
Wire Image Position (Camera 2)0.12 μm
Wire Image Width (Camera 1)0.07 μm
Wire Image Width (Camera 2)0.23 μm
Wire Image Rotation (Camera 1)0.05 mrad
Wire Image Rotation (Camera 2)0.18 mrad
Wire Position, Horizontal0.52 μm
Wire Position, Vertical0.32 μm
Table: Precision Obtained with Assumption of Nominal Geometry.

Our wire precision is better than 1 μm, which we are glad to see. The precision in the vertical direction is slightly better, which we expect because the cameras are more horizontal than vertical, so they are more sensitive to vertical movements.

Types of Wire

So far, we have been working with wires like the Black Wire shown above. As you can see in the montage below, the black wire provides the most uniform wire silhouette. The white wire silhouette is not as dark. The tungston wire silhouette is too narrow for us to identify separate edges with our existing derivative analysis. The carbon fiber wire image shows bright spots where light reflects off the plastic braid. This image is not just a silhouette: some of our illumination is shining off features on the wire, in particular the left edge of the wire.


Figure: Images of Various Wires. All images were obtained with background-subtraction. These images are intensified. For non-intensified raw data, click on the following links. Top-Left, BW_1: Black Wire, 800-μm diameter with teflon insulation (partner image here). Top-Right, CF_1: Carbon Fiber, 400-μm diamter composite fiber wire bound by plastic thread. The links lead to the raw image files (partner image here). Bottom-Left, TW: Tungston Wire, 125-μm dimater gold-plated tungston. Bottom-Right, WW: White Wire, 800-μm diameter with teflon insulation.

We would like to know how much the WPS1 measurement will be affected by movement of the wire along its axis. As the bright spots in the carbon fiber wire image move across the field of view, without any lateral translation of the wire, we may find that we see apparant translation because of the appearance and disappearance of such bright spots from the top and bottom of the image. It is not easy to move a wire longitudinally without translating it. But we have enough information in a single image to estimate the magnitude of the error caused by non-uniformity of the wire.

The WPS analyzes the area of an image defined by its analysis bounds. The following Toolmaker script moves a 1200-μm high rectangular analysis region from top to bottom of the image in 120 steps, and calculates the wire position at each step. The change in wire position will be as if our CCD columns were half as high as it is, and we moved the wire upwards in a direction equal to its rotation with respect to our CCD columns.


upvar #0 LWDAQ_info_WPS info
upvar #0 LWDAQ_config_WPS config
set info(file_use_daq_bounds) 1
for {set mid 60} {$mid < 180} {incr mid} {
	set info(daq_image_top) [expr $mid - 60] 
	set info(daq_image_bottom) [expr $mid + 60]
	set config(analysis_reference_um) [expr $mid*10]
	set result [LWDAQ_acquire WPS]
	LWDAQ_print $t "$config(analysis_reference_um) \
		[lindex $result 1] \
		[lindex $result 7]"
}

We take the measurements produced by the above script and fit straight lines to the position of both edges of the wire. We plot the residuals from the straight-line fit. A perfectly straight, perfectly-black wire should show no residual. A curving wire will show a parabolic residual. A wire with non-uniformity will show steps and oscillations in the residuals. The following graph is the one we obtain with the Black Wire.


Figure: Longitudinal Motion Error for Black Wire. The rms residual is 0.12 μm for the left edge and 0.15 μm for the right edge.

The Black Wire performs very well. The non-uniformity error is less than 0.2 μm, and will contribute less than 1 μm to our final measurement error. We cannot say the same for the Carbon Fiber Wire.


Figure: Longitudinal Motion Error for Carbon Fiber Wire. The rms residual is 0.56 μm for the left edge and 0.48 μm for the right edge.

The bright spots in the Carbon Fiber Wire image cause a 0.5-μm rms error in the position of both edges, even though the brightest spots in the image are all on the left edge of the wire.


Figure: Horizontal Edge Pixels in Image of Carbon Fiber Wire. Left: the edge pixels shown in gray-scale to indicate absolute value of horizontal derivative. Right: the edge pixels used in the derivative analysis for each edge are marked with colors.

In our experiment, we use only half the CCD to obtain our measurement. When we use the entire CCD, and take the average both edge positions, we can expect the longitudinal non-uniformity error to drop to less than 0.3 μm. This error is on the image sensor. In terms of wire position, the error will roughly four times larger, or 1.2 μm. But we have two cameras, and non-uniformity errors will be independent from one camera to the next, so we expect the final wire position error to be of order 1 μm rms.

We conclude that the the wire position error resulting from longitudinal non-uniformity in the Carbon Fiber Wire image will be roughly 1 μm, which is within our calibration tolerance of ±5 μm

Steel Pins

We purchased some 1/16" (1.588 mm) diameter, 1.5" (38.1 mm) long, 18-8 stainless steel, ground dowel pins, part number 90145A427 from McMaster-Carr. The diameter of these pins is accurate to ±0.0001" (2 μm) all along their length. We believe they are straight to ±2 μm as well. We fixed one such pin in front of our WPS cameras with a standoff glued to the WPS base, as shown below.


Figure: A Steel Dowel Pin Fixed in Front of WPS Cameras. We removed the WPS cover for the photograph.

We are interested in steel pins for two reasons. They are large enough for us to measure with our CMM. They are stiff enough to withstand the CMM probe pressure without distorting. As we discuss above, steel pins and a CMM are one way of calibrating WPS instruments. Another use for steel pins is to test the inherent stability of the WPS. The pin shown above is attached to the WPS base. It will not sag or bend with temperature. Any apparant movement of the pin will be due to an error in the WPS.


Figure: Image of Steel Pin. Left: close-up of pin image. Center: derivative image. Right: clusters of edge pixels with fitted edges marked in red. To obtain the right image, we used threshold code "20 #", which sets the threshold at 20% of the way from the average image intensity to the maximum image intensity.

The figure above shows an image of the fixed pin. We see reflections of our LEDs in the surface of the pin. The pin surface has been ground smooth. The surface has microscopic features that wrap around the circumference of its surface. These features reflect the LED light into our cameras. Up until now, we have used threshold code "10 #" to place the edge pixel threshold 10% of the way from the average to the maximum intensity in the derivative image. But when we this code with images of a steel pin, the two clusters of pixels on the right side of the image occasionally join up and move the fitted edge towards the center of the wire. When we set the threshold code to "20 #", the true edge cluster is always distinct from those associated with the reflective stripes on the wire.


Table: Effect of Threshold Intensity Upon Right Edge Position and Number of Pixels. The maximum intensity in the derivative image is 29, the minimum is 0, and the average is 1.5.

The table above shows how the number of pixels included in the right edge. With threshold code "15 #", we obtain resolution 0.04 μm on the left edge, and 0.08 μm on the right edge. With this we are well-satisfied.

Stability

We set up a carbon-fiber wire as shown below. The wire is mounted upon a metal frame, which is in turn glued to a micrometer stage. We plan to use the micrometer stage for some linearity and rotation measurements. For now, we will monitor wire position for a few days to measure the stability of the WPS1 and the apparatus itself.


Figure: Stability Apparatus. The wire is carbon fiber, of the type pictured above. The wire frame is glued to a micrometer stage that can cross the entire WPS1 field of view.

We leave the Acquisifier running our WPS Script every half-hour. We obtain the following plot, which shows the wire drifting downwards and closer to the cameras. After the first hour, the lights in the lab went off for the night. At hour 21, they turned on again when someone entered the lab.


Figure: Stability of Carbon Fiber Wire Position. The wire is held in the apparatus shown above. Plotted are the x and y movements of the wire deduced from the images of both cameras.

The downward movement may be caused by the aluminum frame cooling and contracting. As the aluminum contracts, the wire sags. The horizontal movement may be caused by the lateral pull upon the wire by its tension screw. As the wire sags, so it moves in response to this lateral pull.

We plucked the wire like a guitar string, as best we could in the vertical direction, waited two seconds, touched the wire, waited five seconds, and measured the wire position. We repeated this procedure many times, and obtained the following graph.


Figure: Effect of Vertical Plucking Between Measurements. Plotted are the x and y movements of the wire deduced from the images of both cameras.

We look down the wire and examine its shape. Instead of a catenary, we see a line that is crooked in both the vertical and horizontal directions. The deviations in the horizontal direction are of order ±200 μm.


Figure: Crooked Carbon-Fiber Wire.

We try several times to stretch a wire that is straight and uniform. When we handle the braided carbon-fiber wire, we disturb the braid. The braid and the wire break easily when going around sharp corners. The braid bunches up when we touch it. We cannot smooth out kinks in the wire with our fingers. The only way to get a straight wire is to stretch it as tightly as possible without touching the stretched length at all. We see no bends or kinks in our new wire. The tension in the wire is roughly 100 N. We obtain the following short-term stability plot.


Figure: Short-Term Stability with New Wire. The new wire is under 100 N tension and appears to be straight. Plotted are the x and y movements of the wire deduced from the images of both cameras.

We see the 0.1-μm quantization that results from teh WPS script rounding to the nearest 0.1 μm. We increase the resolution of our WPS script's numeric output so that it gives the measurement to 0.01 μm. We see no drift in y, but a 1-μm drift in x over the course of an hour, which is similar to what we saw above. We leave the WPS to run over the weekend.


Figure: Stability with New Wire. Plotted are the x and y movements of the wire deduced from the images of both cameras. Also plotted is temperature at the other end of our laboratory.

The graph above shows a movements of several microns loosely correlated with temperature at the other end of the laboratory. We do not know if these movements are due to changes in the WPS1 or due to movement of the carbon-fiber wire held in an aluminum frame. We end the experiment after eleven days and move on to an experiment with a steel pin.

We fixed a steel pin in front of the WPS cameras, as shown here. We set the Acquisifier running.


Figure: Stability with Steel Pin. Plotted are the x and y movements of the wire deduced from the images of both cameras. Also plotted is temperature inside the WPS enclosure.

We see 24-hour cycles in temperature, covering a range of 1.5°C. Each working day begins with a sudden rise in temperature of around 0.5°C. Meanwhile, the standard deviation of wire position is only 0.3μm in x and y, with no sign of a 24-hour cycle.

At hour 182 in our experiment, we put a 60 W bulb 30 cm above the WPS1, shining down upon the lid. We increased the frequency of data acquisition to once every 60 s, and left the light on for one hour, and then turned it off. This disturbance is marked by a spike in the temperature and position graphs in the figure above. We present a detail of the disturbance below.


Figure: Effect of 60W Lamp. We turn on the lamp at time zero and turn it off at time 1 hour. Plotted are the x and y movements of the wire deduced from the images of both cameras. Also plotted is temperature inside the WPS enclosure.

We will leave the WPS1 running over the weekend to see if its measurement returns to its value befor the lamp experiment.

Status

[09-JAN-08] We delivered our prototype WPS1 to Helene Durand at CERN. Her colleague Friedrich Lackner mounted the WPS1 upside-down on a CMM along with a wire, as shown in his photograph.

[01-MAR-08] We have three more WPS1s assembled and tested.

[26-MAR-08] We receive an order for two calibrated WPS1 from CERN.

[10-APR-08] Begin stability tests with steel dowel pins.

[01-MAY-08] Satisfied that resolution and stability of WPS1 is better than 1 μm rms for ±1°C.

[20-MAY-08] Obtain first calibration data from CMM with dowel pins and WPS1 on translation stage. Begin dedicated Calibration page.

[26-JUN-08] Investigating non-linearity in camera optics, which we believe to be the result of lens aberration.

Conclusion

Our WPS1 resolution is better than 1 μm in measuring the vertical and horizontal position of a wire. Friedrich Lackner at CERN obtained better than 1-μm stability over three weeks, as he reports on his new WPS wiki. We obtained better than 1-μm accuracy while monitoring the position of a dowel pin mounted to the WPS1 base. Systematic errors due to stray illumination of the wire, shadows on the screen, non-uniform illumination of the screen, changes in image brightness, and choice of analysis threshold combine to give an error less than 5 μm in wire position, or 1 μm on the image sensor. Our derivative analysis of WPS1 images finds the left and right edges of a wire or pin. The analysis produces accurate, robust results, and runs in roughly 10 ms on a 1.3 GHz G4 lap-top.

The WPS1 dynamic range is roughly 20 mm long and 14 mm high. The dynamic range is not square or circular, but rather a pentagon defined by the intersection of the two camera fields of view and the passage of the cover as we lower it onto the base. As a result of variation in our assembly process, the location of this dynamic range varies from one device to another by ±2 mm. But there is at least a ±5 mm range that will be enclosed in the dynamic range of all WPS1s.

We plan to calibrate the WPS with ground, steel dowel pins. We can measure the position of these pins with our CMM to 2-μm accuracy. We are confident of the procedure's success, and expect the calibration to provide absolute accuracy of 5 μm rms in a ±5 mm area and relative accuracy of 1 μm. We describe the development of our calibration procedure in a separate report, WPS1 Calibration.