This repository contains a modified version of GTSAM, which has been modified for GNSS data processing. A detailed description of the modification made 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