Covariance of orientation data

Discussion in 'Scientific Statistics Math' started by Dave, Jan 3, 2011.

  1. Dave

    Dave Guest

    Hi all,

    Suppose I have an accelerometer that gives me an over-all vector for
    gravity, in the device's local coordinate system. So each of the x, y,
    and z values from that accelerometer have independent noise (lets
    assume it's gaussian) in each axis. I also have a magnetometer (i.e.,
    compass) which gives me another vector that is subject to the same
    sort of noise.

    I can then derive vectors that describe the transform from the
    device's local space to a global space. The global Y axis is the
    negative of the accelerometer. Global X is the cross product of the
    magnetometer output and Y. And Z is the cross between X and Y.
    Assuming those vectors are normalized, then the matrix ( X, Y, Z ) is
    the inverse of the transform taking me from the local space to global
    space.

    So what does this have to do with statistics? Well, the filtering
    techniques that I have seen for these orientations require covariance
    matrices. Since matrices are nonlinear, the filters require me to
    convert this rotation matrix into a "rotation vector", which is
    essentially the axis of rotation scaled by the angle of the rotation
    (kinda like axis-angle representation). Then, a covariance matrix is
    used to determine how new measurements are incorporated into previous
    estimates (e.g., via Kalman filters, etc).

    So, with the data that I am given for the two sensors (i.e., standard
    deviations for the x,y,z of both the magnetometer and accelerometer),
    how would I construct a covariance matrix for the rotation vector?

    Thanks.

    Dave
     
    Dave, Jan 3, 2011
    #1
    1. Advertisements

  2. Dave

    Ray Koopman Guest

    Preliminatry results, that assume only that the errors are
    independent and unbiased: It looks like only X and Y are unbiased.
    The bias in Z is -{ M1(u2 + u3), M2(u1 + u3), M3(u1 + u2) },
    where M = {M1,M2,M3} is the "true" magnetometer vector,
    and u1,u2,u3 are the error variances in the accelerometer readings.

    Do you agree? Am I on the right track?
     
    Ray Koopman, Jan 4, 2011
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.