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

Determining path, timing and velocity from a 3d accelerometer

  1. Feb 10, 2009 #1
    Hi,

    I wonder if there is anyone who can help me with a problem i have.

    I have a device that includes a simple 3d accelerometer. The device is a handheld device and my challenge is to figure out the path that the device moves in space relative to its starting position. I would like to plot the path and velocity with time.

    The challenge is that the device can swivel over time which means that the gravity vector changes and so it complicates the requirement to remove the gravity vector so as to figure out the true acceleration.

    Additionally, the accelerometer is really not made for violent swings and as such it can clip the output based on excessive movement.

    The type of movement that takes place is a repetitive movement and so the general path is known and as such i believe that a model of the gravity vector can be created. Someone has experimented with my data and used Kalman filters and cubic splines to try and figure out the information.

    The path information and velocity does not have to be 100% accurate. I just need a good general trend of how the object moves and the timing.

    I am not a physicist and my job would be to find an algorithm and then write the software in he embedded hardware. Time is of the essence and if there is someone who could help me figure this out, I would appreciate it.
     
  2. jcsd
  3. Feb 10, 2009 #2

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor

    Why subtract out the gravity vector? I would instead leave it in, and then at the very end, remove how far it has "fallen".

    Clipping, though, is a problem. That information is lost, and the only thing you can do is try and guess what was lost.
     
  4. Feb 10, 2009 #3

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    This is not a good idea; it is generally a very bad idea.

    You obviously need some model of the attitude state, otherwise your integrated state will diverge rather quickly, even without gravity entering the picture. One approach is to use gyros as a means of estimating your attitude state.

    This might be a big problem.
     
  5. Feb 10, 2009 #4

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor

    Why? Suppose you do this for one second, and then subtract off 16 feet. Why is this a problem?
     
  6. Feb 10, 2009 #5

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    Vanadium, your approach might work if
    • Earth had a uniform (planar) gravity field.
      This is a valid approximation over a short distance, but if the travel occurs over any significant distance, the uniform gravity assumption fails. Even the spherical gravity assumption fails; NASA requires a waiver if manned spacecraft navigation algorithms use less than an 8x8 spherical harmonics gravity model.

    • The device holds steady attitude.
      This is definitely not the case here. The OP specifically said "the device can swivel over time".

    • You only cared about the state at the end (whenever that is).
      Typically one uses navigation techniques to get an estimate of the state (position, velocity) at every point in time, not just the end.

    Accelerometers readings are chock full of errors: white noise, biases, scale factor errors, alignment errors, etc. Run-of-the-mill numerical integration techniques will result in a lousy answer, and that is assuming a proper accounting of the one force that accelerometers cannot measure (gravity). Overly simple numerical integration, without properly accounting for gravity, will result in an incredibly lousy answer. Kalman filters were developed to address this very problem. They are what correctly got the Apollo vehicles to the Moon.
     
  7. Feb 23, 2009 #6
    Would a Kalman filter help with the gravity problem or just to eliminate the noise?

    PS. I need help to solve this problem and I am willing to pay somone to help!!
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook