Alignment Procedure
Here we describe the procedure for aligning the Simons Observatory (SO) Large Aperture Telescope (LAT) using this software package to process photogrammetry data taken using a Geodetic Systems' V-Stars system.
With minor modifications these instructions and the software package could be generalized to other forms of measurements (ie: a laser tracker). Generalizing to other telescopes is possible but more involved. If you are interested in applying this software to other measurements or other telescopes please raise a GitHub issue for help with that.
Before attempting and alignment it is useful to familiarize yourself with this relevant coordinate systems, the panel numbering scheme, and the package's configuration file.
Reference Points
Something that is key for both alignment stages is the use of reference points
around the edges of the mirror and on the receiver.
These are used to provide an initial transformation from the arbitrary coordinates
that the photogrammetry measurements are in to a known coordinate system.
These reference points should be places in locations that do not move when panels are
installed (ie: around the edge of the mirror's back-up structure.
In order to identify these points known coded targets should be placed near the reference points.
Currently the locations of these points (in the "Vertex Global" coordinates) along with nearby
coded targets are can be found in the reference.yaml
data file.
Panel Alignment
When aligning panels the code takes the following steps:
- Use reference points to put the measurements in a know coordinate system
- Transform to the mirror's internal coordinates in the "Optical" coordinate system.
- Remove measurements with high error
- Find and remove spurious measurements (sometimes the photogrammetry software will accidently find the same target multiple times, only one of those locations is typically of good quality).
- Fit the surface against the model in multiple iterations (10 by default). Each iteration we remove the common mode transform that all panels see when fit against the model. We also remove points that are far enough from the surface (after removing the common mode) that they seem to be outliers or measurements not of the mirror surface.
- For each panel fit a transformation that describes how that panel deviates from the model.
- Use the per panel transformations to estimate how each adjuster is, if we have a measurement sufficiently close to the surface above and adjuster is to used to compute a correction on top of the fit model.
- Fit for how each adjuster must be moved to correct for the errors in each panel's location and shape. When we do this we model turning each adjuster as a rotation about the axis created by the adjacent adjusters. For small adjustments this is approximately the same as treating the adjusters as independent and simply moving them by their residuals. For large adjustments this is needed to correctly account for the interplay between adjusters.
Warning
Note that due to the common mode removal in step 5 above, the overall position of the mirror is not gaurunteed to be correct, only the shape of the surface. However this step is needed in order to account for errors in the locations of the reference point and cannot be skipped. The optical element alignment is needed after panel alignment to account for this an ensure that the mirrors and the receiver are in the correct location relative to each other.
Inputs
There are only two required inputs to do the panel alignment.
The first is a configuration file with the mode
field set to panel
,
see here
for an example.
The second is a photogrammetry measurement of the mirror we want to align panels for. This measurement should only include measurements of one mirror and should have good measurements of at least four reference points.
Outputs
The software produces two outputs: a plot of the mirror surface residuals and a csv
file with the desired adjustments.
The RMS in the title of the plot is the RMS of the residuals between the mirror model and the photogrammetry measurements. Each circle on the upper plot represents a point measured by photogrammetry and the grid shows the panel locations. Additionally there are three layers of colors overlayed on the plot. The colors within each circle show the residual at each measurement point, these colors can be interpreted using the colorbar. The low alpha background shows the residuals interpolated across the whole mirror, this is to show large scale trends but due to the low alpha should not be directly interpreted using the colorbar. The contour withing each panel shows the residuals interpolated between any points measured for that specific panel and show the errors in the shape of each panel as currently aligned, these colors can be interpreted using the color bar. The histogram below the surface plot shows the distribution of residuals for this measurement, if we have aligned to the white noise limit of the measurement then we expect this to look like a gaussian centered on 0.
The csv
file contains the adjustments (and their associated uncertainties) for each panel
in the measurement. Each row follows the format of the output of
alignement.adjust_panel
.
Optical Element Alignment
WIP! Check back later!