Difference between revisions of "QuEST"

From Satellite Wiki
Jump to: navigation, search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Introduction ==
+
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.  
Obtaining quaternion information from q-method involves solving the eigenvalue problem for a 4X4 Matrix. This can be done on MATLAB or other computer tools. But the solution is numerically intensive. On-board computing is a serious concern for any satellite designer and hence a better algorithm to solve this problem using less computing is required. <br \>
 
The QuEST algorithm provides a less efficient but a ‘faster’ way to solve the eigenvalue problem.
 
  
== The Algorithm ==
+
[[File:Equation74.png|frame|center]]
Recall from [[Q Method and Wahba's Problem]] that the optimal attitude minimizes the loss function,
+
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
[[File:Equation40.JPG|frame|center]]
+
[[File:Equation75.png|frame|center]]
And maximizes the gain function,
+
It is easy to see that minimising J is equivalent to maximising g. <br \>
[[File:Equation41.png|frame|center]]
+
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.<ref>http://www.dept.aoe.vt.edu/~cdhall/courses/aoe4140/attde.pdf</ref> Satellite makers need a better algorithm than [[Q Method and Wahba's Problem| 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.<br \>
Thus,
+
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,
 
[[File:Equation42.png|frame|center]]
 
[[File:Equation42.png|frame|center]]
 
[[File:Equation43.png]] where [[File:Equation44.png]] is the maximum eigenvalue of the K matrix defined in [[Q Method and Wahba's Problem]].
 
[[File:Equation43.png]] where [[File:Equation44.png]] is the maximum eigenvalue of the K matrix defined in [[Q Method and Wahba's Problem]].
Line 15: Line 13:
 
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),  
 
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),  
 
[[File:Equation46.png|frame|center]]
 
[[File:Equation46.png|frame|center]]
Defining and writing the equation in terms of Rodrigue’s parameter '''p''' simplifies the equation
+
So, generally, QuEST uses Newton Raphson method starting with [[File:Equation44.png]] calculated above, and over multiple iterations reaches at a more accurate value for λ.<br \>
[[File:Equation47.png|frame|center]]
+
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.<br \>
where a is the vector along axis of rotation and Φ is the angle of rotation. Eigenvalue equation, which was to be solved is now written as
+
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
 
[[File:Equation48.png|frame|center]]
 
[[File:Equation48.png|frame|center]]
Which can be solved by gauss elimination. <br \>
+
'''p''' is being operated on by an invertible matrix. And Gauss elimination could be employed to find its inverse and hence solve for '''p'''. <br \>
Once the '''p''' has been obtained, the quaternion can be found out by noting
+
Finally, the quaternion is normalised to get an unit quaternion.
 
[[File:Equation49.png|frame|center]]
 
[[File:Equation49.png|frame|center]]
Hence the estimated quaternion is obtained without solving eigenvalue equation. <br \>
+
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.<br \>
 +
----
 
If you are done reading this page, you can go back to [[Attitude Determination and Control Subsystem]]
 
If you are done reading this page, you can go back to [[Attitude Determination and Control Subsystem]]
 +
== References ==

Latest revision as of 16:34, 19 February 2018

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