Is There a Closed-Form Solution for Attitude Update Equations?

In summary, the attitude update equation for direction cosine matrix is given by:\dot{\mathbf{C}}_b^i = \mathbf{C}_b^i \mathbf{\Omega}_{ib}^bwhere \mathbf{C}_b^i indicates the transformation matrix from the b-frame to the i-frame and \mathbf{\Omega}_{ib}^b indicates the skew-symmetric angular velocity matrix of the b-frame with respect to the i-frame resolved in the b-frame.I wonder if there exists some kind of closed-form solution for this equation. I do think that there should be one
  • #1
adhika123
5
0
Hi guys,

I am doing navigation mathematics and I met all kinds of references regarding how the attitude update equation should be solved. However, none of the references that I found makes any sense to me.

I wonder if someone could enlighten me with this math.

The attitude update equation for direction cosine matrix is given by:
[tex]
\dot{\mathbf{C}}_b^i = \mathbf{C}_b^i \mathbf{\Omega}_{ib}^b
[/tex]
where [tex]\mathbf{C}_b^i[/tex] indicates the transformation matrix from the b-frame to the i-frame and [tex]\mathbf{\Omega}_{ib}^b[/tex] indicates the skew-symmetric angular velocity matrix of the b-frame with respect to the i-frame resolved in the b-frame.

I really wonder if there exists some kind of closed-form solution for this equation. I do think that there should be one way or to express the exact solution to this matrix differential equation because if we look at the transpose:
[tex]
\dot{\mathbf{C}}_n^b = -\mathbf{\Omega}_{nb}^b \mathbf{C}_n^b
[/tex]
by using the orthogonality of the direction cosine and skew-symmetric properties.

But this last equation is very similar to the state transition matrix equation:
[tex]
\mathbf{\dot{\Phi}}=\mathbf{A}\mathbf{\Phi}
[/tex]
which has the solution of a Peano-Baker series:
[tex]
\mathbf{\Phi} =& \mathbf{I} + \int_{t_o}^t \mathbf{A}(\sigma_1)d\sigma_1 + \int_{t_0}^t \mathbf{A}(\sigma_1) \int_{t_0}^{\sigma_1} \mathbf{A}(\sigma_2) d\sigma_2 d\sigma_1 \\
& + \int_{t_0}^t \mathbf{A}(\sigma_1) \int_{t_0}^{\sigma_1} \mathbf{A}(\sigma_2) \int_{t_0}^{\sigma_2} \mathbf{A}(\sigma_3) d\sigma_3d\sigma_2 d\sigma_1 + \cdots
[/tex]

Worse still, most of the time the navigation is done on the local navigation frame in which we have to transform the Earth's rate and local transport rate into the equation. Hence, the differential equation looks like
[tex]
\dot{\mathbf{C}}_b^n = \mathbf{C}_b^n \mathbf{\Omega}_{ib}^b - \left(\mathbf{\Omega}_{ie}^n + \mathbf{\Omega}_{ne}^n\right)\mathbf{C}_b^n
[/tex]So, I am thinking that the solution should be along that line... but I am not so sure...
I would greatly appreciate any help. :)
 
Last edited:
Physics news on Phys.org
  • #2
I'm a bit confused by your superscripts... are they index notation or not?

IIRC, the differential equation
[tex]
\mathbf{\dot{\Phi}}=\mathbf{A}\mathbf{\Phi}
[/tex]
is solved by
[tex]
\mathbf{\Phi}(t) \propto \exp(\mathbf{A} t)
[/tex]
where the matrix exponential is defined through its usual power series
[tex]\exp{\mathbf{A}} = \sum_{n = 0}^\infty \frac{1}{n!} \mathbf{A}^n [/tex]

Does that help?
 
  • #3
My sub- and super-script is used to denote the frames which we are working on.
For all transformation matrix (or direction cosine matrix, here)
[tex]\mathbf{C}_a^b[/tex]
denotes the rotation/transformation matrix from Frame [tex]a[/tex] to [tex]b[/tex].
And for all angular velocity skew-symmetric matrix
[tex]\mathbf{\Omega}_{ab}^b[/tex]
indicates the angular velocity of [tex]b[/tex] with respect to [tex]a[/tex] and the component is resolved in the [tex]b[/tex] frame.

@Compuchip:
The solution is exponential matrix iff [tex]\mathbf{A}[/tex] is a constant. But in this case, [tex]\mathbf{\Omega}_{ib}^b[/tex] is time varying in general...

In one of the reference (Groves, Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, Artech House, 2008), the solution is written as
[tex]
\mathbf{C}_b^n = \mathbf{C}_b^n (t=t_0) \exp \left[\int_{t_0}^t \mathbf{\Omega} dt \right]
[/tex]

My belief is that, that is an approximation by itself (approximating that the angular velocity is constant from [tex] t \in \left[\in t_0,t\right] [/tex]. But the book does not say so (it just mentions "by integrating the equation").

I wonder which one is true... my belief or the book itself...
 
  • #5
@Kosovtov: Thanks, to be truthful I am not sure it's very helpful, but the furthest that I can go is to write

[tex]
\mathbf{C}_b^n(t) = \mathbf{I} + \int_{t_0}^t \mathbf{\Omega}_{rb}^b(\sigma_1} d\sigma_1 + \int_{t_0}^t \left(\int_{t_0}^{\sigma_1} \mathbf{\Omega}_{rb}^b(\sigma_2} d\sigma_2 \right)\mathbf{\Omega}_{rb}^b(\sigma_1} d\sigma_1 + \int_{t_0}^t \left[\int_{t_0}^{\sigma_1} \left(\int_{t_0}^{\sigma_2} \mathbf{\Omega}_{rb}^b(\sigma_3} d\sigma_3 \right)\mathbf{\Omega}_{rb}^b(\sigma_2} d\sigma_2 \right]\mathbf{\Omega}_{rb}^b(\sigma_1} d\sigma_1
[/tex]

But since the integrand does not commute (they are skew-symmetric matrix), hence I could not simplify it any further...

There is another paper that derives the solution to the matrix from geometrical argument. They showed that the the solution is in the form of
[tex]
\mathbf{C}_b^n = \exp\left[\mathbf{\Psi} \times\right]
[/tex]
where [tex]\left[\mathbf{\Psi} \times\right][/tex] is a skew symemtric matrix that represent the rotation vector.

The rotation vector is shown to be a function of time given by
[tex]
\mathbf{\dot{\Psi}} = \mathbf{\omega}_{nb}^b + \frac{1}{2} \mathbf{\Psi} \times \mathbf{\omega}_{nb}^b + \frac{1}{\psi^2}\left[1-\frac{\psi \sin \psi}{2(1-\cos \psi)}\right] \mathbf{\Psi} \times \mathbf{\Psi} \times \mathbf{\omega}_{nb}^b
[\tex]

I wonder if it's possible to show that the two solution are identical.

I read somewhere they show that Peano-Baker series (which I wrote above) is a unique solution to the matrix differential equations... so, well, if that's the case the two solutions should be identical, won't they?
 
  • #6
Unfortunately I do not understand your solution for [tex]{\bf C_b^n(t)}[/tex] in your last post.

Formal exact solution to your ODE is as follows

[tex]{\bf C_b^n}(t)={\bf T}\exp\{-\int_a^t d\xi\,{\bf
[\Omega_{ie}^n}(\xi)+\Omega_{ne}^n}(\xi)]\}\,\,{\bf C_b^n}(a)\,\,\,{\bf
T_0}\exp\{\int_a^t d\xi\,{\bf \Omega_{ib}^b}(\xi)\}[/tex]

and if you now expand each chronological exponents into series (see, section 3.1 in http://arxiv.org/abs/math-ph/0409035 ) you arrive to analogue of "Peano-Baker series" as you call it.

The second (open) question is how to simplify the solution.
 
  • #7
The last solution that I wrote is solution to

[tex]

\dot{\mathbf{C}}_b^i = \mathbf{C}_b^i \mathbf{\Omega}_{ib}^b

[/tex]
starting from the Peano-Baker series itself.

And I think I should be able to expand the same thing out by using your formal solution which is no different from the Peano-Baker series, right?

Hm, yes, simplifying it to something more physical like the rotation vector itself is something that I wonder...
 
  • #8
adhika123 said:
And I think I should be able to expand the same thing out by using your formal solution which is no different from the Peano-Baker series, right?

It seems to me that it is different from the Peano-Baker series in your transcription.

adhika123 said:
Hm, yes, simplifying it to something more physical like the rotation vector itself is something that I wonder...

It is very difficult to advise something when I can not conceive the problem as a whole. But I believe that you have to turn to simplifications and especially to series only on last stage of calculations. I suspect that the [tex]{\mathbf C_b^n} [/tex] is not a final result.
 
  • #9
Hmm, my series is a result of some facts:
Omega is a skew-symmetric matrix
C is an orthogonal matrix where you have take the transpose of the Peano-Baker series.

C itself is the final result. In attitude determination problem, the propagation of C itself and obtaining the C at any instant of time given the angular velocities from a gyro and the initial C is the final result...

But yeah, I don't think that we could perhaps proceed further if we have ended up in the series..
 

FAQ: Is There a Closed-Form Solution for Attitude Update Equations?

What are Matrix Differential Equations?

Matrix Differential Equations are mathematical equations that involve matrices, which are arrays of numbers. These equations describe how matrices change over time or in response to other variables.

How are Matrix Differential Equations different from regular Differential Equations?

The main difference between Matrix Differential Equations and regular Differential Equations is that the former involve matrices while the latter involve single variables or functions. Matrix Differential Equations are also more complex and require specialized techniques for solving them.

What are some real-world applications of Matrix Differential Equations?

Matrix Differential Equations have numerous applications in various fields such as physics, engineering, economics, and biology. They are used to model systems that involve multiple variables and their interactions, such as population growth, chemical reactions, and electrical circuits.

What are the techniques used to solve Matrix Differential Equations?

The most common techniques for solving Matrix Differential Equations are matrix exponentiation, Laplace transform, and numerical methods such as Euler's method and Runge-Kutta methods. These techniques involve manipulating and solving systems of linear equations.

What are the challenges in solving Matrix Differential Equations?

One of the main challenges in solving Matrix Differential Equations is the complexity of the equations and the large number of calculations involved. Additionally, the initial conditions and boundary conditions need to be accurately specified for a unique solution. In some cases, there may not be an analytical solution, and numerical methods have to be used instead.

Similar threads

Replies
1
Views
1K
Replies
5
Views
2K
Replies
8
Views
4K
Replies
2
Views
914
Replies
21
Views
1K
Back
Top