QuEST

From Satellite Wiki
Jump to: navigation, search

We had begun with the problem of overdetermination because we had more equations than the unknown variables. Now, with sensor errors it becomes impossible to solve for these variables such that it satisfies all the equations (remember, these equations are superfluous). So Wahba’s problem gives us a way to, if not circumvent, at least rationally deal with this problem. It defines a weighted error function (i.e errors from each of the sensors are given weightage based on reliability) which is to be minimised.

Equation74.png

The error function J can be simplified to a summation involving [math]w_k[/math] (the weights, which are constants set by us) and the gain function g as defined below

Equation75.png

It is easy to see that minimising J is equivalent to maximising g.
This expression when written in terms of quaternions becomes very compact. And qmethod showed that maximising g involved solving an eigenvalue problem. This can be done on MATLAB or other computer tools. But the solution is numerically intensive.[1] Satellite makers need a better algorithm than Q-method to determine the attitude with minimal compromise in the accuracy. The QuEST algorithm provides a less efficient but a ‘faster’ way to solve the eigenvalue problem.
QuEST starts with the assumption that sensor errors are minimal so that J can be minimised to a very low value. Rewriting J in terms of g,

Equation42.png

Equation43.png where Equation44.png is the maximum eigenvalue of the K matrix defined in Q Method and Wahba's Problem. With this Equation44.png can be written as

Equation45.png

If we approximate J to be very small (this approximation is valid as we want to minimize J and now if after completing this method, we calculate J, it would be very small),

Equation46.png

So, generally, QuEST uses Newton Raphson method starting with Equation44.png calculated above, and over multiple iterations reaches at a more accurate value for λ.
Notice how this is different from the qmethod. QuEST doesn’t directly solve for the eigen values. It starts with a reasonable guess and then moves on to check out if there are values close to this guess that can do better.
Now to solve for the quaternion, both scalar and vector parts are divided [math]q_4 =cos \frac{\phi}{2}[/math] ([math]q_4[/math] is the scalar part; [math] \phi[/math] is the angle of rotation). Note, this only changes the magnitude of the quaternion and the final answer can be corrected for later by normalising it. So, the vector part now is [math]\boldsymbol{p} = \frac{\bar{\boldsymbol{q}}}{q_4} = a*tan\frac{\phi}{2}[/math], where [math]a[/math] is the vector along axis of rotation. The initial matrix equation now turns out as follows

Equation48.png

p is being operated on by an invertible matrix. And Gauss elimination could be employed to find its inverse and hence solve for p.
Finally, the quaternion is normalised to get an unit quaternion.

Equation49.png

In general, while choosing between algorithm one has to make a tradeoff between getting a more accurate answer and implementing a computationally intensive code. QuEST adopts less accurate approach than qmethod at the cost of reducing computation.


If you are done reading this page, you can go back to Attitude Determination and Control Subsystem

References