NavFuse is a robust, unit tested C++ library for navigation and sensor fusion applications. The library contains fully tested Kalman Filtering and other state estimation/sensor fusion algorithm classes. It also features a variety of strapdown inertial navigation functionality and commonly used navigation utility functions including gravity models, attitude representations and rotations.
mkdir build
cd build
cmake ..
make
./test_nav_fuse
NavFuse requires external data, primary time-varying earth orientation parameters to effectively compute rotations. The earth orientation parameters can be downloaded and used as follows:
For an example of what the csv file should look like, the file titled "EOP-Last5Years.csv" in the "test/testData" directory is a good reference. This file may be outdated at the time you are reading this, but it is used for unit testing. For an example reference of how to call the public "getEops()" function, see the usage in unit tests here: https://github.com/ParkerBarrett959/NavFuse/blob/main/test/RotationsTest.cpp#L421
Note: NavFuse looks for the EOP file specified at runtime - you do not need to rebuild if you change files or did not follow these instructions during the initial build, as long as the file location does not change.