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

Acceleration plus change in Direction

  1. Jan 3, 2010 #1
    I've been working on a hobby site for some time that analyses GPS data, and calculates top speeds etc for sailors.

    GPS data is a bit unreliable, so there is necessarily some filtering that occurs, and one filter is on acceleration.

    It is unusual for a vessel to accelerate at more than 3m/s^2, for instance.

    Recently I've realised that I'm basing all acceleration calculations assuming the vessel is travelling in a straight line. With bad data, this is not necessarily the case. I could have a data point that shows a vessel travelling at 16m/s at 270 degree, then 14m/s at 100 degrees a second later. At the moment, I would be calculating a slight deceleration from this, but in fact this is an invalid point.

    I can't seem to find any straightforward reference to how to determine acceleration around a corner. Can someone please point me to a place where I can find this information?

    Here's a real example:
    data is duration (s), speed (m/s), direction (degrees)
    2, 28.9, 155
    2, 14.7, 310
    2, 18.0, 354
    2, 1.02, 270

    At the moment, my software doesn't think that the acceleration between points 2 and 3 is unusual, but because of the almost 45 degree turn involved, it should be noticing a big difference.

    Dylan.
     
  2. jcsd
  3. Jan 3, 2010 #2
    You have velocity data and an interval of 2 seconds.

    You could always componentize the velocity in Cartesian coords then divide by two to get the average acceleration .

    for i<max.points;i++
    {

    velx(i) = speed(i)*cos(direction(i))
    vely(i) = speed(i)*sin(direction(i))

    accx(i) = (velx(i)-velx(i-1))/data duration
    accy(i) = (vely(i)-vely(i-1))/data duration

    accmagnitude = sqrt(accx^2+accy^2)
    accdirection = arctan(accy/accx)

    }
     
    Last edited: Jan 3, 2010
  4. Jan 4, 2010 #3
    Feldoh,

    Thanks for that. I will try out this suggestion tonight and see how it goes.
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook