Synthetic GPS
This page records how IMU-GPS-ESKF turns the loaded pose stream into the synthetic GPS stream used by startup and update.
Output type
The generated stream consists of GpsSample records. Each record stores:
- the kept pose timestamp
- a noisy horizontal position measurement in the global frame
Only x and y are kept.
Sampling rule
The generator walks the loaded pose stream in timestamp order.
- the first pose sample is always kept
- each later pose sample is kept only after at least
100 mshave elapsed since the last kept sample
The output timestamp is copied from the kept pose sample.
Noise model
Each kept pose sample becomes one noisy horizontal position measurement.
The generator adds independent zero-mean Gaussian noise to x and y.
It uses:
sigma = 2.0 m- default seed
1234 - environment variable override
IMU_GPS_ESKF_GPS_SEED
So for a fixed pose stream, the generated GPS stream is deterministic across runs for a fixed seed.
Role in the app
The generated GPS stream is used twice:
- startup uses the early samples to form the initial handoff state
- the live filter uses the remaining samples for 2D GPS updates