Skip to content

wvu-navLab/RobustGNSS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

RobustGNSS


Please see https://github.com/wvu-navLab/ICE for an updated implementation of the robust estimators presented in this repo as well as a new robust estimators titled Incremental Covariance Estmation (ICE).


This repository contains a modified version of GTSAM, which has been updated for GNSS signal processing. To enable RINEX file reading and GNSS observation modeling, the GPSTk library is utilized. A detailed description of the modification can be found in "Robust Navigation In GNSS Degraded Environment Using Graph Optimization". This software has been cleared for public release by the USAF Case # 88ABW-2017-3893

For information on incorporating carrier-phase observations, please see "Evaluation of Kinematic Precise Point Positioning Convergence with an Incremental Graph Optimizer". The software released with this paper can be found here: https://github.com/wvu-navLab/PPP-BayesTree.



If you utilize this software for an academic purpose, please consider using the following citation:

@article{watson2018robust,
        title={Robust navigation in GNSS degraded environment using graph optimization},
        author={Watson, Ryan M and Gross, Jason N},
        journal={arXiv preprint arXiv:1806.08899},
        year={2018}
}


## How to Install

1) Requirements/Recommendations

Required

  • Boost --> sudo apt-get install libboost-all-dev
  • CMake --> sudo apt-get install cmake

Recommended

  • Intel TBB --> sudo apt-get install libtbb-dev
  • Intel MKL

2) Clone repository to local machine

  • RobustGNSS --> git clone https://github.com/wvu-navLab/RobustGNSS.git

3) Build

cd RobustGNSS/gtsam; 
mkdir build;  
cd build;
cmake ..
make

4) Test

Contained within the RobustGNSS/gtsam/gnssExamples directory are several examples. As an initial test, let's run the non-robust optimization script. First, move into the GTSAM build directory.

cd RobustGNSS/gtsam/build 

Next, the RINEX file saved in the RobustGNSS/gtsam/gnssData directory must be converted to a format readable by GTSAM. ( It should be noted that GTSAM only looks for data files in the RobustGNSS/gtsam/gnssData directory, so all new data files must be stored there. )

./gnssExamples/rnx2Gtsam --obs dec12.16o --sp3 dec12.sp3 > ../gnssData/dec12.gtsam 

Now, we can run the optimization script over the newly generated data file.

./gnssExamples/l2Example -i dec12.gtsam --dir test1 --writeENU  

Finally, we can look at the ground trace of the solution,

cd test1;
gnuplot 
plot 'enu.sol' using 2:3 with points

fg error

For a complete list of available options, run the command provided below.

./gnssExamples/l2Example -h