Skip to content

support Acceleration and Angular Rate in the NMEA protocoll #48

@bomilkar

Description

@bomilkar

Many OpenVarios contain IMU/MEMS. That is a 3 axis acceleration and 3 axis angular rate (aka Gyroscope) sensor.
I'm in the process to improve the Wind Calculation in XCSoar. Find the discussion here:
XCSoar/XCSoar#1449
Admittedly, this is a long standing issue, but I'm committed to take a new approach in the coming weeks.

The extensions to the NMEA protocol I'm looks like this:

$POV,A,-1.5099,-.0292,13.7134*18
$POV,G,4.165,-8.709,-10.479*1B

In essence:
Adding identifiers 'A' for Acceleration and 'G' for Gyro (aka Angular Rate)
The identifiers are followed by 3 values for X, Y and Z-axis.
Values are presented in body frame axis (X forward, Y right, Z down)
Acceleration in m/s²
Gyro in °/s (Degree per second).
It's assumed that the sensor inside the instrument is aligned and calibrated to these axis and units.

Here is an example of a left turn, together with other data for TEvario, StaticP, DynamicP:

$POV,A,-1.5144,-.1317,13.3568*1D
$POV,G,.010,6.854,-7.530*32
$POV,E,2.40,P,789.06,Q,432.07*17

Example of right turn:

$POV,A,-.7468,-.1626,10.0739*24
$POV,G,3.519,5.072,10.852*10
$POV,E,2.45,P,775.45,Q,480.27*1D

Sentences can be split across multiple lines or combined like this example:
$POV,A,-1.0378,-.0888,11.2615,G,-.982,-7.249,-12.905,E,3.48,P,778.01,Q,432.51*xx

I'm preparing PRs for XCSoar to support the counterpart to this protocol extension. It will come in several parts addressing infrastructure, OpenVario parser, new circling wind algorithm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions