Розпізнати фальшивий сигнал GPS — половина справи. Друга половина — відповісти на справжнє питання водія: то де я?
Що авто знає про себе
- Швидкість — з датчиків самого авто через дешевий Bluetooth-адаптер OBD-II. Набагато краще, ніж будь-яка здогадка телефона.
- Повороти — з гіроскопа телефона, якщо він надійно стоїть у тримачі.
- Дороги — авто їздить дорогами. Офлайн-граф доріг України каже, куди можна, а куди ні.
- Маршрут — якщо ви ведете маршрут, найімовірніше, ви ним і їдете.
- Мережа — вежі й Wi-Fi дають грубу позицію (±100 м, раз на 20–40 с), яка не дає відпливти.
Сотні здогадок
KeepNav тримає кількасот гіпотез — «частинок» — того, де авто і куди воно дивиться. З кожним показом швидкості кожна зсувається на швидкість OBD і повертає на кут гіроскопа, з невеликим шумом. Частинки, що з'їхали з дороги, повернули там, де немає вулиці, чи відпливли від маршруту й мережевих точок, втрачають вагу; сильні розмножуються. Хмара, що лишилася, — це позиція, а її розкид — точність, яку ви бачите в статусі.
Калібрування на справжньому
Спідометр OBD зазвичай помиляється на кілька відсотків, а кожен гіроскоп дрейфує. Тож поки GPS справжній, KeepNav непомітно міряє обидва: поправка швидкості — близько хвилини, дрейф гіроскопа — дві-чотири хвилини міської їзди. Поправка OBD запам'ятовується для кожного авто. Раз на п'ять хвилин застосунок ще й вдає, що втратив GPS на 1,5 км, і звіряє свою сліпу оцінку з реальністю — у справжніх поїздках ця самоперевірка дає 2–29 м похибки на кілометр.
Цифри
| Ситуація | Типово | 10 % найгірших |
|---|---|---|
| GPS зник посеред поїздки, 10–12 хв, OBD | 10–40 м | ~100 м |
| Старт у зоні підміни, OBD | 50–100 м | місцями 300–500 м |
| Пішки, кроки + компас | 14–19 м | ~100 м |
| Авто без OBD (лише мережа) | ~150 м | більше |
За записаними поїздками Києвом, програними 5–10 разів без GPS і звіреними зі справжньою траєкторією. Одне авто, один телефон: бета, а не лабораторія.
Що найважче
- Перша хвилина після стоянки. Авто ще не рушило, тож ніщо не каже, куди воно повернуте. Ми пробували компас — в авто він не допоміг. Оцінка встановлюється після перших поворотів.
- Розв'язки й мости. Пласка мапа не знає, яка дорога згори; оцінка може перескочити на міст чи проскочити петлю.
- Надто охоче перебудовування маршруту. Перевірка, розрахована на GPS, перебудовувала маршрут, щойно позиція відходила від нього на 40 м, — звична річ для одометра. Кожен новий маршрут збивав оцінку. Тепер без GPS KeepNav перебудовує маршрут лише після явного з'їзду на 250 м упродовж пів хвилини, а маркер тим часом тримається маршруту.
А коли ви знаєте краще
Інколи найпростіший датчик — водій. Довго натисніть на мапу й виберіть «Я тут» або просто скажіть «я на розі Сумської і Пушкінської»: оцінка перезапуститься від вашого слова — на вашому маршруті, якщо ви його ведете.