Difference between revisions of "Q Method and Wahba's Problem"
(→Q-Method) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 25: | Line 25: | ||
We can see that in order to minimize J, we need to maximize g(R). This problem can be written in a better and more elegant way by representing rotation matrix R in terms of the quaternion | We can see that in order to minimize J, we need to maximize g(R). This problem can be written in a better and more elegant way by representing rotation matrix R in terms of the quaternion | ||
[[File:Equation29.png|frame|center]] | [[File:Equation29.png|frame|center]] | ||
− | R can be written in terms of q as | + | R can be written in terms of q as <math>R = (q_4^2-q^Tq)I+2qq^T-2q_4[q \times]</math><br \> |
− | [ | ||
Where [q x] is the cross product matrix associated with q | Where [q x] is the cross product matrix associated with q | ||
[[File:Equation31.png|frame|center]] | [[File:Equation31.png|frame|center]] | ||
− | One can verify that the gain function in terms of the quaternions is: | + | One can verify that the gain function in terms of the quaternions is: |
<math>g(\bar{q}) = \bar{q}^TKq</math><br \> | <math>g(\bar{q}) = \bar{q}^TKq</math><br \> | ||
Where K is a 4x4 Matrix given by | Where K is a 4x4 Matrix given by | ||
− | [[File: | + | [[File:Equation77.png|frame|center]] |
− | Wherein, | + | Wherein,<br \> |
− | + | <math>B = \sum w_k(v_{kb}v_{ki}^T)</math><br \> | |
− | Now we want to maximise g. However, noting that quaternion elements are not independent, the constraint | + | <math>S = B+B^T</math><br \> |
− | Since, K is a 4x4 matrix, it can have at most 4 different eigenvalues. Substituting | + | <math>Z = \sum w_k(v_{kb} \times v_{ki})</math><br \> |
+ | <math>\sigma = tr(B)</math> <br \> | ||
+ | |||
+ | Now we want to maximise g. However, noting that quaternion elements are not independent, the constraint <math>\bar{q}^Tq = 1</math> must also be satisfied. So we use the lagrangian multiplier method and differentiate with respect to <math>\bar{q}</math> we get <math>K\bar{q} = \lambda \bar{q}</math>. So now, we have reduced the problem to an eigenvalue problem for the matrix K. | ||
+ | Since, K is a 4x4 matrix, it can have at most 4 different eigenvalues. Substituting <math>K\bar{q} = \lambda \bar{q}</math> in <math>g(\bar{q}) = \bar{q}^TKq</math>, we get | ||
[[File:Equation39.png|frame|center]] | [[File:Equation39.png|frame|center]] | ||
Now we want to maximise g. So we will chose the eigenvector corresponding to the maximum eigenvalue. | Now we want to maximise g. So we will chose the eigenvector corresponding to the maximum eigenvalue. |
Latest revision as of 12:50, 19 February 2018
TRIAD method is useful when we have only two vector measurements. If we need better accuracy and have more than two vector measurements, we need to use a more general algorithm. Before developing an algorithm, we need to make our problem statement more precise.
Say we have N unit vectors
for each of the N vectors. It is clear that this set of equations will be overdetermined for N > 2,
and hence the equation, in general, cannot be satisfied for each k = 1,2..N. Hence,
we wish to find a solution for [1]
In this expression, J is the loss function that has to be minimized, k is the counter for the N observations,
is weight assigned to the kth measurement, is the matrix consisting of the measured components in the body frame, and is the matrix consisting of components in the inertial frame as determined using appropriate mathematical models. This loss function is a sum of the squared errors for each vector measurement. If the measurements and mathematical models are perfect, then J = 0, since the first equation on this page will be satisfied for all N vectors. If there are any errors or noisy measurements, then J > 0. The smaller we make J, the better the approximation of .Q-Method
In this section we present one of the several methods to solve this minimization problem known as the Q-method. We first expand the loss function as
Assuming normalized vectors, we see that,
Defining,
We can see that in order to minimize J, we need to maximize g(R). This problem can be written in a better and more elegant way by representing rotation matrix R in terms of the quaternion
R can be written in terms of q as
Where [q x] is the cross product matrix associated with q
One can verify that the gain function in terms of the quaternions is:
Where K is a 4x4 Matrix given by
Wherein,
Now we want to maximise g. However, noting that quaternion elements are not independent, the constraint
must also be satisfied. So we use the lagrangian multiplier method and differentiate with respect to we get . So now, we have reduced the problem to an eigenvalue problem for the matrix K. Since, K is a 4x4 matrix, it can have at most 4 different eigenvalues. Substituting in , we getNow we want to maximise g. So we will chose the eigenvector corresponding to the maximum eigenvalue.
Hence the estimated attitude can be known by solving the eigenvalue problem for the matrix K.
If you are done reading this page, you can go back to Attitude Determination and Control Subsystem