Журнал

Все свои: как работает главный навигационный сервис России

Пробки, маршруты и искусственный интеллект: всё об устройстве Яндекс Карт
Разбор
12
9

Когда-то давно добраться из одной части города в другую было настоящим квестом. Особенно если район незнакомый: изучи бумажный атлас, продумай и запомни маршрут, попробуй не потеряться и избежать пробок. С развитием интернета и появлением GPS-навигации стало проще, но всё равно на первых порах ориентирование на местности для автомобилистов считалось той ещё задачкой. Реально изменило ситуацию появление Яндекс Карт — без преувеличения знакового для России сервиса, которым пользуется практически каждый. В очередном выпуске «Все свои» мы поговорили с ведущим менеджером продукта Артёмом Звягиным, который непосредственно участвовал в становлении успешного проекта.

Что такое «Все свои»?

Проект «Все свои» запустился в Журнале Авто.ру в 2022 году. Тогда мы искали интересные российские компании, непосредственно связанные с автомобилями, которые либо только открылись, либо работали давно, но широкой общественности были ещё неизвестны. Среди героев оказались создатели гигантского 3D-принтера из Ростова-на-Дону, разработчики уникальных дифференциалов из Челябинска, производители электрогрузовичков из Калужской области и так далее. В 2025-м проект возродился, но немного в другом формате — теперь речь пойдёт об отечественных фирмах, которые делают продукт мирового уровня. Мы уже рассказывали о компании «Риф», которая занимается выпуском внедорожного оборудования, о производителе гоночных кресел ProANVIL, создателях инновационного масла с эстерами и других компаниях.

2004 год: Android — это всё ещё стартап по разработке операционных систем для цифровых фотоаппаратов, до появления iPhone остаётся три года, мобильные телефоны передают файлы через инфракрасный порт, компьютеры на Pentium 4 позволяют играть в знаменитый Half-Life 2, а в Тольятти запускают в серию Lada Kalina. В это время появляются первые Яндекс Карты — благодаря запросам пользователей поиска, которые пытались найти себя на незнакомой местности и понять, что расположено вокруг (из разряда: «Басманная улица — где это?»). 

Артём Звягин работает в компании Яндекс 11,5 лет, из них 8,5 — в Картах. В мае 2016 года присоединился к команде Геосервиса и начал заниматься сценариями построения маршрутов на общественном транспорте для тех, кто передвигается без личной машины

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

«Удивительное дело, когда появились Nokia на Symbian с первыми программами для навигации, я не понимал, зачем ими пользоваться. Город, где я рос, был маленький, и я примерно всё в нём знал, за пределы не выезжал. А когда такая возможность появилась, уже стали доступны КПК — со стилусом, на Windows… Появились отдельные навигаторы, которые можно было на стекло прилепить и поехать с ними. С теплом вспоминаю те моменты: я тогда ещё водить не мог, но был штурманом. Навигатор работал с перебоями, поэтому нужно было сидеть и подсказывать маме с папой — вот тот поворот!» — вспоминает Артём Звягин.

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

Как Карты стали показывать пробки

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

«Я помню один из первых своих Андроидов: это был какой-то Phillips, который очень долго прогревал свой GPS. Чтобы определить местоположение, надо было или долго ждать, или запустить отдельное приложение, чтобы всё-таки что-то начало обновляться. Со временем таких телефонов становилось больше, и с этим уже можно было работать. Появилась возможность получать сигналы от пользователей, потому что хоть какой-то мобильный интернет начал появляться у людей. Можно было смотреть, как человек перемещается и где он сейчас, то есть следить за обезличенными сигналами от пользователей», — рассказывает Артём.

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

Как ни странно, история Яндекс Пробок началась с пейджинговой компании «СМИ-Линк», которая в 2006 году установила около сотни видеокамер на основных магистралях столицы. Изображение с них анализировали эксперты: они должны были предсказать, где и насколько сильно могут растянуться заторы — фактически на тот момент всё обрабатывалось исключительно вручную. Эту информацию планировалось рассылать пользователям на пейджеры, как бы сейчас сказали, «по подписке». 

Идеей заинтересовался Яндекс, который хотел интегрировать информацию о пробках в Карты, и купил подразделение «СМИ-Линка». И многие аналитики, разработчики и менеджеры той компании до сих пор работают в деле. 

«В том офлайн-мире, в котором мы находились, пробки-то тоже оценивались. Помню времена, когда корреспонденты сообщали: так, вот тут стоит, а тут — едет.  Удивительное тоже время, я слышал это по радио. Я не застал это в компании, но помню рассказы коллег: у нас были отдельные эксперты, которые ездили по городу, оценивали ситуацию и докладывали её. У нас были отдельные эксперименты с дополнительными устройствами — GPS-трекерами, которые позволяли собирать данные», — комментирует Артём Звягин

Развивать идею с камерами было невыгодно и слишком сложно. К тому же постепенно начали появляться более продвинутые мобильные телефоны. К 2008 году в режиме бета-тестирования выпустили приложение для устройств на Symbian, Windows и Java  — Пробки 2.0. На его разработку ушло около года. 

Пользователям предлагали на добровольной основе передавать информацию о средней скорости проезда по тем или иным улицам города Яндексу, тем самым помогая другим водителям узнать о реальной ситуации на дорогах. Тогда и появились знаменитые отрисовки пробок — красные, жёлтые и зелёные маркеры.

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

Система старается определять и отсекать погрешности. Водитель, скажем, остановился не из-за пробки, а заехал в магазин, не выйдя из приложения; некоторые машины могут передвигаться намного быстрее общего потока, потому что это транспорт служб спасения, а другие обезличенные точки — сильно медленнее, так как это пешеходы. К таковым причислят пользователя, который за последние несколько часов не разгонялся быстрее 15 км/ч, — его данные в схеме пробок не станут учитывать.

Как сервис заглядывает в будущее

Дополнительные сложности создают задержки в передаче данных, в том числе перебои с GPS и мобильным интернетом. При проблемах с Сетью маршрут строится исходя из того, пропал сигнал по дороге или же Карты были офлайн изначально. Во втором случае всё относительно просто: приложение выдаст самый короткий маршрут без учёта ситуации с заторами. Иначе же предоставит условия проезда, как и данные о пробках, по последнему соединению. 

Важный аспект: пробки в Картах — не сиюсекундное отображение реальности, а прогноз того, что случится, когда пользователь доберётся до конкретной позиции. Иными словами, если вы путешествуете, скажем, от Финского залива в центр Санкт-Петербурга во время разведения мостов, то нет смысла изначально строить маршрут в объезд проблемного участка, потому что к тому моменту, как водитель там окажется, мосты уже сведут. 

Яндекс Карты в цифрах

  • Ежемесячное число пользователей — 95 000 000
  • Количество прокладываемых пользователями маршрутов в день — 23 000 000
  • Количество оцифровываемых дорог в месяц — 200 000
  • Количество отрисованных высокодетализированных дорог с разметкой для приложения — 70 000 км

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

У Яндекса есть накопленная за длительный период статистика пробок, поэтому сервис позволяет «заглянуть в будущее», рассчитав время в пути за несколько часов до старта. 

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

Работу приложения разработчики Карт могут проверять прямо на рабочем месте на имитации головного устройства автомобиля

В чём разница между Картами и Навигатором

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

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

«Для пользователей сейчас есть два приложения: и Карты, и Навигатор. Первое заточено на “свитчеров” — людей, которые меняют тип транспорта. Сегодня они могут поехать на личном автомобиле, а в более пробочный день — пересесть на такси или общественный транспорт, а потом ещё пешеходный маршрут построить. А Навигатор решает строго одну задачу», — поясняет Артём.

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

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

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

Многие процессы автоматизированы и не требуют ручного труда. Алгоритмами управляется почти всё: человеческое участие сведено к минимуму и необходимо, например, при резком всплеске количества треков, которые неожиданно остановились. Это может произойти, скажем, из-за неожиданного перекрытия дорог при проезде первых лиц государства или при крупной аварии.

Из алгоритмического управления следует и то, что ГИБДД никак не влияет на перераспределение трафика, как думают некоторые пользователи. ЦОДД может лишь сообщить заранее о запланированных ограничениях: параде, веломарафоне, ремонте и так далее. 

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

«Если отмотать назад, то раньше был такой тренд: одно приложение решает одну функцию. Поэтому появились Транспорт, Карты, Навигатор… Если ещё глубже копнуть, то на заре Яндекс Карт эти приложения работали по-своему, использовали разные технологии и решали отдельные задачи. Карты помогали ориентироваться на местности: находить места рядом — аптеку, сервис, парк, заправку. Навигатор строил маршруты. На тот момент сервисы были загружены и менее производительны, поэтому каждый выбирал, что ему важнее», — говорит Артём Звягин

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

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

В 2021 году поддержка Яндекс Карт появилась в Apple CarPlay и Android Auto 

Как быть, если нет GPS

Однако больше всего проблем сейчас доставляют перебои с GPS-сигналом. Некоторое время назад вышло обновление Карт, которое помогает немного исправить ситуацию и вести пользователей по маршруту, даже если навигационные системы не работают. Правда, только на устройствах с ОС Android: они позволяют использовать не спутники, а точки доступа Wi-Fi, отслеживая местоположение по их координатам. 

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

Так что сейчас главный вызов при разработке Карт — определение точного местоположения и корректная навигация по маршруту вне покрытия GPS. В Яндексе работают над возможными решениями, в том числе для iPhone, и в скором времени они будут представлены. Также развиваются и совершенствуются алгоритмы, персонализация, и появляются новые функции, например, отображение времени сигналов светофоров. Пока это работает не по всей Москве, но в будущем возможности приложений расширятся.

Среди последних улучшений — обновлённая функция голосовых подсказок с элементами искусственного интеллекта. Как говорят в Яндексе, водители теряют до 15 минут за поездку из-за того, что пропускают нужный съезд или поворот. Изменения должны исправить эту ситуацию. Теперь команды звучат точнее: например, «Поверните направо по указателю МКАД» или «Сверните на втором съезде». 

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

Пользуетесь Яндекс Картами или Навигатором?

Конечно! Без них никуда
Иногда, по необходимости
Нет, у меня кнопочный телефон
Читать ещё