Expand description
Simulation utilities and CSV data loading for strapdown inertial navigation.
This module provides tools for simulating and evaluating strapdown inertial navigation systems.
It is primarily designed to work with data produced from the Sensor Logger
app, as such it makes assumptions about the data format and structure that that corresponds to
how that app records data. That data is typically stored in CSV format and is represented by the
TestDataRecord
struct. This struct is fairly comprehensive and should be easily reusable for
other applications. Modeling off of that struct is the NavigationResult
struct which is used
to store navigation solutions from simulations, such as dead reckoning or Kalman filtering.
This module also provides basic functionality for analyzing canonical strapdown inertial navigation
systems via the dead_reckoning
and closed_loop
functions. The closed_loop
function in particular
can also be used to simulate various types of GNSS-denied scenarios, such as intermittent, degraded,
or intermittent and degraded GNSS via the measurement models provided in this module. You can install
the programs that execute this generic simulation by installing the binary via cargo install strapdown-rs
.
Modules§
Structs§
- NEDCovariance
- Struct representing the covariance diagonal of a navigation solution in NED coordinates.
- Navigation
Result - Generic result struct for navigation simulations.
- Test
Data Record - Struct representing a single row of test data from the CSV file.
Functions§
- closed_
loop - Closed-loop GPS-aided inertial navigation simulation.
- dead_
reckoning - Run dead reckoning or “open-loop” simulation using test data.
- initialize_
ukf - Helper function to initialize a UKF for closed-loop mode.
- print_
ukf - Print the UKF state and covariance for debugging purposes.