Research Papers

# Small-angle rotation method for star tracker orientation

[+] Author Affiliations
Ivan Kruzhilov

Moscow Power Engineering Institute, Krasnokasarmennaya-19-30, Moscow 111116, Russia

J. Appl. Remote Sens. 7(1), 073479 (Nov 19, 2013). doi:10.1117/1.JRS.7.073479
History: Received March 27, 2013; Revised September 18, 2013; Accepted October 9, 2013
Text Size: A A A

## Abstract

Abstract.  The Wahba problem is the task of constrained optimization seeking the matrix from SO(3), which maximally converges (based on the least squares criterion) two sequences of unit vectors. The solution of this task is vital for satellite attitude determination using star trackers. An iterative method for solving the Wahba problem is proposed. Each iteration of the proposed method is reduced to sequential rotation of the vectors and solving the system of linear algebraic equations. Usage of the method implies that the corresponding vectors of both sequences are located sufficiently close to each other. Two variants of the method are proposed, having linear and quadratic convergence. The Wahba problem solution is interpreted in terms of finding the angular velocity of a system of material points, which have certain angular momentum. Taking into consideration the characteristics of state-of-the-art star trackers, one to two iterations are sufficient for finding the optimal solution using the small-angle rotation method. The primary advantage of the proposed method as compared with classical methods based on calculation of eigenvectors and singular decomposition is the simplicity of its implementation.

## Introduction

Let us assume that matrix $R$ belongs to a special rotation group: Display Formula

$R∈SO(3)⇔R∈R3×3: RTR=I,det(R)=1,$(1)
where $I$ is a unit matrix with dimension 3. Let us assume that there are two sequences of unit vectors $v$ and $w$ in three-dimensional (3-D) space Display Formula
$vi∈R3иwi∈R3: |vi|=1,|wi|=1,$(2)
where $i=1,…,n$, and $n$ is the number of vectors in the sequence.

We shall denote the function (3) as loss function Display Formula

$L(R)=12∑i=1nki|wi−Rvi|2,$(3)
where $ki$ are weight coefficients, such that $∑i=1nki=1$.

The norm of vector $x$ hereinafter is understood to be the Euclidean norm Display Formula

$|x|=xTx.$(4)

It is necessary to find the matrix $Ropt$ from SO(3) which minimizes the loss function Display Formula

$Ropt: L(Ropt)=MinR∈SO(3)L(R).$(5)

This task is called the Wahba problem in honor of Grace Wahba, who has first posed it in 1. The geometrical meaning of the formulated task is as follows: finding such a rotation in 3-D space, which will maximally bring together the two systems of vectors.

The Wahba problem has important applied significance because its solution is necessary in stellar orientation systems for satellite attitude determination. Stellar orientation systems are intended for determination of satellite attitude in the inertial (geocentric) reference system, and presently they are the most precise among existing2 satellite orientation systems.

General functional diagram of a star tracker is shown in Fig. 1. Light from stars is passing through the optical path of the device and is projected on a photodetector. Using special algorithms,3,4 stars are segregated on the background of photodetector noise and optical distortions, and their directional cosines are determined in the star tracker reference system.

F1 :

Functional diagram of a star tracker. 1—stellar sky, 2—optical system, 3—electronic module with photodetector array, 4—computing module, and 5—star tracker.

If vectors $w$ are interpreted as the directional cosines of stars in the inertial geocentric stellar coordinate system and vectors $v$ are interpreted as the directional cosines of the same stars but in the star tracker reference system, then matrix $Ropt$ obtained as the result of solving task (5) will determine the attitude of the satellite with reference to the Earth (if the universal time is known). Therefore, hereinafter we shall name $Ropt$ as optimal orientation matrix. Coefficients $ki$ are chosen depending on the accuracy of determination of star coordinates on the photosensitive matrix, which is usually proportional to the star energy.

The values of vectors $v$ are known not accurately because of star orientation instrument errors in the course of determining star positions. Such errors are caused by optical perversions (lens distortion and aberration), noise, and discrete structure of photosensitive matrix. The values of vectors $w$ are also determined with errors due to inaccuracy of existing star catalogues.

Let $vtrue$ and $wtrue$ be the true (without introduced error) directional cosines of stars in the inertial reference system and the star tracker reference system, and let $Rtrue$ be the matrix determining the rotation, which aligns vectors $vtrue$ and $wtrue$Display Formula

$witrue=Rtruevitrue.$(6)

It is possible to consider that vectors $v$ and $w$ are Display Formula

$vi=vitrue+εivwi=witrue+εiw,$(7)
where $εivиεiw∼N(0,σ)$. If $|εv|$ and $|εw|$ are small, then it holds that $Ropt≈Rtrue$. In practice, the error of star determination by instrument is substantially larger than the star catalogue error, $|εv|≫|εw|$.

There are two approaches to solve Wahba problem (5): direct minimization of loss function and exact analytical solution. Since the first formulation of the Wahba problem, numerous methods for its analytical solution have been proposed.5 Many of these methods seem quite simple, but actual computations come up against complications, e.g., finding the square root from an ill-conditioned matrix.

On the other hand, not much attention in the literature has been devoted to the possibility of direct minimization of the function $L(R)$. The reason is that the application of minimization methods requires the existence of sufficiently close initial approximation and calculation of function $L(R)$ values at every step. The laboriousness of calculating the values of function $L(R)$ grows with increase of the number of vectors $n$.

When solving the Wahba problem in connection with the task of a satellite attitude control, it is necessary to take into consideration the special features of the application domain and the resultant constraints on the character of input data. Usage of these constraints allows the creation of more efficient methods for solving the Wahba problem as compared with the generalized problem formulation. Two such constraints on the values of input data should be noted.

First, the number $n$ of stars for determining orientation usually is not over 50 because of optical characteristics of star trackers and distribution of stars over the celestial sphere. Actually, not all the stars are used for recognition, but only 10 to 15 of the brightest stars, because their coordinates have the highest accuracy.

Second, when considering the solution of the Wahba problem in connection with the task of satellite attitude control, one should take into account the fact that the errors of vectors $v$ and $w$ are small as compared with the minimal distance between two arbitrary vectors of the sequence. Display Formula

$arcos(vivj)≫|εiv|≫|εiw|arcos(wiwj)≫|εiv|≫|εiw| ∀ i=1,…,nj=1,…,n,i≠j.$(8)

Inequalities in Eq. (8) are fulfilled since star catalogues are compiled providing a condition that a distance between the nearest stars by a few times exceeds permissible error $εiv$. If the star position error significantly exceeds the possible one (due to proton influence, pixel defects, etc.), then such stars will not be detected by identification algorithm, since they are rejected according to the criterion of mutual angular distances.

Provided that Eq. (8) is fulfilled, it is possible to calculate easily and with sufficient accuracy the initial approximation for the matrix $R0≈Ropt$ using the triangle attitude determination (TRIAD) method.6,7 Using the initial approximation $R0$, it is possible to rotate vectors $v$ so that they are sufficiently close to vectors $w$: Display Formula

$v˜i=R0vi.$(9)

The result from this is that Display Formula

$arcos(wiv˜i)≈|εiv|.$(10)

Hence, when solving the Wahba problem for the task of satellite orientation, it may be assumed that Eq. (10) applies.

## Review of Methods for Solution of the Wahba Problem

A short but recent review of methods for solving the Wahba problem is given in 8. An earlier but detailed analysis of methods for solving the Wahba problem was made by Markley and Mortari in 5. The basic results related to this problem were obtained in 1980s and 1990s;913 however, due to rapid progress in space instruments development, in particular, in star sensors, this topic is still actively discussed during the last decade.57,1421

The majority of classic methods for solution of the Wahba problem are based on the usage of matrix $B$ (sometimes called the attitude profile matrix6), which is formed on the basis of vectors $v$ and $w$: Display Formula

$B=Σi=1nkiwiviT.$(11)

One of the first analytical solutions of the Wahba problem has been proposed by Farrell and Stuelpnagel,22 who have shown that $Ropt$ coincides with orthogonal matrix $W$ of polar decomposition $B=WS$, where $S$ is a symmetrical matrix.

According to Farrell, matrix $W$ may be expressed using matrix $B$ as Display Formula

$∥Ropt−B∥F=minA∈SO(3)∥A−B∥F,$(12)
where $‖A‖F=tr(ATA)$ is the Frobenius norm.

According to 22, the $W$ matrix may be expressed through the $B$ matrix as Display Formula

$Ropt=W=B(BTB)−0.5.$(13)

Though Eq. (13) appears quite simple, its practical application is connected with considerable difficulties. During solution of the task of satellite orientation, the vectors of sequence $v$ corresponding to the directional vectors of the stars are located sufficiently close to each other (usually within the cone of 10 angular degrees or smaller), due to the size of the star tracker’s field of view (FOV). For this reason, matrix $BTB$ is often an ill-conditioned matrix, and the process of computing its square root, for instance, with the Denman-Beaver iteration23 is either diverging or has large error.

Matrix $W$ of polar decomposition may be expressed in terms of singular value decomposition (SVD) of matrix Display Formula

$B=UDVT$(14)
as Display Formula
$W=UVT.$(15)

Equation (14) is the basis of the method proposed by Markley.11 The fast optimal attitude matrix (FOAM) and slower optimal matrix algorithm (SOMA) methods by Markley10 are also based on the idea of SVD of matrix $B$, which in the mentioned methods is reduced to solving the system of nonlinear algebraic equations. According to the computational experiments performed by Markley,10 determination of the optimal orientation matrix using the SVD method has higher accuracy than the FOAM and the SOMA methods; however, the latter two methods are faster.

The most popular group of methods for solving Wahba problem are the methods (usually called q-method or Davenport method) calculating the quaternion of the respective orientation matrix $Ropt$, as the eigenvector corresponding to maximal eigenvalue $λmax$ of matrix $K$: Display Formula

$K=(S−sIbbTs),$(16)
where Display Formula
$s=Tr(B),$(17)
Display Formula
$S=B+BT,$(18)
Display Formula
$b=∑i=1nki[wi,vi].$(19)

Vector $b$ may also be expressed using components of matrix $B$Display Formula

$b=[B23−B32B31−B13B12−B21].$(20)

Matrix $K$ is a symmetrical matrix; therefore, efficient algorithms exist for calculation of eigenvectors of the matrix, e.g., Jacobi method or the methods based on QR decomposition with preliminary reduction to tridiagonal form.24 However, implementation and debugging of such algorithms may be quite labor consuming, considering that coding often has to be performed using low-level programming languages or erasable programmable logic device (EPLD). It is necessary to keep in mind that the specified task has to be solved in real time. Besides, the capacity of spaceborne processors is significantly constrained. Therefore, despite small dimension of matrix $K$, calculation of its eigenvectors may be laborious.

To avoid straightforward calculation of eigenvectors of matrix $K$, Shuster and Oh9 have proposed the quaternion estimator (QUEST) algorithm, which gives an explicit formula for finding the eigenvector corresponding to the maximal eigenvalue $λmax$, provided that this value is known. The maximal eigenvalue is searched for as the root of a nonlinear algebraic equation, which the authors propose to solve using Newton-Raphson method. However, such method of finding eigenvalues is the least stable method, therefore, direct search of eigenvectors of matrix $K$ gives more accurate results.

Other important results obtained by Schuster are as follows: he was the first to consider the problem from the statistical point of view and has shown that the loss function as a random value is distributed by chi-square distribution law with $2n−3$ degrees of freedom: Display Formula

$L(Ropt)∼χ2(2n−3).$(21)

Schuster also has shown that the covariance matrix $P$ of rotational angle error equals to: Display Formula

$P=(I−B)−1.$(22)

Attitude angle errors are the values $ϕ=(ϕ1,ϕ2,ϕ3)$, such that Display Formula

$Ropt=exp(−[ϕ×])Rtrue,$(23)
where $[ϕ×]$ is a skew-symmetric matrix determined by elements of vector $ϕ$.

Markley11 has shown that in case of a large number of observations, the following approximate estimate of the covariance matrix will be valid Display Formula

$P=σ02ζ(κI+BBT),$(24)
where $κ=(1/2)(λ2−B2)$, $ζ=κλ−det(B)$, and $λ=tr(RoptBT)$.

The results obtained by Schuster and Markley show that the presented estimates of the Wahba problem are consistent. However, the issue of unbiasedness of the proposed estimates remains open. In order to determine what is the unbiased estimate for SO(3), at first it is necessary to clarify the concepts of mathematical expectation and the average value for the elements of this manifold. Two approaches for determination of the concept of average value for the rotation group—Euclidean and Riemannian—are given, for example, in Refs. 25 and 26.

The approaches to solve the Wahba problem that are closest to the approach proposed in this work were presented by Park and Kim,27 Mortari et al.,28 and Mortari.13 Authors of 27 were solving the task of constrained minimization similar to Wahba problem for position fixing using global positioning system. The methodology proposed by them is using the exponential relation between Lie group SO(3) and Lie algebra $so(3)$ for determining the gradient of the loss function and for sequential search of its minimum using Newton’s method and steepest descent method.

The “energy approach algorithm”13 proposed by Mortari has a common feature with the proposed, in this article, small-angle rotation (SAR) method: based on the closeness of vectors $v$ and $w$, it substitutes the loss function by an approximate function—an energy function. Despite the similarity of the basic approach, the energy approach algorithm is principally different from the SAR because it is based on a computation of eigenvalues or SVD, while the SAR algorithm is based on solving the system of algebraic equations.

## SAR Method for Wahba Problem Solution

###### Basic Definitions

Let $so(3)$ be the set of skew-symmetric matrices Display Formula

$so(3)={A∈R3×3: A+AT=0}.$(25)

The exponent of a square matrix $A$ is the square matrix equaling the sum of infinite series Display Formula

$exp(A)=∑k=0∞Akk!.$(26)

The properties of the matrix exponent are verified easily Display Formula

$exp(AT)=exp(A)T,$(27)
Display Formula
$exp(A)exp(−A)=I,$(28)
Display Formula
$det[exp(A)]>0.$(29)

In that case, if matrix $M∈so(3)$, then according to Eqs. (27) and (28) Display Formula

$exp(M)Texp(M)=exp(−M)exp(M)=I.$(30)

Taking into consideration Eq. (29), this means that $exp(M)∈SO(3)$. That is, the exponent of a skew-symmetric matrix is a rotation matrix Display Formula

$∀ M∈so(3)⇒exp(M)∈SO(3).$(31)

This remarkable fact has deep connection with the theory of Lie groups and algebra.29

For vector $x=(x1,x2,x3)$, we shall denote, hereinafter, as $[x×]$ the skew-symmetric matrix: Display Formula

$[x×]=(0x3−x2−x30x1x2−x10).$(32)

Let $[a,b]$ be the operation of cross product, then the following relations hold true Display Formula

$[a,b]=[a×]b=−[b×]a.$(33)

###### SAR Algorithm of the First Order (Angular Momentum Method)

Let us assume that a system of vectors $v$ and $w$ exists, satisfying condition (10) specified in Sec. 1. As already mentioned in Sec. 1, after determining the approximate attitude using TRIAD method,6,7 using transformations (9), it is possible to achieve the fulfillment of condition (10).

Let $ω=(ω1,ω2,ω3)$ be the rotation vector of the coordinate system. Then by reason of expression (31), it is possible to replace $L(R)=L[exp(ω)]=L(ω)$, and in this case, the function $L$ may be represented in the form Display Formula

$L(ω)=∑i=1nki|wi−exp([ω×])vi|2.$(34)

As mentioned in Sec. 1, the rotation angle $ωopt$Display Formula

$ωopt: Ropt=exp([ωopt×])$(35)
is small. Therefore, it is possible to limit the expansion into series (26) by the first several terms. Display Formula
$L(ω)≈f1(ω)=0.5∑i=1nki|wi−(I+[ω×])vi|2;$(36)
in this case Display Formula
$f1(ω)=const+∑i=1nki(−wiT[ω×]vi+0.5viT[ω×]2vi).$(37)

Taking into account Eq. (33) Display Formula

$f1(ω)=const+∑i=1nki([wi,vi]Tω+0.5ωT[v×]2ω),$(38)
where const means a constant independent from $ω$. Thus, the task of constrained minimization of the loss function $L(ω)$ may be reduced to the task of unconstrained minimization of the quadratic form $f1(ω)$.

The necessary condition for achieving the extreme point by a function is equality of its gradient to zero. Due to symmetric property of matrix $[v×]2$, gradient $f1(ω)$ equals to Display Formula

$∇f1(ω)=∑i=1nki[wi,vi]T+(∑i=1nki[vi×]2)ω.$(39)

The search for $ω$ satisfying the equality $∇f1(ω)=0$ is reduced to solve the system of algebraic equations Display Formula

$Aω=b,$(40)
where Display Formula
$A=∑i=1nki[vi×]2$(41)
and $b$ is determined in Eq. (19).

It is easy to note that matrix $A$ coincides with the inertia tensor of material points determined by vectors $vi$ and having masses $ki$. Hence, the solution of Eq. (40) has a vivid physical interpretation—it is necessary to find such angular velocity $ω$ for which the inertia momentum of a rigid system of material points defined by vectors $v$ and having masses $ki$ will equal to the inertia momentum of the same system, if unit velocity $wi$ is applied to each material point. At that, $f1(ω)$ function may be regarded as the value of kinetic energy of the system of material points.

Considering the mentioned mechanical interpretation, the SAR method of the first order may be also called the “angular momentum method.”

It is worth mentioning that Mortari in 13 also approximated the loss function by a function that he regarded as the kinetic energy function-energy of $n$ compressed springs with coefficients of rigidity $ki$. In all the rest, Mortari’s approach has nothing common with the solution proposed here.

###### SAR Algorithm of the Second Order

It is logical to expect from a solution of the Wahba problem that in case of permutation of the sequences of vectors $v$ and $w$, the sought-for rotation matrix $A$ would have to be inversed. For the SAR, it means that the SAR vector $ω$ changes its sign. However, for the SAR of the first order, in case of permutation of $v$ and $w$, the SAR vector, in general case, changes not only its sign but also the absolute value as well. The reason is that matrix $A$ (41) depends only upon vectors $v$ but does not depend upon vectors $w$.

A modification of the SAR method invariant to permutation of vectors and giving the more accurate estimate of $ω$ than Eq. (40) is presented in this section.

Let us transform the loss function $L$ into the gain function, as was done in 6: Display Formula

$g(ω)=1−L(ω).$(42)

Thus, the task of minimizing the loss function was transformed into the task of maximizing the function $g(ω)$. Using uncomplicated transformations, it is possible to demonstrate that Display Formula

$g(ω)=∑i=1nkiviTexp([ω×])wi.$(43)

Replacing the exponent by the first three terms of relevant series, it is possible to obtain the approximation of the function $g(ω)≈f2(ω)$Display Formula

$g(ω)≈f2(ω)=∑i=1nkiviT(i+[ω×]+[ω×]22)wi$(44)
or Display Formula
$f2(ω)=const+(∑i=1nki[wi,vi]T)ω+0.5ωT(∑i=1nki[vi×][wi×])ω.$(45)
In that case Display Formula
$∇f2(ω)=∑i=1nki[wi,vi]T+0.5(∑i=1nki([vi×][wi×]+[wi×]T[vi×]T))ω.$(46)

Finding $ω$ satisfying the equality $∇f2(ω)=0$ is reduced to solving the system of algebraic equations Display Formula

$Aω=b,$(47)
where Display Formula
$A=0.5∑i=1nki([vi×][wi×]+[wi×]T[vi×]T).$(48)

Let us assume $vi=(vi1,vi2,vi3)$ and $wi=(wi1,wi2,wi3)$, then matrix $A$ looks as follows: Display Formula

$A=12∑i=1nki[−2(vi3wi3+vi2wi2)vi1wi2+vi2wi1vi1wi3+vi3wi1vi1wi2+vi2wi1−2(vi3wi3+vi1wi1)vi2wi3+vi3wi2vi1wi3+vi3wi1vi2wi3+vi3wi2−2(vi2wi2+vi1wi1)].$(49)

Matrix $A$ is connected with attitude profile matrix $B$ by the following equation: Display Formula

$A=0.5S−sI,$(50)
where scalar $s$ and matrix $S$ are expressed through attitude profile matrix $B$, as shown in Eqs. (17) and (18).

###### Matrix Corresponds to the Small-Rotation Vector

When the SAR vector $ω$ is found, the sought-for approximation of matrix $Ropt$ is obtained as Display Formula

$Ropt=exp([ω×]).$(51)

There are many methods for calculating matrix exponent,30 but for the case of a skew-symmetric matrix, the simplest way is to use the Rodriguez formula:29Display Formula

$exp(ω)=I+sin(Θ)[μ×]+[1−cos(Θ)][μ×]2,$(52)
where $Θ=|ω|$, $μ=ω/Θ$.

Instead of using the matrix form for setting the rotation in $R3$, it is preferable to use the quaternion presentation, which is more convenient as it requires less memory space and allows reduction of the number of operations necessary for vector rotation. Calculation of the orientation quaternion corresponding to rotation $ω$ is easier than calculation of the corresponding matrix: Display Formula

$Q=[cos(Θ),sin(Θ)μ].$(53)

Though usage of quaternions is more convenient from the computational point of view than usage of matrices, we shall continue using the matrix notations in this work for the sake of convenience of theoretical calculations. If required, the matrix notations may be easily substituted by quaternion analogs.

## Evaluation of Solution Accuracy

It is necessary to determine the criteria for evaluation of the accuracy of the obtained solution. Different approaches to this issue are possible.

In technical applications, the error of star trackers is measured most often by three Euler angles by which matrix $R1$ must be additionally rotated in order to be aligned with matrix $R2$. Euler angles set the sequential rotation around axes OX, OY, OZ and are commonly used in mechanics and computer graphics and are called roll, pitch, and yaw.

For star sensors, axis OZ traditionally coincides with the optical axis of the device; therefore, the largest orientation errors are achieved for the third angle yaw (rotation around line of sight), whereas the roll and pitch errors are usually equaling to each other.

Euler angles are convenient for practical usage. Usually, a satellite is always facing the Earth with one of its sides (where scanning equipment or radio transmitter is located). The location of the star tracker within the satellite is known; therefore, the orientation error measured in Euler angles determines the error of directing the satellite on the Earth.

However, Euler angles are extremely inconvenient for theoretical evaluations, as they are not invariant to the change of coordinate system. Besides, it is desirable to express the combined error by one number rather than by three numbers.

For evaluation of a difference of rotation matrices, usually two metrics are used-Riemannian and Euclidean. In the first case, the set of rotation matrices SO(3) is regarded as Riemannian metric manifold with metric25Display Formula

$dR(R1,R2)=12‖log(R1TR2)‖F.$(54)

The Euclidean metric is based on the Frobenius norm Display Formula

$dE(R1,R2)=12‖R1−R2‖F.$(55)

The value $dR$ varies between 0 and $π$, whereas $dE$ varies between 0 and 2. The set of all rotation matrices $SO(3)$ is homeomorphic to a 3-D sphere in four-dimensional space, and each matrix may be interpreted as a point on this sphere. In such an interpretation, $dR$ may be regarded as angle, whereas $dE$ may be regarded as chord between respective points on the sphere.

The Riemannian distance $d(R1,R2)$ defines the minimal absolute value of the angle by which the coordinate system $R1$ must be rotated around an arbitrary axis in order to align it with the coordinate system $R2$.

If the rotation is performed around one and the same axis for the angles $φ1$ and $φ2$, then for the matrices $R1(φ1)$ and $R2(φ2)$, the value of Riemannian metric $dR(R1,R2)$ equals to $|φ1−φ2|$, naturally complying with our perception of orientation error.

Considering that accuracy in optics and in astronomy is usually measured by angular minutes (or angular seconds), the value $d$ determining accuracy will be expressed hereinafter in angular minutes.

It is worth mentioning that in case of close matrices, Euclidean metric and Riemannian metric are close to each other Display Formula

$dE(R1,R2)≈dR(R1,R2).$(56)

Based on geometrical interpretation of metrics, relation (56) means equality of arc length and chord length for small angles. As star trackers are high-precision instruments with accuracy of the order of angular seconds, it may be assumed that relation (56) holds for them. In order to highlight this fact, hereinafter, we shall denote the metric $dR$ simply as $d$.

## Step-by-Step Form of the Algorithm

Input data for the algorithm are:

• $R0$—initial approximation of orientation matrix;

• $w$, $v$—sequences of unit 3-D vectors of dimensionality $n$;

• $ε$—required accuracy of solution (in radians).

Output data:

• $R$—optimal orientation matrix.

Intermediate data:

• $Rω$—orientation matrix.

All matrices and vectors have the dimension equal to 3.

The general scheme of the SAR is as follows. Gain function $g(ω)$ is approximated by quadratic form $f2(ω)$. By solving the system of linear Eq. (42), the minimum of function $f2(ω)$ is found. When the respective rotation angles $ω$ are found which minimize the function $f2(ω)$, the rotation matrix $R$ is calculated on its basis. Vectors $v$ are rotated by matrix $R$ and approach to $w$.

These operations are repeated until rotation angle $ω$ becomes negligible in the framework of the task being solved.

The steps of iterative algorithm for solving Wahba problem using the SAR method:

1. Determining the initial approximation $R0$ using TRIAD method.
2. $Rω=R=R0$.
3. $vi=Rωvi$, $i=1,…,n$.
4. Determining, on the basis of formula (42), the parameters of the system of linear algebraic equations $A$ and $b$ using data $w$ and $v$.
5. Solving the system of linear algebraic equations $Aω=b$.
6. According to formula (52), obtaining rotation matrix $Rω$ from vector $ω$.
7. $R=RωR$.
8. If the condition $‖Rω‖F2<ε2$ is satisfied, then go to step 9, else to step 3.
9. End of algorithm.

If the rotation is set by quaternion, the algorithm will be similar.

All the steps of the SAR algorithm are sufficiently simple for coding including low-level programming languages. The most source-consuming among these steps are extraction of square root and solving system of linear equations. Binary arithmetic has fast and effective methods for calculating square root. Implementation of Gauss method is also rather simple even using low-level programming languages. Moreover, solution of 3-D system may be easily implemented directly using Cramer formula (for such dimensions, it has a negligible influence on execution time and accuracy). At the same time, finding eigen numbers, even by means of the simplest Jacobi method, requires nontrivial logic which is not simple for implementation using assembler or EPLD without saying about more complicated methods.24 Methods of singular matrix decomposition are also complicated for implementation.

The first-order SAR algorithm was implemented in software of 329K star tracker,31 which successfully operates on board the data relay satellite Luch-5A since December 2011 and on board the satellite Luch-5B since November 2012. Implementation of the algorithm using digital signal processor (DSP) has shown that it is simple for coding and program debugging.

## Simulation Results

###### Convergence of the Method

The SAR of the first order and the second order is obtained using approximation of matrix exponent by its decomposition into exponential series up to the first and the second power, respectively [Eqs. (36) and (44)]. Thus, approximation by means of loss functions $f1(ω)$ and $f2(ω)$ has, respectively, an error of orders $ω$ and $ω2$. Since minimum of functions $f1(ω)$ and $f2(ω)$ is seeking exactly at each step according to formulae (40) and (47), so the final error of function $L(ω)$ minimum will also have order of $ω$ and $ω2$.

In order to test the accuracy and convergence of the proposed method, its modeling in MATLAB system has been performed. Data of Tables 10020034 are obtained by means of averaging not less than 100,000 experiments.

Table 1Average error of estimate $Ropt$ using the singular decomposition method and the small-angle rotation (SAR) method of the first order in angular minutes.
Table 2Value of loss function $L(R)$ for the estimate using the singular decomposition method and the SAR method of the first order in angular minutes.
Table 3Average error of estimate $Ropt$ using the singular decomposition method and the SAR method of the second order in angular minutes.
Table 4Value of loss function $L(R)$ for the estimate using the singular decomposition method and the SAR method of the second order in angular minutes.

Simulation was performed as follows. Rotation matrix $Rtrue$ was set in random manner. $n$ unit vectors $wi$ were uniformly placed in a random manner in the FOV (spherical square $2W$) of the star sensor. Some errors were added in coordinates of each vector to $x$ and $y$ components of each vector. Vectors $vi=Rtruewi+ε$ were determined with subsequent normalization $vi=vi/|vi|$, where $ε∼N(0,σ)$—normally distributed random values. In this case, it was not allowed that star angular distances to be less than 10 SD $σ$ of the added error. Such restriction is quite reasonable since the adjacent stars are not included usually at the guide star catalogues.

Using the SAR and singular decomposition method, estimates of the matrix $Ropt$ were obtained for the sequence $w$ and $v$: $Ropt1иRopt2$. According to formula (49), the errors $Δ1=d(Ropt1,Rtrue)$ and $Δ2=d(Ropt2,Rtrue)$ were calculated.

The mentioned sequence of operations was performed for two SAR methods: the first and second order.

The values $Δ1$ and $Δ2$ and their difference $Δ=Δ2−Δ1$ for the SAR methods of the first and second order are given in Tables 1 and 3. The values of square root from the loss function $L$ are given in Tables 2 and 4.

The following parameters were used during modeling: the side of the square FOV $2W=20$ angular degrees, number of stars $n=15$, SD $σ=10.0$ arc min. It should be noted that the SD value used during the simulation is much larger than actual values. This was done in order to increase the number of steps executed by the algorithm before reaching the optimal point. Solution by TRIAD method was used as the initial approximation.

As may be seen from Tables 10020034, the singular decomposition method provides more accurate estimate than the SAR though the difference becomes negligibly small after several iterations. Since the exact value $Ropt$ is not known, the estimate $Ropt$ may be approximated (with the accuracy of singular decomposition by method32) by the estimate $Ropt$ of the SVD method. In this case, the third row of the table may be interpreted as the error of the SAR method.

In order to better understand the convergence behavior of the SAR, Figs. 2 and 3 show the dependence of the difference between accuracies of the methods from the number of iterations (in logarithmic scale). Every line in Figs. 2 and 3 corresponds to a single experiment (differing from Tables 10020034 whose data are obtained by means of averaging).

F2 :

Dependence of the difference between accuracies of the small-angle rotation (SAR) method of the first order and the singular value decomposition (SVD) method $Δ=|Δ1−Δ2|$. OX axis, number of iterations of SAR method. OY axis, difference between accuracies of the two methods in angular minutes (logarithmic scale).

F3 :

Dependence of the difference between accuracies of the SAR method of the second order and the SVD method $Δ=|Δ1−Δ2|$. OX axis, number of iterations of SAR method. OY axis, difference between accuracies of the two methods in angular minutes (logarithmic scale).

The simulation results confirm the conclusion about the method’s convergence rate. As may be seen from Fig. 2 and Table 1, SAR of the first order has linear convergence. Based on Fig. 3 and Table 3, the conclusion may be made that SAR of the second order has super-linear convergence. Graphs in Fig. 3 have form which differs from parabola because the difference between the SAR and the SVD method is stabilized starting from the third step. This is caused by the error of number representation with the type “double” and the error of the singular decomposition algorithm implemented by LAPACK software package.32

At any rate, experimental data are indicative of the fact that the second-order method is by far more effective than that of the first order; therefore, the former is more expedient to be used for calculations. Given this, its computational complexity is just very little higher than that of the first order method. $A$ matrix calculation for the second-order method will require more multiplication operations than it will for the first-order method. Otherwise, computational complexity of the algorithms is identical.

Simulation shows that if the error of initial approximation of orientation is of the order of 1 angular minute, then after one iteration of the SAR, the achieved resulting accuracy is of the order of $10−5$ angular minute, abundantly meeting the requirements to the errors of state-of-the-art star trackers. In case of necessity, two iterations of the method may be performed. Performing more than three iterations of the SAR makes no sense because in this case, the accuracy of the method exceeds the accuracy of data presentation using the type double.

###### Method Stability against Single Errors

An important issue in star tracker attitude estimation is the presence of inaccurate data. Radiation, pixel failures, etc., can cause one or more of the star vectors to have noise values that are significantly larger than others. Methods such as the SVD method and Davenport’s q-method are very robust to this, while faster methods such as QUEST have more problems dealing with this.

Simulation was performed to verify stability of the SAR against errors of such kind. The errors of 60 arc sec, i.e., significantly larger than usual errors for stars, were added to directing vectors of two stars from 15. Since SAR accuracy significantly depends on accuracy of initial approximation, the most interesting for simulation is the case when two vectors having maximum errors are chosen to estimate initial approximation. The simulation data are presented in Table 5. The data of Table 5 were obtained by means of averaging not less than 50,000 experiments.

Table 5Comparison of SVD and SAR algorithms’ stability against single errors (errors of $SD=60 arc sec$ are added to the first two vectors).

Taking into account the characteristics of modern star trackers (with the FOV of angular radius $W≈10 deg⁡$), SD for star position error is not able to exceed 1 arc min since else it will not be identified by the star identification algorithm according to criterion of mutual angular distances. Proceeding from this estimation, errors of 60 arc sec were added to the first two stars’ positions at the simulation. The SD $σ$ of errors for other stars is presented in Table 5 along with the simulation results.

The given Table 5 shows that the SAR algorithm is stable against random single errors and possesses, concerning this criterion, properties close to SVD algorithm. The difference in accuracy for SVD and SAR methods is comparable with the data presentation error.

## Computational Aspects

###### Time of Algorithm’s Execution

The purpose of this section is to compare the computational complications of the SAR algorithm and the classical algorithms of solving the Wahba problem based either on SVD or on calculation of eigenvectors.

The components requiring the most computational efforts at each iteration of the SAR are rotation of $n$ vectors with subsequent computation of matrix $A$ and evaluation of rotation vector $ω$ . From the computational point of view, these tasks are reduced to sequential multiplication of $n$ vectors by square matrix or quaternions and subsequent solution of the system of linear algebraic equations.

Although finding the eigenvectors is similar to solving the system of linear equations and is formally characterized by asymptotic33 complexity $O(m3)$, the actual number of operations required for finding the eigenvectors is much higher. The reason is that the Jacobi method, similar to the methods of matrix reduction to standard forms and QR decomposition,24 requires numerous calculations of square root. Besides, the methods of finding the eigenvectors are iterative, i.e., require numerous recalculations until the desired accuracy is achieved. On the other hand, solving a system of linear equations requires a finite number of steps.

According to 33, the following statement is valid.

Based on Eq. (57), solution of the system of equations with dimensionality $3×3$ using the Gauss method requires only 17 multiplication operations.

It is obvious that computational complexity of all the algorithms mentioned in the review is $O(n)$ depending on the number of stars, since these algorithms are related to calculating attitude profile matrix $B$ [Eq. (11)]. Moreover, besides the calculation of the matrix $B$ rotation of $n$ vectors is required for SAR algorithm. Due to additional computational consumption for the vectors’ rotation, SAR algorithm has linear coefficient, which is larger than SVD and q-method have.

It is also obvious that time of the algorithm operation linearly depends on quantity of iterations.

To compare algorithmic complexity of the proposed algorithms with state-of-the-art algorithms, evaluation of their execution time in PC was performed. SVD, q-method, QUEST, and SAR of the second order for one and two iterations were chosen for the comparison. The algorithms were implemented using MATLAB 7/0 and a computer with the processor Intel Core Duo 2.00 GHz. Time of the algorithms’ execution versus number of stars and the number of iterations are presented in Figs. 4 and 5.

F4 :

Time of the second order SAR algorithms’ execution versus number of stars. The digits denote characteristics of the following algorithms: 1—quaternion estimator (QUEST), 2—q-method, 3—SVD, 4—SAR one iteration, and 5—SAR two iterations.

F5 :

Time of the second order SAR algorithm’s execution versus number of iterations. The digits denote characteristics of the following algorithms: 1—SAR, 2—SVD, 3—q-method (Davenport), and 4—QUEST.

Interpretive program MATLAB is known for its slow operation, so the absolute values of execution time should be regarded very accurately. Real time of algorithm’s execution depends significantly on the method of its implementation using one or another processor. For comparison, time of SAR algorithm’s execution at a single iteration for 10 to 15 stars using 40-MHz DSP processor is equal to 10 μs approximately. For modern space class DSP, this time will be tens of milliseconds.

It is seen from Fig. 4 that the methods SVD, q-method, and QUEST have the same linear coefficient of increase depending on the number of stars. The SAR method has larger linear coefficient comparing with SVD, the q-method, and QUEST and therefore its execution time will rise a greater extent at increasing number of stars. However, as was mentioned above, not all stars are used for recognition but usually only 10 to 15 of the brightest stars because their coordinates have the highest accuracy.

The fact, that SAR algorithms’ execution time rises a greater extent at increasing number of stars comparing with SVD, q-method, and QUEST is a fundamental property of the algorithms. At the same time, the constant constituent of the algorithm’s execution time (the graph value for two stars) may significantly vary depending on implementation of the algorithm using one or another processor.

The SAR algorithm’s execution time versus quantity of the method iterations is presented in Fig. 5. The number of stars in FOV is 10. Execution time for the algorithms SVD, the q-method, and QUEST (shown by horizontal lines) is given for comparison. As should be expected, the dependence has linear form. For quantity of iterations more than two, time of algorithms’ execution for SAR is essentially larger than for SVD, q-method, and QUEST. However, as was mentioned in the preceding section, to meet current accuracy requirements, the method’s one or two iterations are quite sufficient.

The Gauss method for a system of equations with dimensionality $m$ requires Display Formula

$m3(m2+3 m−1),$(57)
multiplication and division operations.

###### Conditionality of the Equation System Solution

Unlike the mentioned methods of finding the eigenvectors, solving a system of linear equations using the Gauss method does not require the calculation of square root, and that is the advantage of the SAR. However, employing other method of solution than the Gauss method may necessitate calculation of square root. For example, since matrix $A$ is a symmetric matrix, the search for system may be solved using the Cholesky method, which, in general case, is more stable than the Gauss method.

To compare stability of the Gauss method and the Cholesky method, a computational experiment was performed. Both methods were programmed in C++ language using Visual Studio 2010. Numbers were represented with double precision. For device FOV angular radius ranging from 1 to 10 deg, matrices $A$ were generated, and SAR vectors $ω$ were calculated by the Gauss method and the Cholesky method. The computational experiment showed that the difference between solutions obtained by the two methods is within $10−12$ arc min, which is substantially smaller then the accuracy requirements raised to the present-day star trackers. Therefore, application of the Gauss method instead of the Cholesky method in the context of the task being solved is quite reasonable.

The largest difference in the accuracy of the Gauss method and the Cholesky method was observed for the smallest FOV. The reason is that the closer the stars (and the corresponding vectors) are located to each other, the more degenerated the task of finding the minimum of $L(ω)$ function. The following fact holds that the smaller the FOV of the star tracker, the more elongated function $L$ is.

The problem of degeneracy of the search task is illustrated in Fig. 6 showing the dependence of the loss function $L$ from parameters $ω2$ and $ω3$. In order to enable the presentation of the dependence in 3-D space, it is