Dynamic Models
The dynamic model tells the u-blox receiver what kind of motion to expect. It affects the navigation filter — choosing the right model improves position accuracy and fix stability.
| Value | C++ | C | Python | Max Altitude | Max Speed | Description |
|---|---|---|---|---|---|---|
| 0 | Portable | JP_GNSS_DYNAMIC_MODEL_PORTABLE | PORTABLE | 12 km | 310 m/s | General purpose, no assumptions about motion |
| 2 | Stationary | JP_GNSS_DYNAMIC_MODEL_STATIONARY | STATIONARY | 9 km | 10 m/s | Fixed position — tightest filter, best accuracy |
| 3 | Pedestrian | JP_GNSS_DYNAMIC_MODEL_PEDESTRIAN | PEDESTRIAN | 9 km | 30 m/s | Walking speed |
| 4 | Automotive | JP_GNSS_DYNAMIC_MODEL_AUTOMOTIVE | AUTOMOTIVE | 5.5 km | 100 m/s | Cars, trucks |
| 5 | Sea | JP_GNSS_DYNAMIC_MODEL_SEA | SEA | 500 m | 25 m/s | Marine — low altitude, low dynamics |
| 6 | Airborne1G | JP_GNSS_DYNAMIC_MODEL_AIRBORNE_1G | AIRBORNE_1G | 50 km | 100 m/s | Low-dynamics airborne (balloon, glider) |
| 7 | Airborne2G | JP_GNSS_DYNAMIC_MODEL_AIRBORNE_2G | AIRBORNE_2G | 50 km | 250 m/s | Medium-dynamics airborne |
| 8 | Airborne4G | JP_GNSS_DYNAMIC_MODEL_AIRBORNE_4G | AIRBORNE_4G | 50 km | 500 m/s | High-dynamics airborne (rocket, fast UAV) |
| 9 | Wrist | JP_GNSS_DYNAMIC_MODEL_WRIST | WRIST | 9 km | 30 m/s | Wrist-worn device — accounts for arm swing |
| 10 | Bike | JP_GNSS_DYNAMIC_MODEL_BIKE | BIKE | 9 km | 50 m/s | Bicycle |
| 11 | Mower | JP_GNSS_DYNAMIC_MODEL_MOWER | MOWER | 9 km | 10 m/s | Robotic lawn mower — low speed, tight turns |
| 12 | Escooter | JP_GNSS_DYNAMIC_MODEL_ESCOOTER | ESCOOTER | 9 km | 30 m/s | Electric scooter |
config.dynamicModel = EDynamicModel::Automotive;
config.dynamic_model = JP_GNSS_DYNAMIC_MODEL_AUTOMOTIVE;
config['dynamic_model'] = gnsshat.DynamicModel.AUTOMOTIVE
NoteChoosing the Right Model — When in doubt, usePortable— it works in all scenarios but provides less filtering. For fixed installations (base stations, time servers), useStationaryfor the tightest position filter.