Локализовать нельзя ошибиться. Как работает локализация в автономном транспорте и почему это — самая сложная задача. 1-2. автономная логистика.. автономная логистика. автономный транспорт.. автономная логистика. автономный транспорт. Блог компании Evocargo.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения. искусственный интеллект.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения. искусственный интеллект. компьютерное зрение.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения. искусственный интеллект. компьютерное зрение. машинное.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения. искусственный интеллект. компьютерное зрение. машинное. Машинное обучение.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения. искусственный интеллект. компьютерное зрение. машинное. Машинное обучение. робототехника.. автономная логистика. автономный транспорт. Блог компании Evocargo. Будущее здесь. грузоперевозки. инженерные решения. искусственный интеллект. компьютерное зрение. машинное. Машинное обучение. робототехника. Транспорт.

Представьте, что вы находитесь за рулем автомобиля. Даже находясь на пустой дороге, в отсутствии других участников дорожного движения, вам необходимо постоянно “подруливать”, чтобы удержаться в полосе, притормаживать или останавливаться перед перекрестками и, наконец, поворачивать, останавливаться и парковаться. А теперь представьте, что все тоже самое вам необходимо делать с закрытыми глазами — примерно также “ощущает” себя автономный автомобиль без системы локализации.

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

Локализовать нельзя ошибиться. Как работает локализация в автономном транспорте и почему это — самая сложная задача. 1-2 - 1

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

TLDR:

Почему локализация считается одной из самых сложных и критически важных задач:

  • Ошибка в локализации напрямую приводит к ошибке в построении траектории;

  • Каждый источник данных обладает собственной нестабильностью и погрешностями;

  • Ошибка может проявляться не как шум, а как ложная уверенность системы — то есть неверная оценка собственной точности;

  • Задача локализации, как и все задачи автопилота,  требует непрерывного решения в режиме реального времени;

  • Условия эксплуатации меняются быстрее, чем успевают обновляться карты;

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

  1. Ошибка в локализации напрямую приводит к ошибке в построении траектории;

  2. Каждый источник данных обладает собственной нестабильностью и погрешностями;

  3. Ошибка может проявляться не как шум, а как ложная уверенность системы — то есть неверная оценка собственной точности;

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

  5. Условия эксплуатации меняются быстрее, чем успевают обновляться карты;

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


1. Что такое локализация?

Локализация — это способность системы ответить на три ключевых вопроса: 

1. где я нахожусь?

2. куда ориентирован?

3. с какой скоростью и в каком направлении двигаюсь?

Для человека ориентация в пространстве обычно не требует высокой точности. Достаточно примерно понимать своё положение: свериться с картой, наметить маршрут и дальше двигаться, ориентируясь на окружающие объекты — здания, вывески, деревья. Мы постоянно оцениваем расстояние до бордюра, проезжей части, стен домов, других пешеходов и интуитивно поддерживаем безопасную дистанцию. Нам не нужно знать свои координаты с точностью до сантиметра — достаточно уверенно различать «зону безопасности» и «зону непроходимости». Однако при внимательном рассмотрении становится ясно: относительное положение в окружающем пространстве человек всё же оценивает весьма точно. Мы хорошо чувствуем, сколько нас отделяет от края тротуара или стены здания, и редко оказываемся там, где физически не можем или не должны находиться. Эта способность поддерживать безопасную «зону вокруг себя» и есть практическое проявление локализации.

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

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

На объектах обстановка вокруг ВАТС весьма напряженная для систем локализации и восприятия: динамические объекты — погрузчики, грузовики, фуры, пешеходы —  и повторяющееся окружение — “бесконечные” одинаковые стены зданий, паллеты с грузом, контейнеры. 

На объектах обстановка вокруг ВАТС весьма напряженная для систем локализации и восприятия: динамические объекты — погрузчики, грузовики, фуры, пешеходы —  и повторяющееся окружение — “бесконечные” одинаковые стены зданий, паллеты с грузом, контейнеры. 

Ситуация становится особенно наглядной, если представить себя в незнакомой местности без ориентиров. Без карты и узнаваемых объектов человек быстро теряет уверенность в своём положении. Для беспилотного транспорта роль «знакомой среды» играют заранее созданные цифровые карты, а отдельные ориентиры сами по себе дают не больше информации об абсолютных координатах, чем несколько деревьев в тайге — человеку. Поэтому одних лишь карт и визуальных ориентиров недостаточно. Автономные системы используют комплекс сенсоров и алгоритмов, объединяющих данные от камер, лидаров, спутниковых навигационных приёмников и инерциальных датчиков. Причина проста: не существует идеальных измерительных приборов. Одни подвержены случайным смещениям, другие — переотражениям сигнала, третьи — накоплению ошибок. Кроме того, все вычисления должны выполняться в реальном времени. Если, например, спутниковый приёмник внезапно даст скачок координат на два метра, система управления, приняв его за достоверный, может начать резкую коррекцию траектории. Чтобы подобные ошибки не приводили к опасным последствиям, локализация должна не только оценивать положение, но и определять степень доверия к каждому источнику данных.

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

Чтобы понять, как работает локализация, разберем основные подходы простыми словами.

Одометрия (счисление пути): самый базовый метод. Машина считает обороты колес и, зная их диаметр, вычисляет пройденное расстояние. Проблема в том, что колеса могут буксовать или проскальзывать, что приводит к быстрому накоплению ошибки. Это тот самый “счетчик пробега” на приборной панели вашего автомобиля.

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

Обзорно-сравнительные методы: здесь в игру вступает карта. Это методы, основанные на сравнении реально наблюдаемой окружающей местности (или некоторого физического процесса, например, характеристики магнитного поля) и её изображения на карте, заложенной в памяти бортового компьютера. Проще говоря, машина постоянно задает вопрос: “На что я сейчас смотрю?” или “Что я сейчас измеряю?” и ищет этот вид в своей карте. Найдя совпадение, она знает свое место. Это “узнавание одинокого дерева в тумане”.

 Inside-Out vs. Outside-In подходы (это классификация по тому, где находятся сенсоры):

a. Inside-Out (англ. изнутри-наружу): все датчики установлены на самом транспортном средстве. Это камеры, лидары, гироскопы и акселерометры. Система сама “наблюдает” мир и вычисляет свое положение. Такой подход не требует развёртывания внешней инфраструктуры, что существенно ускоряет внедрение, упрощает масштабирование и расширяет область применения с точки зрения бизнеса. Однако платой за это, как правило, становится не столько рост вычислительной нагрузки, сколько зависимость от качества сенсоров и условий окружающей среды: в ряде случаев это может приводить к снижению точности и надёжности локализации по сравнению с инфраструктурными решениями; 

b. Outside-In (англ. снаружи-вовнутрь): предполагает наличие внешней инфраструктуры. Часть датчиков устанавливается на транспортном средстве, а часть — на окружающих объектах (например, на столбах или зданиях). Эти внешние системы отслеживают движение транспорта и передают ему информацию о его положении. Такой подход способен обеспечивать очень высокую точность и стабильность, но требует значительных затрат на развертывание и поддержку инфраструктуры, что ограничивает его масштабируемость.

На практике в автономном транспорте почти всегда используется гибридный Inside-Out подход, где машина сама отвечает за свою локализацию, но может дополнять ее данными извне: напр. V2X — Vehicle to Everything (англ. от Автомобиль, подключенный ко всему), V2V — Vehicle to Vehicle (англАвтомобиль-Автомобиль). Стоит сказать, что мы эксплуатируем ВАТС на объектах заказчика без какого-либо внедрения в его инфраструктуру: бизнес-процессы не меняются — просто теперь вместо “Газелей” между зданиями ездят автономные робогрузовики. 

ВАТС ЭвоКарго автономно “работают” на объектах. Нет необходимости в дополнительной инфраструктуре — напр. QR-кодах-метках для сканирования камерами или дополнительных камерах для отслеживания ВАТС на территории.  

ВАТС ЭвоКарго автономно “работают” на объектах. Нет необходимости в дополнительной инфраструктуре — напр. QR-кодах-метках для сканирования камерами или дополнительных камерах для отслеживания ВАТС на территории.  

2. Карты, деньги, 2 лидара

Разберемся с картами, на основе которых работает система локализации. В сфере беспилотного транспорта сегодня сосуществуют два принципиально различных подхода к навигации: с использованием заранее построенной карты и без неё. Оба направления теоретически жизнеспособны, однако на практике коммерческие системы всё чаще опираются на карты, и прежде всего HD‑карты (англ. High‑Definition — высокое разрешение). Стоит сказать, что это не обычные карты, которые вы используете каждый день в навигаторе, а специализированные модели окружающего мира, предназначенные для работы алгоритмов локализации и планирования.

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

В контексте HD‑карт для автономного транспорта можно выделить два ключевых слоя: 

Лидарный слой представляет собой трёхмерный «слепок» местности — облако точек, где каждая точка имеет точные координаты в 3D-пространстве с характерной точностью до сантиметров. В классическом подходе такие данные собираются с помощью специализированного картографического автомобиля, оснащённого высокоточной сенсорикой. Однако на практике более рациональным оказывается использование тех же ВАТС, которые затем будут работать на линии. Это логистически проще и экономически выгоднее: не требуется собирать отдельную платформу и доставлять её на объекты картирования.

Кроме того, такой подход снижает риски на уровне разработки и эксплуатации ПО. Если карта создаётся на данных сенсоров более высокого класса, чем те, что используются в рабочем режиме, алгоритмы локализации могут не перенестись на «боевые» условия из-за ухудшения качества входных данных — отсюда возникают дополнительные требования и ограничения. В обратную сторону зависимость работает стабильнее: алгоритмы, рассчитанные на менее точные данные, как правило, продолжают корректно работать при улучшении качества сенсорики (иногда даже с выигрышем в точности после донастройки). В конечном счёте, выбор подхода упирается не только в технологию, но и в экономику — затраты на разработку, поддержку и масштабирование решений.

Так происходит разметка лидарной карты вручную.

Так происходит разметка лидарной карты вручную.

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

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

Современные промышленные HD‑карты эволюционируют в полноценный «цифровой двойник» дороги: они версионируются, обновляются инкрементально (англ. increment — приращение), проходят формальную и логическую валидацию, а изменения вносятся через специализированные инструменты редактирования. 

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

Изнутри процесс сопоставления лидарных сканов может строиться на следующих подходах (а чаще всего, на нескольких сразу): 

Feature‑based (англ. feature — признак) подход. Алгоритм выделяет из текущих данных лидара или камеры устойчивые особенности — углы зданий, опоры, отдельные деревья и другие уникальные объекты. Затем эти признаки ищутся на HD‑карте, а найденное соответствие позволяет вычислить положение автомобиля;

Методы Монте‑Карло (да, название связано с казино и теорией вероятностей). Это класс вероятностных алгоритмов, наиболее известный представитель — фильтр частиц (англ. — particle filter). Система формирует множество гипотез о возможном положении автомобиля, каждая гипотеза имеет свой вес (правдоподобие). По мере поступления новых данных с датчиков (например, лидар «увидел» стену в 5 метрах справа) веса пересчитываются: наиболее согласующиеся с наблюдениями гипотезы усиливаются, остальные «вымирают». Итоговое распределение частиц отражает степень неопределённости в оценке позиции. Например, при движении по автомагистрали, когда лидар наблюдает только дорогу и дорожные столбы, легко получить многомодальное распределение: каждая мода соответствует одному из возможных положений ВАТС, а разброс вокруг моды отражает «уверенность» системы в этой локальной гипотезе.

Оптимизационные подходы — алгоритмы NDT (англ. Normal Distributions Transform — преобразование нормального распределения), ICP (англ. Iterative Closest Point — итеративное приближение точки) и их аналоги. Эти методы решают задачу минимизации ошибки при сопоставлении двух облаков точек, подбирая смещение и ориентацию скана таким образом, чтобы расстояния между соответствующими точками (или некоторым статистическим представлением распределения точек, как в NDT) были минимальны.

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

Сверху — вид с передней камеры ВАТС. Ниже: мэтчинг лидарного скана с лидарной картой. Белыми линиями отмечен лидарный скан в реальном времени, цветными точками — лидарная карта, сделанная заранее. 

Сверху — вид с передней камеры ВАТС. Ниже: мэтчинг лидарного скана с лидарной картой. Белыми линиями отмечен лидарный скан в реальном времени, цветными точками — лидарная карта, сделанная заранее. 

Немного разобрались с сутью процесса локализации и процессом построения карт для нее. Теперь обратим внимание на самое важное — данные для локализации. Ни один из используемых сенсоров не даёт истины — только свою версию реальности: спутники часто расположены “неблагоприятно”, камеры не “видят” разметку в снегу, лидары теряются среди бесконечных паллет и глухих стен, инерциальные датчики незаметно уводят ВАТС в космос. И именно из этого несовершенного набора и собирается система, которая отлично определяет свое положение с сантиметровой точностью и не ошибается. Вопрос уже не в том, какой сенсор лучше, а в том, как жить в мире, где каждый источник данных ошибается по-своему — и иногда делает это слишком уверенно. 

Как именно мы ставим запятую во фразе «Локализовать нельзя ошибиться» — разбираем в следующей части.

Stay tuned!

Автор: Evocargo_IT

Источник