Share the driver test data with the OpenIMU300ZI INS App(1.1 firmware version) plus Ublox M8N
@Li-YiFan 这个结果看起来非常棒,如果我使用NMEA信息输入可以得到类似的结果吗,它(NMEA)比ublox-bin输入具体缺少哪些东西呢,我是否可以直接添加缺失的数据来做呢,因为我想使用rtk结果输入,它只能输出nmea或者经纬度高以及协方差信息
缺失的数据包括:垂直方向的速度,定位精度等等。对于垂直方向的速度,NMEA驱动里面内置了一个根据高度来估计垂直速度的算法,对于定位精度,NMEA驱动里会根据HDOP来估计精度,尽管不准确,但是可以使用。对于rtk,由于其定位定速精度都很高,算法内设置的一些阈值可能并不合适,需要自行进行调整。具体可以阅读代码看需要提供哪些GPS信息。
void GetGPSData(gpsDataStruct_t *data)
{
data->gpsUpdate = ( gGpsDataPtr->updateFlagForEachCall >> GOT_VTG_MSG ) & 0x00000001 &&
( gGpsDataPtr->updateFlagForEachCall >> GOT_GGA_MSG ) & 0x00000001;
// gGpsDataPtr->updateFlagForEachCall &= 0xFFFFFFFD;
if(data->gpsUpdate)
{
// Reset GPS update flag only when pos and vel are both available
gGpsDataPtr->updateFlagForEachCall &= 0xFFFFFFFC;
data->gpsFixType = gGpsDataPtr->gpsFixType;
data->numSatellites = gGpsDataPtr->numSatellites;
data->latitude = gGpsDataPtr->lat;
data->longitude = gGpsDataPtr->lon;
data->altitude = gGpsDataPtr->alt;
data->vNed[0] = gGpsDataPtr->vNed[0];
data->vNed[1] = gGpsDataPtr->vNed[1];
data->vNed[2] = gGpsDataPtr->vNed[2];
data->trueCourse = gGpsDataPtr->trueCourse;
data->rawGroundSpeed = gGpsDataPtr->rawGroundSpeed;
data->GPSSecondFraction = gGpsDataPtr->GPSSecondFraction;
data->itow = gGpsDataPtr->itow;
data->GPSmonth = gGpsDataPtr->GPSmonth;
data->GPSday = gGpsDataPtr->GPSday;
data->GPSyear = gGpsDataPtr->GPSyear;
data->GPSHour = gGpsDataPtr->GPSHour;
data->GPSMinute = gGpsDataPtr->GPSMinute;
data->GPSSecond = gGpsDataPtr->GPSSecond;
data->HDOP = gGpsDataPtr->HDOP;
data->GPSHorizAcc = gGpsDataPtr->GPSHorizAcc;
data->GPSVertAcc = gGpsDataPtr->GPSVertAcc;
data->geoidAboveEllipsoid = gGpsDataPtr->geoidAboveEllipsoid;
}
}