User Guide Overview

Welcome to the Strapdown-rs User Guide! This section provides comprehensive information on using the library and simulation tools.

What You'll Learn

This guide covers:

  1. Core Concepts: Understanding strapdown INS, coordinate frames, and state representation
  2. Running Simulations: How to use the strapdown-sim binary
  3. Data Formats: Preparing and formatting your input data
  4. Configuration: Setting up simulations with TOML config files
  5. Logging and Debugging: Monitoring simulation progress

Quick Navigation

For Beginners

If you're new to strapdown INS or this library:

  1. Start with Core Concepts to understand the fundamentals
  2. Learn about Coordinate Frames used in the library
  3. Review State Representation to understand the 9-state and 15-state models
  4. Try the Quick Start tutorial

For Experienced Users

If you're familiar with INS and want to jump in:

  1. Check Input Data Format to prepare your data
  2. Review Configuration Files for advanced options
  3. Explore Running Simulations for different modes
  4. See Logging for debugging and monitoring

Simulation Modes

Strapdown-rs supports three main simulation modes:

Dead Reckoning (dr)

Pure inertial navigation without corrections. Useful for:

  • Understanding INS error growth
  • Baseline comparisons
  • Testing IMU data quality

Note that dead reckoning is dr, not ol. The ol subcommand is a separate feed-forward mode -- its own help describes a Kalman filter estimating and applying corrections, so it consumes GNSS and is not "without corrections" -- and it is not implemented: it validates its paths, writes no output and prints "Open-loop mode is not yet fully implemented".

See: Open-Loop Mode

Closed-Loop (Kalman Filtering)

INS with GNSS corrections using the ESKF (the default), UKF or EKF, selected with --filter. Best for:

  • Realistic navigation scenarios
  • GNSS degradation studies
  • Production-like simulations

See: Closed-Loop Mode

Particle Filter

Non-parametric Bayesian filtering for non-Gaussian distributions. Useful for:

  • Multimodal uncertainty
  • Highly nonlinear scenarios
  • Research applications

See: Particle Filter Mode

The library provides multiple filter implementations:

  • Error-State Kalman Filter (ESKF): multiplicative attitude error. The default for cl.
  • Extended Kalman Filter (EKF): Fast, efficient, works well for mildly nonlinear systems
  • Unscented Kalman Filter (UKF): Better accuracy for nonlinear systems, 2-3x slower
  • Rao-Blackwellized Particle Filter (RBPF): Canciani & Raquet's marginalized particle filter -- horizontal position as particles; altitude, velocity, tilt, the barometer loop's two states and the map biases as a Kalman filter shared by every particle. See the RBPF page. The only particle filter implementation -- ParticleFilterType has this one variant, and particle.rs is a module of building blocks rather than a filter that can be selected on its own

Learn more: Navigation Filters

State Models

9-State Model

The basic navigation-only model:

  • Position: latitude, longitude, altitude
  • Velocity: north, east, down
  • Attitude: roll, pitch, yaw

15-State Model

Extended model with IMU bias estimation:

  • 9 navigation states (as above)
  • Accelerometer biases: 3 states
  • Gyroscope biases: 3 states

The 15-state model provides better long-term accuracy by estimating and correcting sensor biases.

Typical Workflow

  1. Collect or prepare IMU/GNSS data in CSV format
  2. Create a configuration file specifying simulation parameters
  3. Run the simulation using strapdown-sim
  4. Analyze results from the output CSV
  5. Iterate by adjusting parameters as needed

Common Use Cases

Research and Development

  • Testing new navigation algorithms
  • Comparing filter performance
  • Studying error characteristics
  • Publishing research results

Education

  • Teaching INS fundamentals
  • Demonstrating sensor fusion
  • Illustrating error sources
  • Hands-on learning

System Development

  • Prototyping navigation systems
  • Evaluating sensor requirements
  • Testing GNSS-denied scenarios
  • Performance benchmarking

Getting Help

Next Steps

Choose your path: