#ifndef __PDR_LOCATION_H__ #define __PDR_LOCATION_H__ #ifdef __cplusplus extern "C" { #endif #include "pdr_base.h" #define HIST_GPS_NUM 8 #define ACCURACY_THRES 0.6f // 精度阈值 #define YAW_THRES 10.0f // Yaw角范围阈值 /**--------------------------------------------------------------------- * Function : pdr_navSysInit * Description : PDR导航系统初始化 * Date : 2020/2/1 * * * * * * *---------------------------------------------------------------------**/ void NavSys_Init(void); int pdr_insLocation(imu *ss_data, KfPara *kf); /**---------------------------------------------------------------------- * Function : pdr_noGpsPredict * Description : 在没有gps信息时预测GPS位置,最多预测10个点 * Date : 2020/07/08 logzhan *---------------------------------------------------------------------**/ void pdr_noGpsPredict(KfPara* kf, lct_fs* result, PDR* g_pdr); /**---------------------------------------------------------------------- * Function : pdr_nmea2Gnss * Description : nmea数据结构转gnss数据 * Date : 2020/07/08 logzhan *---------------------------------------------------------------------**/ void pdr_nmea2Gnss(lct_nmea* nmea_data, gnss* pgnss); /**---------------------------------------------------------------------- * Function : pdr_detectFixMode * Description : 检测当前PDR处于的模式,如果是车载和静止模式,根据情况选择输出 * 原始GPS或者不输出 * Date : 2020/07/08 logzhan * 2020/02/08 logzhan : 修改-1为INVAILD_GPS_YAW,提高 * 代码的可读性 *---------------------------------------------------------------------**/ int pdr_detectFixMode(gnss* pgnss, KfPara* kf, PDR* g_pdr, lct_fs* result); /**---------------------------------------------------------------------- * Function : pdr_getGpsHeading * Description : 获取GPS偏航角 * Date : 2020/07/08 logzhan *---------------------------------------------------------------------**/ double pdr_getGpsHeading(gnss* pgnss); /**---------------------------------------------------------------------- * Function : calPdrHeadingOffset * Description : 利用GPS信号较好时的偏航角修正磁力计计算方向键的偏移 * Date : 2020/07/08 logzhan *---------------------------------------------------------------------**/ void calPdrHeadingOffset(lct_nmea* nmea_data, PDR* p_pdr); /**--------------------------------------------------------------------- * Function : pdr_resetSysStatus * Description : PDS 重设系统状态 * Date : 2020/2/1 logzhan *---------------------------------------------------------------------**/ void pdr_resetSysStatus(KfPara* kf); /**---------------------------------------------------------------------- * Function : pdr_gnssInsLocation * Description : PDR GPS融合INS惯性定位 * Date : 2021/01/29 logzhan *---------------------------------------------------------------------**/ int pdr_gnssInsLocation(lct_nmea* nmea_data, KfPara* kf, lct_fs* result); /**--------------------------------------------------------------------- * Function : pdr_initGnssInfo * Description : PDS GNSS定位信息初始化 * Date : 2020/2/1 logzhan *---------------------------------------------------------------------**/ void pdr_initGnssInfo(void); void pdr_gnssUpdate(gnss* gps, lct_nmea* nmea); #ifdef __cplusplus } #endif #endif