Привет, Хабр! Это команда беспилотных технологий «МосТрансПроекта». Многие, наверное, знают, что в течение нескольких лет мы развивали проект собственного беспилотного автомобиля, в ходе которого нам пришлось решать множество порой, нетривиальных задач. Полученный нами опыт и знания будет крайне полезен для развития транспортной системы и интересен для тех, кто занимается (или планирует заняться) беспилотниками. Подробно расскажем нашу историю в этой статье.
Вспомнить все
Чтобы понимать результат, к которому мы пришли на данный момент, нужен небольшой экскурс в историю.
В далеком 2019 году в Москве проходил технологический конкурс Up Great «Зимний город» среди прототипов беспилотных автомобилей, в котором «МосТрансПроект» выступал партнером и соорганизатором. Участники соревнований выглядят по нынешним меркам, мягко говоря, непривычно – на машинах стояло громоздкое оборудование, они были окутаны проводами, чем напоминали инопланетные корабли из советской фантастики. Но сейчас не об этом. Смысл конкурса был в том, чтобы понять, готовы ли технологии того времени обеспечить самостоятельное движение автомобиля без участия водителя в зимних условиях, а также простимулировать компании и научные центры заняться беспилотной тематикой. По итогам проведения конкурса, финал которого проходил на закрытом полигоне НАМИ, мы решили, что институту нужен собственный беспилотник для отработки технологий, которые будут в перспективе полезны городу. Так мы приступили к созданию собственной машины.
В 2019-2022 годах у нас было три отдельных и взаимодополняющих друг друга проекта. Новостей по ним в публичном поле было много, и многие, наверняка, успели запутаться, где какой беспилотник ездил и чем все закончилось. Сейчас разложим все по полочкам.
Администрируй это
Наш первый проект — это автомобиль для администрирования платной парковки на базе Hyundai Solaris. Идея была в том, чтоб попробовать беспилотник в качестве исполнителя рутинной работы, максимально автоматизировать ее, а в перспективе – отказаться от услуг водителя. Оборудование автомобиля под беспилотное движение (установка приводов и исполнительных механизмов, лидара, видеокамер, инерциальной измерительной системы и т.д., а также разработка и настройка софта на машину осуществили наши коллеги из Московского автомобильно-дорожного университета (МАДИ), с которыми мы подружились еще на конкурсе Up Great. С марта 2020 года по июнь 2022-го машина почти ежедневно выезжала на фиксированный маршрут в районе «Чистых прудов», и за это время успела наездить более 10 тысяч километров по округе, учась ездить самостоятельно.
Не обошлось и без приключений: во время пилота наш автомобиль умудрился стать участником небольшого инцидента – в нас въехала ехавшая сзади машина. Водитель зазевался, с кем не бывает. В новостях потом писали, что был первый в истории страховой убыток по ДТП с беспилотной машиной, урегулированный по каско. И это правда. После небольшого ремонта машину вернули на маршрут.
Гораздо важнее то, что на данном этапе нам удалось протестировать разные сценарии использовании V2X- технологий (ведь беспилотная машина, не умеющая общаться с инфраструктурой – это просто дорогая игрушка). Вот один из примеров. Выезжая на маршрут из двора института, автомобиль «понимал», что перед ними ворота, останавливался, ждал пока они автоматически откроются и выезжал на улично-дорожную сеть. Ворота, в свою очередь, «понимали», что к ним подъехала машина через сигнал RFID метки, и начинали сами открываться. Автомобиль понимал, что ехать нельзя до тех пор, пока ворота не откроются и не загорится зеленый сигнал светофора, в котором мы установили контроллер (информация с которого передавалась на автомобиль через LTE). Понятно, что это довольно простая технология, но это все же был один из важнейших этапов обучения беспилотника.
Также на одном из перекрестков мы с коллегами из МАДИ поставили камеру, чтобы видеть происходящее за слепым поворотом. Объекты в этом пространстве были невидимы для бортовых камер и лидара. Стационарные камера работала в качестве запасных глаз и заранее сообщала машине о приближающейся машине.
Тогда же (что крайне важно) мы учились делать цифровой двойник дороги – высокоточную цифровую карту улично-дорожной сети города со светофорами, разметкой, знаками, поворотами и зданиями. Сначала мы проводили съемку маршрута с помощью геодезических приборов. После этого беспилотник проезжал несколько раз по маршруту уже под управлением водителя для лидарной записи облака всех точек маршрута в 3D. Затем мы вместе с командой МАДИ совмещали два получившихся набора данных, попутно очищая облака от «мусора» (временных объектов, которые в этот момент находились на маршруте, например, припаркованных машин). На выходе получался цифровой двойник. Выглядит это примерно также, как карта Яндекса, 2ГИС или Google в вашем телефоне, но только с точностью до 2-3 см.
Чтобы исключить путаницу, сразу поясним: в Москве есть несколько проектов, которые называются «цифровыми двойниками». Среди них – оцифрованные улицы с объектами транспортной инфраструктуры; 3D-копия территории города, на которую нанесены все сети инженерных и транспортных коммуникаций. Все эти инструменты используется для проектирования и планирования развития территорий и улично-дорожной сети.
Понятно, что до запуска пилота предсказать все ситуации невозможно, но на то он и пилот. Довольно быстро мы поняли, что цифровой двойник маршрута должен быть динамически обновляемым, особенно в таком городе, как Москва. Допустим, где-то строители поставили леса (или коммунальные службы приехали устранять аварию), перекрыв полосу движения. В цифровом двойнике, созданном буквально пару дней назад, информации о перекрытии нет – беспилотная машина в этом месте просто упрется в стену – именно так будет восприняты внезапно возникшие на пути леса. Идеально, чтобы перед выходом на маршрут беспилотник получал все необходимые обновления карты, а еще лучше – в режиме реального времени.
Побочным продуктом проездов автомобиля с камерой стали данные о свободных машиноместах вдоль улиц. Они передавались в нашу информационную систему, но наружу никуда не транслировались – все-таки это был пилот. Но стало ясно, беспилотники могут стать помощниками для сбора данных, которые потом могут быть использованы в разных полезных сервисах.
Для большей ясности пару слов надо сказать о правовой стороне вопроса. Когда в начале 2020 года запускался наш беспилотный автомобиль, действовало постановление правительства №1415 «О проведении эксперимента по опытной эксплуатации на автомобильных дорогах общего пользования высокоавтоматизированных транспортных средств». Это документ позволял на строго определенных условиях и в определенных городах (в том числе, в Москве) испытывать беспилотные автомобили на дорогах общего пользования. Одно из ключевых условий – присутствие оператора в кресле водителя, который при необходимости может вмешаться в управление. Со стороны, конечно, это выглядело не слишком «беспилотно», но поверьте – наша машина ездила большую часть времени самостоятельно, а оператор внимательно смотрел за дорогой, но в управление вмешивался редко. Кроме того, каждый беспилотник должен был пройти обязательную сертификацию, а изменения в конструкцию должны были быть вписаны в документы.
Точно по адресу
Второй проект – это беспилотник, который ездил по закрытой территории Городской клинической больнице № 1 имени Н.И. Пирогова в рамках совместного проекта «МосТрансПроекта», МАДИ и Агентства по инновациям Москвы. Идея такого проекта у нас родилась в разгар пандемии, в апреле 2020 года. Медсестры тогда носились по огромной территории больницы, разнося анализы по корпусам. Они проходили ежедневно в среднем по 10 тысяч шагов: машина могла бы сильно разгрузить медперсонал, которому, очевидно, было чем позаниматься во время пандемии. Кроме того, у нас не было опыта организации логистики на закрытых территориях с помощью беспилотников, и нам представился отличный шанс его получить.
К июлю 2020 года мы прошли все согласования, в августе сделали цифровой двойник территории больницы (примерно по такому же алгоритму, как и с машиной на Чистых прудах). Там, надо сказать, была не самая оптимальная организация движения, а для беспилотника ведь нужна четкая разметка, знаки, парковочные места и маршрутизация. Совместными усилиями мы тогда все поправили, ездить стало удобнее.
С сентября 2020 года по территории ездил Ford Focus из беспилотного парка МАДИ, а к концу года они оборудовали новенькую Lada Vesta Cross и доработали ПО. Нововведением коллег стал алгоритм объезда произвольно идущих пешеходов, ведь часть маршрута проходима по пешеходной зоне, где персонал и посетители больницы не только переходили проезжую часть, но и шли вдоль дороги, всячески норовя оказаться на пути следования автомобиля. Алгоритм прогнозировал траекторию движения пешеходов, рассчитывал коридоры проходимости автомобиля и определял безопасные пути объезда.
В общей сложности машина совершала восемь поездок в течение дня: четыре – для сбора материалов и перевозки в лабораторию, и еще четыре – для перемещения пустых контейнеров обратно в корпуса. О том, что машина приехала и ждет погрузки, медсестры узнавали через телеграм-бот. После того, как анализы помещались в автомобиль, медработник нажимал кнопку на крыше автомобиля, и он самостоятельно уезжал – водитель-оператор в процесс этот не вмешивался. Частенько по территории проезжали кареты скорой помощи, машина сама распознавала препятствие и пропускала.
В рамках этого пилота мы снова пришли к выводу, что цифровой двойник дороги должен постоянно актуализироваться. На территории больницы, к примеру, может начать реконструкция корпуса с ограждением территории. Или, к примеру, те же сугробы после обильного снегопада или куча осенней листвы, которую еще не успели убрать. Для «глаз» беспилотной машины это кусок стены, о которой она ничего не знает. Это может завести ее в тупик.
В идеальном мире, к которому мы когда-нибудь придем, для всех городских улиц будет единый, постоянно обновляемый цифровой двойник, к которому сможет подключиться любой беспилотник. Источником обогащения данных для него могут служить другие беспилотники или датчики, установленные на общественном транспорте, коммунальной технике.
Что же было дальше?
1 июля 2022 года действие постановления №1415 закончилось и оба наших проекта завершились. К этому времени уже был принят и вступил в силу закон об экспериментальных правовых режимах, позволивший, в том числе, продолжать испытывать беспилотные автомобили. Многие компании (Яндекс, Сбер) тогда обзавелись своими машинами, которые они хотели испытывать на территории Москвы. Транспортный комплекс, в связи с этим, получал множество предложений, поэтому было решено пройти полный путь по созданию собственного беспилотного автомобиля с нуля, полностью своими силами, чтобы понимать все технические нюансы с изнанки. Работу эту поручили нам, что логично, поскольку «МосТрансПроект» – это, в том числе, научно-исследовательский центр.
Мы провели серьезную исследовательскую работу. Изучили мировой и отечественный опыт, из чего состоят машины ведущих компаний, применяемый ими софт, определили для себя, какой набор оборудования нужно купить. С момента предыдущих двух пилотов железо и софт совершили качественный скачок, поэтому наш новый аппарат должен был стать более технологичным. В новую машину мы установили лидар, шесть радаров и три камеры, две из которых работали как стереопара (раньше, к примеру, был лидар и всего две камеры). Задача осложнялась также масштабным подорожание полупроводников, которое пришлось как раз на 2021 год. Но в итоге мы успешно справились, хотя заняло это много времени.
В качестве «подопытного кролика» мы снова взяли Lada Vesta, потому что нам нужна была современная машина с электронной педалью газа и электроусилителем руля, куда можно было установить контроллеры для дистанционного управления. Дальше надо было решать вопрос с тормозами, управлять которыми через контроллер нельзя. Сначала у нас была идея купить управляемый гидроблок от Toyota Prius, опыт использования которого уже есть в других проектах беспилотников. Но от этого мы отказались, поскольку это считалось бы грубым вмешательством в тормозную систему, что повлекло бы повторную сертификацию машины. Тогда мы нашли альтернативное решение – управляемый дистанционно сервопривод, который мы поставили на педаль тормоза и селектор АКПП. К концу 2022 года мы сумели поставить автомобиль на ход, но тестировали, настраивали и испытывали его уже за закрытых территориях, в том числе, во дворе нашего института. Сейчас мы используем машину в научных целях для проверки различных гипотез, связанных с беспилотным транспортом. Полученный за четыре года опыт мы уже применяем совместно с коллегами по транспортному комплексу в других проектах.
К каким выводам мы пришли? Технически создать беспилотный автомобиль несложно – программное обеспечение, датчики, камеры, лидары и прочее оборудование – все есть в доступе, заказывай и покупай. Аппаратная часть стоит относительно недорого. Установить все это на машину и заставить ее самостоятельно двигаться можно усилиями небольшой команды – у нас этим занимались, по сути, несколько человек. Каких-то сверхбюджетов для этого не требуется, самое дорогое, пожалуй, это сама машина и лидар.
Самый сложный этап – обучить беспилотный автомобиль реагировать на внештатные ситуации, которые невозможно предусмотреть в цифровом двойнике дороги (даже динамически обновляемом). Многие зарубежные компании с этим до сих пор сталкиваются и решения не нашли. В качестве примера приведу прошлогодний случай в Калифорнии, где беспилотное такси сервиса Cruise не успело быстро среагировать на внезапно появившегося на дороге пешехода на дороге, и сбило его. Слава богу, все живы. Компания вернула водителя за руль для подстраховки, заявив, что будет думать, как улучшить работу софта. Другой пример – из 2022 года, когда в Сан-Франциско десяток беспилотных такси создали пробку ночью на перекрёстке из-за программного сбоя.
Цифровой двойник дороги – это, скорее, идеальный город с идеальными стенами и перекрестками. Но в реальной жизни на улицах всегда есть элементы хаоса и броуновского движения, внезапные пешеходы, животные, которые должен беспилотник должен если не предсказать, то хотя бы вовремя увидеть, и мгновенно принять решение. Только в этом случае машине можно будет доверить жизни пассажиров. Да, мы можем заложить алгоритм поведения (к примеру, для объезда препятствий), но для полноценного обучения нужно много ездить с водителем за рулем, собирая и анализируя терабайты данных. Вот это как раз требует уже больших ресурсов, в том числе, временных. Этим объясняются и огромные средства, которые вкладывают в беспилотные проекты крупнейшие корпорации. Эту работу еще, по сути, в мире никто не закончил.
О наших будущих проектах в области беспилотного транспорта мы обязательно расскажем в одной из следующих статей!
Команда беспилотных технологий «МосТрансПроекта» – Юрий Бутенко, Владимир Бондаренко, Анастасия Товмасян, Роман Хихин, Федор Уткин, Никита Новиков, Александр Белов.