Skip to main content
. 2016 May 23;16(5):749. doi: 10.3390/s16050749
Algorithm 2. Optimization based absolute attitude estimation algorithm (q-Method)
  1. Concatenate observation vectors:

    W=[SS   gS]   measurement vectors in S-frameV=[SF   gF]   preditction vectors in F-frame

  2. Calculate: B = WVT; Q = B + BT

  3. Extract Z from B matrix: Z = [B23B32B31 − B13B12B21]

  4. Form 4 × 4 matrix K: K4×4=[QIσZTZσ] σ=tr(B),I=I3×3

  5. Find Eigen data of K. The Eigenvector corresponding to the largest Eigen value of K is q vector:

    q4×1=[qvqs]; 4×1 unit quaternion representing best fit rotation from F to S.

  6. Desired rotation matrix can be found from quaternion vector:

    CFS=(qs2qvTqv)I+2qvqvT2qsqv×     qv×=[0qv3qv2qv30qv1qv2qv10]qv×:skewsymmetric matrix form of qv.

  7. Attitude angles extraction:

    CST=CFTCSF,a transformation matrix (function of RPY) from b-frame to n-frame.CFT is function of longitude,latitude(rover position).

  8. Hence roll, pitch and heading angles can be derived from matrix (CST) as:

    ϕ=asin(CST32,CST33)θ=asin(CST31)ψ=atan2(CST21,CST11)