1. Attachments are working again! Check out this thread for more details and to report any other bugs.

Can I get an elevation profile from the onboard static pressure sensor?

Discussion in 'Prius v Technical Discussion' started by DS Justice, Mar 8, 2018.

  1. DS Justice

    DS Justice Junior Member

    Joined:
    Jan 12, 2018
    16
    2
    0
    Location:
    bc, canada
    Vehicle:
    2010 Prius
    Model:
    II
    I'm doing some power consumption modeling for my Master's, and I'm doing some GPS and engine logging using OBD Fusion and a cheap bluetooth OBD2 adapter. It would be very useful to log road grade, but GPS altitude is incredibly inaccurate.

    I'm hoping to use the onboard static/barometric pressure sensor as an altimeter. However, it's only indicating the nearest 1 kPa, which translates to a precision of 83m.

    The PID list here says that PID 2101, values E and H are both for atmospheric pressure. I'm new to Canbus/OBD2 logging -- is there any way for me to get better precision from this sensor?
     
  2. taxibuddy

    taxibuddy Member

    Joined:
    Jan 31, 2018
    79
    57
    0
    Location:
    Atlanta
    Vehicle:
    2014 Prius v wagon
    Model:
    Two
    You can use GPS Visualizer to replace the GPS altitude data with map data. Depending on where exactly you are driving, this may be good enough for your purposes, but it's not perfect. In particular, bridges are likely to cause you problems with this method. GPS Track Editor can be used to delete these erroneous samples effectively drawing a straight line between them. There are other GPS problems you should be aware of including zero drift. NREL wrote a paper on methods for cleaning GPS data, but they focus on the other problems like zero drift and not on altitude problems.

    One other comment on altitude replacement, roads are usually smoother version of the surrounding terrain because of the cuts and fills used in road building, so applying a low pass filter to the map altitude data results in a more realistic altitude profile.
     
  3. DS Justice

    DS Justice Junior Member

    Joined:
    Jan 12, 2018
    16
    2
    0
    Location:
    bc, canada
    Vehicle:
    2010 Prius
    Model:
    II
    Looks like they are using 30m resolution NED1 DEM data. As you point out, there are a lot of issues trying to get proper road elevations from a GPS track, which is why I'm looking for ways to get altimetry instead.
     
  4. taxibuddy

    taxibuddy Member

    Joined:
    Jan 31, 2018
    79
    57
    0
    Location:
    Atlanta
    Vehicle:
    2014 Prius v wagon
    Model:
    Two
    To be clear 30m in the x and y directions, not the z direction. For our purposes, we sample position at 1 Hz in a moving vehicle, and we filter the altitude so 30m resolution is no problem. To be sure, it's superior to the GPS altitude data. But, if you don't like you can try a GPS logger with an altimeter. Let me know if you find one that works well because my organization could use something like that.

    I don't know the answer to your question but I could speculate that 83m resolution is more than sufficient for engine control so it wouldn't surprise me too much if no better resolution is available, but again, I have no idea.

    This is a strange place to be asking that question. You are asking a tiny subset of Prius v owners and the Prius v is a small portion of the Prius population. Not that we mind, but I don't think you are asking the right people.
     
  5. RobH

    RobH Senior Member

    Joined:
    Sep 18, 2006
    2,369
    978
    70
    Location:
    Sunnyvale, California
    Vehicle:
    2006 Prius
    I have a Garmin 935 sports watch that uses a combination of barometric pressure and GPS altitude to calculate altitude. An older sports watch would vary the altitude display by +- 100 feet while not even moving. The 935 altitude display is much more stable. It seems to be able to resolve down to maybe 20 feet of altitude change.

    The watch has sensors for GPS location, altitude, barometric pressure, compass and temperature. I suspect that you'd have to write a custom program to record the barometric pressure, but the rest should already be available.