It determines the satellite's position relative to Earth based on a picture of the Earth's horizon
Lens distortion and small errors in focal length can shift where things land in the image, which throws off the position prediction
SCOPE aims to recalibrate these camera parameters from star images so FOUND can correct for them
Why calibrate in orbit?
A camera can be calibrated on the ground, but launch vibrations and temperature changes in space shift it
One pixel of our camera covers 119″, about 1.5 km at the horizon from 500 km up
NASA calibrates the Orion capsule's navigation camera on star fields in flight
SCOPE follows the same approach, from Christian et al. (2016)
The lens: Edmund Optics 6 mm f/4
64° × 49° field of view on a 2064 × 1544 sensor, 119″ per pixel
−6.8% barrel distortion at the edge of the image
SCOPE models it with the Brown–Conrady model: three radial terms and two tangential terms
Pipeline
Star images
→
Dark frame
→
Centroiding
→
Fit
→
Calibration
→
FOUND
Input: star images, dark frames, an attitude for each image, and a star catalog (currently Yale Bright Star Catalog)
Camera model: pinhole projection with Brown–Conrady distortion
Output: the 10 camera parameters, intrinsics (focal lengths, skew, principal point) and 5 distortion terms, with 1σ uncertainties from the covariance, plus refined attitudes for every image
Written in C++17
Stage 1: dark frame
Hot pixels or noise in the sensor can look like faint stars or affect the detection of actual stars
We take the per-pixel median of many different frames, which rejects stars if they show up
That median is the dark frame, and subtracting it from each image removes the noise
Stage 2: centroiding
SCOPE predicts each catalog star's pixel using the prior camera parameters and searches a 31 × 31 px area around it
The centroid is the brightness-weighted mean of the bright pixels near the peak
The lens is slightly defocused so stars cover a few pixels instead of one, which lets the centroid reach sub-pixel accuracy
Stage 3: least-squares fit
The fit solves for the 10 camera parameters plus an attitude correction for each image
It minimizes the pixel residuals with Levenberg–Marquardt, a nonlinear least-squares method
Outliers beyond 4σ are rejected, and the averaged attitude corrections give the camera's alignment to the star tracker
Levenberg–Marquardt
Shown with two parameters, focal length and k₁, so the cost surface can be drawn
Each step is a Gauss–Newton step with damping λ, which shrinks after good steps and grows after bad ones
The long valley means focal length and k₁ partly cancel each other
Validation
0.13px
SCOPE, held-out residual on simulated images
0.18px
Orion paper, real camera (about 5″)
11%
Largest gap from the paper's own simulation results (Table 1)
Tested on synthetic images rendered from a known camera
Held-out residual: fit on 15 images, then predict star positions in 15 new ones
The paper comparison reruns its 1000-run Monte Carlo (Table 1) on the paper's camera