The navigation
R
package allows to analyze the
impact of sensor error modeling on performance of integrated navigation
(sensor fusion) based on IMU, GPS (generally speaking, GNSS), and
barometer data. The package allows for one of the two major tasks:
-
Sensor model evaluation: The user shall provide a reference trajectory, along which the navigation performance is being evaluated using different sensor error models. Perfect sensor data along that reference trajectory are generated, and then corrupted by sensor error coming from either simulation based on the error models provided by user, or directly from user input (option to be added). Integrated navigation is then performed, whit a separately provided error model to be used within the Extended Kalman Filter (EKF). The user can easily introduce GPS outage periods, and there is a growing number of tools to visualize and summarize the results.
-
Integrated navigation (sensor fusion) As a natural by-product of the first main application, integrated navigation is also available to users. Providing only the sensor data and the sensor error model to be used within the navigation filter, the user is able to perform integrated navigation using the package and also benefit from a subset of visualization tools.
Caution A flat non-rotating Earth model is assumed throughout the
package. We consider this not to be of major impact on sensor model
evaluation, as the main contributor there are match/mismatch between the
additive sensor errors and the provided error models to the navigation
filter. For absolute navigation results though, is long distances and
high speeds are involved, such simplifications start to have measurable
impact on results. Also, attitude parameterization is done via Euler
angles at the moment, bringing their interinsic limitations, such as the
singularity at pitch
The navigation
package is available on both CRAN and GitHub. The CRAN
version is considered stable while the GitHub version is subject to
modifications/updates which may lead to installation problems or broken
functions. Note that the navigation
package is currently in an early development phase. The user-available functions are stable while additional functions are still in development.
You can install the stable version of the navigation
package
with:
install.packages("navigation")
For users who are interested in having the latest developments, the
GitHub version is ideal although more dependencies are required to run a
stable version of the package. Most importantly, users must have a
(C++
) compiler installed on their machine that is compatible with R
(e.g. Clang
).
# Install dependencies
install.packages(c("devtools"))
# Install/Update the package from GitHub
devtools::install_github("SMAC-Group/navigation")
# Install the package with Vignettes/User Guides
devtools::install_github("SMAC-Group/navigation", build_vignettes = TRUE)
The navigation
package relies on a limited number of external libraries, but notably on Rcpp
and RcppArmadillo
which require a C++
compiler for installation, such as for example gcc
.
Find detailed usage instructions, examples and the user's manual at the package website.
This source code is released under is the GNU AFFERO GENERAL PUBLIC LICENSE (AGPL) v3.0.