Беспилотные автомобили

Беспилотные автомобили Tesla, Waymo и Comma.ai

«Думаете ли вы, что можете, или думаете, что не можете - вы правы».

- Генри Форд

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

Многие компании в настоящее время создают технологии для автономных автомобилей, а другие только начинают это делать. Но я сосредотачиваюсь на трех наиболее изменчивых игроках в этой сфере: Tesla, Waymo и Comma.ai. Каждая из этих компаний решает проблему, используя самые разные подходы.

Тесла

Компания Tesla, основанная Мартином Эберхардом и Марком Тарпеннингом в 2003 году, известна как Apple автомобилей из-за своего революционного автомобильного дизайна и нестандартного мышления при создании своих автомобилей. Tesla разрабатывает свои автомобили на основе первых принципов - от системы кондиционирования воздуха, в которой используются перпендикулярные вентиляционные отверстия, до того, как они образуют шасси и подвеску. Благодаря своим инновациям и работе, Tesla Model 3 является самым безопасным автомобилем в мире, за ней следуют Tesla Model S и Model X. Но Tesla не только новаторски в своем оборудовании, но и вкладывает большие средства в свою технологию автопилота.

В 2014 году Tesla незаметно установила несколько аппаратных средств, чтобы повысить безопасность своих автомобилей. Несколько месяцев спустя они выпустили технологический пакет за дополнительные 4250 долларов, чтобы использовать датчики - 12 ультразвуковых датчиков, камеру, обращенную вперед, передний радар, GPS и тормоза с цифровым управлением. В ближайшие месяцы Tesla запустила новые функции, а через год выпустила 60 000 автомобилей. Это была его первая версия автопилота, известная как Tesla Version 7.0.

Он предоставил водителям такие функции, как управление в пределах полосы движения, смена полосы движения и парковка. Однако другие компании, включая Mercedes, BMW и GM, уже предложили некоторые из возможностей. Но самоуправление было внезапно, в одночасье, обновлением программного обеспечения и гигантским скачком к автономности. И клиенты Tesla были довольны обновлением программного обеспечения, разместив в Интернете видеоролики о том, как программное обеспечение «управляет» их Tesla без помощи рук.

Tesla производит не только программное обеспечение, но и оборудование для своих автомобилей, что позволяет выпускать новые функции и обновлять программное обеспечение по беспроводной сети (OTA). Поскольку с 2014 года Tesla выпускает автомобили с необходимыми аппаратными компонентами для самостоятельного вождения, Tesla имеет широко распределенный парк для тестирования. Другие производители автомобилей, такие как Google и GM, имеют лишь небольшой парк автомобилей для самостоятельного вождения с необходимым оборудованием.

С момента появления аппаратного пакета Tesla до октября 2018 года, в общей сложности за 32 месяца, Tesla накопила около 1,5 миллиарда миль, проехав на новейшем оборудовании. Не только это, но и серверы Tesla хранят данные, которые накапливаются этими автомобилями, так что команда автопилота может вносить изменения в свое программное обеспечение на основе того, что она узнает. На момент написания этой статьи у Tesla было около 5,5 миллионов миль данных в день для своей новейшей системы, а для сбора 1 миллиона миль требовалось всего около четырех часов. Для сравнения, у Waymo второе место по количеству данных с пробегом около 10 миллионов миль за время своего существования, то есть за 2 дня Tesla получает больше данных от своих автомобилей, чем Waymo имеет за весь срок службы.

Этот показатель увеличивается с увеличением количества автомобилей на улицах, и Tesla ускоряет темпы производства своих автомобилей. Tesla накопила больше миль, чем ее конкуренты, но когда она проверила свою способность к самостоятельному вождению с Департаментом транспортных средств Калифорнии (DMV) - государственной правительственной организацией, которая регулирует регистрацию транспортных средств, у Tesla было гораздо больше случаев отключения по сравнению с другие конкуренты. Отключение - это количество раз, когда водители-испытатели беспилотного автомобиля должны взять на себя управление автомобилем.

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

В конце 2015 года показатели Tesla показали, что она сильно отстает от конкурентов. Если нормализовать количество миль на одно отключение, у Tesla программное обеспечение в 1000 раз хуже, чем у Waymo. Но Tesla продолжает оттачивать свою систему год за годом. И у Tesla есть преимущество перед другими автопроизводителями: он может обновлять систему, выполняя обновление по беспроводной сети, и улучшать систему без необходимости продавать новые автомобили или обслуживать их.

Автопарк Waymo имеет самое низкое количество отключений на милю, но даже этот показатель не приближается к человеческим возможностям. Waymo имеет 1 выход на каждые 1000 миль. Теоретически у людей примерно в 100 раз меньше отключений, чем у программного обеспечения для самостоятельного вождения Waymo.

Но у Tesla есть еще одно преимущество: у нее есть большой парк автомобилей, на котором можно протестировать новейшее обновление программного обеспечения для беспилотных автомобилей. Эта технология позволяет Tesla самостоятельно разрабатывать программное обеспечение и выпускать его в теневом режиме на миллионы миль, прежде чем выпускать программное обеспечение для широкой публики. Теневой режим позволяет Tesla бесшумно тестировать свои алгоритмы на борту, что предоставляет им обширный стенд для тестирования своего программного обеспечения из реального мира.

В отличие от других компаний, Tesla делает ставку на то, что они могут управлять беспилотным автомобилем, который работает лучше, чем человек, без аппаратного устройства для обнаружения и определения света (LIDAR). ЛИДАР - это датчик, похожий на радар - его название произошло от светового и радарного чемодана. Он отображает физическое пространство, отражая лазерные лучи от объектов. Радар не может видеть много деталей, а камеры не так хорошо работают в условиях низкой освещенности или яркого света. LIDAR позволяет автомобилю «видеть» то, что вокруг него, гораздо более детально, чем другие датчики. Проблема с лидаром заключается в том, что он плохо работает в нескольких различных условиях освещения, в том числе в туман, дождь или снег.

Другая проблема заключается в том, что LIDAR стоит дорого, первоначально от 75 000 долларов США, хотя сейчас стоимость значительно ниже, а оборудование громоздкое, напоминающее ведра KFC. LIDAR помогает автономным автомобилям в автономном режиме обрабатывать и строить трехмерную модель мира вокруг них, называемую одновременной локализацией и картированием (SLAM). Тем не менее, Tesla продолжает улучшать свое программное обеспечение и снижать частоту отключения, что является одной из причин, по которой Tesla сделала ставку на отказ от использования такого устройства. Автомобили, работающие так же хорошо, как и люди, нуждаются в таком же оборудовании. Люди водят машину только глазами. Таким образом, само собой разумеется, что беспилотные автомобили могут работать так же хорошо, как люди с одними только камерами.

Автомобиль Tesla с программным обеспечением автопилота врезался в тягач с прицепом в июне 2016 года после того, как его программное обеспечение не смогло обнаружить прицеп на фоне яркого неба, что привело к смерти его водителя. По некоторым данным, LIDAR мог предотвратить эту аварию. С тех пор Tesla добавила в свои автомобили радары для таких ситуаций. Один из поставщиков базового программного обеспечения, Mobileye, расстался с Tesla из-за смертельного исхода. Они сочли Tesla слишком оптимистичной, когда представили свое программное обеспечение широким массам, и нуждались в дополнительных тестах, чтобы обеспечить безопасность для всех. К сожалению, смертельные случаи из-за программного обеспечения для беспилотного вождения всегда будут происходить, как и в случае с водителями-людьми. Со временем технология будет улучшаться, а скорость разъединения снизится. Я предсказываю время, когда автомобили будут водить лучше людей, и в этот момент автомобили станут более безопасными водителями, чем люди. Но смертельные случаи неизбежны.

Перед смертью Tesla использовала программное обеспечение Mobileye для обнаружения автомобилей, людей и других объектов на улице. Из-за раскола Tesla пришлось разработать Autopilot 2 с нуля, то есть создать новое программное обеспечение для распознавания объектов и действий с ними. Тесла потребовалось два года, чтобы оставаться в том же состоянии до распада. Но как только он догнал старую систему, он быстро утратил свои первоначальные черты.

Например, новейшее программное обеспечение Tesla Autopilot 9.0 имеет самую большую нейронную сеть зрения, когда-либо обучавшуюся. Они основали нейронную сеть на известной архитектуре нейронной сети Google Inception. Версия Tesla, однако, в 10 раз больше, чем Inception. Количество параметров (весов) в нейронной сети Tesla в пять раз больше, чем у Inception. Я ожидаю, что Tesla продолжит раздвигать границы.

Waymo

Но Tesla - не единственная компания, занимающаяся беспилотным вождением, на переднем крае технологий. Фактически, компания Google Waymo была одной из первых компаний, начавших разработку программного обеспечения для автономных автомобилей. Waymo - это продолжение проекта, начатого в лаборатории в Стэнфорде, который начался за 10 лет до первого выпуска Tesla Autopilot. Он выиграл DARPA Grand Challenge для беспилотных автомобилей, и из-за его дурной славы компания Google приобрела его пятью годами позже, образовав Waymo. Автомобили Waymo работают намного лучше, чем любая другая система с автономным вождением, но, что удивительно, в реальном мире они проехали на много меньше миль, чем Tesla и другие производители беспилотных автомобилей.

DARPA Grand Challenge начался в 2004 году с 150-мильного маршрута по пустыне, чтобы стимулировать развитие беспилотных автомобилей. В течение первого года победитель, Waymo, преодолел семь миль, но все машины разбились, вышли из строя или загорелись. Технологии, необходимые для этих автомобилей первого поколения, были сложными, дорогими, громоздкими и внешне непривлекательными. Но со временем автомобили нуждались в меньшем количестве оборудования и улучшались с каждым годом. Хотя первоначальная задача была ограничена одним местом, в последующие годы она расширилась до городских курсов.

Победив в конкурсе, компания Waymo стала лидером автономных автомобилей. Самая низкая скорость отключения на милю среди любой системы беспилотного автомобиля означает, что у них лучшее программное обеспечение. Некоторые утверждают, что основная причина, по которой Waymo работает лучше, чем конкуренты, заключается в том, что она тестирует свое программное обеспечение в смоделированном мире. Компания Waymo, расположенная в углу кампуса Alphabet, разработала симулированный виртуальный мир под названием Carcraft - игру слов, относящуюся к популярной игре World of Warcraft. Первоначально разработанный для воспроизведения сцен, которые автомобиль испытывал на дорогах общего пользования, этот симулированный мир включал в себя моменты, когда автомобиль отключался. В конце концов, Carcraft взяла на себя еще большую роль в разработке программного обеспечения для беспилотных автомобилей, поскольку смоделировала тысячи сценариев для проверки возможностей автомобиля.

Waymo использовала эту виртуальную реальность для тестирования своего программного обеспечения перед тем, как выпустить его на свои реальные тестовые автомобили. В ходе моделирования Waymo создал полностью смоделированные версии таких городов, как Остин, Маунтин-Вью и Феникс, а также другие модели тестовых треков. Он тестировал различные сценарии на многих смоделированных автомобилях - около 25 000 из них одновременно. В совокупности автомобили проезжают около 8 миллионов миль в день в этом виртуальном мире. Только в 2016 году виртуальные автономные автомобили проехали примерно 2,5 миллиарда виртуальных миль, что намного больше, чем 3 миллиона миль, которые автомобили Waymo проехали по дорогам общего пользования. Его смоделированный мир проехал в 1000 раз больше миль, чем настоящие автомобили.

Сила этих симуляций заключается в том, что они тренируют и тестируют модели с помощью программного обеспечения, созданного для интересных и сложных взаимодействий, вместо того, чтобы машина просто тратила мили. Например, Carcraft моделирует движение на кругах с множеством полос движения, по которым сложно ориентироваться. Он имитирует, когда другие транспортные средства отрезают имитацию автомобиля или когда пешеход неожиданно пересекает улицу. Такие ситуации редко случаются в реальном мире, но когда они случаются, они могут быть фатальными. По этим причинам Waymo опережает своих конкурентов. Он обучает и тестирует свое программное обеспечение в ситуациях, когда другие конкуренты не могут обойтись без симулированного мира, независимо от того, сколько миль они пробегают. Лично я считаю, что тестирование в симулированном мире необходимо для создания безопасной системы, которая может работать лучше, чем люди.

Моделирование значительно ускоряет цикл разработки программного обеспечения. Для разработчиков чрезвычайно важен цикл итераций. Вместо того, чтобы занимать недели, как в первые дни разработки программного обеспечения Waymo, после разработки Carcraft цикл изменился на несколько минут, а это означает, что инженеры могут настраивать свой код и быстро его тестировать, вместо того, чтобы ждать долгие периоды времени.

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

По мере совершенствования программного обеспечения Waymo загружает его в свои автомобили, запускает и тестирует на испытательном треке перед загрузкой на автомобили в реальном мире. Для сравнения: с 2015 по 2016 год Waymo в четыре раза снизила скорость отсоединения на милю. Несмотря на то, что Waymo имела преимущество в создании симулированного мира для тестирования своего программного обеспечения, многие другие автопроизводители теперь имеют программы для создания своих собственных симуляторов и испытательных стендов.

Некоторые сообщают, что стратегия Waymo заключается в создании операционной системы для беспилотных автомобилей. Google придерживался той же стратегии при создании Android, операционной системы для смартфонов. Они создали программный стек для смартфонов и позволили другим компаниям, таким как Samsung и Motorola, создавать оборудование. Для беспилотных автомобилей Waymo создает стек программного обеспечения и хочет, чтобы автопроизводители создали оборудование. Сообщается, что компания пыталась продать свой программный пакет автопроизводителям, но безуспешно. Автомобильные компании хотят создавать собственные системы самоуправления. Итак, Waymo взяла дело в свои руки и разработала службу такси Early Rider, насчитывающую около 62 000 минивэнов. В декабре 2018 года Waymo One запустила круглосуточную службу в районе Феникса, которая открыла свой сервис совместного использования пассажиров для нескольких сотен предварительно выбранных людей, расширив свою частную службу такси. Однако на сиденье водителя этих фургонов будет сотрудник Waymo. Это могло бы быть решением для запуска беспилотных автомобилей в реальном мире, но будет трудно увидеть масштабирование этого решения.

Comma.ai

Одним из других наиболее важных игроков в экосистеме беспилотных автомобилей является Comma.ai, созданный хакером Джорджем Хотцем в возрасте около 20 лет в 2015 году. В 2007 году в возрасте 17 лет он прославился тем, что был первым человеком. взломать iPhone для использования в сетях, отличных от AT&T. Он также был первым, кто взломал Sony PlayStation 3 в 2010 году. До создания беспилотного автомобиля Хотц жил в Кремниевой долине и работал в нескольких компаниях, включая Google, Facebook и AI. стартап под названием Vicarious.

Хотц начал взламывать беспилотные автомобили, переоборудовав белый Acura ILX 2016 года с лидаром на крыше и камерой, установленной возле зеркала заднего вида. Он добавил большой монитор там, где находится приборная панель, и деревянную коробку с джойстиком, где обычно находится рычаг переключения передач, который позволяет программному обеспечению для самостоятельного вождения управлять автомобилем. Ему потребовалось около месяца, чтобы модернизировать свою Acura и разработать программное обеспечение, необходимое для того, чтобы машина могла управлять собой. Хотц большую часть своего времени проводил, добавляя датчики, компьютер и электронику. После того, как системы были запущены и заработали, он вел машину два с половиной часа, чтобы компьютер мог наблюдать за его вождением. Он вернулся домой и загрузил данные, чтобы алгоритм мог проанализировать его манеру вождения.

Программа узнала, что Хотц, как правило, держался средней полосы и держался на безопасном расстоянии от машины перед ним. Две недели спустя он отправился на вторую поездку, чтобы провести больше часов обучения, а также протестировать программное обеспечение. Автомобиль долго ехал, оставаясь в пределах полосы движения. Линии на приборном экране - одна показывала реальный путь машины, а другая - место, куда компьютер хотел ехать, - почти идеально перекрывались. Иногда казалось, что Acura запирается на машине перед ней или принимает сигналы от ближайшей машины. Хотц не запрограммировал ни одно из этих поведений в машину и не мог толком объяснить причины того, что она сделала. После автоматизации рулевого управления автомобилем, а также педалей газа и тормоза, Хотц взял машину на третью поездку, и она идеально оставалась в центре полосы на многие мили, а когда машина перед ним замедлялась, то же самое сделала Acura.

Поскольку большая часть программного обеспечения, разработанного Hotz, использует Deep Learning, код занимает всего около 2000 строк, в то время как большинство других систем, основанных на операторах if-then, содержат сотни тысяч строк.

Технология, которую он создал как предприниматель, представляет собой фундаментальный переход от дорогих систем, разработанных Google, к гораздо более дешевым системам, которые зависят от программного обеспечения больше, чем от оборудования. Его работа произвела впечатление на многие технологические компании, включая Tesla. Илон Маск, который присоединился к Tesla после раунда финансирования Series A и является их нынешним генеральным директором, и Хольц встретились на заводе Tesla во Фримонте, штат Калифорния, и обсудили искусственный интеллект. Они договорились о сделке, по которой Хотц будет создавать программное обеспечение лучше, чем у Mobileye, а Маск компенсирует ему контракт на сумму около 1 миллиона долларов в год. К сожалению, Хольц ушел после того, как Маск постоянно менял условия сделки. «Честно говоря, я думаю, тебе стоит просто поработать в Tesla», - написал Маск Хотцу по электронной почте. «Я счастлив разработать многомиллионный бонус с более длительным временным горизонтом, который выплачивается, как только мы прекращаем выпуск Mobileye». «Я ценю это предложение, - ответил Хотц, - но, как я уже сказал, я не ищу работу. Я позвоню тебе, когда раздавлю Мобилай. Маск просто ответил: «Хорошо».

С тех пор Хольц работал над тем, что он называет Android беспилотных автомобилей, сравнивая Tesla с iPhone автономных транспортных средств. Он выпустил устройство, похожее на смартфон, которое продается за 699 ​​долларов с установленным программным обеспечением. Видеорегистратор просто подключается к самым популярным автомобилям в США, выпущенным после 2012 года, и обеспечивает эквивалентные возможности автопилота Tesla, что означает, что автомобили едут по автомагистралям от Маунтин-Вью до Сан-Франциско, и никто не касается руля.

Но вскоре после запуска продукта Национальная администрация безопасности дорожного движения (NHTSA) направила запрос и пригрозила штрафными санкциями, если Хотц не подчинится надзорным соображениям. В ответ Хотц снял товар с продажи и пошел другим путем. Он решил выпустить на рынок другой продукт, который представлял собой аппаратную версию продукта.

Затем, в 2016 году, он открыл исходный код программного обеспечения, чтобы любой мог установить его на соответствующее оборудование. При этом Comma.ai отказалась от ответственности за запуск своего программного обеспечения на автомобилях. Но потребители по-прежнему имели доступ к технологиям, позволяющим их машинам управлять самостоятельно. Comma.ai продолжает развивать свое программное обеспечение, и водители могут покупать и устанавливать его в свои автомобили. По некоторым оценкам, сейчас на улицах курсирует около 1000 таких модифицированных автомобилей.

Мозг

Мозг автономного автомобиля составляют три основные части: локализация, восприятие и планирование. Но даже до того, как приступить к этим трем основным шагам, программное обеспечение должно интегрировать данные от различных датчиков, то есть камер, радаров, LIDAR и GPS. Различные методы гарантируют, что если данный датчик зашумлен, то есть содержит нежелательные или нечеткие данные, то другие датчики помогут с их информацией. И существуют другие методы для объединения данных с этих разных датчиков.

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

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

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

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

Эти три шага в совокупности формируют действия, которые автомобили должны предпринять на основе предоставленной информации. Система решает, нужно ли автомобилю повернуть налево, затормозить или ускориться. Инструкции, передаваемые в систему управления, гарантируют, что автомобиль не сделает ничего недопустимого. Эта система объединяется, чтобы заставить автомобили ездить по улицам сами по себе и «волшебство» за автомобилями, управляемыми Tesla, Waymo, Comma.ai и многими другими.