2022-09-15 16:35:25 +08:00
|
|
|
|
/******************** (C) COPYRIGHT 2020 Geek************************************
|
|
|
|
|
* File Name : pdr_kalman.h
|
|
|
|
|
* Department : Sensor Algorithm Team
|
|
|
|
|
* Current Version : V2.0(compare QCOM SAP 5.0)
|
|
|
|
|
* Author : logzhan
|
|
|
|
|
* Date of Issued : 2020.7.3
|
|
|
|
|
* Comments : PDR <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽṹ<EFBFBD>嶨<EFBFBD><EFBFBD>
|
|
|
|
|
********************************************************************************/
|
|
|
|
|
#ifndef _PDR_KALMAN_H_
|
|
|
|
|
#define _PDR_KALMAN_H_
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/**----------------------------------------------------------------------
|
2022-09-19 23:05:00 +08:00
|
|
|
|
* Function : EKF_Init
|
2022-09-15 16:35:25 +08:00
|
|
|
|
* Description : <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-09-19 23:05:00 +08:00
|
|
|
|
* Date : 2022/09/19
|
2022-09-15 16:35:25 +08:00
|
|
|
|
*---------------------------------------------------------------------**/
|
2022-09-19 23:05:00 +08:00
|
|
|
|
void EKF_Init(void);
|
2022-09-15 16:35:25 +08:00
|
|
|
|
|
|
|
|
|
/**----------------------------------------------------------------------
|
2022-09-19 23:05:00 +08:00
|
|
|
|
* Function : EKFStatePredict
|
2022-09-15 16:35:25 +08:00
|
|
|
|
* Description : pdr<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬Ԥ<EFBFBD>ⷽ<EFBFBD><EFBFBD>
|
2022-09-19 23:05:00 +08:00
|
|
|
|
* Date : 2022/09/19 logzhan
|
2022-09-15 16:35:25 +08:00
|
|
|
|
*---------------------------------------------------------------------**/
|
2022-09-19 23:05:00 +08:00
|
|
|
|
void EKFStatePredict(KfPara_t* kf, double step_length, PDR* g_pdr, int step);
|
2022-09-15 16:35:25 +08:00
|
|
|
|
|
|
|
|
|
/**----------------------------------------------------------------------
|
2022-09-19 23:05:00 +08:00
|
|
|
|
* Function : EKFCalQRMatrix
|
|
|
|
|
* Description : <EFBFBD><EFBFBD><EFBFBD>㿨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-09-15 16:35:25 +08:00
|
|
|
|
* scane_type, <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* nmea_data<EFBFBD><EFBFBD>NMEA<EFBFBD><EFBFBD><EFBFBD>ݽṹ<EFBFBD><EFBFBD>
|
|
|
|
|
* g_pdr<EFBFBD><EFBFBD>PDR<EFBFBD>ṹ<EFBFBD><EFBFBD>
|
|
|
|
|
* sys<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<EFBFBD><EFBFBD>
|
|
|
|
|
* kf<EFBFBD><EFBFBD>EKF<EFBFBD><EFBFBD><EFBFBD>ݽṹ<EFBFBD><EFBFBD>
|
2022-09-19 23:05:00 +08:00
|
|
|
|
* Date : 2022/09/19 logzhan
|
2022-09-15 16:35:25 +08:00
|
|
|
|
*---------------------------------------------------------------------**/
|
2022-09-19 23:05:00 +08:00
|
|
|
|
void EKFCalQRMatrix(lct_nmea* nmea_data, PDR* g_pdr, classifer* sys, KfPara_t* kf);
|
2022-09-15 16:35:25 +08:00
|
|
|
|
|
|
|
|
|
/**----------------------------------------------------------------------
|
|
|
|
|
* Function : pdr_ekfStateUpdate
|
|
|
|
|
* Description : pdr<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* Date : 2020/7/22 logzhan
|
|
|
|
|
*---------------------------------------------------------------------**/
|
2022-09-17 01:12:48 +08:00
|
|
|
|
void EKFStateUpdate(KfPara_t* kf, GNSS_t* pgnss, classifer* sys, PDR* g_pdr,
|
2022-09-15 16:35:25 +08:00
|
|
|
|
int scene_type);
|
|
|
|
|
|
|
|
|
|
/**----------------------------------------------------------------------
|
|
|
|
|
* Function : pdr_gnssInsLocFusion
|
|
|
|
|
* Description : PDR<EFBFBD><EFBFBD>GNSS<EFBFBD><EFBFBD>INS<EFBFBD>ں϶<EFBFBD>λ
|
|
|
|
|
* Date : 2020/07/09 logzhan
|
|
|
|
|
*---------------------------------------------------------------------**/
|
2022-09-19 23:05:00 +08:00
|
|
|
|
void GnssInsLocFusion(GNSS_t* pgnss, PDR* g_pdr, classifer* sys, double yaw_bias,
|
2022-09-17 01:12:48 +08:00
|
|
|
|
KfPara_t* kf, lct_fs* res);
|
2022-09-15 16:35:25 +08:00
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif
|