POSGO (POSition based on Graph Optimization) is a multi-frequency and multi-GNSS pseudorange data processing software program based on GO (Graph optimization). The main features of the software are listed in the following:
- Single-Point Positioning (SPP) and Relative Positioning (RP) positioning based on GO
- Support several loss functions for robust estimation in GO
- Support multi-constellation data processing
- Support single-frequency and dual-frequency ionospheric-free SPP
- Support multi-frequency RP
Authors: Zhen Li, Jing Guo, and Qile Zhao from the Satellite POD and Navigation Augmentation Group, Wuhan University.
Related Paper:
- Li, Z., Guo, J. & Zhao, Q. POSGO: an open-source software for GNSS pseudorange positioning based on graph optimization. GPS Solut 27, 187 (2023). https://doi.org/10.1007/s10291-023-01528-z
We recommend you use Ubuntu 18.04 or Ubuntu 20.04 with the gcc compiler (gcc>=7.5).
sudo apt-get install libeigen3-dev
Follow Ceres installation instructions.
Once the prerequisites have been installed, you can clone this repository and build POSGO as follows:
# Clone the repository
git clone https://github.com/lizhengnss/POSGO.git ~/
# Build POSGO
cd ~/POSGO
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
make -j4
# Check if the compilation was successful
./POSGO
program arguments need to be given in the following format when the software is running:
POSGO -C [config] -S [GREC] -M [ProcessMode] -L [TraceLevel]
The program parameters of SPP GOLD in paper are as follows:
POSGO -C YOURPATH/conf/spp_kpl_gold.ini -S GREC -M SPP -L 1
The program parameters of RP GOLD in paper are as follows:
POSGO -C YOURPATH/conf/rp_kpl_gold.ini -S GREC -M RTK -L 1
We offer 3 demo dataset with configuration file, which are located at data directory.
Kinematic data of urban areas in Wuhan city collected by geodetic receivers during 12:00~12:45 (UTC) on Day of Year (DOY) 165, 2022. Base station and rover GNSS observation are provided. The smoothed RTK solution from the NovAtel Waypoint 8.9 software package is used as the reference.
Kinematic data of urban areas in Wuhan city collected by Huawei P40 mobile phone during 3:35~4:20 (UTC) on Day of Year (DOY) 183, 2022. Base station and rover GNSS observation are provided. We are also equipped with the Leador A15 integrated navigation system, and the smoothed GNSS/INS solution form the GINS is used as the reference.
Static data of urban canyon in Wuhan city collected by Huawei Mate20 mobile phone during 6:35~6:50 (UTC) on Day of Year (DOY) 266, 2021. The reference solution is obtained from RTK.
We thanks RTKLIB, RTKLIB-Demo5, GraphGNSSLib and OB_GINS for selfless open-source spirit and elegant programming.
At the same time, Shengyi Xu from Wuhan University provided some analysis scripts for POSGO. Xiao Liu, Ziyu Fan, Gaojian Zhang, Yihao Jiang, Hengda Wei and Shengyi Xu from Wuhan University tested the software, we also thank them for their work.
The source code is released under GPLv3 license.
We are still working on improving the code reliability and fix potential bugs. For any technical issues, please contact Zhen Li (sdkjlizhen@foxmail.com) or open an issue at this repository.
We plan to update the multi-frequency precise point positioning with ambiguity resolution (PPP-AR) in the latter half of this year or early next year.