MyNixOS website logo
Description

Analyze the Impact of Sensor Error Modelling on Navigation Performance.

Implements the framework presented in Cucci, D. A., Voirol, L., Khaghani, M. and Guerrier, S. (2023) <doi:10.1109/TIM.2023.3267360> which allows to analyze the impact of sensor error modeling on the performance of integrated navigation (sensor fusion) based on inertial measurement unit (IMU), Global Positioning System (GPS), and barometer data. The framework relies on Monte Carlo simulations in which a Vanilla Extended Kalman filter is coupled with realistic and user-configurable noise generation mechanisms to recover a reference trajectory from noisy measurements. The evaluation of several statistical metrics of the solution, aggregated over hundreds of simulated realizations, provides reasonable estimates of the expected performances of the system in real-world conditions.

Licence minimal Rversion

🛰️ navigation Overview

The navigationR 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 $=\pm \pi/2$. This limitation may be resolved in future using other attitude parameterizations such as quaternions.

Installation Instructions

The navigation package is currently only available on GitHub.

Furthermore, the package is currently in an early development phase. Some functions are stable and some are still in development. Moreover, the GitHub version is subject to modifications/updates which may lead to installation problems or broken functions.

You can install the latest version of the navigation package with:

# Install devtools package if not already installed
if (!require("devtools")) {
  install.packages("devtools")
}

# Install package from GitHub
devtools::install_github('https://github.com/SMAC-Group/navigation')

External R libraries

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.

Usage

Find detailled usage instructions, examples and the user's manual at the package website.

License

This source code is released under is the GNU AFFERO GENERAL PUBLIC LICENSE (AGPL) v3.0.

References

D. A. Cucci, L. Voirol, M. Khaghani and S. Guerrier, "On Performance Evaluation of Inertial Navigation Systems: the Case of Stochastic Calibration," in IEEE Transactions on Instrumentation and Measurement, doi: 10.1109/TIM.2023.3267360.

Metadata

Version

0.0.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows