Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matrix Differential Equations

  1. Mar 6, 2010 #1
    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: Mar 6, 2010
  2. jcsd
  3. Mar 6, 2010 #2

    CompuChip

    User Avatar
    Science Advisor
    Homework Helper

    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?
     
  4. Mar 6, 2010 #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. Mar 6, 2010 #4
  6. Mar 7, 2010 #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?
     
  7. Mar 9, 2010 #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.
     
  8. Mar 10, 2010 #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...
     
  9. Mar 10, 2010 #8
    It seems to me that it is different from the Peano-Baker series in your transcription.

    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.
     
  10. Mar 10, 2010 #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..
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook