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
- Boost -->
sudo apt-get install libboost-all-dev
- CMake -->
sudo apt-get install cmake
- Intel TBB -->
sudo apt-get install libtbb-dev
- Intel MKL
- RobustGNSS -->
git clone https://github.com/wvu-navLab/RobustGNSS.git
cd RobustGNSS/gtsam;
mkdir build;
cd build;
cmake ..
make
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
For a complete list of available options, run the command provided below.
./gnssExamples/l2Example -h