
Шесть лет назад мы уже писали на Хабре про беспилотный трамвай - тогда это был один экспериментальный вагон, который иногда выезжал на маршрут в Москве, а автопилот тестировался в основном на закрытой территории. С тех пор много воды утекло - в буквальном смысле, учитывая петербургскую погоду.
Стоит сразу оговориться: та статья была про московский проект, и он на самом деле не имеет почти ничего общего с тем, что сейчас работает в Петербурге. Питерский проект стартовал в 2022 году фактически с нуля - с сильно обновленными составом команды, парка трамваев, другими протоколами и, чего уж там, без 2D-детекции и лидара, которые использовались в Москве. Поэтому эта статья - не столько «было/стало» одной и той же системы, сколько рассказ о том, куда доросла история, начавшаяся почти с чистого листа четыре года назад.
От одного вагона к серийному парку
Сейчас в Петербурге системой активной помощи водителю Cognitive Tram Pilot оснащено больше 350 трамваев. Плюс подписан контракт с Минском - туда уже поставлены первые системы, и парк там тоже постепенно растёт. Начиная с 2022–2023 года прирост был в среднем около сотни вагонов в год: система из штучного эксперимента довольно быстро превратилась в конвейерную историю - с несколькими производителями подвижного состава, разными моделями трамваев и постоянно растущим числом протоколов обмена данными, под которые приходится адаптироваться.
Само по себе это уже интересный технический вызов: если в 2020-м речь шла об одном вагоне одной модели, то сейчас систему приходится интегрировать с трамваями разных производителей, каждый со своими особенностями CAN-шины и электроники, версиями прошивок))
Архитектурно - почти без изменений, а по сути выросло сильно

Если сравнивать с оригинальной статьёй буквально, то базовая архитектура и состав сенсоров не изменились: две камеры, радар, блок навигации и вычислительный модуль, объединённые в один вычислительный блок, который вешается в служебную нишу трамвая и подключается к бортовой шине. Внутри - по-прежнему две основные нейросети:
одна определяет положение объектов на путях и вокруг них в виде 3D-кубоидов;

На рисунке видно, что каждый распознанный объект дорожной сцены обрамлен 3d кубоидом, имеет ориентацию в пространстве и более компактную в сравнении с 2d детекциями локализацию. вторая - классификатор состояния светофора.

На сцене бело-лунный трамвайный светофор распознан классами STRAIGHT (светофор целевой) и LEFT (движение разрешено налево), также распознан автомобильный светофор с аналогичными разрешающими движение налево сигналами.
Отдельный модуль занимается трекингом - то есть сопровождением уже обнаруженных объектов и предсказанием их траектории движения. Само обнаружение и предсказание намеренно разделены: нейросеть говорит «это самокатчик», а трекинг уже следит, куда он поехал, и строит и предсказывает траекторию его движения.

Нейросетевой модуль трекинга объектов умеет сопоставлять текущую детекцию с соответствующим треком, предсказывая уникальный идентификатор или используя метрики сходства между признаками объектов в разных кадрах, чтобы минимизировать ошибки ассоциации. На этапе инференса голова связывает обнаруженные объекты в последовательных кадрах, формируя непрерывные треки даже при частичных перекрытиях или временных исчезновениях из поля зрения. Такой подход дает не только стабильное сопровождение, но и позволяет вычислять поведенческие характеристики каждого участника сцены – вектор направления движения, мгновенную и среднюю скорость, ускорение и прогнозировать его траекторию, что критически важно для оценки опасных ситуаций и безопасного планирования маневров трамвая.
Кстати, из совершенно нового здесь - кубоиды теперь находятся не только для пешеходов и машин, но и отдельно для велосипедистов и самокатчиков, которых 6 лет назад система толком не выделяла как отдельный класс.
Радар при этом решает узкую, но важную задачу: он работает в ближней зоне и служит подстраховкой там, где нейросеть может ошибиться. Классический пример в городе - грузовик со стройматериалами, оригинальной рекламой, двухэтажный туристический автобус, старый трамвай 80х годов, которого сеть просто никогда не видела в достаточном количестве, чтобы уверенно его детектировать. Радару в этом смысле всё равно, что перед ним - он просто фиксирует физическое препятствие.
Трамвай научился разговаривать со светофором
Один из наиболее заметных сдвигов за эти годы - это V2I, часть более широкой концепции V2X («vehicle to everything»): в 2020-м трамвай мог только распознавать сигнал светофора по камере, а сейчас, если светофор технически способен транслировать своё состояние, система умеет принимать эту информацию напрямую, не полагаясь исключительно на зрение.
Карта города вместо разметки на глаз

В 2020-м маршрут приходилось «накатывать» - проезжать заранее и вручную размечать точки со светофорами и стоп-линиями, полагаясь во многом на обычный GPS. Сейчас подход другой: весь Петербург закартирован на основе высокоточных ортофотопланов, поверх которых можно относительно быстро отрисовывать нужную топологию маршрутов, а не вымерять её на местности. Наносить большое количество специфических объектов, например остановок или контактных устройств “лира” для использования данной информации во время движения трамвая.
Заодно систему научили нескольким вещам, которых в первых версиях просто не было:
- строить маршрут по включённому поворотнику - если водитель заранее сигнализирует поворот, система понимает, куда трамвай собирается ехать;
- на лету понимать, что трамвай поехал не туда (например, водитель забыл включить поворотник), и самостоятельно переключаться на актуальный маршрут вместо того, чтобы просто «путаться»;
- ездить по территории депо - сильно разветвлённой сети путей с большим количеством стрелок, где раньше система банально не справлялась с топологией.

Отдельно систему доучили распознавать дорожные знаки - это не основная продуктовая функция, но она тоже используется как дополнительный источник коррекции навигации.
RFID-метки в асфальте: пока эксперимент, а не костыль под вахту
Из относительно новых историй - сотрудничество с ГЭТом и партнёрами по проекту, в рамках которого часть территории Петербурга оснащена RFID-метками, закопанными в асфальт. Это в первую очередь 18-й трамвайный маршрут, а также район депо Шаврова, где сейчас располагается тестовый беспилотник, и весь 8-й парк - район Петергофского шоссе с прилегающими маршрутами.
Каждый трамвай оснащён двумя антеннами, которые считывают эти метки при проезде, и по ним можно точно скорректировать позицию. Пока эта информация только считывается и логируется, но не используется напрямую для коррекции положения но у нее большой потенциал для использования как альтернативы GPS. Однако этот функционал не планируется как основной для по-настоящему автономного движения без водителя в кабине, потому что метки также имеют недостатки например снижение уровня сигнала при наличи снега или изменения покрытия.
Система помощи или беспилотный трамвай
В этом году начались работы в рамках экспериментального правового режима (ЭПР) в Санкт-Петербурге, идет разработка высокоавтоматизированного транспортного средства (ВАТС). Про это думаю напишу отдельную статью.
И тут стоит отделить одну вещь: серийная система для 350+ трамваев с ассистентом водителя - это принципиально другое изделие, чем прототипы полностью беспилотного трамвая. У серийной версии состав сенсоров стабилен уже несколько лет, и никаких принципиально новых типов датчиков туда не добавляется - вся эволюция идёт за счёт качества моделей, телеметрии и сервисных функций.
Особый случай - Минск

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

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

На панели водителя - три индикатора-кнопки, которые одновременно показывают статус и позволяют отключить конкретную функцию: ограничение скорости, проезд перекрёстка на запрещающий сигнал и опасные объекты на путях. Рядом - переключатель профиля скорости (тех самых «солнце / дождь / гололёд») и общая кнопка включения системы. У каждой функции несколько состояний - активна, неактивна, временно отключена, - что даёт водителю достаточно тонкий контроль над тем, что именно из автоматики сейчас работает.
Кнопка «10 секунд свободы», которая позволяет водителю кратковременно отключить вмешательство системы (или выключить её вовсе на более долгий срок), по-прежнему существует. А вот статистику по частоте её использования сейчас никто не ведёт - это, честно говоря, скорее пробел, который стоило бы закрыть, потому что подобная метрика неплохо показывала бы, насколько система реально устраивает водителей на сложных перекрёстках.
Пусконаладка с планшета - то, чего совсем не было

Пожалуй, самый недооценённый прогресс за эти годы - это эксплуатационные инструменты, а не «магистральная» автономность. Раньше диагностика системы требовала гораздо более грубых методов; сейчас сотрудник депо может подключиться к системе трамвая с обычного планшета и:
откалибровать камеры - наложить на видео с камеры проекцию рельсов по заранее рассчитанным калибровочным параметрам и визуально проверить, совпадает ли она с реальными рельсами (несовпадение обычно значит, что камеру задело или она разболталась от вибрации);
посмотреть телеметрию обмена по CAN-шине - задержки, целостность данных, стабильность канала;
прогнать базовые сервисные тесты и диагностику подсистем прямо на месте, без выезда специалистов с более тяжёлым оборудованием.
Раньше такого просто не было - это заметный шаг в сторону превращения системы из «чёрного ящика» в обслуживаемое промышленное оборудование.
Что дальше
Основные точки роста последних лет - это скорее эволюция качества и инфраструктуры вокруг системы, чем смена архитектуры: лучше нейросети на тех же классах задач, больше телеметрии, автоматизированная пусконаладка, V2I со светофорами, работа в депо, RFID-метки как перспективный (пока экспериментальный) источник позиционирования. Полностью безэкипажная эксплуатация без машиниста в кабине - отдельная история, которая опирается на другой, более тяжёлый комплекс датчиков, включая лидары, и развивается параллельно с серийной системой ассистента, которая сейчас катается по городу на 350+ вагонах.
Как и шесть лет назад, вывод примерно тот же: беспилотный трамвай - гораздо более благодарная площадка для автономного движения, чем автомобиль. Просто теперь это уже не эксперимент на одном вагоне, а вполне рабочая часть городской инфраструктуры.

