В мае 2017-го «Яндекс» продемонстрировал собственную технологию беспилотного управления автомобилем на прототипе Toyota Prius. Оказалось, что созданием беспилотной платформы занимаются в «Яндекс.Такси», а один из её важных компонентов разрабатывают в минском офисе «Яндекса». dev.by встретился с Антоном Слесаревым, главой разработки беспилотника из Москвы, и Романом Удовиченко, который руководит группой разработки в Минске, и выяснил, когда уже за рулем можно будет пить кофе и читать газету, не отвлекаясь на управление.
Читать далее…
Антон Слесарев: — Мы разрабатываем не автомобиль, а программно-аппаратную платформу, с помощью которой практически любую машину можно будет превратить в беспилотный автомобиль. Наша цель — получить такую технологию, чтобы беспилотники под её управлением смогли ездить в городских условиях.
Я работаю в Москве: руковожу отделом, который занимается компьютерным зрением и другими фичами «самого» автомобиля. А Рома — руководитель минской группы разработки, которая отвечает за обработку дорожной ситуации. Первый прототип мы показали чуть больше полугода назад — но в своём проекте опираемся на ряд внутренних технологий «Яндекса», над которыми в компании работают уже не один год. Считаем, что в течение пяти-семи лет машины без водителей появятся на улицах городов.
Роман Удовиченко: — Группа разработки в минском офисе занимается реализацией логики принятия решений: как машина реагирует на то, что видит вокруг себя. Получив данные с сенсоров, она должна решить, надо ли повернуть, перестроиться, остановиться и так далее.
Мы хотим сделать перемещение людей быстрее и удобнее. Более того, когда беспилотная платформа станет массовой, она поможет решить не только транспортные задачи, но и проблемы с парковкой. Люди начнут пользоваться беспилотниками как общественным транспортом, и необходимость в личных автомобилях сильно уменьшится. На дорогах тоже станет свободнее — и безопаснее, потому что исчезнет человеческий фактор.
— Человеку свойственно превышать скорость. А будет ли это делать автомат?
Роман: — Конечно, нет. Мы будем программировать автомобиль так, чтобы он следовал ПДД и не подвергал опасности жизнь людей внутри и снаружи. Говоря «быстрее», я имею в виду, что появится инфраструктура, в которой исчезнут пробки и необходимость долгого ожидания.
Антон: — Скоростные ограничения тоже меняются. В прошлом веке на трассах стояло ограничение в 90 км/ч, потом в России на магистралях разрешили ехать со скоростью 110 км/ч. В Беларуси на трассах сейчас можно ехать до 120 км/ч. Возможно, в будущем, когда беспилотники станут массовыми и докажут свою безопасность, правила вновь пересмотрят. В любом случае, беспилотные автомобили будут беспрекословно соблюдать все установленные ограничения — а где-то даже будут осторожнее человека.
— А если человек не захочет доверять железякам?
Роман: — Тут можно провести аналогию с самолётом. Какой-то процент людей боится летать. Но всё равно весь мир летает. Если технология будет обеспечивать определённый уровень удобства и безопасности, всегда найдутся люди, готовые ею воспользоваться. А другие увидят, что технология работает на практике, что она сильно экономит время и ресурсы, и тоже начнут ей доверять.
— Но самолётом управляет человек, а беспилотником — компьютер.
Антон: — Самолётом на самом деле тоже управляет компьютер — там много автоматики, которая сводит человеческий фактор к минимуму. Но да, за штурвалом всё ещё сидит пилот. По всему миру есть люди, которые не доверяют технологиям. Мы в «Яндексе» сделаем все, чтобы объяснить им доступным языком: вот технология, вот автомобиль, а вот как он реагирует на дорожную ситуацию — зачастую действуя логичнее и адекватнее человека. Рано или поздно это сработает.
— Чему уже научились ваши машины?
Роман: — В мае прошлого года мы начали испытания на закрытом полигоне: на небольшой скорости объезжали неподвижные и медленно движущиеся объекты. Сейчас мы продолжаем тестирование на полигоне и готовимся к тестам в городских условиях. Пришла зима — и теперь помимо учёта новых дорожных условий и правил дорожного движения работаем над тем, чтобы обеспечить должный уровень безопасности при езде в гололед и снегопад.
Когда человек ведёт машину, он пользуется зрением и немножко слухом, а также своим накопленным опытом. Базовое зрение машине можно создать с помощью камер, но есть и другие средства, которые помогут ей превзойти человека. Например, лидар позволяет измерить расстояние и распознать препятствие даже в полной темноте. Таким образом, в распоряжении машины будет больше способов получения информации, чем у «живого» водителя.
Антон: — Со снегом и холодом приходит много новых проблем. В этом плане наши климатические условия — уникальная возможность для эксперимента. Например, в характеристиках некоторых сенсоров, которые мы используем, сказано, что они не работают при температурах ниже -10. У нас уже несколько раз случалось такое. Связывались с производителем, выясняли причины и методы борьбы с ограничением.
Снег залепляет дорожные знаки. Человек, видя заснеженный знак, постарается разглядеть изображение, а если не разглядит — попробует предположить, что там нарисовано. Но машине в этом плане будет проще, нежели человеку: она может «заглянуть» в историю, выяснить, что раньше тут стоял знак ограничения скорости в 70 км/ч, и использовать эту информацию, когда знак залеплен. Более того, такую информацию можно загрузить заранее, чтобы принять решение в нужный момент можно было и без подключения к интернету.
[Похожая задача — распознавание образов в условиях помех — интересно описана в книге-комиксе французского учёного-кибернетика Жана-Пьера Пети «О чём размышляют роботы». Книга издавалась в Советском Союзе в 1987 году. Рекомендуем читателям её полистать: там рассказывается про изобретателя, который строил самоходный пылесос и столкнулся с актуальными и сегодня проблемами беспилотников. — прим. автора]
— Какие наборы датчиков сейчас используются? Сколько их?
Антон: — Сейчас мы экспериментируем с разными наборами датчиков. Основные сенсоры — камеры, радары и лидары. У нас несколько автомобилей с разными конфигурациями. На одной из машин, например, стоит три лидара, радары и камеры. Количество датчиков и их расположение обеспечивает машине 360-градусный обзор. Но вопрос с количеством датчиков — это ещё и вопрос стоимости решения. Лидары достаточно дороги, а если от них отказаться, придется научить другие датчики распознавать препятствия так же хорошо. Но с развитием отрасли они должны подешеветь.
Роман: — Сначала мы научим машину ездить с одним набором сенсоров, пусть даже он будет дороже, чем нам хочется. Главное сейчас — получить работающую технологию. А дальше займёмся оптимизацией ресурсов: как сделать, чтобы система работала не хуже, но стоила дешевле. Пусть поначалу на машине будет хоть двадцать лидаров и сотня камер, главное — чтобы всё работало, как должно. И потом мы подумаем, как добиться того же эффекта не с двадцатью лидарами, а с двумя, потом — с одним. А потом и вовсе без них.
— И сколько будет стоить ваша система?
Антон: — Сейчас сложно сказать. Пока что непонятны цены на комплектующие. Например, лидары выпускаются штучными партиями, и оценить их стоимость при промышленном производстве мы не можем. Но наша цель — сделать так, чтобы беспилотная платформа увеличивала стоимость автомобиля незначительно. Если машина подорожает втрое, это будет экономически нецелесообразно.
— Сколько дорожных знаков уже умеете распознавать?
Роман: — Обучение беспилотника — итерационный процесс. Мы постепенно добавляем распознавание различных дорожных объектов, причем качество распознавания тоже постоянно улучшается. Нельзя сказать, что мы столько-то знаков уже распознаем, а столько-то ещё нет. Скорее, мы можем сказать, что сначала определённый объект распознается с 95-процентной вероятностью, потом с 99-процентной, потом с 99,9-процентной и так далее.
Нужно ещё понимать, что мы не учим автомобиль сразу всей теории, чтобы потом выпустить его в любой город России, Беларуси или Европы и чтобы он сразу умел там ездить. Сначала мы учим его ездить на небольшой территории с небольшим набором объектов: светофор, пешеходный переход и знак «Уступите дорогу». Научились ездить в таких условиях — добавляем новые. Поэтому нет смысла закладывать сразу все дорожные знаки и всю базу ПДД, если пока что мы не рассчитываем на поведение машины во всех описываемых ими условиях.
Ситуации бывают самые разные. Например, если за нами едет скорая с мигалками, нам надо свернуть и остановиться. Безусловно, мы должны научить машину такому поведению, без этого она не сможет считаться полностью беспилотной. И таких ситуаций много. Но прямо сейчас мы их ещё не закладываем.
Антон: — На самом деле распознавание дорожных знаков — не очень сложная задача. Как только собрали датасет из всех существующих дорожных знаков мира, её можно считать решённой. А вот распознавать ту же скорую во всех ситуациях — торопится она или нет, включены маячки или выключены, работает ли сирена, — намного сложнее. Но это очень полезная, жизненно важная задача, и мы точно будем решать её раньше, чем заставлять машину зубрить все знаки.
— Какие ещё ситуации придется учитывать?
Роман: — Представим, что наш автомобиль едет в потоке на многополосной дороге и видит впереди нерегулируемый пешеходный переход. Людей на нём не видно, но машина слева начинает притормаживать. Только из этих фактов беспилотник должен будет сделать вывод: автомобиль слева, похоже, тормозит не просто так — скорее всего, он кого-то пропускает. Значит, беспилотник тоже должен притормозить. Таких ситуаций, когда отсутствие информации об объекте не означает отсутствие в реальности самого объекта, может быть немало.
Или более простая задача: подъезжаем к перекрёстку и знаем, что повернуть можно только из правой полосы. А там перед поворотом стоит ряд машин, в то время как в полосах слева никого нет. Не нужно думать, что это какие-то странные водители зачем-то припарковались у перекрестка и что их надо объехать слева. Нужно понимать, что это очередь машин на поворот.
Как видим, машина должна анализировать не только то, что видит сама, но и поведение других участников дорожного движения. Именно над этим мы и работаем в минском офисе Яндекса: над поведенческим принятием решений.
Антон: — Научить машину угадывать, что будет дальше, невероятно сложно. Человек за рулём использует для этого весь свой жизненный опыт, не только знания о вождении. Даже если он не бывал раньше в такой дорожной ситуации, то всё равно сможет понять, что происходит. Например, я вижу, что мотоциклист в соседнем ряду кидает взгляд через плечо. Раньше я с этим не сталкивался, но все равно понимаю, что он собирается перестроиться и оценивает обстановку позади себя.
Или другой пример. Недавно в Грузии еду по скоростному шоссе. Навстречу едут машины на «аварийке». Я на всякий случай притормозил. Оказалось — коровы переходят дорогу. Люди умеют оценивать такие неожиданные ситуации по косвенным признакам, хотя раньше, может быть, никогда с ними не сталкивались. Но с другой стороны, преимущество в подобных ситуациях может быть как раз у беспилотников. У них есть возможность агрегировать данные о подобных ситуациях от множества автомобилей. Допустим, я за свою жизнь проехал десять тысяч километров, кто-то более опытный — несколько сотен тысяч. Но искусственный интеллект благодаря машинному обучению «проедет» десятки миллионов километров и столкнется с огромным числом непредвиденных ситуаций — гораздо больше, чем отдельно взятый водитель увидит за всю свою жизнь. И это позволяет упростить задачу предсказания. Это одна из интереснейших задач в разработке беспилотных технологий.
— Живые люди за рулем иногда совершают поступки, идущие вразрез с логикой. Например, включил левый поворотник, а сам повернул направо. Как беспилотнику на такое реагировать?
Роман: — Он должен заранее предполагать возможные варианты развития событий и иметь «план Б» на случай, если что-то пойдёт не так. Почему обычные водители держат дистанцию? Предполагают, что водитель спереди может внезапно ударить по тормозам. Вот и мы на всякий случай предусматриваем у беспилотника запас для торможения. В упрощённом виде это и есть его «план Б».
Конечно, если кто-то внезапно выехал на встречку прямо под носом другой машины, то отреагировать, скорее всего, не успеет ни живой водитель, ни беспилотник. Просто по законам физики. Но такая гипотетическая ситуация ведь не повод плестись со скоростью 3 километра в час — не делают этого и теперешние водители.
Поскольку нейросети умеют обучаться на сколь угодно большом накопленном опыте, не сравнимом с жизненным опытом одного человека, беспилотники смогут предсказывать ситуацию лучше, чем человек. В сложной ситуации беспилотник точно сумеет рассчитать и выполнить сложный маневр лучше человека и тем самым спасёт жизнь участников движения. Это ещё одна причина, по которой движение на дорогах станет безопаснее.
Антон: — А ещё беспилотники не «залипают» в телефонах и не сидят в мессенджерах. А ещё камеры, стоящие на крыше, помогают беспилотнику заглядывать за впереди идущую машину или позади идущей сзади. Живой водитель в потоке машин крайне редко видит что-то перед машиной, за которой он едет. А беспилотник видит — и это позволяет ему быстрее и точнее принимать решения.
— А как бороться с хулиганами? До сих пор ещё есть любители «пострелять» лазерной указкой по глазам водителей. Можно ли похожим приемом «ослепить» беспилотник?
Роман: — Системы беспилотного ориентирования будут защищаться от внешних воздействий и дублироваться на случай, если камеру, скажем, залепит грязью. Но любые меры предосторожности работают до определенного предела. Если сильно захотеть навредить — то навредить можно и живому водителю, и пилоту самолёта, и беспилотному автомобилю.
Антон: — Живого водителя тоже можно ослепить фонарём или указкой, в машину можно бросить кирпич. Какого-то особого способа напакостить именно беспилотнику мы не знаем.
— Должны ли и будут ли беспилотники обмениваться информацией о дорожной ситуации? Свернул за угол дома и увидел там стадо коров — надо ли об этом стаде рассказать беспилотнику, который едет следом и ещё не повернул?
Роман: — Рано или поздно такое произойдёт. Но чтобы беспилотники стали массовыми, они всё равно должны сначала научиться ездить поодиночке. Даже если мы выпустим на дороги большое количество беспилотников, всё равно останется много «живых» водителей. И беспилотники должны уметь ездить среди них, реагировать на ситуации, о которых они ничего не знают от других беспилотников. Таким образом, мы изначально решим более сложную задачу. А если через много лет на улицах останутся одни беспилотники или их будет хотя бы большинство, для упрощения задачи, они, конечно, станут обмениваться информацией.
— Есть ли какая-то максимальная скорость движения, после которой беспилотник перестанет успевать обрабатывать информацию?
Антон: — Да, есть ограничения, связанные с тем, как быстро работают сенсоры и как быстро при этом меняется дорожная ситуация. Но если мы едем по дороге, а сверху упал метеорит — то как бы быстро ни работали сенсоры и компьютеры, среагировать не успеет никто: ни беспилотная машина, ни водитель за рулём. Будем стараться сделать так, чтобы беспилотник реагировал быстрее, чем человек. Соответственно, там, где успеет человек, успеет и наш автомобиль.
А за скоростью движения гнаться нет смысла. Лучше мы вам покажем медленно едущий, но безопасный беспилотник, чем быстрый беспилотник в овраге. Скорость будет расти постепенно.
— С какими сложностями столкнулись? Были ли какие-то нерешаемые вопросы?
Роман: — Естественно, то и дело возникают сложности, о которых мы раньше не думали. Например, оказалось, что зимой для лидара выхлопные газы выглядят как стена. Это выяснилось на испытаниях в тёмное время суток: сидим мы в машине, вокруг ночь, и вдруг позади нас появляется какое-то препятствие, которое ещё и куда-то движется. Мы глядим туда глазами — а там пусто, темно и никого нет. Посмотрели на данные лидара еще раз — опять возникает препятствие и опять куда-то движется. Только потом выяснили, что такая странная реакция случается из-за разницы температур зимой. Но все подобные вызовы удается решать.
— Кто будет виноват в случае ДТП с беспилотником?
Антон: — Вопрос ответственности за происшествия — это серьёзная проблема государственного уровня, причём не конкретной страны: она пока не решена нигде в мире. Проблема не только юридическая, но и этическая, она требует серьёзного пересмотра регулирования. Но безусловно, решение будет найдено.
— А есть ли смысл делать технологию, если пока что ни в России, ни в Беларуси это не разрешено и неясно, будет ли разрешено?
Антон: — Вспомните — паровые повозки первое время тоже были вне правового поля. Сделаем технологию — напишут и закон. Мы со своей стороны будем активно помогать госорганам, рассказывать, как работает технология, и советовать, что можно улучшить в законодательстве по этому вопросу.
— Какой вид транспорта целесообразно первым переводить на беспилотное управление — легковушки, автобусы, троллейбусы?
Роман: — Так как легковушек намного больше, и они универсальнее остальных видов транспорта, логично начинать именно с них.
Антон: — С другими видами транспорта не всё так просто, как на первый взгляд. С одной стороны, трамвай ездит по рельсам — кажется, сделать его беспилотным легче, чем машину. В то же время вокруг него полно других машин, велосипедистов, пешеходов, которые поворачивают и выскакивают на рельсы, когда им вздумается. Так что с этой точки зрения превратить трамвай в беспилотник не намного проще, чем легковушку. Вот метро — пожалуйста, и такое уже есть во многих городах.
— В Таллине минувшим летом запустили беспилотные маршрутки EasyMile от французской фирмы DSV. Изучали их опыт?
Антон: — Конкретно Таллин — нет. Существует несколько проектов, где машина без водителя работает в условиях конкретного маршрута, по которому нужно ездить туда-обратно с небольшой скоростью. Вероятно, таллинский проект — как раз из этой серии. Но у таких беспилотников не хватает самого важного умения: ориентироваться в сложных условиях и принимать решения. Если мы ездим по одному и тому же маршруту, нам достаточно уметь распознавать препятствия. Вот на нашем пути препятствие — мы остановились и ждем. Препятствие ушло — мы снова поехали. Это проще, чем делать полноценные беспилотники.
— А кого из разработчиков беспилотников вы рассматриваете как образец? «Теслу»?
Антон: — Очень сложно оценить, кто чего добился. Все рассказывают красивые истории, но при этом покататься можно буквально у двух-трёх производителей. А купить беспилотник вообще нельзя.
Есть классические автопроизводители, есть ИT-компании, которые занялись беспилотниками. По нашей оценке, ИT-компании продвинулись дальше. В целом среди конкурентов могу выделить Uber, Waymo от Google и Cruise внутри General Motors. Но кто из них забрался дальше — сказать нельзя. Чисел они не публикуют (кроме Waymo), а те, что публикуются, невозможно ни проверить, ни сравнить.
Роман: — «Теслу» нельзя назвать полноценным беспилотником. Скорее, в ней можно включить помощник водителя, который позволит следовать по полосе и держать расстояние — ну и всё. Круг ситуаций, в которых ей можно передавать управление, не слишком широк.
— Некоторые производители оснащают свои машины радарами, камерами и прочими датчиками, но не позиционируют это как беспилотник, а подают лишь как систему помощи водителю. Перестраховываются и не спешат выходить на рынок?
Роман: — Суть не в наборе датчиков, а в алгоритмах, в том, как машина ведет себя в разных ситуациях. Нельзя исключать и пиар—составляющую. Кто как хочет, так свои технологии и называет, поэтому некорректно сравнивать беспилотные технологии разных производителей только на основании числа датчиков и заявлений фирм. Одна компания может назвать свою систему драйвер-ассистентом, а другая — беспилотником, но работать на самом деле они могут одинаково.
— Есть мнение, что некоторые компании презентуют свои беспилотники, когда те еще очень далеки от настоящей автономности, но при этом собирают хорошую прессу и инвестиции. Не получится ли так, что рынок наводнят плохонькие беспилотники, разработчикам которых окажется дешевле выплачивать страховку и судебные выплаты, чем совершенствовать технологию?
Антон: — Мне кажется, что нет, потому что поставщика таких ненадежных решений регулирующие органы очень быстро заметят, обложат многомиллионными штрафами и закроют.
Если технология есть — она будет выпущена на рынок. Вопрос в том, кто это сделает быстрее. Это еще одна причина, почему «Яндекс» занялся беспилотниками: мы — технологическая компания, умеющая решать сложные задачи с помощью алгоритмов. В мире нет какой-то секретной лаборатории, где вовсю ездят толпы беспилотников, а как только производитель договорится с чиновниками, их выпустят на городские улицы. Нет. Все, кто разрабатывает беспилотники, планомерно решают вопросы с сенсорами, с алгоритмами, с управлением, с датасетами.
Надо сказать, что в мире совсем мало компаний, у которых одновременно есть хорошие технологии, хорошая команда и возможность быстро зайти на рынок, как у нас. Даже если взять только Яндекс.Такси и Яндекс.Карты, то компании, у которых найдутся оба аналога, можно пересчитать по пальцам. У Uber, например, до недавнего времени не было своих карт — теперь они начали этим активно заниматься.
— Должно ли ПО для беспилотников быть свободным, или и здесь появятся патентные тролли, которые станут судиться со всеми вокруг?
Антон: — Для того чтобы беспилотник поехал, недостаточно только алгоритмов. Нужно собирать данные и обучать машину на их основе, нужно иметь испытательные полигоны. Без обучения и испытаний технология во многом теряет смысл. Другими словами, какой-то опенсорс в этой области возможен, но не факт, что из-за открытых технологий беспилотники станут появляться быстрее. Скорее, рынок подстегнет конкуренция.
— Каким будет выход на рынок, на чем покажете готовое решение? Такси, панорамомобиль? И когда это произойдет?
Роман: — Один из возможных вариантов — действительно такси, хотя пока обещать сложно. Разработка беспилотной технологии — проект, в котором лабораторными условиями не обойдешься, ведь реальный мир — сложный и непредсказуемый. И очень важно перед выходом на рынок проверить ее в реальном мире, с настоящими погодными условиями и настоящими участниками дорожного движения.
Антон: — Мы рассчитываем выйти на рынок в течение пяти лет. А уже в этом году, если получим необходимые разрешения, планируем выехать в город. Пока что тренируемся на небольшом полигоне. Несколько автомобилей ежедневно наезжают по 5-10 часов — в сумме выходит по паре сотен километров в день. Впрочем, когда машина стоит, она тоже выполняет тесты.
Сейчас мы рассматриваем возможность создания полноценного города-полигона в Подмосковье, где, наверное, станем жить [смеется]. На таком полигоне мы хотим воссоздать элементы городской инфраструктуры: съезды—заезды, площади с круговым движением, светофоры, широкие дороги и узкие, большие и маленькие перекрестки. Чтобы можно было моделировать разные ситуации, возникающие в реальности. Заодно думаем, как назвать город. Яндексвиль? Пока не решили. Зато у машин уже есть имена. Их зовут в честь героев сериала Westworld: например, Долорес и Бернард.
У «Яндекса» много технологий, которые облегчают проверку гипотез. Пожалуй, мой любимый сервис — «Яндекс.Толока». Он, кстати, разработан в Минске, это краудсорсинговый проект для быстрой разметки большого количества данных, которые затем используются для машинного обучения. Например, пользователи Толоки помогают нам быстро разметить 3D-данные из лидара или проверить, насколько хорошо мы реагируем на светофоры. Поскольку над задачей одновременно работают как минимум сотни, а то и тысячи толокеров, результаты готовы в худшем случае на следующий день.
Победит не тот, кто выйдет на рынок раньше других, а тот, кто быстрее других научится проверять гипотезы и вносить изменения в алгоритмы. Кто раньше других научится осваивать новые технологии. Например, появились датчики нового типа: event-based camera. Они передают не состояние, а разницу состояний: был пиксель светлее, стал темнее, да—нет. Такой сенсор умеет работать намного быстрее, чем обычная камера — 1.000 fps для него не предел. Это открывает новые возможности, вот только писать софт под этот сенсор пока никто не умеет. И таких новинок может быть много. Часть из них так и останется на стадии прототипов, часть пойдет в производство и, может быть, убьет лидар. И наша задача — как можно быстрее освоить новые технологии, проверить их и внедрить в свою разработку либо отбросить.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.