Abstract
Graph optimization (GO) can correlate more historical information to increase the resistance against the GNSS outliers. Therefore, GO has the potential to obtain a higher accuracy and robust position in urban canyon. Here, we develop POSGO (POSition based on Graph Optimization), an open-source software designed for single-point positioning and relative positioning with multi-GNSS pseudorange in a GO framework. It is coded in C/C+ + language and recommended to run in the Linux environment. It can be easily extended to process the carrier phase and fuse the data from multiple sensors by adding corresponding graph factors. To assess the performance of the current version, data from a kinematic vehicle experiment in urban area are processed. The results indicate GO has better accuracy and robustness than classic least squares or Kalman filters, particularly in areas with severe occlusions.
Similar content being viewed by others
Data availability
The source code, user manual and sample data sets of POSGO can be found on the GPS Toolbox Web at https://geodesy.noaa.gov/gps-toolbox/ or GitHub at https://github.com/lizhengnss/POSGO.
References
Huang G, Mourikis AI, Roumeliotis SI (2011) An observability-constrained sliding window filter for SLAM. 2011 IEEE/RSJ international conference on intelligent robots and systems. IEEE, San Francisco, CA, pp 65–72
Huang G (2019) Visual-inertial navigation: a concise review. In: 2019 international conference on robotics and automation (ICRA). pp 9572–9582
Indelman V, Williams S, Kaess M, Dellaert F (2013) Information fusion in navigation systems via factor graph based incremental smoothing. Robot Auton Syst 61(8):721–738. https://doi.org/10.1016/j.robot.2013.05.001
Jiang C, Chen Y, Jia J, Sun H, Wang T, Duan Z, Hyyppa J (2022) Open-source optimization method for android smartphone single point positioning. GPS Solut 26(3):90. https://doi.org/10.1007/s10291-022-01272-w
Li Z, Xu G, Guo J, Zhao Q (2022) A sequential ambiguity selection strategy for partial ambiguity resolution during RTK positioning in urban areas. GPS Solut 26(3):92. https://doi.org/10.1007/s10291-022-01279-3
Loeliger H-A (2002) Least squares and kalman filtering on forney graphs. In: Blahut RE, Koetter R (eds) Codes, graphs, and systems: a celebration of the life and career of G. David Forney, Jr. on the occasion of his sixtieth birthday. Springer US, Boston, MA, pp 113–135
Mourikis AI, Roumeliotis SI (2007) A multi-state constraint Kalman filter for vision-aided inertial navigation. In: Proceedings 2007 IEEE international conference on robotics and automation. pp 3565–3572
Suzuki T (2021) First place award winner of the smartphone decimeter challenge: global optimization of position and velocity by factor graph optimization. Proceedings ION GNSS 2021, institute of navigation, St. Louis, Missouri, USA, 20–24 Sept 2021 pp 2974–2985
Takasu T, Yasuda A (2009) Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB. Proceedings international symposium on GPS/GNSS, Jeju, Korea, 4–6 November 2009
Watson RM, Gross JN (2017) Robust navigation In GNSS degraded environment using graph optimization. In: Proceedings ION GNSS 2017, institute of navigation, Portland, Oregon, USA, 25–29 Sept 2017, pp 2906–2918
Wen W, Hsu L-T (2021) Towards robust GNSS positioning and real-time kinematic using factor graph optimization. In: 2021 IEEE international conference on robotics and automation (ICRA). IEEE, Xi’an, China, pp 5884–5890
Zhou F, Dong D, Li W, Jiang X, Wickert J, Schuh H (2018) GAMP: An open-source software of multi-GNSS precise point positioning using undifferenced and uncombined observations. GPS Solut 22(2):33. https://doi.org/10.1007/s10291-018-0699-9
Acknowledgements
This study is financially supported by the National Natural Science Foundation of China (41974035, 42030109), Yong Elite Scientists Sponsorship Program by China Association of Science and Technology (2018QNRC001), and Fundamental Research Funds for the Central Universities (2042021kf0065). The editor and reviewers are acknowledged.
Author information
Authors and Affiliations
Contributions
ZL and JG contributed to the initial idea; ZL assisted in coding, data analysis, and draft prepared; JG was involved in the data analysis; JG and QZ performed the manuscript review and revision.
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
The GPS Toolbox is a topical collection dedicated to highlighting algorithms and source code utilized by GNSS engineers and scientists. If you have a program or software package you would like to share with our readers, please submit a paper to the GPS Toolbox collection or email ngs.gps.toolbox@noaa.gov for more information. To download source code from this or any GPS Toolbox paper visit our website at http://geodesy.noaa.gov/gps-toolbox.
Supplementary Information
Below is the link to the electronic supplementary material.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
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
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-023-01528-z