GPS-INS is a robust, unit tested C++ implementation of a GPS-Aided Inertial Navigation system designed for use in Geodetic applications. The application runs three threads in parallel, one performing inertial measurement error compensation, one running high-rate strapdown integration and one running a Kalman Filter which fuses external measurements and estimates errors in the navigation solution.
- C++ 11 (or greater)
- ROS2
- CMake (3.22.0 or greater)
- Eigen (3.3 or greater)
- GoogleTest
- NavFuse: https://github.com/ParkerBarrett959/NavFuse
- nlohmann JSON
mkdir build
cd build
cmake ..
make
Prior to running the GPS-INS executable, you must edit the system configuration files to match your build paths on your current system. Two changes are needed.
- In GPS-INS/config/master_config.json, set the "config_path" field to the path of the GPS-INS/config directory on your local machine
- In GPS-INS/test/testData/master_config_unit_test.json, set the "config_path" field to the path of the GPS-INS/test/testData directory on your local machine
./GpsInsNavigation </path/to>/GPS-INS/config/master_config.json
./test_gps_ins