Quaternion Estimator Algorithm
   HOME

TheInfoList



OR:

The quaternion estimator algorithm (QUEST) is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
designed to solve
Wahba's problem In applied mathematics, Wahba's problem, first posed by Grace Wahba in 1965, seeks to find a rotation matrix ( special orthogonal matrix) between two coordinate systems from a set of (weighted) vector observations. Solutions to Wahba's problem are ...
, that consists of finding a
rotation matrix In linear algebra, a rotation matrix is a transformation matrix that is used to perform a rotation in Euclidean space. For example, using the convention below, the matrix :R = \begin \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \en ...
between two coordinate systems from two sets of observations sampled in each system respectively. The key idea behind the algorithm is to find an expression of the loss function for the Wahba's problem as a quadratic form, using the
Cayley–Hamilton theorem In linear algebra, the Cayley–Hamilton theorem (named after the mathematicians Arthur Cayley and William Rowan Hamilton) states that every square matrix over a commutative ring (such as the real or complex numbers or the integers) satisfies ...
and the
Newton–Raphson method In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real-va ...
to efficiently solve the eigenvalue problem and construct a
numerically stable In the mathematical subfield of numerical analysis, numerical stability is a generally desirable property of numerical algorithms. The precise definition of stability depends on the context. One is numerical linear algebra and the other is algorit ...
representation of the solution. The algorithm was introduced by
Malcolm D. Shuster Malcolm D. Shuster (31 July 1943 – 23 February 2012) was an American physicist and aerospace engineer, whose work contributed significantly to spacecraft attitude determination. In 1977 he joined the Attitude Systems Operation of the Computer Sci ...
in 1981, while working at
Computer Sciences Corporation Computer Sciences Corporation (CSC) was an American multinational corporation that provided information technology (IT) services and professional services. On April 3, 2017, it merged with the Enterprise Services line of business of HP Ente ...
.Shuster and Oh (1981) While being in principle less robust than other methods such as Davenport's q method or
singular value decomposition In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix. It generalizes the eigendecomposition of a square normal matrix with an orthonormal eigenbasis to any \ m \times n\ matrix. It is re ...
, the algorithm is significantly faster and reliable in practical applications,Markley and Mortari (2000) and it is used for attitude determination problem in fields such as
robotics Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrate ...
and
avionics Avionics (a blend of ''aviation'' and ''electronics'') are the electronic systems used on aircraft. Avionic systems include communications, navigation, the display and management of multiple systems, and the hundreds of systems that are fit ...
.Xiaoping et al. (2008)


Formulation of the problem

Wahba's problem In applied mathematics, Wahba's problem, first posed by Grace Wahba in 1965, seeks to find a rotation matrix ( special orthogonal matrix) between two coordinate systems from a set of (weighted) vector observations. Solutions to Wahba's problem are ...
consists of finding a
rotation matrix In linear algebra, a rotation matrix is a transformation matrix that is used to perform a rotation in Euclidean space. For example, using the convention below, the matrix :R = \begin \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \en ...
\mathbf^* that minimises the loss function : l \left( \mathbf \right) = \frac \sum_^ a_i \left\, \mathbf_i - \mathbf \mathbf_i \right\, ^2 where \mathbf_i are the vector observations in the reference frame, \mathbf_i are the vector observations in the body frame, \mathbf is a rotation matrix between the two frames, and a_i are a set of weights such that \textstyle \sum_i a_i = 1. It is possible to rewrite this as a maximisation problem of a gain function g :g \left( \mathbf \right) = 1 - l \left( \mathbf \right) = \sum_i a_i \mathbf_i^\top \mathbf \mathbf_i defined in such a way that the loss l attains a minimum when g is maximised. The gain g can in turn be rewritten as : g \left( \mathbf \right) = \operatorname \left( \mathbf \mathbf^\top \right) where \mathbf = \textstyle \sum_i a_i \mathbf_i \mathbf_i^\top is known as the attitude profile matrix. In order to reduce the number of variables, the problem can be reformulated by parametrising the rotation as a unit quaternion \mathbf = \left( v_1, v_2, v_3, q\right) with vector part \mathbf = \left( v_1, v_2, v_3 \right) and scalar part q, representing the rotation of angle \theta = 2 \cos^ q around an axis whose direction is described by the vector \textstyle \frac \mathbf, subject to the unity constraint \mathbf^\top \mathbf = 1. It is now possible to express \mathbf in terms of the quaternion parametrisation as : \mathbf = \left( q^2 - \mathbf \cdot \mathbf \right) \mathbf + 2 \mathbf\mathbf^\top + 2 q \mathbf_\times where \mathbf_\times is the
skew-symmetric matrix In mathematics, particularly in linear algebra, a skew-symmetric (or antisymmetric or antimetric) matrix is a square matrix whose transpose equals its negative. That is, it satisfies the condition In terms of the entries of the matrix, if ...
: \mathbf_\times = \begin 0 & v_3 & -v_2 \\ -v_3 & 0 & v_1 \\ v_2 & -v_1 & 0 \\ \end . Substituting \mathbf with the quaternion representation and simplifying the resulting expression, the gain function can be written as a quadratic form in \mathbf : g(\mathbf) = \mathbf^\top \mathbf \mathbf where the 4 \times 4 matrix : \mathbf = \begin \mathbf - \sigma \mathbf & \mathbf \\ \mathbf^\top & \sigma \end is defined from the quantities : \begin \mathbf &= \mathbf + \mathbf^\top \\ \mathbf &= \sum_i a_i \left( \mathbf_i \times \mathbf_i \right) \\ \sigma &= \operatorname \mathbf . \end This quadratic form can be optimised under the unity constraint by adding a
Lagrange multiplier In mathematical optimization, the method of Lagrange multipliers is a strategy for finding the local maxima and minima of a function subject to equality constraints (i.e., subject to the condition that one or more equations have to be satisfied e ...
-\lambda \mathbf^\top \mathbf, obtaining an unconstrained gain function : \hat \left( \mathbf \right) = \mathbf^\top \mathbf \mathbf - \lambda \mathbf^\top \mathbf that attains a maximum when :\mathbf \mathbf = \lambda \mathbf. This implies that the optimal rotation is parametrised by the quaternion \mathbf^* that is the
eigenvector In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted ...
associated to the largest
eigenvalue In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted ...
\lambda_ of \mathbf.


Solution of the characteristic equation

The optimal quaternion can be determined by solving the characteristic equation of \mathbf and constructing the eigenvector for the largest eigenvalue. From the definition of \mathbf, it is possible to rewrite :\mathbf \mathbf = \lambda \mathbf as a system of two equations : \begin \mathbf &= \left( (\lambda + \sigma) \mathbf - \mathbf \right)^ \mathbf \\ \lambda &= \sigma + \mathbf \mathbf \end where \mathbf = \textstyle \frac \mathbf is the Rodrigues vector. Substituting \mathbf in the second equation with the first, it is possible to derive an expression of the characteristic equation : \lambda = \sigma + \mathbf^\top \left( (\lambda + \sigma) \mathbf - \mathbf \right)^ \mathbf . Since \lambda_ = \max g\left(\mathbf\right), it follows that \lambda_ = 1 - \min l\left(\mathbf\right) and therefore \lambda_ \approx 1 for an optimal solution (when the loss l is small). This permits to construct the optimal quaternion \mathbf^* by replacing \lambda_ in the Rodrigues vector \mathbf : \mathbf^* = \frac (\mathbf, 1)^\top . The \mathbf vector is however singular for \theta = \pi. An alternative expression of the solution that does not involve the Rodrigues vector can be constructed using the
Cayley–Hamilton theorem In linear algebra, the Cayley–Hamilton theorem (named after the mathematicians Arthur Cayley and William Rowan Hamilton) states that every square matrix over a commutative ring (such as the real or complex numbers or the integers) satisfies ...
. The characteristic equation of a 3\times3 matrix \mathbf is : \det \left \mathbf - \xi \mathbf \right= -\xi^3 + 2 \sigma \xi^2 - k \xi + \Delta = 0 where : \begin \sigma &= \frac \operatorname \\ k &= \operatorname \left( \operatorname \mathbf \right) \\ \Delta &= \det \mathbf \end The Cayley–Hamilton theorem states that any square matrix over a commutative ring satisfies its own characteristic equation, therefore : -\mathbf^3 + 2 \sigma \mathbf^2 - k \mathbf + \Delta = 0 allowing to write : \left( (\omega + \sigma) \mathbf - \mathbf \right)^ = \frac where : \begin \alpha &= \omega^2 - \sigma^2 + k \\ \beta &= \omega - \sigma \\ \gamma &= (\omega + \sigma) \alpha - \Delta \end and for \omega = \lambda_ this provides a new construction of the optimal vector : \begin \mathbf^* &= \left( (\lambda + \sigma) \mathbf - \mathbf \right)^ \mathbf \\ &= \frac \mathbf \end that gives the conjugate quaternion representation of the optimal rotation as : \mathbf^* = \frac (\mathbf, \gamma)^\top where : \mathbf = \left( \alpha \mathbf + \beta \mathbf + \mathbf^2 \right) \mathbf . The value of \lambda_ can be determined as a numerical solution of the characteristic equation. Replacing \left( (\omega + \sigma) \mathbf - \mathbf \right)^ inside the previously obtained characteristic equation : \lambda = \sigma + \mathbf^\top \left( (\lambda + \sigma) \mathbf - \mathbf \right)^ \mathbf . gives : \lambda^4 - (a + b) \lambda^2 - c \lambda + (ab + c \sigma - d) = 0 where : \begin a &= \sigma^2 - k \\ b &= \sigma^2 + \mathbf^\top \mathbf \\ c &= \Delta + \mathbf^\top \mathbf \mathbf \\ d &= \mathbf^\top \mathbf^2 \mathbf \end whose root can be efficiently approximated with the
Newton–Raphson method In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real-va ...
, taking 1 as initial guess of the solution in order to converge to the highest eigenvalue (using the fact, shown above, that \lambda_ \approx 1 when the quaternion is close to the optimal solution).


See also

*
Triad method The Triad method is one of the earliest and simplest solutions to the spacecraft attitude determination problem. Given the knowledge of two vectors in the reference and body coordinates of a satellite, the Triad algorithm obtains the direction co ...
*
Wahba's problem In applied mathematics, Wahba's problem, first posed by Grace Wahba in 1965, seeks to find a rotation matrix ( special orthogonal matrix) between two coordinate systems from a set of (weighted) vector observations. Solutions to Wahba's problem are ...


References


Sources

* * * * * *


External links

* * {{DEFAULTSORT:QUEST algorithm Rotation in three dimensions Spacecraft attitude control