Как «Яндекс» развивает проект беспилотного такси
В конце лета компания «Яндекс» запустила в Иннополисе один из первых в мире сервисов беспилотного такси, а спустя всего два месяца открыла на территории Сколково еще одну зону, в которой беспилотник можно вызвать прямо через приложение «Яндекс.Такси». Корреспондент N + 1 встретился с руководителями проекта беспилотного автомобиля «Яндекса», узнал, как устроен и работает беспилотник, прокатился на нем и готов поделиться впечатлениями.
«Яндекс» публично вступил в мировую гонку разработчиков беспилотных автомобилей очень поздно — лишь в мае 2017 года, когда компания впервые показала испытания беспилотника на закрытой промышленной территории. Тем не менее, «Яндекс» пытается наверстывать упущенное и быстро проходит этапы, на которые у других разработчиков уходило куда больше времени. Зимой беспилотники компании стали замечать на улицах Москвы, а в 2018 году она начала открывать тестовые зоны работы сервиса беспилотного такси.
В целом «Яндекс» выбрал стандартный подход к развитию проекта беспилотного автомобиля — компания тестирует автомобили на закрытом полигоне, на реальных улицах и на симуляторе, моделирующем реальные городские условия и ситуации. Во время каждой поездки беспилотник накапливает огромный объем данных, которые после ее окончания загружаются на сервер. Если разработчики заметили какие-то «баги» и недостатки, они модифицируют алгоритм и загружают новую версию в симулятор. После этого новая версия устанавливается на машины, ездящие по закрытому полигону, а затем — по очереди на машины в городе. Разработчики рассказали, что в некоторых случаях испытатели вечером замечали критический «баг», программисты за ночь его устраняли и уже к утру беспилотники получали новую версию алгоритма.
Испытательный полигон для беспилотников «Яндекса» расположен в Подмосковье, недалеко от Домодедово, на площади около 20 гектаров. По сути он представляет собой упрощенный аналог города. По этому городу передвигаются несколько автомобилей компании, причем, в отличие от уличного тестирования, на полигоне автомобили ездят вообще без людей в салоне. На полигоне автомобили часами могут двигаться без остановки, имитировать друг для друга реальную среду и обучаться корректному взаимодействию с другими автомобилями. Всего у компании десять беспилотных автомобилей, часть из которых используется на полигоне, а часть в городе.
Как и многие другие разработчики, «Яндекс» построил свои беспилотники на базе Toyota Prius, правда, в кузове универсал, но это не принципиально. Впрочем, не принципиален и выбор именно этой модели. Главное, чтобы система управления автомобилем была максимально интегрирована с бортовым компьютером. Инженеры «Яндекса» стараются не использовать механические актуаторы и не модифицировать автомобиль существенным образом, предпочитая использовать встроенные электронные блоки управления. У Prius через эти блоки можно управлять практически всем: ускорением и торможением, поворотом руля, сигналами поворота и даже переключением передач. Кроме того, это попросту проверенное решение — множество других компаний на практике показали, что подключиться к системам управления в этой модели и переоборудовать ее в беспилотник относительно просто.
Директор по развитию бизнеса беспилотных автомобилей «Яндекса» Артём Фокин рассказал нам о своем видении того, как будет развиваться автомобильная часть беспилотников. По его мнению, пример проекта создания беспилотных автомобилей Google, а впоследствии Waymo, показал, что разработать собственный автомобиль — очень сложная задача для специалистов даже такой крупной технологической компании.
Речь идет о проекте Firefly. Как и многие другие разработчики, инженеры из Google начали проект беспилотного автомобиля с модификации Toyota Prius. Его оснастили лидаром на крыше, радарами, камерами, а главное — собственными алгоритмами управления. В 2013 году, убедившись, что программная часть проекта достигла вполне серьезного уровня, инженеры компании начали разработку прототипа полноценного беспилотного автомобиля будущего, лишенного каких-либо органов управления. Однако впоследствии Waymo вынуждена была признать, что быстро развернуть большой парк беспилотных автомобилей можно лишь на основе серийной модели.
Но и автопроизводители, пытающиеся самостоятельно создать качественный беспилотный автомобиль, готовый к полноценному внедрению, по мнению представителей «Яндекса», пока тоже не выглядят убедительно. «Представляется, что лучший продукт, который будет ездить по дорогам, получится от объединения двух экспертиз: пусть автопроизводитель занимается своим делом — они выпускают хорошие автомобили, а технологическая компания пусть научит этот автомобиль думать, — считает Фокин. — Большинство автопроизводителей тоже подошли к проблеме беспилотного транспорта, но находятся сейчас в той точке, где был Google, когда думал, что сможет построить собственный автомобиль. Сомнительно, что у них получится, потому что для создания действительно эффективной системы управления автомобилем мало просто нанять талантливых людей. Нужна готовая инфраструктура, изначально ориентированная под обработку данных, их разметку, хранение. И в целом нужна другая “ДНК”. У автомобильных компаний она отличается от технологических, и кажется, что быстро поменять ее не получится».
Убедиться в том, что подходы автопроизводителей и технологических компаний сильно отличаются, несложно. Например, в начале года General Motors показала свой проект автомобиля будущего без руля и педалей, который должен поступить в серийное производство к 2019 году. Казалось бы, автомобиль лишился водителя и теперь компоновку салона можно полностью пераработать, но все, на что оказались способны инженеры компании — это убрать органы управления и приборную панель:
К тому же, отмечает Фокин, «автопроизводители в наименьшей степени заинтересованы в появлении беспилотных автомобилей, потому что это перевернет всю их бизнес-модель». В «Яндексе» считают, что массовый выпуск серийных беспилотников поменяет модель пользования автомобилем и сделает личный транспорт не нужным большинству людей. По мнению компании, такси и каршеринг сольются в единый сервис, в рамках которого любой человек, нажав всего одну кнопку, сможет вызвать автомобиль необходимого типа и спокойно, без нервов, доехать до места назначения, не думая об обслуживании, страховке и прочих проблемах владения личным автомобилем. «Зачем инвестировать деньги в покупку одной машины на 3-5 лет, если можно в любой момент, не инвестируя никаких денег, воспользоваться тем автомобилем, который тебе нужен. И это будет твой автомобиль в плане персонализации внутреннего пространства», — говорит Фокин.
«Яндекс» решил сразу начать со сбора данных о реальных поездках и обратной связи от пассажиров, и открыл две зоны, где беспилотник могут вызвать сторонние люди, — в Иннополисе, городе в Татарстане, и в Сколково, расположенном гораздо ближе к штаб-квартире компании в Москве. В отличие от Иннополиса, где был выбран достаточно странный способ вызова машины — через бота в Telegram, в Сколково беспилотник можно вызвать в приложении «Яндекс.Такси» через специальный бесплатный тариф. При этом, подобно многим другим разработчикам, например американской компании Drive.ai, «Яндекс» организовал всего несколько фиксированных точек посадки-высадки, то есть сесть в беспилотную машину и выйти из нее именно там, где вам хочется, невозможно. По словам разработчиков, в основном это связано с «бытовыми» ограничениями. К примеру, беспилотник не может останавливаться в зоне, где остановка запрещена, как это часто делают таксисты, как пока не может и позвонить пассажиру, чтобы уточнить, где тот стоит.
Поездки в Сколково и Иннополисе нельзя назвать абсолютно автономными — пусть за рулем действительно никого нет, но на переднем пассажирском сиденье всегда присутствует водитель-испытатель, наблюдающий за работой автопилота и реакцией пассажиров. Изначально «Яндекс» заручился согласием около 400 резидентов Сколково, пожелавших участвовать в тестировании. Когда компания поймет, что сервис работает по плану и машин хватает, она планирует открыть доступ к поездкам любому человеку, приехавшему на территорию зоны тестирования и принявшему условия программы. Некоторые пассажиры уже постоянно используют беспилотник для поездок по Иннополису. Так, разработчики рассказали, что один из них каждый день ездит на их машине в столовую.
Пока беспилотники передвигаются не по всей территории Сколково, а только по той ее части, где, по словам инженеров, они не ждут никаких сбоев и неожиданностей. При разработке зоны тестирования и точек посадки-высадки разработчики опирались на существующие автобусные маршруты. К примеру, автомобиль, выданный нам для тестирования, подошел к остановке сразу вслед за автобусом, который стал высаживать пассажиров. Тут же обнаружился первый и, пожалуй, самый странный «баг» автопилота. Автобус остановился таким образом, что между ним и сплошной линией разметки осталось места ровно на ширину машины. Обычный водитель без проблем заехал бы одним колесом на разметку или дождался, когда автобус двинется дальше, но наш беспилотник в течение 15-20 секунд очень медленно «подбирался» к автобусу, словно не мог разобраться в ситуации.
Другая заметная проблема автопилота — пешеходные переходы. При подъезде к ним беспилотник заранее пытается спрогнозировать поведение людей на тротуаре, и если ему кажется, что человек собирается перейти дорогу, он тормозит. Проблема в том, что периодически ему именно кажется — алгоритмы распознают приближение объекта к точке перехода, а на самом деле человек просто проходил мимо. Еще одно заметное отличие от обычной поездки — четкое соблюдение скоростного режима. На протяжении почти всего маршрута в Сколково ограничение составляет 40 километров в час, и автомобиль едет именно с такой скоростью. Окружающих водителей это, разумеется, периодически раздражает.
В целом, поездка не вызвала ни страха, ни ярких эмоций, и это — главный успех разработчиков. Если не учитывать мелкие недочеты, то беспилотный автомобиль научился ездить, как аккуратный водитель. Все происходит плавно, но и не медлительно — к примеру, автомобиль начинает ускоряться еще до того, как полностью завершил поворот. Но очевидно, что инженерам предстоит еще много работы, и если выпустить беспилотник без сопровождающего на улицы большого города прямо сейчас, то мелкие недочеты превратятся в огромную проблему и он просто не сможет эффективно ездить наравне с обычными водителями.
Автомобиль становится самоуправляемым благодаря трем составляющим — датчикам, вычислительным компонентам и алгоритмам. В беспилотнике «Яндекса» используются датчики трех типов. Самые большие и заметные — это лидары. Их в каждой машине три, все три производства Velodyne, как и у беспилотников многих других компаний. Директор по разработке беспилотных автомобилей «Яндекса» Антон Слесарев рассказал, что, подобно другим разработчикам беспилотных автомобилей (кроме Tesla), инженеры «Яндекса» уверены: на текущем этапе развития технологий алгоритмы компьютерного зрения не способны воспринимать действительность через камеры на таком же уровне, как лидары со своими алгоритмами. Кстати, это создает значительные финансовые трудности: высокоточные лидары с большим количеством лучей пока что стоят тысячи и даже десятки тысяч долларов. Правда, прогресс в развитии лидаров, особенно твердотельных, и, соответственно, снижение их стоимости настолько стремительны, что к моменту массового внедрения беспилотных автомобилей их цена должна опуститься до приемлемого уровня.
Помимо лидаров, под блоком датчиков на крыше есть пять камер, а еще одна камера обычно устанавливается в задней части корпуса для покрытия «слепой зоны», но на тестовом автомобиле она временно отсутствовала. У машины также есть радары, расположенные под бамперами. Все датчики имеют 360-градусный обзор. Кстати, датчики используются не только во время поездок. После каждой из них собранная информация помогает обновить высокоточные 3D-карты, необходимые беспилотнику для ориентации. Впрочем, он способен ездить и без них, собирая все данные, кроме обычной карты, прямо в реальном времени. Именно в таком режиме беспилотник «Яндекса» добирался до Казани перед запуском испытаний в Иннополисе.
Информация с датчиков постоянно поступает в вычислительную систему, расположенную в багажнике. Сверху находится непосредственно система сбора данных на базе компьютера NVIDIA Jenson TX2 и собственных плат «Яндекса». На этом этапе происходит сбор, предварительная обработка и подготовка данных. В том числе, здесь решается задача объединения данных разных типов — кадров с камер и облаков точек с лидаров и радаров — в единый пакет, отражающий показания за определенный короткий промежуток времени. После этого данные передаются ниже — в компьютер с загруженными алгоритмами управления автомобилем. Поскольку они работают в реальном времени, в автомобиле установлен достаточно мощный компьютер — с тремя видеоускорителями NVIDIA GeForce GTX 1080 Ti и двумя центральными процессорами.
Такое количество датчиков разного типа и вычислительных компонентов имеет как положительные, так и отрицательные стороны. С одной стороны, автомобиль хорошо справляется с разными условиями, качественно и быстро распознает объекты вокруг себя в радиусе ста метров и даже больше. С другой стороны, суммарная стоимость бортового оборудования пока составляет примерно 80 процентов от стоимости готового беспилотника.
Кроме технологических задач, перед разработчиками беспилотных автомобилей стоит и множество нерешенных юридических вопросов. На обычных дорогах испытания пока протекают в неопределенном юридическом статусе, но формально «Яндекс» не нарушает правил — за рулем сидит человек с водительскими правами, следящий за ситуацией на дороге и отвечающий за безопасность. В особых зонах в Иннополисе и Сколково, где компания заключила с властями соглашение о проведении тестирования, испытания, с юридической точки зрения, можно назвать аналогом учебной езды — слева сидит ученик без прав (алгоритм), а справа находится инструктор с правами и навыками вождения, готовый в любой момент остановить машину.
Мы специально задали вопрос: кто будет виноват, если беспилотник попадет в дорожно-транспортное происшествие? В «Яндексе» считают, что эта проблема не так сложна, как может показаться на первый взгляд, потому что все действия беспилотного автомобиля записываются и после аварии можно четко восстановить картину случившегося и логику действий алгоритма — тогда и будет понятно, по чьей вине произошло ДТП.
Одна из главных претензий к проекту беспилотного автомобиля «Яндекса» заключается в том, что компания не раскрывает свою статистику по пройденному расстоянию, а главное — частоте перехвата управления. Руководители проекта объясняют это отсутствием единых метрик. В частности, они ссылаются на ситуацию с испытаниями беспилотных автомобилей в Калифорнии. Разработчики беспилотных автомобилей в этом американском штате обязаны раскрывать статистику вмешательств водителей-испытателей в работу автопилота. Но, по мнению руководителей проекта беспилотников «Яндекса», доверять этим данным сложно, потому что в итоговые показатели попадают лишь те случаи, когда автопилот допускает критическую ошибку, которая, как показывает позднейшая проверка на симуляторе, без немедленного вмешательства человека могла бы привести к аварии. Но даже если критика в адрес калифорнийских коллег справедлива, позиция самого «Яндекса» к своей статистике в целом и данным о пройденном расстоянии выглядит достаточно слабо.
По словам разработчиков, большинство ситуаций, требующих вмешательства инженера, происходят не из-за того, что автопилот создает опасную ситуацию. Чаще всего автомобиль останавливается, полагая, что не может проехать дальше, не нарушив правила. Например, когда на однополосной дороге большую часть полосы по одному направлению занимает припаркованный против правил автомобиль. В таком случае инженеру приходится брать ситуацию в свои руки. Любое воздействие на органы управления является приоритетным — если инженер дотронется до педали или повернет руль, машина сделает то, что просит инженер. После этого автопилот отключается, и его необходимо заново включать отдельной кнопкой.
В целом беспилотное такси «Яндекса» на фоне других мировых разработчиков выглядит как проект вполне серьезного уровня. Вероятно, отчасти этому помог поздний старт, позволивший инженерам пойти по проторенному пути. Тем не менее, проект пока остается проектом, и разработчики не стали отрицать, что до уровня серийного продукта, готового к использованию, он еще не доведен. По мнению директора по развитию бизнеса беспилотных автомобилей «Яндекса» Артёма Фокина, ждать массового внедрения беспилотников осталось не так долго — судя по темпам развития технологий, снижения стоимости комплектующих и обсуждения нормативной базы, все эти факторы «сойдутся» примерно в течение пяти лет.
Григорий Копиев