Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Вы когда-нибудь задумывались, почему данные о пробеге автомобиля по спутниковому мониторингу ГЛОНАСС и по одометру отличаются? Казалось бы, цифры должны совпадать, но на деле разница может достигать десятков километров. Откуда она берётся, как её минимизировать и какие подводные камни скрываются в этой системе?

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Мы не просто изучили этот вопрос – мы глубоко погрузились в проблему, проанализировали реальные кейсы, протестировали разные методы расчёта и выяснили, что влияет на расхождения в показаниях. Готовы к разбору без лишней воды и с конкретными выводами? Тогда поехали!

Часть 1. Введение

Если кратко, то ни одометр на приборной панели, ни показания спутниковой навигации никогда не будут идеально точно отображать реальный пробег автомобиля. На этом можно было бы поставить точку, но задача измерения пробега автомобиля является важной не только для личного использования, но и для транспортных компаний и предприятий с автопарками, которые ведут учет эксплуатационных показателей своей техники. Пробег является одним из главных показателей состояния автомобиля, определяющий регламент проведения технического обслуживания, замену расходных материалов и запчастей, а также управление затратами на предприятии. В действительности для большинства этих задач корректнее использовать моточасы двигателя, но эта тема выходит за рамки данной статьи.

В настоящее время существует два основных метода измерения пробега автомобиля: механический или электронный одометры и системы спутниковой навигации, такие как GPS и ГЛОНАСС. Одометр — это традиционный прибор, который фиксирует пройденное расстояние автомобиля с помощью датчиков вращения колес или трансмиссии. Однако его точность зависит от множества факторов, таких как размер шин, давление в них и возможные нарушения в конструкции автомобиля. В то же время спутниковые системы навигации (ГНСС) предлагают альтернативный способ измерения пробега, который позволяет определить местоположение автомобиля и вычислить пройденное расстояние по данным его координат.

На первый взгляд, кажется, что навигация и одометр должны давать идентичные показания, но на практике постоянно возникают расхождения между этими методами. Эти расхождения могут варьироваться от незначительных до существенных в зависимости от условий эксплуатации автомобиля, плотности застройки, рельефа местности и технических характеристик навигационного оборудования. Например, в условиях горного рельефа или плотной городской застройки GPS-сигнал может теряться или получать многократные отражения от зданий, что приводит к ошибкам в показаниях. Одометр же, в свою очередь, зависит от технического состояния автомобиля, в частности от износа шин, и может завышать или занижать пройденное расстояние.

Цель цикла статей — рассмотреть причины расхождений между пробегом, зафиксированным одометром и данными спутниковых систем, а также предложить методы корректировки данных для повышения точности измерений. Мы также обсудим, как комбинация одометрических и навигационных данных может быть полезна для более точного контроля пробега, что имеет ключевое значение для повышения эффективности эксплуатации автопарка, улучшения контроля затрат и планирования технического обслуживания.

Механизм работы одометра

Пробег по одометру в автомобиле рассчитывается на основе данных о вращении колес или вращении в трансмиссии, которые фиксируются датчиками. Методы расчета пробега по одометру делятся на механические и электронные.

В механических одометрах расчет пробега осуществляется за счет соединения колес автомобиля с прибором через систему шестеренок и валов. При каждом обороте колеса передается определенное количество оборотов на шестерни одометра. Так как размер колеса известен, можно подсчитать пройденное расстояние, умножив количество оборотов на длину окружности колеса. Этот метод использовался в старых моделях автомобилей и практически не применяется в современных системах из-за ограниченной точности и надежности. Сейчас механические одометры можно встретить, например, у любителей велоезды.

Рисунок 1.1. Механический одометр для велосипеда.
Рисунок 1.1. Механический одометр для велосипеда.

В современных автомобилях пробег фиксируется с помощью датчика скорости, установленного на трансмиссии или приводных валах. Этот датчик, как правило, использует магнитный принцип и подсчитывает количество оборотов. Затем данные передаются в электронный блок управления (ЭБУ), где умножаются на длину окружности колеса для вычисления пробега.

В некоторых автомобилях пробег рассчитывается на основе данных от системы ABS (антиблокировочной системы), в которой на каждом колесе установлены датчики скорости вращения. Эти данные передаются в ЭБУ, который определяет общее пройденное расстояние. Использование данных от всех колес помогает компенсировать погрешности при движении по криволинейным участкам дороги или при пробуксовке колес, что особенно важно для автомобилей с полным приводом.

В качестве примера можно привести автомобиль Toyota Celica 7-го поколения, которые выпускались с 1999 по 2006 годы. Даже в рамках одной модели для разных рынков использовали различные способы фиксации скорости и пробега. Для машин внутреннего японского рынка (JDM, от англ. Japanese Domestic Market) использовались датчики ABS на передней ведущей оси, а для машин европейского рынка использовался датчик скорости в трансмиссии.

Рисунок 1.2. Пример датчика ABS автомобилей Toyota (слева). Пример трансмиссионного датчика скорости автомобилей Toyota.
Рисунок 1.2. Пример датчика ABS автомобилей Toyota (слева). Пример трансмиссионного датчика скорости автомобилей Toyota.

Основные причины погрешности:

1. Износ шин. С износом радиус колеса уменьшается, что влияет на точность одометра. Поэтому необходимо следить за состоянием шин автомобиля и вовремя их обновлять. Для контроля технических работ коммерческих автомобилей в платформе управления автопарком Waliot присутствует модуль технического обслуживания.

2. Изменение давления в шинах. Снижение давления увеличивает контактную площадь колеса, что может влиять на точность измерений. Платформа Waliot предлагает готовое решение для контроля давления в шинах в реальном времени с автоматическими уведомлениями водителю и диспетчеру.

3. Изменение размера колес при замене. Если установить шины и/или диски другого диаметра, данные одометра могут искажаться, поскольку система не учитывает размерные изменения без перекалибровки. Хотя это изменение может казаться незначительным, на современных автомобилях производители могут включать калибровочные коэффициенты для учета износа шин или установки колес другого размера.

Разберем пример на той же Toyota Celica. В официальном руководстве по эксплуатации автомобиля устанавливаемые с завода шины и диски были 205/55R15, где 205 - это ширина шины в мм, 55 - это отношение высоты профиля шины к ее ширине в процентах, а 15 - это диаметр диска в дюймах. Давайте посчитаем высоту боковины шины: 205 мм * 0.55 = 112.75 мм. И теперь диаметр всего колеса как сумма диаметра самого диска (его переводим из дюймов в миллиметры) плюс две высоты боковины: 15 * 25.4 + 2 * 112.75 = 606.5 мм. И наконец мы можем посчитать длину окружности такого колеса: 3.14159 * 606.5 = 1905 мм. Таким образом за один оборот штатных колес на этой машине одометр будет прибавлять 1.905 метра пробега.


Дополнительно в том же руководстве автомобиля есть допустимые к установке размеры шин и дисков. Самый большой из них 225/35R18. Посчитаем длину окружности колеса по аналогичным формулам. Высота боковины: 225 * 0.35 = 78.75 мм. Диаметр всего колеса: 18 * 25.4 + 2 * 78.75 = 614.7 мм. И пройденный путь за один оборот колеса: 3.14159 * 614.7 = 1931 мм. Получается, что при установке максимально допустимых по размеру колес одометр начинает занижать пробег на (1931 - 1905 ) / 1905 = 0.014 = 1.4% или 14 метров на 1 км пути. Здесь мы учитывали “идеальные колеса в вакууме”. На практике, если колеса будут еще и спущенные и изношенные, появится дополнительная погрешность в работе одометра. И это погрешность при разнице в диаметрах колес всего 614.7 - 606.5 = 8.2 мм!

Рисунок 1.3. Можно только догадываться, что будет на одометре :)
Рисунок 1.3. Можно только догадываться, что будет на одометре :)

Таким образом, пробег по одометру — это расчет, основанный на количестве оборотов колес (или вала), умноженным на длину окружности, с поправкой на факторы, которые могут повлиять на точность расчета.

Как работает спутниковая навигация?

Системы спутниковой навигации, такие как ГЛОНАСС (Россия) и GPS (США), работают на основе сигналов, отправляемых со спутников, которые находятся на орбите Земли. Основной принцип их работы заключается в определении текущего местоположения объекта с помощью данных от нескольких спутников, что позволяет рассчитывать координаты и перемещение в реальном времени.

Вот как работают эти системы и их особенности для расчета пробега автомобиля.

1. Спутниковая сеть. Спутники GPS и ГЛОНАСС движутся по стабильным орбитам и посылают на Землю радиосигналы, которые содержат данные о времени и координатах спутника.

Рисунок 1.4. Конфигурация спутниковых орбит систем ГЛОНАСС и GPS
Рисунок 1.4. Конфигурация спутниковых орбит систем ГЛОНАСС и GPS

2. Принцип триангуляции. Навигационное устройство в автомобиле принимает сигналы от нескольких спутников одновременно. Сравнивая время отправки сигнала со временем его получения, устройство определяет расстояние до каждого спутника.

Рисунок 1.5. Решение навигационной задачи как общей области пересечения всех сфер.
Рисунок 1.5. Решение навигационной задачи как общей области пересечения всех сфер.

3. Расчет координат. На основе полученных данных устройство рассчитывает точные координаты своего местоположения. Этот процесс может повторяться несколько раз в секунду, что позволяет отслеживать перемещения и изменения направления автомобиля.

Рисунок 1.6. Полярные и географические системы координат.
Рисунок 1.6. Полярные и географические системы координат.

4. Расчет пробега. Система навигации определяет пробег, суммируя пройденное расстояние между последовательными координатами, что позволяет получить общую длину маршрута.

Особенности использования спутниковой навигации для расчета пробега:

1. Зависимость от окружающих условий. В открытых пространствах системы GPS и ГЛОНАСС дают высокую точность определения координат, что позволяет получить достаточно точные данные о пройденном расстоянии. В условиях плотной застройки, в туннелях, под мостами или в лесах сигнал может быть ослаблен или отсутствовать вовсе, что приводит к потере данных или ошибкам в их интерпретации. В городских условиях сигнал может отражаться от зданий, что создает эффект «многолучевости» — ситуации, когда сигнал от одного спутника поступает в навигационное устройство по нескольким путям с разной задержкой. Это приводит к ошибкам в расчете координат и искажает пробег.

Рисунок 1.7. Схематичное изображение многолучевости в городской среде.
Рисунок 1.7. Схематичное изображение многолучевости в городской среде.

2. Качество аппаратной и программной частей ГНСС-приемника. Навигационные устройства часто используют алгоритмы сглаживания, чтобы улучшить качество данных при слабом сигнале. Это может привести к небольшим искажениям, особенно на поворотах или при резких изменениях направления. В большинстве потребительских GPS-устройств частота обновления составляет от 1 до 10 измерений в секунду. При высоких скоростях или резких изменениях траектории точность расчета может снижаться, поскольку данные обновляются не мгновенно. Чем более высококачественный GPS/ГЛОНАСС-приемник, тем меньше вероятность ошибок. Однако многие навигационные системы автомобилей используют приемники средней точности, что также может вносить искажения в пробег.

Рисунок 1.8. GPS/GLONASS приёмник v1 (Troyka-модуль).
Рисунок 1.8. GPS/GLONASS приёмник v1 (Troyka-модуль).

Таким образом, спутниковые системы дают высокую точность, но зависят от окружающих условий и качества самого оборудования. При этом спутниковые системы не требуют калибровки в зависимости от размера колес, их износа или давления в шинах.

Реальный пробег автомобиля

С одометрическим и спутниковым пробегами разобрались. Но что же такое реальный пробег автомобиля? Технически, пробег автомобиля — это расстояние, которое проходит его центр масс. Именно движение центра масс автомобиля минимально подвержено отклонениям от реального пройденного пути, тогда как пробег отдельных колес может значительно отличаться. Центр масс автомобиля находится где-то посередине его конструкции и описывает траекторию, вокруг которой вращаются все элементы автомобиля. Этот показатель пробега является наиболее точным, так как измеряется как расстояние, пройденное по дороге и не зависит от поворотов и пробуксовок колес.

Рисунок 1.9. Определение координат центра масс и статических нагрузок на оси КамАЗ 65201.
Рисунок 1.9. Определение координат центра масс и статических нагрузок на оси КамАЗ 65201.

Отличия пробега отдельных колес от пробега центра масс:

1. На поворотах внешние колеса проходят большее расстояние, чем внутренние. Например, при повороте направо правые (внутренние) колеса пройдут меньшее расстояние, чем левые (внешние). Радиус поворота для внешних и внутренних колес будет отличаться, так что, в зависимости от интенсивности поворотов и траектории, разница в пробеге колес может накапливаться.

2. Пробуксовка и проскальзывание. При резком ускорении или торможении передние и задние колеса могут пробуксовывать или скользить. Это приводит к тому, что одно или несколько колес проходят большее расстояние. В условиях бездорожья пробуксовка может существенно увеличивать пробег, особенно у ведущих колес, что не отражает реальный путь, пройденный автомобилем.

3. Дифференциал и независимая подвеска. Система дифференциала позволяет колесам вращаться с разной скоростью на поворотах, что особенно важно для полного привода. Это помогает снижать износ шин и повышает проходимость автомобиля, но приводит к разнице в пробеге между колесами на каждой оси. Системы ABS и ESP используют показания датчиков скорости каждого колеса и независимо применяют тормозные усилия на каждое из них.

Рисунок 1.10. Пути колес при повороте.
Рисунок 1.10. Пути колес при повороте.

Насколько могут отличаться пробеги? В реальных условиях разница может составлять от нескольких процентов до нескольких десятков процентов в зависимости от стиля вождения и условий эксплуатации. При длительных поездках по прямой (например, на шоссе) пробеги колес будут очень близки к пробегу центра масс. В условиях городского движения, с частыми поворотами и остановками, особенно на небольших радиусах, пробег колес относительно центра масс может отличаться на несколько километров за поездку в зависимости от того, какие маневры выполняются чаще.

Теоретическая оценка погрешности

Расхождения между одометром и спутниковой навигацией действительно зависят от множества факторов, и их масштаб варьируется в зависимости от условий эксплуатации автомобиля. Ниже теоретическая оценка для двух разных случаев (седельный автопоезд на трассе и легковой автомобиль в городе) на основе личного опыта, который во многом совпадает с общепринятым мнение на эту тему.

Для крупногабаритных автомобилей, движущихся по трассе на высокой скорости с относительно стабильной траекторией, расхождения между одометром и GPS/ГЛОНАСС обычно минимальны. На ровной трассе при стабильном давлении в шинах и минимальных поворотах одометр может дать погрешность около 0,5-1% из-за износа шин и возможных изменений в их диаметре (например, при увеличении нагрузки). На 100 км это составит 0,5-1 км расхождения. Для спутниковых систем на открытой трассе погрешность также низкая, обычно не превышает 1%. На маршруте без многократных изгибов и пересечений погрешность составит примерно 0,5-1 км на 100 км. Однако временные потери сигнала, например, при проезде под мостами или через туннели, могут временно вносить дополнительные колебания, но они сглаживаются на длинной дистанции. В итоге общие расхождения в показаниях между одометром и GPS/ГЛОНАСС на 100 км могут составить до 1-2 км в сумме. Это менее 2%, что можно считать несущественным для целей учета пробега на трассовых маршрутах.

Городские условия существенно увеличивают погрешности как у одометра, так и у GPS, из-за частых поворотов, ускорений, торможений и возможных проскальзываний колес. При частых поворотах (например, на сложных перекрестках или развязках) внутренние и внешние колеса проходят разное расстояние. Это приводит к дополнительной погрешности, которая может достигать 1-3% на 100 км, что составляет 1-3 км расхождения. В условиях города GPS-сигнал часто отражается от зданий, а в плотной застройке и под деревьями возникают эффекты многолучевости. Системы навигации могут терять сигнал и восполнять пробелы сглаживанием данных, что тоже добавляет погрешность. В городе погрешность может доходить до 3-5% на 100 км, то есть до 5 км расхождения, особенно если автомобиль часто оказывается в зонах с плохим сигналом. В итоге для легкового автомобиля в городе совокупные расхождения на 100 км между одометром и ГНСС могут составить до 5-8 км.

Получается, что в условиях трассы расхождения будут минимальны и редко превысят 1-2%, что можно считать допустимым. В условиях города, особенно на коротких участках и при частых остановках, погрешности могут достигать 5-8%, что является более значительным отклонением. Дополнительно для южной и юго-западной частей России обязательно стоит учитывать применение радиоэлектронной борьбы (РЭБ) и глушение спутникового сигнала, которые накладывают существенную погрешность в работу ГНСС в этих зонах.

Методика расчета реальной погрешности

На своей практике я сталкивался с компаниями, которые просили доказательств погрешности штатного одометра и точности работы спутниковой навигации. Чаще всего это были вопросы от бухгалтерии, требующей путевые листы и платежные ведомости с идеальными значениями как на "приборке" без каких-либо отклонений. В качестве доказательства можно предложить простой эксперимент, который покажет различия между показаниями одометра, ГЛОНАСС и реальным пройденным расстоянием.

Рисунок 1.11. Дорожный знак 6.13 - километровый знак.
Рисунок 1.11. Дорожный знак 6.13 - километровый знак.

1. Экспериментальный маршрут

Выберите маршрут длиной 10-20 км для городской поездки и аналогичный для трассовой поездки, чтобы сравнить влияние разных условий. В городских условиях маршрут должен включать несколько поворотов, остановок и различных скоростных режимов (пробки, светофоры и свободные улицы). В случае трассы выберите ровный, прямой участок с минимальными перекрытиями. Тестовый маршрут должен быть максимально близок к реальным условиям эксплуатации ТС.

2. Сбор данных

Запишите начальные и конечные показания одометра и/или используйте возможность расчета пробега текущей поездки (функция "Trip"). Это покажет пробег, рассчитанный внутренней системой автомобиля. Включите навигационное устройство, чтобы оно фиксировало данные о движении и отправляло их на телематических сервер системы мониторинга транспорта (СМТ). Убедись, что устройство корректно установлено и настроено, а также хорошо ловит спутниковый сигнал.

3. Измерение реального расстояния

Используйте спутниковую карту высокого разрешения или специализированные приложения (например, Яндекс.Карты с ручной разметкой маршрута). Проведите маршрут на карте и измерьте его расстояние вручную, используя точные географические точки старта и финиша. Дополнительно можно использовать километровые указатели (столбы) на трассе, но стоит учитывать, что точность таких указателей обычно находится в пределах погрешности от 0,1 до 0,5%.

4. Расчет погрешности

После завершения эксперимента и сбора всех данных рассчитайте процентную погрешность для каждого способа измерения пробега относительно измеренного маршрута:

* Погрешность одометра = (Пробег по одометру - Реальное расстояние) / Реальное расстояние * 100%

* Погрешность ГЛОНАСС = (Пробег по ГЛОНАСС - Реальное расстояние) / Реальное расстояние * 100%

Эти расчеты дадут четкую картину того, как сильно данные одометра и ГЛОНАСС отличаются от реального пройденного расстояния в городских и трассовых условиях. Получение таких практических данных наглядно покажет различия между одометром и навигацией и их зависимости от условий движения.

При проведении некоторого количества таких точечных замеров, мы будем понемногу приближаться примерно к тем же цифрам погрешностей, которые указывались ранее в этой статье и считаются общепринятыми. Но для большинства таких доказательств недостаточно, и я могу с этим согласиться! Поэтому в следующей части мы перейдем к анализу на реальных данных из платформы управления автопарком Валиот.

Часть 2. Датасет

Разовый расчет конкретного случая расхождения одометра и пробега по спутникам - это хороший аргумент в диалоге с Клиентом в рамках оказания услуг по мониторингу транспорта. Но провести сотни или хотя бы десятки таких экспериментов проблематично, как минимум, потому, что техника предназначена для целевого использования, а не экспериментов в рамках деловых отношений.

Поэтому попробуем провести исследование на обезличенных данных с реальных транспортных средств южной инфраструктурной геозоны платформы управления автопарками Waliot. Юг выбран по нескольким причинам: во-первых, это самый крупный кластер Waliot по количеству собственных объектов мониторинга и соответственно телеметрии, во-вторых, здесь мы сможем оценить влияние РЭБ и дорог с серьезным перепадом высот (перевалы и серпантины).

Для того, чтобы оценить погрешность пробега по одометру и ГНСС, нам потребуется телеметрия с автомобилей, которые передают эти данные в СМТ. Пробег по спутникам можно рассчитать на основе данных от навигационного оборудования. А вот со значением одометра сложнее, так как получение данных штатного одометра автомобиля требует обращения к бортовой электронике автомобиля.

Пробег по спутникам

Транспортная телематика с точки зрения данных это хранилище телеметрии в виде временных рядов с привязкой к конкретному объекту мониторинга и времени фиксации данных об этом объекте. Любое навигационное устройство, включая автомобильный трекер, можно разделить на следующие компоненты:

  • Микроконтроллер с программой управления (прошивкой). Этот компонент отвечает за управление всеми остальными компонентами устройства и обеспечивает корректную работу оборудования.
  • GSM‑модуль со встроенной или выносной антенной. Практически все современные трекеры используют общедоступную сотовую связь (GPRS, 3G, LTE) для передачи данных по сети Интернет до телематического сервера. Поэтому транспортную телематику можно отнести к категории автомобильного Интернета вещей (Automotive IoT).
  • GPS‑модуль со встроенной или выносной антенной (‑ами). Качественные современные модули работают сразу с несколькими спутниковыми системами, такими как, американская GPS, российская ГЛОНАСС, европейская Galileo и китайская Beidou. Это позволяет использовать данные из разных навигационных систем, чтобы улучшить итоговый результат определения местоположения.
  • «Черный ящик» — внутренняя память как временный буфер для хранения телеметрии до успешной отправки данных на телематический сервер. Чаще всего это обычная FLASH память, распаянная прямо на плате, или слот под MicroSD карту. Буфер накапливает телеметрию, пока нет сотовой связи, и как только объект попадает в зону действия сети мобильного оператора — данные отправляются в систему мониторинга.
  • Внешние интерфейсы для подключения дополнительных датчиков. Помимо сбора GPS-данных автомобильные трекеры также рассчитаны на сбор показаний со всевозможной периферии: датчики уровня топлива (ДУТ), температурные датчики, датчики угла наклона и многое другое.
Рисунок 2.1. Схема подключения к оборудованию СМАРТ S-243x.
Рисунок 2.1. Схема подключения к оборудованию СМАРТ S-243x.

Получается, что от автомобильного трекера по сети Интернет мы получаем телематические пакеты на сервер СМТ с GPS-данными (текущие координаты, скорость и направление движения, и техническая информация об условиях решения навигационной задачи) и опционально с показаниями дополнительных датчиков (напряжение на аналоговых входах, значение цифровых выходов, температурные показания и прочее), к которым как раз относится и CAN-шина.

Дополнительно хочется отметить, что оборудование от различных производителей работает по собственным коммуникационным протоколам. Чаще всего это бинарный протокол с передачей данных по TCP/IP. Есть и универсальные протоколы, например, протокол межсерверного взаимодействия EGTS (ГОСТ 33472-2015), который поддерживается большинством современных навигационных устройств сертифицированных для использования в России.

Радиоэлектронная борьба и глушение спутниковых сигналов

Рисунок 2.2. Спуфинг ГНСС.
Рисунок 2.2. Спуфинг ГНСС.

Радиоэлектронная борьба (РЭБ) и глушение сигналов навигационных спутников играют значительную роль в определении точности пробега, фиксируемого с помощью GPS/ГЛОНАСС, и могут существенно влиять на работу систем мониторинга транспорта.

Радиоэлектронная борьба — это комплекс мероприятий и технических средств, направленных на воздействие на радиосигналы и системы противника для достижения тактических и стратегических целей. Основная цель РЭБ в отношении навигационных систем заключается в нарушении или подавлении работы спутниковых сигналов. Это может включать:

  • Создание помех навигационным сигналам: установка глушащих устройств или объектов, затрудняющих получение сигнала.
  • Искажение навигационных данных: создание ложных координат, ведущих к дезориентации, что также называют спуфингом.
  • Создание зон с отсутствием сигнала: блокировка передачи сигнала GPS/ГЛОНАСС, создающая “провалы” в навигационных данных.

В условиях активного подавления спутникового сигнала GPS-приемники на транспортных средствах могут терять связь со спутниками, что приводит к скачкам и потерям в расчетах пройденного расстояния. Это сказывается на данных пробега, и реальное пройденное расстояние может отличаться от того, что зафиксировано системой.

В условиях многолучевости и при искажении сигнала возможно получение неправильных координат, из-за чего маршрут, пройденный автомобилем, может выглядеть на карте ломаным или срезанным (“размотка” и “полеты”), что приведет к завышению или занижению пробега. Например, сейчас в транспортном мониторинге остро стоит проблема спуфинга с подменой реальных координат на искусственные круговые траектории.

Рисунок 2.3. Устройство глушение сигнала GPS в разъем прикуривателя.
Рисунок 2.3. Устройство глушение сигнала GPS в разъем прикуривателя.

Для минимизации погрешностей и повышения точности расчета пробега в условиях возможного глушения можно применять фильтрацию и комбинирование данных. Использование алгоритмов, которые анализируют данные на аномалии и исключают «шумы», вызванные резкими скачками координат. Также стоит отметить, что современные автомобильные трекеры обладают функцией определения глушения GSM и GPS сигналов и передают эту информацию на телематический сервер, поэтому использование водителями китайских глушилок в прикуривателе обычно быстро обнаруживается.

Пробег по одометру

С пробегом по одометру проще с той точки зрения, что за нас его считает сам автомобиль, но возникает сложность с тем, чтобы получить это значение оборудованием и передать его на телематический сервер вместе с GPS-данными. Вот несколько основных методов, которые позволяют получить показания одометра:

  • Через OBD-II разъем. OBD-II (On-Board Diagnostics) — это стандартный диагностический разъем, которым оснащены практически все современные автомобили. С помощью OBD-II можно считывать множество параметров автомобиля, включая пробег, если этот параметр доступен через диагностическую систему. Подключается специальный телематический модуль, поддерживающий OBD-II, и через стандартные протоколы (например, ISO9141 и KWP2000) происходит запрос на получение данных одометра. Такие данные могут быть считаны в режиме реального времени и переданы на телематический сервер.
  • Через CAN-шину. CAN (Controller Area Network) — это внутренняя сеть автомобиля, через которую передаются данные от различных датчиков и систем, включая одометр. Телематический модуль подключается к CAN-шине и считывает сообщения, которые передают показания одометра. Обычно такие устройства должны быть запрограммированы для конкретных моделей автомобилей, чтобы корректно интерпретировать данные.
  • Через штатные телематические системы. Многие современные автомобили оснащены телематическими системами, такими как OnStar, Ford Sync или Mercedes Me, которые собирают данные о пробеге и других параметрах автомобиля. Телематические системы собирают данные напрямую из бортовой электроники автомобиля и передают их в облачные сервисы производителя. Некоторые системы позволяют интегрироваться с внешними приложениями через API, что может дать доступ к данным пробега.
Рисунок 2.4. GPS-трекер с подключением в штатный OBD-II разъем.
Рисунок 2.4. GPS-трекер с подключением в штатный OBD-II разъем.

Использование OBD-II или CAN-шины — это наиболее универсальные подходы для считывания данных одометра. Если требуется глубокая интеграция, стоит рассмотреть CAN-шину, особенно для крупных автопарков, где требуется полная автоматизация. Познакомиться с настройкой чтения CAN-шины на примере оборудования Навтелеком можно по ссылке.

Подготовка тестового набора данных

Подключение автомобильного трекера к CAN-шине является опцией при оказании услуг по мониторингу транспорта. Иногда бизнесу эти данные просто не нужны, или компания не готова дополнительно оплачивать подключение и настройку CAN-считывателя. К тому же в современной спецтехнике используется несколько независимых CAN-шин, к каждой из которых нужно подключаться отдельно. Бывают ситуации, когда возможности подключения к CAN-шине просто нет, т.к. для работы нужна специальная конфигурация CAN-считывателя, который слушая шину данных автомобиля, будет знать по какому сетевому адресу какие данные и в каком формате передаются. Встречаются и гарантийные условия, не позволяющие подключаться к CAN-шине, т.к. это может быть расценено как вмешательство в работу автомобиля.

Рисунок 2.5. Пример программируемого считывателя CAN-шины.
Рисунок 2.5. Пример программируемого считывателя CAN-шины.

Поэтому из всего множества объектов мониторинга нам следует отобрать только те, у которых настроен CAN-считыватель на получение данных о пробеге по одометру. При этом стоит учитывать тот факт, что дополнительная телеметрия от оборудования может поступать не в каждом тематическом пакете. Например, CAN-считыватель при отсутствии массы на автомобиле не может получать данные от CAN-шины, а также ему требуется некоторое время для старта чтения из шины после включения зажигания. Поэтому дополнительно посчитаем в какой доле всех пакетов для каждого объекта были данные по одометру - это может стать дополнительным фактором отбора нашего датасета.

Проанализируем всю телеметрию за 2024 год в базе данных Waliot на территории ЮФО. Посчитаем для каждого объекта мониторинга количество телематических записей всего и со значением пробега по одометру, а также посчитаем какой процент телематических записей трекера содержит показания одометра по CAN. Выполним соответствующий запрос на аналитической реплике основной базы данных и сохраним результат в файл CSV (идентификаторы и другие чувствительные данные заменены):

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

После выполнения запроса получаем файл can_mileage_counters_2024.csv на более чем 20 тысяч строк. Это объекты мониторинга, которые присылали хотя бы раз телеметрию в 2024 году.

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Посчитаем сколько трекеров прислали показания одометра по CAN-шине, хотя бы 1 раз:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Всего 669 трекеров. Это к слову о том, что подключение к CAN-шине сложный процесс и остается на усмотрение каждого Клиента как опциональной услуги по мониторингу транспорта. Но для анализа следует взять объекты, которые шлют показания одометра достаточно часто. Посмотрим на распределение объектов по частоте отправки данных с одометра к общему числу их телеметрии:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Отсюда можно сделать вывод, что если инженеры настраивают подключение к CAN-шине, то оно работает без проблем в большинстве случаев. А ТС, которые шлют одометр в телеметрии через раз, направлены в нашу техподдержку на проверку ;) Мы для своих целей возьмем объекты, которые присылают одометр более чем в 95% своих пакетов:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Теперь оценим общее количество записей для каждого из объектов в нашей итоговой выборке:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

На гистограмме видно, что бОльшая часть трекеров прислала менее 1 миллиона пакетов за 2024 год. Есть странный выброс за пределами 3.5 миллионов, который скорее всего указывает на нестандартную конфигурацию трекера или проблему с оборудованием - информация будет также передана техническому отделу.

Само собой при расчете отклонений пробегов мы будем рассчитывать среднюю ошибку по объектам, чтобы объект с бОльшим числом точек не вносил бОльший вклад в статистику по сравнению с более "экономными" по телеметрии трекерам. Но для чистоты эксперимента все же исключим объекты, которые шлют более 1 000 000 пакетов за год:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Таким образом мы получаем итоговый список замаскированных идентификаторов трекеров, с которыми будем работать:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Для выгрузки такого объема телеметрии напишем bash-скрипт, который выполним прямо на аналитической реплики в отдельной сессии терминала через утилиту screen:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Получаем итоговый файл can_mileage_telemetries_2024.csv на 194882659 строк и размером 16 Гб. Так как CSV это текстовый файл, он хорошо поддается сжатию. Используем gzip со стандартной степенью сжатия и получаем на выходе файл уже размером 3.8 Гб, который приятнее передавать по сети:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались
Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Разберемся с содержимым нашего датасета по столбцам CSV-файла:

  • tracker_id - искусственный идентификатор трекера
  • fix_time - время фиксации GPS данных в ISO 8601 формате
  • latitude - широта WGS84 в десятичном формате
  • longitude - долгота WGS84 в десятичном формате
  • altitude - высота над уровнем моря в метрах
  • speed - скорость движения в км/ч
  • course - направление движения в градусах (азимут)
  • valid - флаг валидности GPS-данных (определяется внутренними алгоритмами трекера)
  • satellites_count - количество видимых спутников при решении навигационной задачи
  • hdop - снижение точности в горизонтальной плоскости
  • can_total_mileage - общий пробег по одометру с CAN-шины

Данные в транспортной телематике можно разделить на 3 основные категории:

  • Бизнес-данные, которые связаны с предметной областью и чаще всего являются частью первичного ключа и/или критерием для поиска.
  • GPS-данные (fix_time, latitude, longitude, altitude, speed, course, valid, satellites_count, hdop), которые формируются на основе показаний GPS-модуля в трекере.
  • Данные с дополнительных датчиков. В нашем случае это только показания одометра с CAN-шины автомобиля. Сюда будут относится все данные с переферии (внешние подключения).

Пройдемся по полям и проанализируем каждое из них. Поле tracker_id - это идентификатор устройства, телеметрию которого мы изучаем, - думаю, тут все понятно. Комбинация полей fix_time, latitude, longitude и altitude являются результатами работы GPS-модуля в навигационном устройстве. Важно понимать, что ГНСС никак не участвуют в расчете скорости и направления движения, все это выполняется на стороне GPS-трекера, поэтому speed и course - это расчетные значения на стороне оборудования. Количество видимых спутников (satellites_count) и HDOP - вспомогательная информация, которая позволяет оценить точность GPS-данных. Флаг valid - это результат оценки валидности GPS-данных на стороне самого трекера, значение этого флага определяется внутренним алгоритмом, и зачастую параметры этого алгоритма можно настроить. Ну и can_total_mileage - это фактическое значение одометра в автомобиле, полученное через CAN-шину.

Так как изначально эта работа посвящена вопросу расхождения пробега по одометру и спутниковой навигации, т.е. про сравнение погрешностей в этих величинах, попробуем уже на этом этапе оценить датасет с точки зрения погрешностей.

Погрешность в поле tracker_id отсутствует, т.к. это идентификатор навигационного оборудования.

Рисунок 2.6. Автомобильный трекер Навтелеком СМАРТ S-2433
Рисунок 2.6. Автомобильный трекер Навтелеком СМАРТ S-2433

Поле fix_time - время фиксации GPS-данных. Точность времени в ГНСС это определяющий фактор точности, т.к. именно по дельте времени между отправкой и получением сигнала определяется расстояние от спутника до приемника. Все спутники оснащены атомным стандартом часов. Стабильность атомных часов порядка 10^-14, а значит погрешность в 1 секунду будет достигнута только спустя миллионы лет. Однако установка атомных часов в приемник пользователя невозможна из-за их невероятной дороговизны.

Поэтому в ГНСС-приемниках используется кварцевый генератор, стабильность которого составляет 10^-7, а погрешность 3-5 секунд в год. Чтобы это компенсировать в сервисных сообщениях спутниковых сигналов передаются параметры временнОго полинома, которые используются для привязки шкалы времени приемника к шкале спутниковой системы с точностью 20 нс (в приемниках геодезического класса).

В этой работе мы используем реальную телеметрию с автомобильных трекеров и никак не можем повлиять на погрешность GPS-приемников. Наша компания активно использует линейку навигационного оборудования Навтелеком СМАРТ S-24XX. В этом трекере в качестве универсального модуля GNSS/GSM/Bluetooth используется SimCom SIM868E, очень популярное комбинированное решение, которое идеально подходит для навигационного устройства.

Рисунок 2.7. Настройка алгоритма валидации для оборудования Навтелеком
Рисунок 2.7. Настройка алгоритма валидации для оборудования Навтелеком

Поля latitude, longitude и altitude мы получаем как результат решения навигационной задачи на основе данных от видимых спутников GPS, ГЛОНАСС и Beidou. Погрешность этих данных мы можем оценить через количество видимых спутников и значение снижения точности в горизонтальной плоскости.

Точность высоты над уровнем моря обычно значительно ниже, чем у показаний широты и долготы. Только по паспорту в идеальных условиях мы получаем ±5 метров погрешности у altitude, в реальности высота по ГНСС имеет значительно больших разброс.

В 3 части попробуем проанализировать показания высот над уровнем моря в нашем датасете и оценить влияние учета высоты в расчетах пробега в транспортной телематике.

Часть 3. Высота над уровнем моря

Мы с вами живем в трехмерном мире и не можем игнорировать третью компоненту координат в пространстве. Но в мониторинге транспорта исторически так сложилось, что высота зачастую игнорируется. Возможно, это наследие от мореплавателей, откуда и зародилась навигация, которым высота над уровнем моря казалась неизменной константой ;) У нас в системе до сих пор есть трекеры-"долгожители", которые шлют свою скорость в морских узлах.

Рисунок 3.1. Топографическая карта высот России
Рисунок 3.1. Топографическая карта высот России

Например, в экспертной статье от разработчиков СМТ Wialon про неверный пробег вообще не упоминается высота. При этом в разделе документации про основные счетчики указано, что высота все-таки учитывается, если ее разброс менее 500 (!) метров между телематическими сообщениями. На практике же зачастую учет высоты отключают из-за недостаточной точности его значения в данных от GPS-трекеров. В этой статье мы попробуем оценить разницу в пробеге с учетом высоты и без нее.

Рисунок 3.2. Барометрический альтиметр Barigo 25.
Рисунок 3.2. Барометрический альтиметр Barigo 25.

Высотомер или альтиметр - прибор, предназначенный для измерения высоты. По принципу устройства альтиметры делятся на:

  • Навигационные. Измеряют высоту на основе сигналов от спутниковых навигационных систем. Для определения высоты требуется сигнал минимум от четырёх спутников (в отличие от широты и долготы, для которых достаточно трёх). Высота рассчитывается относительно эллипсоида WGS 84 (математической модели Земли) на основе полученных координат и известных орбит спутников. Типичная погрешность высоты — ±10–20 метров в реальных условиях.
  • Барометрические. Основаны на измерении атмосферного давления, которое уменьшается с увеличением высоты. Барометрический датчик обеспечивает высокую точность для небольших изменений высоты (±1–5 м).
  • Гидростатические. Измеряют высоту под водой на основе давления, которое увеличивается с глубиной. Очень высокая точность для подводных измерений (до миллиметров).
  • Радиационные. Основаны на измерении времени, за которое сигнал (лазерный или радиоволновой) отражается от поверхности и возвращается к датчику. Очень высокая точность (до сантиметров).
  • Инерциальные. Используют акселерометры и гироскопы для расчёта изменений высоты на основе ускорений и положения объекта. Точность уменьшается при длительном использовании из-за накопления ошибок: ±1–10 м (с дрейфом инерциальных датчиков).

На практике чаще всего встречаются комбинированные альтиметры, которые используют несколько принципов для улучшения итогового результата. Примером могут стать смарт-часы, в которых используются спутниковая навигация с датчиком давления и инерциальным модулем (Inertial Measurement Unit, IMU), а также внутренние алгоритмы для программных поправок и фильтрации ошибок.

Рисунок 3.3. График высот с реального GPS-трекера.
Рисунок 3.3. График высот с реального GPS-трекера.

В автомобильных GPS-трекерах барометр практически не встречается, при этом в большинстве современных устройств присутствует акселлерометр, который используется для фильтрации "размотки" GPS-координат во время стоянок транспорта и для страховой телематики (контроль резких торможений, ускорений и поворотов). Поэтому для нашего датасета высота чаще всего является результатом комбинации ГНСС+IMU.

Рисунок 3.4. Инерциальный измерительный модуль SparkFun 9DoF Razor.
Рисунок 3.4. Инерциальный измерительный модуль SparkFun 9DoF Razor.

Как-то повлиять на точность высоты не представляется возможным, могу только рекомендовать выполнение "жесткого" монтажа навигационного блока к кузову автомобиля, чтобы он не болтался на стяжках притянутый к проводке 😀, что сильно снижает полезность встроенного акселлерометра.

Рисунок 3.5. Тестовый маршрут между Джубгой и Геленджиком.
Рисунок 3.5. Тестовый маршрут между Джубгой и Геленджиком.

В качестве тестового маршрута возьмем дорогу от Джубги до Геленджика (от 44.317889; 38.698616 до 44.616193; 38.023142), т.к. между ними находится Михайловский перевал. Если верить Яндекс.Картам, то будет несколько перепадов высот в диапазоне между 35 и 280 метрами над уровнем моря. Выглядит внушительно, но насколько это повлияет на пробег?

Рисунок 3.6. Перепад высот на тестовом маршруте.
Рисунок 3.6. Перепад высот на тестовом маршруте.

Чтобы с телеметрией было удобнее работать, локально запустим Docker контейнеры с PostgreSQL и PgAdmin:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Создадим таблицу с аналогичными CSV-файлу столбцами:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

И выгрузим в эту таблицу весь сжатый CSV-файл:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Теперь мы можем работать с данными более эффективно через РСУБД:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Мы работаем с геоданными и у нас PostgreSQL. Чего нам не хватает? Верно, PostGIS! В использованном Docker образе он уже предустановлен. И чтобы нам каждый раз не переводить широту и долготу в удобный для PostGIS формат, создадим еще один столбец нужного типа и пересчитаем его для всей телеметрии заранее:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Теперь мы можем выполнять любые встроенные функции PostGIS с алгоритмами ГИС. Например, мы прямо в PgAdmin можем нарисовать трек движения любого объекта за указанный интервал времени:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Отлично, песочница готова! Зачем мы все это делали в рамках изучения влияния учета высоты над уровнем моря в расчете пробега? Да чтобы не искать вручную из 600 объектов те, которые двигались хотя бы раз по нашему маршруту за весь 2024 год. Теперь мы можем очертить геозону вокруг нашего маршрута и найти все ТС, которые проезжали наш перевал.

Воспользуемся онлайн-сервисом geojson.io. Нарисуем в нем несложный полигон, который охватывает область нашего маршрута. Сервис позволяет экспортировать геоданные в формате WKT (Well-known text), который прекрасно “кушается” PostGIS:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Копируем текстовое представление геоданных WKT и, используя функцию PostGIS, получаем эту геозону в PgAdmin:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Теперь мы можем перебрать все треки объектов и найти те, которые пересекали нашу геозону на карте:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

В итоге получаем список из 79 объектов, которые хотя бы раз въезжали в геозону нашего маршрута. Возьмем первый из списка и посмотрит на трек его движения за весь 2024 год:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Визуально оценим качество его трека в горной местности на местных серпантинах:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Качество нас устраивает, поэтому попробуем на этом объекте выделить часть пути в нашей тестовой области и сравнить с пробегом по Яндекс.Картам, 2ГИС и Google Maps. Возьмем даже участок большей длины, от Горячего ключа до Кабардинки (от 44.64181; 39.116113 до 44.639624; 37.984756).

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Какую же длину маршрута показывает популярные картографические провайдеры:

  • Яндекс.Карты: 134 км в интерфейсе, 133 941 метра в ответе запроса.
  • 2ГИС: 134 км в интерфейсе, 133 668 метра в ответе запроса.
  • Google Maps: 134 км в интерфейсе, 133 868 метра в ответе запроса.

В итоге пользователь в любом из предложенных сервисов увидит 134 километра, но если посмотреть на метры, то получаем неплохой разброс: 133 941, 133 668 и 133 868 метров соответственно. Также стоит знать, что Google Maps и 2ГИС используют для картографической подложки проекцию на сфероиде (EPSG:3857), а Яндекс.Карты - на эллипсоиде (EPSG:3395). При этом у нас нет никакой информации, какие алгоритмы для расчета длины маршрута используют эту сервисы. Я даже не смог найти однозначного ответа на вопрос: учитывают ли они высоту в расчетах… Но, скорее всего, нет.

Программный расчет пробега в PostGIS

Расширение для PostgreSQL для работы с геоданными PostGIS де факто является стандартом для ГИС баз данных.

Давайте посмотрим документацию основной функции для расчета расстояний ST_Distance. Перевод части документации: “Для типа geography по умолчанию возвращается минимальное геодезическое расстояние между двумя объектами в метрах, вычисляемое на сфероиде, определенном SRID. Если use_spheroid имеет значение false, используется более быстрый расчет на сфере.” Высота в официальной документации главного метода расчета расстояний даже не упоминается, к тому же сам тип geography не поддерживает высоту как параметр, исключительно широту и долготу.

Но в PostGIS есть функция ST_3DDistance, которая как раз использует 3-ю компоненту координаты, т.е. высоту над уровнем моря, но эта функция не работает с типом geography, а только с geometry, т.е. функция ST_3DDistance возвращает минимальное трехмерное декартово расстояние между двумя геометриями в проекционных единицах (SRID).

Давайте попробуем найти длинный подъем или спуск на Михайловском перевале из нашего тестового маршрута и оценить разницу в расстоянии с учетом высоты и без. Идеально подошел подъем по прямой длиной ровно 2 км (от 44.414019; 38.503813 до 44.428520; 38.488916). Высота меняется от 26 до 39 метров с несколькими перепадами (на скриншоте ниже под картой график высоты):

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались
Почему показания ГЛОНАСС и одометра различаются? Мы разобрались
Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Интересный результат. При расчете с помощью специального типа geography стандартной функцией ST_Distance по сфероиду получаем 1999.91 метров, в более быстром и менее точном варианте этой функции по сфере получаем 2000.97 метров. При этом расчет с учетом высоты через функцию ST_3DDistance с переводом в локальную систему координат EPSG:32637 (WGS 84 / UTM zone 37N) дает 2000.25 метров. Это означает, что разница между значениями менее 0.01%, т.е. на 100 км пути мы получаем расхождение в 10 метров.

Стоит также учитывать, что для расчета в PostGIS с учетом высоты мы должны знать эту высоту в каждой точке трека. Показания высот от GPS-трекеров имеют погрешность даже в идеальных условиях. А если использовать готовую карту высот и получать ее по широте и долготе? Это дополнительная вычислительная сложность, которая скажется на общей производительности системы. Сюда еще следует добавить, что для корректного расчета расстояния функцией ST_3DDistance нужно использовать локальную систему координат для каждой точки, иначе погрешность будет внушительной, и это также увеличивает вычислительную сложность. А теперь вспомним, что у нас сотни тысяч точек трека в год только от одного объекта мониторинга.

Я думаю, сказанное выше объясняет, почему в транспортной телематике практически не встречаются ГИС-системы, которые обязательно учитывают высоту в пробегах. Чтобы "добить" эту тему, посмотрим на очень грубый аргумент из геометрии:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Если представить, что плоскоземельщики правы, то на 100 км пути при равномерном подъеме на 1000 метров, мы получаем лишь 5 метров погрешности.

Осталось только посмотреть на высоты в нашем датасете. Для начала узнаем какие объекты имеют показания высот и сколько их относительно общего числа телеметрии, т.к. не все трекеры присылают эти значения в своих коммуникационных протоколах:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

566 объектов из датасета хотя бы раз присылали показания высоты. Давайте посмотрим распределение количества показаний высот к общему числу телеметрии каждого объекта:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Гистограмма очень похожа на, что мы получили для CAN показаний одометра. Используем такой же порог в 95%. Возьмем объект с большим числом телеметрии, у которого в каждой точке были показания высоты и посмотрим на график высот:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Чтобы понять масштаб разброса высот, посмотрим на стандартные величины из функции describe у DataFrame. Стандартное отклонение значения высоты равно 25-ти метрам. При этом у нас есть несколько выбросов, которые наверняка связаны с РЭБ:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Построим трек на карте с градиентом по высоте:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Выберем часть маршрута случайным образом в небольшом промежутке времени и попробуем сравнить значения высот по GPS-данным и из общедоступных топографических карт.

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались
Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Теперь загрузим высоты для каждой точки трека по широте и долготе из какого-нибудь онлайн ГИС-сервиса, например, Open-Elevation API. Стоит учитывать, что ГИС системы также имеют ограниченную точность. Например, данные SRTM Data (Shuttle Radar Topography Mission), которые используются в Open-Elevation API, предоставляют высоты с точностью примерно ±10 метров на ровной местности и ±15–20 метров в сложных ландшафтах.

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Попробуем теперь проанализировать высоту над уровнем моря, полученных из разных источников: по ГНСС и из ГИС. Получаем следующие результаты:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

В среднем один из источников занижает высоту на 9.16 метров относительно другого. В некоторых точках данные из двух источников отличаются более чем на 15 метров. При этом данные имеют слабую линейную зависимость между источниками, т.к. расчет этих значений имеет разную природу. Получается, что использование высоты по GPS или из доступных ГИС данных может гарантировать точность значений в диапазоне ±20 метров. Такая погрешность не позволяет использовать высоту в расчетах пробега, учитывая все ранее сказанное, и к тому же шумы в GPS-высоте будут “накручивать” ошибочный пробег при движении транспорта по ровным участкам.

На графиках также наблюдаются 4 интересных участка, где показаний высот из ГИС становится постоянными, а показания ГНСС проваливаются вниз и поднимаются обратно. Давайте возьмем первый из этого участка и рассмотрим его подробнее:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались
Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

То есть данные ГИС утверждают, что высота там не изменяется, а ГНСС фиксирует перепад высоты с 80 до 160 метров на небольшом отрезке пути. Давайте взглянем на ландшафт в Google Earth, где я специально расставил маркеры с указанием высоты в каждой точке из базы Google:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

А также посмотрим на топографическую карту высот в этой местности. Существенных перепадов высот в черте города не наблюдается:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

Можно сделать вывод, что показания высот из ГИС базы более достоверны, чем по спутниковой навигации. Это связано с тем, что ГИС база имеет ограниченную точность, но ее погрешность укладываются в известный интервал, а вот точность высоты над уровнем моря по ГЛОНАСС может значительно отклоняться от действительной высоты. При этом VDOP (Vertical DOP), т.е. снижение точности в вертикальной плоскости по аналогии с HDOP для широты и долготы, отсутствует в коммуникационных протоколах практически всех известных мне автомобильных трекеров.

Возьмем бОльшую выборку телеметрии для анализа разницы высот по ГИС и GPS, чтобы убедиться в своих гипотезах. Возьмем 1 миллион случайных координат из нашего датасета и посмотрим, что получится:

Почему показания ГЛОНАСС и одометра различаются? Мы разобрались

На большем объеме корреляция выросла, а отклонения снизились, что и следовало ожидать. На такой серьезной выборке видно, что ГИС высоты выигрывают хотя бы в том, что нет “неадекватных” выбросов и значительно меньше шумов.

Из всего вышесказанного можно сделать следующие выводы:

  • точности высот по ГИС и ГНСС далеки от идеальных (в лучшем случае ±5 метров);
  • высота по ГИС стабильнее за счет хранения в виде фиксированного датасета и отсутствия проблем, имеющихся у рассчитываемых в реальном времени спутниковых данных;
  • высоту по ГНСС использовать можно в случаях, когда не требуется высокая точность и нежелателен рост вычислительной сложности, т.к. высота по спутникам уже доступна в телеметрии объектов мониторинга;
  • если использовать высоту по ГИС и/или ГНСС в расчетах пробега, то вычислительная сложность возрастает и добавляется дополнительная погрешность самих данных о высоте в каждой точке.

Высота влияет на итоговой пробег транспортного средства, но это влияние игнорируется в связи с его незначительностью и сложностью получения достоверной высоты в каждой точке трека для корректного расчета пройденного расстояния. Это оправданный компромисс, в котором на данный момент перевешивает чаша весов под названием “Игнорируем высоту над уровнем моря в транспортной телематике”.

Вот такую грандиозную работу проделал наш технический отдел под руководством Ивана Муратова!


🔥 Как вам? Уже мозг закипел от всей этой информации? 😅


Давайте не будем перегружаться и разделим этот анализ на два документа. Сразу видно, что настолько глубоко в эту тему ещё никто не нырял, несмотря на то, что системы спутникового мониторинга транспорта существуют уже не одно десятилетие.


Так что оставайтесь с нами – дальше будет ещё интереснее!

Если вы не устали от всей этой информации и готовы продолжать, то поздравляем – вы настоящий исследователь! 🔍🚀

Добро пожаловать во второй раздел, где начинается самое интересное. Готовы? Тогда вперёд!

1
Начать дискуссию