ParkerBarrett959 / NavFuse

General navigation software library for sensor fusion.
MIT License
6 stars 2 forks source link
inertial kalmanfilter navfuse navigation sensorfusion

image

A Robust Navigation and Sensor Fusion C++ Library

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.

AutomatedTests Actions Status

Dependencies

Build

mkdir build
cd build
cmake ..
make

Run Unit Tests

./test_nav_fuse

External Data

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.