Skip to content

This is the open-source repository for the publication "Intelligent Environment-Adaptive GNSS/INS Integrated Positioning with Factor Graph Optimization"

Notifications You must be signed in to change notification settings

ZhengdaoLI0602/GNSS_INS_Integrations_Comparisons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Based on the article titled Intelligent Environment-Adaptive GNSS/INS Integrated Positioning with Factor Graph Optimization on Remote Sensing Journal, this repository is aimed for comparing 2D positioning solutions between different GNSS/INS integration methods, including Fixed-gain Kalman Filter (KF), Adaptive Kalmam Filter (AKF), Factor Graph Optimization (FGO), and Adaptive Factor Graph Optimization (AFGO). The scripts about FGO are modified based on MATLAB official example Factor Graph-Based Pedestrian Localization with IMU and GPS Sensors. Should you find any problem, please email to: [email protected] , we appreciate your feedback.

How to run problem

STEP 1: Navigate to folder "DataPrepare", run "Make_Format.m" inside folder "DataPrepare"

Before running all the scripts, add folder "Functions" as subfolders in MATLAB. "EnvFolder" is the folder storing all the prepared datasets and the processed results. It is designed to contain:

  • An empty folder named "IniResults" storing the intermediate and ultimate results
  • MAT_FILE_OF_EXTRACTED_GNSS_FEATURES.mat
  • MAT_FILE_OF_CNN_PREDICTION_FOR_EACH_AVAILABLE_GNSS_EPOCH.mat
  • TXT_FILE_OF_GROUND_TRUTH_INFORMATION.txt
  • CSV_FILE_OF_INS_DATA.csv
  • MAT_FILE_OF_GNSS_DATA.mat

After running the codes, the following files are expected to be generated in folder "EnvFolder/IniResults"

  • PROCESSED_DATA_FOR_KALMAN_FILTER.mat
  • PROCESSED_DATA_FOR_FACTOR_GRAPH_OPTIMIZATION.mat
  • COMMOM_INFORMATION_FOR_BOTH_INTEGRATION_METHODS.mat

And the following files are expected to be generated in folder "DataPrepare"

  • MAT_FILE_STOREING_STRING_OF_PATH_OF_EnvFolder.mat

STEP 2: Navigate to root folder, run "Main_GNSS_INS_Integration.m"

The variable "CurFolder" in the script exactly represents folder "EnvFolder/IniResults"

Configure the variables "KF_ON" and "FGO_ON" to execute the following four integration methods in sequence:

  • KF_ON = [1 0], FGO_ON = [0 0]; run the script (KF)
  • KF_ON = [0 1], FGO_ON = [0 0]; run the script (AKF)
  • KF_ON = [0 0], FGO_ON = [1 0]; run the script (FGO)
  • KF_ON = [0 0], FGO_ON = [0 1]; run the script (AFGO)

After running the script, the following files are expected to be generated in folder "EnvFolder/IniResults"

  • POSITIONING_SOLUTIONS_OF_ALL_INTEGRATION_METHODS.mat

And the following matlab figures are expected to be generated after in folder "EnvFolder/IniResults"

  • After running KF
    • Traj_KF.fig (2D trajectory of Truth/GNSS/KF)
    • 2dE.fig (2D error of Truth/GNSS/KF throughout the time frame)
  • After running AKF
    • Traj_AKF.fig (2D trajectory of Truth/GNSS/KF/AKF)
    • 2dE.fig (2D error of Truth/GNSS/KF/AKF throughout the time frame)
  • After running FGO
    • Traj_FGO.fig (2D trajectory of Truth/GNSS/KF/AKF/FGO)
    • 2dE.fig (2D error of Truth/GNSS/KF/AKF/FGO throughout the time frame)
    • FGO_satelite_img.fig (2d trajectory of Truth/FGO shown with satellite image)
  • After running AFGO
    • Traj_AFGO.fig (2D trajectory of Truth/GNSS/KF/AKF/FGO/AFGO)
    • 2dE.fig (2D error of Truth/GNSS/KF/AKF/FGO/AFGO throughout the time frame)
    • AFGO_satelite_img.fig (2d trajectory of Truth/AFGO shown with satellite image)

Example

An example of u-blox receiver dataset collected from Kowloon Bay, Hong Kong has been provided in the repository. The collection was done by group in Intelligent Positioning And Navigation Laboratory using similar standards with UrbanNav dataset. The target outcomes are depicted in the following plots and stored in folder "Target Plots".

  • Summary
    KF AKF FGO AFGO
    2D Root Mean Square Error [m] 70.18 66.84 24.35 19.35
    2D Standard Deviation [m] 61.72 59.19 18.71 14.09
  • 2D Trajectory ublox_traj
  • 2D Error throughout the frame ublox_2dE

About

This is the open-source repository for the publication "Intelligent Environment-Adaptive GNSS/INS Integrated Positioning with Factor Graph Optimization"

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages