BCAM Calibration on a Granite Beam with a Steel Straight Edge

© 2005, 2006 Kevan Hashemi, Open Source Instruments

Contents

Introduction
Camera Calibration Constants
Check CCD-Pivot and Pivot.z
Check Pivot.y and Axis.y
Check Pivot.x and Axis.x
Check Rotation
Omission of Fastening Screw
Resolution
Roll Cage Resolution Checked on the Granite Beam
Conclusion

Introduction

We (Open Source Instruments Inc.) will supply BCAMs (Boston CCD Angle Monitors) for the GMS (Geometric Monitoring System) of ALICE (A Large Ion Collider Experiment) at CERN. Figures 1 shows a Black Azimuthal BCAM, and Figure 2 shows a Blue Azimuthal BCAM. These are the two types of BCAM used by GMS. One is the mirror image of the other.


Figure 1: Drawing of a Black Azimuthal BCAM. We made the lid transparent in the drawing, even though it is black on the actual device, to allow us to see what is inside. Item (1) is the image sensor, (2) is the lens holder with knife-edge aperture, (3) and (4) are optical point sources embedded in the chassis.

Each BCAM provides two optical point sources in the form of visible red laser diodes glued into the anodized aluminum chassis. The light-transmitting surface of these diodes is roughly 10 μm by 50 μm, and within 100 μm of their metal package. The metal package isolated electrically from the chassis by the insulating aluminum oxide on the surface of the chassis.


Figure 2: Drawing of a Blue Azimuthal BCAM. The blue BCAM is a mirror image of the black one.

When a BCAM moves, its light sources move with it, and any camera that happens to take a picture of the light sources before and after the movement will be able to provide us with a measurement of the movement. Given any point in an image taken by such an observing camera, there is a unique line along which a light source must lie for its image to be centered upon that point. The position of a light spot tells us the bearing of a light source with respect to the camera, but it does not tell us the range of the light source.

If the camera viewing the point sources has precise and linear optics, then we can make precise and linear measurements of the bearing of a BCAM as it moves through the camera's field of view. We can make a range measurement alwo, by looking at the separation of the two light spots in the image. The farther apart the light spots, the closer the BCAM. But this measurement will not be nearly as precise as measurements our camera makes of movements across its field of view. Accurate measurements require not only a precise camera, but also that we be able to relate points in the camera image to lines in the global coordinate system of the structure upon which our camera is mounted.

The BCAM itself provides a camera to look at BCAM light sources. The BCAM is both observer and the object of observation. By design and construction, a BCAM camera is precise and linear, as we show in The BCAM Camera. Our azimuthal BCAMs, which we developed for ATLAS at the Brandeis University High Energy Physics Laboratory, is precise and linear. Its lense is six millimeters in diameter with focal length seventy-five millimeters. Behind the lens is a knife-edge aperture two millimeters in diameter. The narrow aperture gives the camera good depth of field. Our standard BCAMs operate at full accuracy from ranges eighty centimeters to infinity. The camera's image sensor is the TC255P CCD (Charge Coupled Device) from Texas Instruments. When we consider that the optical center of the lens may not lie at its physical center, and that the aperture is two millimeters behind the lens, and that the aperture causes diffraction of the light passing through it, we might wonder at how complicated a model we require to represent the transformation between light spot position on the image sensor and the line upon which its source must lie. But we showed in BCAM Calibration, that the BCAM optics are equivalent to a simple thin-lens system. If we are to make accurate measurements of light source positions with respect to the structure upon which a BCAM mounts, then we need to measure the geometric properties of the simple thin-lens system to which a BCAM camera is equivalent. We also need to measure the locations of its light sources with respect to the mounting structure.

These measurements of a BCAM camera and its sources with respect to its mounting structure are the process of calibrating its camera and sources. We calibrated our ATLAS BCAM cameras using a roll cage and a reference block of light sources, as described and photographed in BCAM Calibration. We calibrated our ATLAS BCAM light sources using the same roll cage, and a reference camera. We have not yet described this procedure, but it is a simple one. The camera calibration stand consists of the roll cage, the reference source block, and a straight edge on an optical table. We rotate the roll cage and take images of the sources in the reference block at each orienation. We move the source block between two ranges: roughly 1.2 m and 2.4 m. These images, combined with our measurements of the roll cage on a CMM (Computerized Measurement Machine) provide enough information to calibrate the camera.

To make calibration possible, we must provide a reliable kinematic mount for the BCAM chassis. The chassis rests on three quarter-inch steel balls. There is a conical depression at the front of the BCAM that receives the first steel ball, a slot at the rear to receive the second, and a flat recession to receive the third. You will find a machine drawing of the chassis here. We hold the BCAM on the balls with a single screw passing through its lid. As we tighten the screw, the ball under the flat depression presses into the aluminum, which is softer than the ball. We tighten the screw with a torque wrench to twenty ounce-inches (0.14 Nm). If we don't have a torque wrench, we finger-tighten the screw and then tighten it by one half-turn more with a wrench. The lid against which the screw presses is flexible enough that the fastening torque increases slowly with turns of the fastening screw, and the stell ball presses into the chassis by about 3 μm ±3 μm when we use the hand-tightening method.

Once we have calibrated a BCAM one one kinematic mount, our hope is that the same calibration constants will apply on any other BCAM kinematic mount. For this to be true, the steel balls of all the mounts must be of the same diameter as those on the original mount. We buy quarter-inch (6.350 mm) 316-stainless steel balls with diameter accurate to ±1 μm. You can buy them from Small Parts, part number BXX-0250-C. In quantity 100, they cost only $0.15 each.

Before you proceed, we invite you to read the quick introduction to the BCAM written by Alexander Schriker: BCAM Prospectus. The BCAM User Manual provides a detailed description of the BCAM and its calibration parameters. We ask that you read the section on calibration parameters before proceeding. If you are interested in how we assemble BCAMs, please take a look at our BCAM Assembly Manual. We read out and control the BCAM electronics using our LWDAQ (Long Wire Data Acquisition System). If you would like to know more about the electronics inside one of our Azimuthal BCAMs, look at the A2048 manual.


Figure 3: Photograph of Brandeis's Implementation of OSI Inc's Granite Beam and Steel Straight Edge Calibration Stand. Note the steel straight edge running along the granite beam, and the steel tape ruler glued to the top fo the straight edge. Against the steel straight edge at the far end of the beam is a black azimuthal BCAM. We are calibrating the camera in the black BCAM using the light sources in the blue BCAM. We move the blue BCAM from a range of about 50 cm to 150 cm in steps of ten or twenty centimeters.

In this report, we describe how you can calibrate BCAM cameras and sources using a granite beam and a steel straight edge. Such a calibration system is easier to set up than a roll cage, and we believe it is also more accurate and faster. To calibrate BCAMs you will need the following.

  1. 2 BCAM Mounting Plates, Measured on a CMM
  2. 1 2-m Long Steel Straight Edge, Straight to ±25 μm
  3. 1 2-m Granite Beam or Table, Flat to ±10 μm
  4. 1 2-m steel tape ruler to glue next to the straight edge
  5. 1 Blue Azimuthal BCAM with Calibrated Sources
  6. 1 Black Azimuthal BCAM with Calibrated Sources
  7. 1 LWDAQ System for Data Acquisition
  8. 1 Granite Beam BCAM Calibration Software

The BCAM Mounting Plates have flat bases that sit perfectly on a polished granite table or beam. When we pull them off a flat granite surface, we find that we have to overcome the force of vaccum suction between the plate and the granite. The plate is rigid and the balls are glued in place, so they do not move with respect to one another. They always sit at the same height above the granite beam. The sides of the plates are straight, so if you press a side up against a straight edge, the orientation and location of the balls with respect to the straight edge are always the same. This allows us to use a granite table and a steel straight edge to define a global coordinate system in which to move light sources along a known trajectory so as to determine a BCAM camera's calibration constants, or to move a camera along a known trajectory so as to determine the positions of a BCAM's light sources.

We made and measured two BCAM Mounting Plates for the ALICE SFM group, and we will soon deliver another two measured plates to the ALICE GMS group. You can, of course, make the plates yourselves, and measure them. The steel straight edge, steel tape ruler, and granite beam you must buy yourselves.

We can provide blue and black BCAMs with precisely calibrated light sources, and will do so for GMS and SFM. We first calibrate the light sources of such a BCAM in the roll cage, to determine their position to within 5 μm. Then we place the BCAM on a micrometer stage and move it across the field of view of another BCAM. We know how much we have moved the light sources between images taken by the observing camera, and from this we can deduce the separation of the light sources that corresponds to the separation of the light spots on the image. Next, we put the BCAM on a measured mounting plate on a granite table and move it across the field of view of another BCAM. The light sources are moving horizontally, so we can see the horizontal direction defined by their movement in the camera images, and from this we determine the angle between the horizontal and the line joining the two sources. We now refine our the light source positions we measured on the roll cage so that they are consistent with the actual separation of the sources to 1 μm and their actual relative orientation to 200 μrad.

We will also provide LWDAQ hardware. The LWDAQ software is free and runs on Linux, Windows, and Mac OS X. The BCAM calibration tool for the LWDAQ software will be available for free when we have finished it.

Open Source Instruments designed the granite beam and steel straight edge calibration procedure for use by its customers at CERN. But the first user of the procedure turned out to be Brandeis University, where we used it to check the ATLAS BCAM calibration constants. The results we present in this paper are those obtained by Brandeis when they applied the OSI procedure on their granite beam with a straight edge they purchased for the purpose.

Camera Calibration Constants

The LWDAQ program's BCAM Calculator tool takes measurements made on a BCAM calibration stand and calculates BCAM calibration constants. At the moment, it supports only measurements made on a roll-cage calibration stand, but we will eventually extend it to support the granite beam and straight edge calibration stand.


Figure 4: Screen Shot of the BCAM Calculator Showing Verbose Output from Camera Calibration Constant Calculation.

The roll cage provides six calibrations of a camera, because any two of the four orientations of the roll cage provide adequate information for calibration. We look at the range of values obtained from the six possible combinations of four orientations, and calculate the average value of each parameter and the spread of values. If the spread exceeds four times our desired calibration accuracy, we reject the calibration. The calibration shown in Figure 4 we performed on a freshly refurbished roll cage, and the spreads in parameter values are well within our limits.

The cameras have seven calibration constants, which we express in BCAM Coordinates (see the User Manual for details, but in brief: x is across the front of the BCAM, y is vertical, z is along the camera axis, and the origin is at the center of the cone ball). The first three (pivot.x, pivot.y, and pivot.z) give the coordinates of the center of the pivot point of the camera, which is the center of the virtual lens in the virtual thin-lens system to which the camera is equivalent. The next two (axis.x, axis.y, and axis.z) give the direction cosines of the line upon which a light source must lie for its image to be projected onto the center of the camera's image sensor. The z-component of this direction is +1 for all Azimuthal BCAMs, but the Polar BCAM is double-ended, and its rear-facing camera has axis.z equal to -1 as a consequence. We include the axis.z direction in among the seven calibration constants for the convenience of analysis software, but we do not count it as a calibration parameter itself, since we never deduce it by calibration. The sixth calibration constant (ccd-pivot) gives the separation of the plane of the image sensor and the pivot point. The last constant (rotation) gives the rotation of the image sensor about the camera axis.

Here is the BCAM Calculator output for source calibration constants.


Figure 5: Screen Shot of the BCAM Calculator Showing Verbose Output from Source Calibration Constant Calculation.

The roll cage calibrates the x and y positions of the sources (these are the directions perpendicular to the camera axis), but we assume the z-coordinate just as we assume the axis.z direction in a camera. By construction, the lasers are at z-coordinate 0.36 mm.

Each kinematic BCAM mount defines its own BCAM coordinate system. We use the three ball positins to define the coordinate system in such a way that any BCAM mounted upon with three balls will sit in the same location and orientation with respect to this coordinate system. The calibration constants, which describe the BCAM camera and locate its sources in BCAM coordinates, apply to the coordinate system of any kinematic mount upon which we mount the BCAM.

Suppose we know where the balls of a BCAM mount are with respect to a global coordinate system. Most likely we measured their positions with a CMM. When we take an image of a BCAM light source with a BCAM mounted upon these balls, we can use the BCAM calibration constants to convert the position of the light spot on the camera's image sensor into a line in the coordinates of the mount, and then use the ball positions to transform this line into the global coordinate system. The BCAM measures the direction of this line with a precision of 5 μrad and an accuracy of 50 μrad. It measures the position of the pivot point, through which the line passes, to an accuracy of 20 μrad.

If our camera is observing a pair of light sources on a calibrated BCAM, then we know the separation of these two light sources in the global coordinate system. If we assume that the two light sources are at the same range, which is the case when two BCAMs face one another head-on, we can use our camera calibration constants and the separation of the light spots on the camera's image sensor to measure the range of the light sources. Our uncertainty in measuring the range of two sources is proportional to the square of their range. As they get farther away, the distance between the light spots decreases, so the error in measuring the position of a single light spot becomes more significant compared to the separation we are trying to measure. Furthermore, the fractional change in separation per unit increase in range is inversely proportional to range. We find that azimuthal BCAMs facing one another will give range measurements precise to 300 μm and accurate to 1 mm when the camera has been calibrated on a roll cage.

Check CCD-Pivot and Pivot.z

Suppose we have calibrated a Black Azimuthal BCAM in the roll cage and we wish to check its pivot.z constant. We place the BCAM on a mounting plate and press the plate against one end of a steel straight edge on a granite table, as shown in Figure 3. We place a Blue Azimuthal BCAM with precisely calibrated sources on another plate facing the black BCAM. Our blue BCAM with precisely calibrated sources was BCAM 20MABNDB000012.

We take an image of the two sources on the blue BCAM. Using the camera's pivot.z and ccd-pivot constants, the known separation of the two light sources, and the known distance between the front edge (the edge closest to the other plate) of each mounting plate and its cone ball, we obtain a BCAM measurement of the separation of the two plates, as seen by the steel ruler. Our objective is to compare this measurement with the actual separation, and so check the accuracy of the pivot.z and ccd-pivot constants.

We make sure that the front edges of both mounting plates lie on a 5-cm boundary on the ruler. Because the pivot.z and ccd-pivot values are close to correct, they allow us to determine automatically which multiple of 5 cm separates the two plates. We obtain our data by moving the blue BCAM plate from one 5-cm boundary to another, in any order. Our only constraint is that both the blue BCAM's light sources must be entirely within the field of view of the black BCAM, and this is true for all ranges greater than 50 cm. If the axis is off-center, then one of the light spots will slip off the image at range 40 cm, but we find that all BCAMs will see the sources at range 50 cm.

You will find our the TCL/TK script of the LWDAQ Tool we used to run the check of pivot.z, and ccd-pivot, and the checks of all other camera calibration constants, here. The script contains the data taking commands, the data analysis, and at the bottom, it contains the sample data we show in this report.

At each source mount position, we calculate the BCAM's measurement of plate separation and the steel ruler's measurement of the same separation. We plot the two against one another. The slope should be unity. The deviation of the slope from unity gives us the fractional error in our ccd-pivot constant. The intercept should be zero. The deviation of the intercept from zero gives us the absolute error in our pivot.z constant. Figure 6 is a plot of the residuals from such a fit.


Figure 6: Residuals from the Fit of BCAM-Measured Plate Separation vs. Ruler-Measured Plate Separation. Ranges and residuals are in millimeters, standard deviation is 0.4 mm.

The intercept of our example data is -2.039 mm and the slope is 0.99972, which corresponds to a pivot.z constant error of -2.039 mm and pivot-ccd constant error of -0.021 mm.

Check Pivot.y and Axis.y

We can check the pivot.y and axis.y constants using the same measurements we obtained in the previous section. We use these constants, our measurement of the camera mounting plate, and our assumption that the granite beam is flat, to obtain a BCAM measurement of the height of the light sources above the granite surface. We already know this height because we have precisely calibrated sources on a measured mounting plate sitting on the granite. We plot the BCAM measurement of light source height against the range of the light sources from the pivot point. In order to consolidate the two light source heights into one, we take the average of their two heights. The intercept of this graph, minus the actual height of the sources, is the error in pivot.y. The slope of the graph is the error in axis.y.


Figure 7: Residuals from the Fit of BCAM-Measured Source Height vs. Ruler-Measured Source Range from Pivot Point. Ranges and residuals are in millimeters, standard deviation is 4 μm.

We should see the shape of the granite beam in the residuals of Figure 7, but what we see at ranges 50 cm to 70 cm is a jump in the BCAM's measurement of source height caused by the appearance of a black circle in the middle of the light spots, as shown in Figure 8.


Figure 8: Light Spots with Black Circles at Range 60 cm. These black circles are caused by interference of coherent light arriving from the lens aperture.

The edges of the black circle are so sharp that they interact with the borders of the image sensor pixels, and give rise to errors of order 1 μm in our measurement of light spot position. We will continue to report data we obtained from ranges 40 cm to 160 cm, but we are resolved not to use ranges less than 70 cm when we calibrate BCAMs on a granite beam.

The slope of the graph we obtained with twenty-three steps from ranges 40 cm to 160 cm was 0.000009, and the intercept was 27.742 mm. These correspond to an axis.y error of 9 μrad and pivot.y error of 28 μm.

Check Pivot.x and Axis.x

We now use the same data, and the assumption that the steel straight edge is straight, and that the camera mounting plate is square, and that the source mounting plate is of exactly its designed width, to check the pivot.x and axis.x calibration constants. We have to assume the edges of the camera plate are square because the coordinate system in which we know the camera mounting balls is defined with respect to the front edge of the plate and the granite surface, not the left edge of the plate. We have to assume the source plate is exactly four inches wide because the same coordinates are defined with respect to the front-left corner, not the front-right corner, and it is the front-right corner of the source plate that we press up against the steel straight edge.

In short: we expect an offset in our pivot.x and axis.x check. But here is the data from a twenty-three step measurement, to show how good our resolution in checking these two constants will be.


Figure 9: Residuals from the Fit of BCAM-Measured Source Offset from Straight Edge vs. Ruler-Measured Source Range from Pivot Point. Ranges and residuals are in millimeters, standard deviation is 11 μm.

At ranges less than 70 cm we have a 10-μm effect from the black circle in the light spots, but at greater ranges, we are seeing the shape of the steel straight edge. The 11-μm residuals are consistent with the straight edge specification of ±25 μm.

The slope of our data is -0.000150, and the intercept is 63.646, which correspond to a pivot.x error of 148 μm and an axis.x error of -150 μrad. But we are, of course, assuming that the camera mounting plate is square. Any deviation from square at the front left edge adds directly to the axis.x error we calculate. We are also assuming the source plate is four inches wide. Any deviation from four inches adds to the pivot.x error we calculate.

Check Rotation

At each range, we measure the difference in height of the two sources on the blue BCAM. We know this difference from our precise calibration of the blue BCAM light sources, so we can deduce the error in the black BCAM camera's rotation constant.


Figure 10: Residuals from the Fit of BCAM-Measured Source Height Difference vs. Ruler-Measured Source Range from Pivot Point. Ranges and residuals are in millimeters, standard deviation is 7 μm.

The actual difference in the source heights is 0.027 mm. The slope of our data is -0.000007, and the intercept is 0.012 mm. But neither of these parameters are of any direct use to us. We might consider the average height difference measured by the BCAM as a basis for our calculation of the rotation constant error. But the rotation measurement should be more accurate at close ranges, because the separation of the light spots is greater. On the other hand, we encounter errors caused by the black circle in the light spot at ranges less than 70 cm. We decided to take the value of the line we fit to our data at the closest range we used in our experiment to be the BCAM's measurment of the height difference. That turns out to be 9 μm at range 450 mm.

The rotation error that would cause a 9-μm error in the relative height of two light sources separated by approximately 16 mm is -0.414 mrad.

Omission of Fastening Screw

To speed up our experiment, we decided not to fasten our cameras to the camera mount, but instead to press them down with a steel weight. We measured the change in calibration constants that took place when we screwed down a camera. Figure 11 gives an example of one such measurement. Over the course of many such measurements, we found that the camera axis tilts upwards by 20 μrad, and the CCD rotates by roughly 50 μrad. In black BCAMs, axis.y increases by 20 μrad and rotation decreases by 50 μrad. In blue BCAMs, axis.y decreases by 20 μrad and rotation increases by 50 μrad.

Resolution

We check the resolution of our granite beam measurement by re-placing the same blue BCAM on the camera plate ten times, and re-positioning the plate afresh each time against the straight edge. We use nine positions of a black BCAM on the source plate, from ranges 70 cm to 150 cm. We avoid nearer ranges to avoid errors caused by the black circle in the light spots. Figure 11 shows our results.


Figure 11: Resolution of Blue BCAM Camera Calibration Check on Granite Beam. Also, the change in measured calibration constant error caused by emitting the mounting screw.

Roll Cage Resolution Checked on the Granite Beam

We now put ten different blue BCAMs on the camera plate one after another, and obtained the data in Figure 12, which we believe indicates the resolution of the roll cage calibration in all constants, and its accuracy in all constants but pivot.x and axis.x.


Figure 12: Resolution of Blue BCAM Camera Calibration by Roll Cage, as Measured by the Granite Beam.

These results suggest that the resolution of the granite beam procedure is several times better than that of the roll cage.

We performed the same test upon the calibration of black BCAM cameras, using a blue BCAM on the source plate. Our results are shown in Figure 13.


Figure 13: Resolution of Black BCAM Camera Calibration by Roll Cage, as Measured by the Granite Beam.

Our results suggest that the roll cage calibration constants almost meet Brandeis's ATLAS requirements, but not quite. But they also suggest that the granite beam is potentially a far more accurate and far simpler way to calibrate a BCAM camera.

You will note that the average pivot.x error calculated by the beam procedure was 113 μm for black BCAMs, and 125 μm for blue BCAMs. This suggests that the average error is due to a property of the source plate. We hope to measure this plate and find that it is 110 μm away from four inches wide (in the correct direction, of course). You will also note that the average axis.x was -155 μrad and -144 μrad. This suggests that the average is a property of the camera plate. We hope to measure the camera plate and find that the angle between its front and left sides is 150 μrad away from ninety degrees (also in the correct direction).

Conclusion

Brandeis University used its granite beam and straight edge to check the calibration constants of its ATLAS BCAMs. It obtained these calibration constants with its roll cage. The granite beam gives quicker and more accurate measurements. It remains to be seen how suitable the granite beam procedure is when calibrating hundreds of cameras. Brandeis has no intention of using the granite beam procedure for anything but checking its roll-cage calibrations.

Brandeis's existing camera calibration constant checking procedure can be extended to determine calibration constants on its own. We are confident that we can extend the camera calibration procedure to include images taken by the source BCAM of the camera, so that we can calibrate both the sources and the camera of a BCAM at the same time. We will provide both the ALICE GMS group and the ALICE Spacer Frame Monitor group with software to run such a procedure. This software will take the form of a TCL/TK script with a graphical user interface that you run from our LWDAQ program (it will be a LWDAQ Tool). The script will store measurements in a simple text-only database file, and will have an accompanying LWDAQ Tool that retrieves measurements from this same databse and calculates calibration constants. If you would like to get a clearer picture of how these two tools will work, you can try the equivalent tools made by Brandeis University for its roll-cage calibration procedures. These tools are available in the Tools menu of the LWDAQ software.

Introduction
Camera Calibration Constants
Check CCD-Pivot and Pivot.z
Check Pivot.y and Axis.y
Check Pivot.x and Axis.x
Check Rotation
Omission of Fastening Screw
Resolution
Roll Cage Resolution Checked on the Granite Beam
Conclusion