-
Notifications
You must be signed in to change notification settings - Fork 11
Description
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.