|
1 | 1 | # Rtk in GSS |
2 | | -This project contains the open source codes for the paper "Global RTK Positioning in Graphical State Space". |
3 | | -This paper has been presented at ION GNSS+ 2022. |
4 | | -Here is the preprint version. https://arxiv.org/abs/2208.12923. |
| 2 | + |
| 3 | +This project contains the open source codes for the papers "[[Real-time Kinematic Positioning Algorithm in Graphical State Space](https://www.ion.org/publications/abstract.cfm?articleID=18676)]()" and "[[Global RTK Positioning in Graphical State Space](https://www.ion.org/publications/abstract.cfm?articleID=18519)]()". |
| 4 | +The two papers have been presented at ITM 2023 and ION GNSS+ 2022. |
| 5 | +If you use this code for your research, please cite our papers. |
| 6 | + |
| 7 | +Ge, Yihong, Yan, Sudan, Lü, Shaolin, Li, Cong, "Global RTK Positioning in Graphical State Space," Proceedings of the 35th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2022), Denver, Colorado, September 2022, pp. 2767-2776.[https://doi.org/10.33012/2022.18519](https://doi.org/10.33012/2022.18519) |
| 8 | + |
| 9 | +Yan, Sudan, Lü, Shaolin, Liu, Gang, Zhan, Yiding, Lou, Jianan, Zhang, Rong, "Real-time Kinematic Positioning Algorithm in Graphical State Space," Proceedings of the 2023 International Technical Meeting of The Institute of Navigation, Long Beach, California, January 2023, pp. 637-648.[https://doi.org/10.33012/2023.18676](https://doi.org/10.33012/2023.18676) |
| 10 | + |
5 | 11 | The library was built in Ubuntu 16.04. |
6 | | -The results may be different for different OS. If any problem was found by you, please propose an issue or report to |
7 | | -4050627@qq.com. The rtk part was modified from RTKlib to C++ style. |
| 12 | +The results may be different for different OS. If any problem was found by you, please propose an issue or report it to 4050627@qq.com. The RTK part was modified from RTKlib to C++ style. |
8 | 13 |
|
9 | | -## How to use this project |
10 | | -### 1)Required |
11 | | -- CMake --> sudo apt-get install cmake |
12 | 14 |
|
13 | | -- Boost --> sudo apt-get install libboost-all-dev |
14 | 15 |
|
15 | | -- Eigen --> sudo apt-get install libeigen3-dev |
| 16 | +This code realizes RTK in Graphical State Space in sliding window graph and global graph. It consists of the following factors: |
| 17 | + |
| 18 | +* Priori Factor for the fixed-solution position and double-difference ambiguities. |
| 19 | + |
| 20 | +* Double-difference carrier wave measurement factor. |
| 21 | + |
| 22 | +* Double-difference pseudo-range measurement factor. |
| 23 | + |
| 24 | +* Single difference Doppler frequency measurement factor. |
| 25 | + |
| 26 | +* State prediction factor for the dynamic state vector |
16 | 27 |
|
17 | | - sudo cp -r /usr/local/include/eigen3 /usr/include |
| 28 | +<img title="" src="fig/nRTK_factor.png" alt="" style="zoom:80%;" data-align="left"> |
18 | 29 |
|
19 | | -- Intel TBB (optional)->sudo apt-get install libtbb-dev |
| 30 | +# How to use this project |
20 | 31 |
|
21 | | -- [gtsam](https://github.com/borglab/gtsam) --> git clone https://github.com/borglab/gtsam.git |
| 32 | +### 1)Required |
| 33 | + |
| 34 | +* CMake --> sudo apt-get install cmake |
| 35 | + |
| 36 | +* Boost --> sudo apt-get install libboost-all-dev |
| 37 | + |
| 38 | +* Eigen --> sudo apt-get install libeigen3-dev sudo cp -r /usr/local/include/eigen3 /usr/include |
| 39 | + |
| 40 | +* Intel TBB (optional)->sudo apt-get install libtbb-dev |
22 | 41 |
|
23 | | - and Install gtsam |
| 42 | +* [gtsam](https://github.com/borglab/gtsam) --> git clone https://github.com/borglab/gtsam.git and Install gtsam, gtsam 3.2.3 |
24 | 43 |
|
25 | | -- [IntelMkl](https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html)(optional) |
| 44 | +* [IntelMkl](https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html)(optional) |
26 | 45 |
|
27 | 46 | ### 2)Clone repository to local machine |
28 | | -- RTKinGSS -->git clone https://github.com/shaolinbit/RTKinGSS |
| 47 | + |
| 48 | +* RTKinGSS -->git clone https://github.com/shaolinbit/RTKinGSS |
29 | 49 |
|
30 | 50 | ### 3)Build |
31 | | - cd RTKinGSS |
32 | | - |
33 | | - mkdir build && cd build |
34 | 51 |
|
35 | | - cmake .. |
| 52 | +```bash |
| 53 | +cd RTKinGSS |
| 54 | + |
| 55 | +mkdir build && cd build |
| 56 | + |
| 57 | +cmake .. |
36 | 58 |
|
37 | | - make |
| 59 | +make |
| 60 | +``` |
38 | 61 |
|
39 | 62 | ### 4)Test |
40 | 63 |
|
41 | | - cd .. |
| 64 | +```bash |
| 65 | +cd ../bin |
| 66 | + |
| 67 | +./Rtkpost_gtsam |
| 68 | +``` |
| 69 | + |
| 70 | +The test data file is in the data file folder. |
| 71 | + |
| 72 | +There will be a test result under the path declared through object ```GSS_sildwin_result_file```. |
| 73 | + |
| 74 | +```cpp |
| 75 | +GSS_slidwin_result_file="../data/Project 200602/gtsam_GSS_sildwin_result_elmask_15.txt"; |
| 76 | +GSS_global_result_file="../data/Project 200602/gtsam_GSS_global_result_elmask_15.txt"; |
| 77 | +rtklib_ekf_result_file="../data/Project 200602/gtsam_rtklib_ekf_result_elmask_15.txt"; |
| 78 | +``` |
| 79 | + |
| 80 | +If you want to run your data, change the file path in ```RTKpost()``` |
| 81 | + |
| 82 | +Input file (RINEX): |
| 83 | + |
| 84 | +- rover_path: observation file path of rover station. |
| 85 | + |
| 86 | +- base_path: observation file path of base station. |
| 87 | + |
| 88 | +- nav_path: navigation file path. |
| 89 | + |
| 90 | +Output file (txt): |
| 91 | + |
| 92 | +- GSS_sildwin_result_file: sliding window GSS factor graph result output in this path. |
| 93 | + |
| 94 | +- GSS_global_result_file: global window GSS factor graph result output in this path. |
| 95 | + |
| 96 | +- rtklib_ekf_result_file: EKF result output in this path. |
| 97 | + |
| 98 | +If you want to calculate the global factor graph, change the ```int flag_global``` to 1, which is declared in the file ```global.cpp``` |
| 99 | + |
| 100 | +If you want to change the sliding window size, change ```int slidwin_size``` which is declared in the file ```global.cpp``` |
| 101 | + |
| 102 | +Change the ```opt_gnss_mutifreq.conf``` file in folder ./rtk you can choose the satellite system and frequency you want, and set other options. |
| 103 | + |
| 104 | + |
| 105 | + |
| 106 | +### 5)sample data result |
| 107 | + |
| 108 | +There are two sample data under the folder test_data_result. The sliding window size is 10 epochs and the elevation mask is 15 deg. |
| 109 | + |
| 110 | +#### result of 200602 |
| 111 | + |
| 112 | +<img src="fig/200602_H.png" title="" alt="" style="zoom:50%;"><img title="" src="fig/200602_BL.png" alt="" style="zoom:67%;"><img src="fig/200602_BL_1.png" title="" alt="" style="zoom:67%;"><img src="fig/200602_H_1.png" title="" alt="" style="zoom:50%;"><img src="fig/200602_H_2.png" title="" alt="" style="zoom:50%;"> |
42 | 113 |
|
43 | | - cd bin |
| 114 | +#### result of 170707 |
44 | 115 |
|
45 | | - ./Rtk_gtsam |
| 116 | +<img src="fig/170707_H.png" title="" alt="" style="zoom:50%;"><img src="fig/170707_H_1.png" title="" alt="" style="zoom:50%;"><img src="fig/170707_H_2.png" title="" alt="" style="zoom:50%;"> |
46 | 117 |
|
47 | | - The test data file is in the data file folder. |
48 | | - |
49 | | - There will be a test result named "graph_result_dd.txt" in the data/output file folder. |
| 118 | +<img src="fig/170707_BL.png" title="" alt="" style="zoom:50%;"> |
0 commit comments