dead_reckoning

Function dead_reckoning 

Source
pub fn dead_reckoning(records: &[TestDataRecord]) -> Vec<NavigationResult>
Expand description

Run dead reckoning or “open-loop” simulation using test data.

This function processes a sequence of sensor records through a StrapdownState, using the “forward” method to propagate the state based on IMU measurements. It initializes the StrapdownState with position, velocity, and attitude from the first record, and then applies the IMU measurements from subsequent records. It does not record the errors or confidence values, as this is a simple dead reckoning simulation and in testing these values would be used as a baseline for comparison. Keep in mind that this toolbox is designed for the local level frame of reference and the forward mechanization is typically only valid at lower latitude (e.g. < 60 degrees) and at low altitudes (e.g. < 1000m). With that, remember that dead reckoning is subject to drift and errors accumulate over time relative to the quality of the IMU data. Poor quality IMU data (e.g. MEMS grade IMUs) will lead to significant drift very quickly which may cause this function to produce unrealistic results, hang, or crash.

§Arguments

  • records - Vector of test data records containing IMU measurements and other sensor data

§Returns

  • Vec<NavigationResult> containing the sequence of StrapdownState instances over time, along with timestamps and time differences.