Rapid telescope pointing calibration: a quaternion-based solution using low-cost hardware

Abstract. A telescope control system relies on a pointing model to determine the gimbal angles that aim the telescope toward a desired target. High-accuracy telescope pointing models include parameters that describe the mount/telescope orientation as well as common mechanical effects. For professional telescopes, calibrating the pointing model requires careful initial alignment around a nominal orientation (e.g., leveling) followed by sightings of dozens to hundreds of stars to fit the model parameters. While this approach is effective for observatories, applications such as transportable optical ground stations for communications, space situational awareness, or astronomy using low-cost telescope networks can benefit from a more rapid calibration approach. We formulate a quaternion-based pointing model that utilizes measurements from an externally mounted star camera to compromise between calibration speed and accuracy. A key aspect of this formulation is that it is completely agnostic to the orientation of the telescope/mount so that no manual prealignment is required. We derive angle and rate commands for telescope pointing and tracking based on the model. We present results from a 15-min calibration procedure on a very low-cost telescope that demonstrated pointing to an accuracy of 53 arc sec RMS in azimuth and 66 arc sec RMS between 20-deg and 70-deg altitude.


Introduction
High-accuracy telescope pointing and tracking is required for many applications, such as astronomy, space situational awareness, and optical communication. A telescope control system relies on a pointing model to determine the gimbal angles to point toward a desired target. The pointing model is at the core of the "virtual telescope" concept. This concept was proposed in the 1970s by the designers of the Anglo-Australian Telescope, 1,2 and it allows for modular and user-friendly control system software. A "virtual telescope" module behaves as a perfect telescope and the messy transformations and corrections needed to point the physical telescope are contained within it. High-accuracy telescope pointing models include parameters that describe the mount/telescope orientation as well as common static and dynamic mechanical effects.
The block diagram in Fig. 1 summarizes the basic pointing problem. The inputs to the pointing model are the current time, location, target vector in the inertial frame, and the desired target vector in the detector frame. Though the astrometric and detector models that go into producing the target vectors are nontrivial, they are not the focus of this work and we assume that the appropriate target vectors have been calculated. The pointing model consists of a series of rotations that relate the inertial frame to the detector frame, and the gimbal angles appear within these rotations. If a trajectory is desired, gimbal rates can be determined by differentiating the pointing model equations.
There are two mathematically different approaches to developing the pointing model. A simple approach is to determine the gimbal angles for an ideal telescope and then apply small additive corrections to generate the commanded gimbal angles. A more rigorous approach is to pose the full problem in matrix/ vector form and solve these equations for the commanded gimbal angles. 3 The simplified approach is sufficient for small corrections but ignores the coupling between corrective terms.
The original TPOINT developer Wallace 1 proposed a condensed seven-term pointing model. 3 While prior models had many terms, in which each applied a linear correction ½ΔAz; ΔEl to the commanded mount angles, the revised model is based on a more rigorous matrix/vector formulation. Wallace 4 also provided a very simple pointing model that produces linear corrections based on the seven terms. The pointing model for the Massachusetts Institute of Technology (MIT) 37-m diameter Haystack antenna, which predates TPOINT, also used a seventerm model with a slightly different formulation. 5 A six-term model (excluding a term for vertical deflection of the telescope) has been proposed that can be calibrated with star sightings or with an autocollimator and precision calibrated gimbal setup. 6 Professional software such as TPOINT is effective for fixed telescopes in observatories. However, for some applications, faster calibration is desirable, such as portable telescopes for optical communications. 7 Additionally, many low-cost telescopes have incremental rather than absolute encoders. These telescopes require recalibration after every power cycle as the zero position is reset. They commonly have a built-in calibration procedure that requires sighting a few stars, but it is insufficient for applications, where better than several arc min of accuracy is required. Improving the pointing and tracking accuracy of low-cost hardware enables its use for applications in space situational awareness and astronomy. Low-cost hardware is particularly valuable to enable large-telescope networks.
To enable rapid calibration while maintaining high accuracy, we formulate a quaternion-based pointing model that utilizes measurements from an externally mounted star camera. Star cameras are used frequently in spacecraft to determine their orientation. By taking an image of a portion of the sky and comparing the relative positions of observed stars against a catalog of known stars, the observed stars can be identified to provide a unique orientation solution. The solution is typically in the form of a quaternion. Quaternions are a useful representation of orientation that avoids the possibility of a mathematical singularity known as gimbal lock (refer to Appendix for more detail on quaternions).
The calibration builds-off of the work in Ref. 8 and is augmented to include additional pointing model terms that account for gimbal nonperpendicularity and vertical deflection of the telescope. These additional terms improve calibration residuals by 70%, from 150 arc sec root-mean-square (RMS) 8 to 45 arc sec RMS, on the telescope setup described in Sec. 4. A key aspect of our formulation is that it is completely agnostic to the initial orientation of the telescope/mount so that no manual alignment (e.g., leveling) is needed. Even the type of mount (e.g., equatorial) does not need to be specified to the software, as long as it is has two nominally perpendicular gimbal axes. The quaternion-based formulation provides a rigorous approach that enables direct use of star camera measurements.
There are three key benefits of the pointing model formulation presented in this work as compared to existing approaches: (1) the 10-parameter model is tailored for use with a star camera to greatly speed up calibration while maintaining accuracy, (2) the pointing model makes no assumptions about the mount type or orientation, which minimizes manual set up time, and (3) the gimbal angle and rate commands are derived analytically from the pointing model for completeness.
We describe the approach to calibrate the pointing model using a star camera. We present the analytically derived angle and rate commands for telescope pointing and tracking. We present results from a 15-min calibration procedure on a low-cost telescope that demonstrated an accuracy of 85 arc sec RMS on 15 stars between 20-deg to 70-deg altitude. This procedure demonstrates the algorithm's functionality in practice, but the pointing performance depends heavily on the quality of the telescope and hardware. The results are meant to serve as an example but not as a lower or upper bound for algorithm performance.

Pointing Model
In this section, we present the pointing model formulation and how the pointing model can be applied to generate gimbal angle and rate commands. The calibration of the terms in the pointing model is covered in Sec. 3.

Reference Frames
The reference frames relevant to the derivation of the pointing model are defined in this section. They are presented in the order in which they are applied in the pointing model. Azimuth and altitude descriptors are used from this point on, but for other mount types, simply replace them with "roll" and "pitch" or other descriptors.
• J2000 (J2K) frame: The J2000 frame is an Earth-centered inertial frame. The fundamental plane of this frame is the equator, and the X axis points toward the vernal equinox. The Z axis points through the north pole, and the Y axis forms a right-handed set 90 deg east of the X axis. These directions are fixed with the mean equator and equinox at 12:00 Terrestrial Time on January 1, 2000.
• East-north-up (ENU) frame: The east-north-up (ENU) frame provides local horizontal coordinates. It is centered at the telescope site. The X axis is defined as east, the Y axis as north, and the Z axis forms a right-handed set toward zenith.
• Mount (MNT) frame: The Y axis is defined by the azimuth gimbal rotation axis at time t 0 when the telescope is powered on. The Z axis is defined as the cross-product between the altitude and azimuth gimbal axes at time t 0 . The X axis forms a right-handed set.
• Gimbaled (GIM) frame: The gimbaled frame (GIM) is the mount frame (MNT) rotated through gimbal azimuth ψ and altitude α as read by the encoders. Note that a nonperpendicularity between the azimuth and altitude axes of the gimbals is allowed.
• Star camera nominal (ST) frame: The X axis is defined by the horizontal direction in the star camera mounted externally to the telescope. The Y axis is defined by the vertical direction in the star camera mounted externally to the telescope. The Z axis is defined by the star camera boresight, which is assumed to be perpendicular to the focal plane.
• Observed (OBS) frame: This frame is the star camera nominal frame (ST) rotated about a vector defined by the cross-product of zenith and the telescope boresight. This contains the vertical deflection of the telescope due to gravity as well as the effect of atmospheric refraction.

Formulation
Each star camera image yields a quaternion rotation between the J2000 frame and the observed frame (OBS). A star camera measurement at time t is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 1 ; 6 3 ; 5 8 8 where q n is the star camera measurement noise and the notation A q B is used to represent a quaternion rotation from frame B to frame A. The definition of the quaternion multiplier ⊗ and other details on quaternions can be found in Appendix. The rotation from the J2000 to ENU frame, ENU q J2K ðtÞ, can be calculated using the International Earth Rotation and Reference Systems Service model. 9 The other rotations each contain unknown calibration parameters, which will be defined. The rotation from the ENU frame to the MNT frame, MNT q ENU , is unknown and must be estimated fully. The rotation from the MNT frame to the GIM frame is given by a rotation through the known azimuth and altitude gimbal angles, ψðtÞ and αðtÞ, which can be read out from the encoders. A nonperpendicularity between the gimbal axes is accounted for by introducing a rotation angle θ NP in the XY plane of the MNT frame. Overall, the rotation from the MNT frame to the GIM frame is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 2 ; 6 3 ; 3 6 0 GIM q MNT ðtÞ ¼ q NP ⊗ q alt ðtÞ ⊗ q −1 NP ⊗ q azi ðtÞ: The azimuth rotation is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 3 ; 6 3 ; 3 1 7 q azi ðtÞ ¼ Â 0 sinðψðtÞ∕2Þ 0 cosðψðtÞ∕2Þ Ã T : The altitude rotation is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 4 ; 6 3 ; 2 7 3 q alt ðtÞ ¼ The nonperpendicularity between the gimbal axes is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 5 ; 6 3 ; 2 2 9 q NP ¼ Equations (2)-(5) define the rotation from the MNT frame to the GIM frame, which contains one unknown, θ NP .
The next rotation is from the GIM frame to the ST frame, ST q GIM . This unknown is particularly relevant for a telescope with incremental encoders because the zero position of the telescope is arbitrary upon startup. This rotation is unknown and must be estimated fully.
The rotation from the ST frame to the OBS frame is given by a small vertical deflection that describes the sag of the telescope. We introduce an unknown vertical deflection coefficient, a d . Additionally, we introduce the vector v d ðtÞ, which is the axis about which vertical deflection occurs defined in the OBS frame. It is given by the normalized cross-product of zenith and the telescope boresight: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 6 ; 3 2 6 ; where r tel j OBS is the telescope boresight vector as observed in the star camera. This vector is determined by an intercamera alignment procedure described in Sec. 3.1. It contains two degrees of freedom determined by the ðx; yÞ location of boresight on the star camera. The rotation from the ST frame to the OBS frame is described by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 7 ; 3 2 6 ; 6 0 5 In summary, the unknowns that must be estimated are MNT q ENU , θ NP , ST q GIM , and a d . This results in a total of eight unknown parameters, plus two parameters from intercamera alignment, resulting in a total of 10 parameters in the overall model.

Gimbal Angle and Rate Commands
The primary goal of the pointing model is to determine how to provide angle and rate inputs to the mount to look at a desired target, which we derive in this section. Let r pnt j J2K be the unit pointing vector from the telescope to the target in the J2000 frame. This unit pointing vector is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 8 ; 3 2 6 ; 4 1 8 where r targ j J2K is the target in the J2000 frame and r gs j J2K is the ground station in the J2000 frame. The pointing model can be applied to image a target in the primary detector (the detector behind the telescope) as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 9 ; 3 2 6 ; 3 2 7 The gimbal angles appear in both OBSq ST , which determines the vertical deflection of the telescope, and GIMq MNT , which executes the gimbal rotation. A simplifying assumption is made that OBSq ST can be evaluated based on the target azimuth and altitude, which can be determined from r pnt j ENU . This assumption states that the vertical deflection from the undeflected position is approximately the same as the vertical deflection would be at the desired location. Since the deflection should be less than a degree in altitude and deflection is proportional to the cosine of the altitude angle, this is justified.
This assumption allows the problem to be simplified greatly. The gimbal angles only appear in the GIMq MNT transformation, so Eq. (9) can be simplified as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 0 ; 3 2 6 ; 1 3 1 where r pnt j GIM and r pnt j MNT are determined by multiplying the appropriate transformations.
Combining Eqs. (2) and (10) and rearranging yields: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 1 ; 6 3 ; For notational simplicity, let E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 2 ; 6 3 ; 6 9 3 a ¼ Aðq −1 NP Þr tel j GIM (12) and E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 3 ; 6 3 ; 6 4 6 b ¼ r pnt j MNT : Using the definitions from Eqs. by applying the Pythagorean trigonometric substitution for sinðθÞ, rearranging, squaring the equation, and applying the quadratic formula, we arrive at two solutions for cosðθÞ: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 8 ; 3 2 6 ; 7 1 9 Equation (14) is in the form of Eq. (17), so cosðψÞ can be calculated with Eq. (18). This yields four possible solutions for the azimuth angle ψ. Multiplying Eq. (15) with cosðαÞ and subtracting Eq. (16) multiplied by sinðαÞ yields an equation in the form of Eq. (17), which can be solved for cosðαÞ, with u, v, and w given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 9 ; 3 2 6 ; 6 1 1 E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 0 ; 3 2 6 ; 5 E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 1 ; 3 2 6 ; 5 5 8 Equation (21) depends on the azimuth angle ψ, which has four possible solutions. This yields eight possible solutions for cosðαÞ and 16 possible solutions for the altitude angle α. If there are angle restrictions, such as 0 < α < π∕2, they can be applied to reduce the solution set. The correct solution for the gimbal angles can be determined by testing each solution against Eq. (11).
By differentiating Eqs. (14)-(16), the desired gimbal rates can be determined to track a target. This applies to both celestial objects and noncelestial objects such as satellites. It is assumed that _ r pnt j MNT has been calculated by taking into account the motion of the target and Earth rotation. The rate of change of the target in the primary detector can be specified in calculating _ r tel j GIM . Setting _ r tel j GIM ¼ 0 will maintain the target in a fixed location in the primary detector (assuming a nonrotating field). The equations resulting from this differentiation are as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 2 ; 6 3 ; 3 3 2 E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 3 ; 6 3 ; 3 0 6 E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 4 ; 6 3 ; 2 4 3 Multiplying Eq. (23) by cosðαÞ and subtracting Eq. (24) multiplied by sinðαÞ yields a solution for the altitude gimbal rate: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 6 ; 6 3 ; 9 3 Using Eqs. (25) and (26), the mount can be commanded to follow a target trajectory.

Calibration with Star Camera
This section covers the three steps that are required to calibrate the parameters of the pointing model. These steps consist of an intercamera alignment procedure, a coarse calibration parameter fit, and a fine calibration parameter fit.

Intercamera Alignment
The purpose of the intercamera alignment procedures is to identify the location of the telescope boresight in the star camera. This allows calibration with the star camera to be used to guide a signal through the primary aperture. A distant source (e.g., a bright terrestrial light or a star) is centered in the primary detector and also captured with the star camera. The centroid of the target in the star camera provides a unit vector in the ST frame, r tel j OBS , which represents the boresight of the telescope.

Coarse Calibration
Coarse calibration provides an initial state estimate for fine calibration. It utilizes a series of star camera measurements as modeled in Eq. (1). For coarse calibration, several assumptions are made. Measurement noise is ignored, vertical deflection is ignored (i.e., the deflection coefficient a d is assumed to be zero), and the rotation axis nonperpendicularity θ NP is assumed to be zero, such that GIM q MNT ðtÞ is known from the encoder output. Under these assumptions, the remaining unknowns in Eq. (1) are ST q GIM and MNT q ENU , which must be estimated.
The i'th star camera measurement in the form of OBS q J2K;i is multiplied by known transformations into the form ST q ENU;i . Given an i'th and j'th measurement, they can be used to estimate ST q GIM with the following: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 7 ; 6 3 ; 3 6 8 Using the quaternion property in Eq. (51), Eq. (27) can be written as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 8 ; 6 3 ; 2 9 5 By pairing star camera measurements to calculate the quaternions in Eq. (28), the problem transforms into one of attitude determination given a set of vector measurements. A method of determining attitude from vector measurements such as QUEST 10 can then be applied to estimate ST q GIM .
Similarly, MNT q ENU can be estimated from E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 2 9 ; 6 3 ; 1 6 4 These coarse estimates of ST q GIM and MNT q ENU are used to proceed to fine calibration.

Fine Calibration
Fine calibration uses a least squares approach with the initial state supplied by coarse calibration. There are eight unknown parameters to be estimated. The error state is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 3 0 ; 3 2 6 ; 7 0 1 The vector portion of the error quaternion of the star camera measurements from Eq. (1) can be approximated to first order as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 3 1 ; 3 2 6 ; 6 3 7 In Eq. (31), ST δQ GIM and MNT δQ ENU are components of the state, but OBS δQ ST;i and GIM δQ MNT;i must be related back to the state components.
Equations (2) The vector portion of the error quaternion from Eq. (32) can be approximated to first order as follows: Finally, δq NP must be related to δθ NP from the state. To first order, the vector portion of δq NP can be approximated as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 3 4 ; 3 2 6 ; 3 5 8 Combining this result with Eq. (33) yields the overall approximation: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 3 5 ; 3 2 6 ; 3 0 5 GIM δQ MNT;i Returning to Eq. (31), OBS δQ ST;i must be related to the state components. Equations (6) and (7) describe the rotation from the ST to the OBS. The error quaternion from the star camera to the OBS at the i'th measurement is as follows: with partial derivatives given by Multiple measurements can be combined into an iterative nonlinear least squares process. For n measurements, the measurement errors are related to state errors as follows:  where k is the iteration number and the covariance of ω is a diagonal matrix R which corresponds with the measurement noise covariance. Using iterative least squares, the state update is given by The quaternions STq GIM and MNTq ENU are updated with a quaternion product and the state componentsθ NP andâ d are updated additively. Iterations continue until the estimate converges on a solution.

Results
This section covers results from testing the pointing model and calibration approach developed in Secs. 2 and 3 on a very lowcost telescope. Pointing performance is strongly dependent on hardware, so these results are meant to be taken as an example application rather than as a lower or upper bound on performance. Figure 2 shows the steps that take the telescope from a state of storage to ready-to-track in less than 30 min.

Setup
We tested the calibration algorithm on the Portable Telescope for Lasercom, 7 as shown in Fig. 3. The hardware consists of a telescope with an externally mounted star camera and a camera Fig. 2 Block diagram showing the steps from telescope deployment to ready-to-track. Manual steps are shown in blue and automated steps are shown in green. The calibration steps take ∼15 min plus an additional 10 min to set up a low-cost telescope. The telescope is ready-to-track in less than 30 min. behind the telescope. The telescope is a Celestron CPC1100, a popular hobbyist telescope with an 11" (28 cm) aperture and an altazimuth mount. The star camera mounted to the telescope is a low-cost iNova PLB-Mx2 CMOS camera. A 35-mm focal length lens with a 25-mm aperture is paired with the camera, resulting in a field-of-view (FoV) of 7.8 deg × 5.9 deg and a plate scale of 22 arc sec ∕pixel. The camera behind the telescope is a Sensors Unlimited Micro SWIR 320CSX. It is an InGaAs camera with an 4.0 × 3.2 mm 2 active area. Coupled with the telescope, the full FoV of the detector is 591 × 473 arc sec 2 and the plate scale is 0.92 arc sec ∕pixel. The telescope, star camera, and back-end camera are controlled from a Dell Precision M4800 laptop. A graphical user interface developed in Visual Studio is used to control the session, and the software is implemented in a combination of C, C++, and C#. During setup, no effort is put toward leveling the telescope or setting the start position, as these parameters are determined in software.

Calibration Results
The results presented in this section were acquired on February 14, 2018, between the hours of 23:48 to 23:59 UTC from the roof of an MIT building, as shown in Fig. 3. The calibration procedure took a total of 11 min. To calibrate the pointing model, 24 star camera images were taken at points equidistributed across the sky above 20-deg altitude. Figure 4 shows the locations of the calibration points on a 2-D projection of the sky. Images were taken with 300-ms exposure and star identification (ID) was performed on each image using a correlationbased pattern matching algorithm developed by Yoon et al. 11,12 An image is excluded from the calibration set if fewer than six stars are identified or if the ID score, as described in Ref. 12, is below a threshold of 30, determined empirically. Table 1 summarizes the results of the star camera images. The azimuth and altitude from the telescope encoders are listed, followed by the number of stars identified and the star ID RMS residual. Once the stars are identified, their vector is known in the J2000 frame from a star catalog. The vectors in the star camera frame are determined from the image, and QUEST 10 is used to estimate a rotation between the two frames. Using this estimate, the predicted vectors in the star camera are compared to the measured star vectors to calculate the residuals. The RMS of the residuals provides a metric to assess the accuracy of each image measurement, which ranges from 2 to 8 arc sec within this dataset.  Fig. 4 The 24 calibration points projected on a bird's-eye view of a unit hemisphere. The calibration points are calculated to be approximately equidistributed above 20-deg altitude. The points are numbered in the order in which they are executed. The final two columns of Table 1 show the azimuth and altitude residuals of each image within the overall pointing model following the approach described in Sec. 3. Three images (#7, #9, and #11) are excluded from the pointing model calibration due to low star ID scores. Image #8 appears to be an outlier, but it has a strong identification score and it is more likely that the calibration is skewed slightly by the exclusion of images #7 and #9 near it (see Fig. 4). The accuracy of the overall calibration was 27 arc sec RMS in azimuth and 37 arc sec RMS in altitude.
Residuals from the 21 images included from calibration are shown in Fig. 5. A trend can be seen between altitude and rotation about the star camera Z-axis (rotation around boresight), but otherwise the residuals do not contain any clear trends. Rotation of the star camera about the Z-axis only has a small coupling to the telescope line-of-sight (if the star camera and telescope were coaligned perfectly, there would be no coupling), so residuals in the Z-axis are of less importance than the other axes.
The pointing model parameters determined from the calibration are summarized in Table 2. The parameters indicate that the initial telescope setup was imperfect: the starting altitude was −1.24 deg and the mount was misleveled by 1.06 deg. These errors can be conveniently identified and corrected in software rather than manually.
The vertical deflection coefficient is negative, indicating that the telescope tends to pitch up when it is near the horizon. This is likely due to a mass imbalance caused by instrumentation on the back of the telescope, which exacerbates an imbalance already observed with no instrumentation. A counterbalancing weight has been added to the front of the telescope but this approach is imprecise. The calibration also shows that there is a nonperpendicularity of 0.19 deg between the gimbal axes. While a single calibration set is presented here, the calibration procedure has been conducted with this telescope 14 times with similar results and stable estimates for the nonperpendicularity.

Star Pointing Results
To test the accuracy of the calibration procedure, 15 bright stars were measured through the main aperture between 00:14 and 00:42 UTC on the same night. Table 3 lists the pointing accuracy for these stars based on their location in the primary detector behind the telescope. The telescope tracked the stars at sidereal rate for each measurement. We consider pointing accuracy rather than tracking accuracy because the observations were less than a minute each. The accuracy was 53 arc sec RMS in azimuth and 66 arc sec RMS in altitude. As expected, these errors are worse than the 27 arc sec RMS and 37 arc sec RMS   error of the calibration procedure. A penalty is paid for calibrating with the star camera rather than the primary aperture. In Fig. 6, the errors for each star are plotted against the ENU azimuth and altitude of the observation. A linear trend can be seen between the altitude error and the ENU azimuth. This could indicate a small error in fitting the calibration parameters. There could also be a shift in the mount orientation over time due to the fact that it is not rigidly mounted on a concrete pier, for example. The pointing accuracy is good for this class of telescope, and the primary benefit of this approach is rapid setup that avoids manual prealignment. In comparison, the built-in calibration procedure for the CPC1100 tested on a different night with careful manual deployment yielded accuracies from 100 to 900 arc sec for each star.
While using a star camera allows for fast calibration, there are disadvantages to not using the primary aperture. Any misalignment between the star camera and telescope boresight as a function of attitude is ignored in our procedure. For very precise pointing, this will limit the performance. If additional precision is desired, a combination of star camera measurements and measurements from the camera behind the telescope can be used to fit the pointing model. This will increase the time required to calibrate for each additional measurement, but it still retains the benefit of eliminating assumptions about nominal orientation.

Conclusion
In telescope pointing calibration, there is a tradeoff between speed and accuracy. Most pointing models also make assumptions about the nominal orientation of the telescope, which requires manual correction and recalibration if the telescope is too far off of nominal. To enable rapid calibration while maintaining high accuracy, we presented a quaternion-based pointing model tailored for use with a star camera. The calibration approach is completely agnostic to the initial orientation of the telescope/mount so that no manual alignment (e.g., leveling) is needed and even the type of telescope (e.g., altazimuth or equatorial) does not need to be specified. The gimbal angle and rate commands to track a target were derived analytically from the pointing model.
The calibration procedure was tested using a very low-cost telescope. Pointing model parameters were fit from a series of star camera images taken during the 15-min calibration procedure. Results of the calibration were presented, indicating that there were multiple "errors" in the deployment of the telescope: the mount was misleveled by 1.06 deg, had a zeroaltitude position 1.24 deg below the horizon, and the gimbal axes showed a 0.19 deg nonperpendicularity. These errors were compensated for in software and the pointing model accuracy was tested by pointing at 15 stars across the sky. The overall star pointing accuracy was 53 arc sec RMS in azimuth and 66 arc sec RMS in altitude. The results support the utility of the calibration approach developed in this work that compromises between speed and accuracy, particularly for lowcost telescopes.

Appendix: Quaternion Conventions
This appendix defines the quaternion conventions, notation, and relevant equations used in the pointing model derivation. Reference 13 provides additional detail on quaternions.
Any rigid-body rotation in three-dimensional space can be represented by a single rotation of angle θ about a fixed axis v known as the Euler axis. A quaternion can be defined from these terms as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 4 7 ; 3 2 6 ; 3 7 6 q ¼ sinðθ∕2Þv cosðθ∕2Þ ! : The vector and scalar components of a quaternion q are represented as follows: E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 4 8 ; 3 2 6 ; 3 0 8 with the vector component Q appearing before the scalar component q.
With this convention, multiplication of quaternion p by quaternion q is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 4 9 ; 3 2 6 ; 2 1 7 The notation used for the direction cosine matrix corresponding to a quaternion is AðqÞ, which can be calculated by