Как работает беспилотный транспорт

В 2016 году объём инвестиций в беспилотный транспорт составил 80 миллиардов долларов, из них 40 были вложены в микрочипы, 16 — в сенсоры и 4 — в искусственный интеллект. Предполагается, что эта отрасль может дать большой толчок к улучшению ИИ и алгоритмов машинного обучения. Кроме того, уже сегодня открыто большое количество вакансий в этой нише. Но пока светлые умы программистов работают над решением поставленных задач, мы расскажем вам о том, как работают беспилотные автомобили и кого такой прогресс может затронуть напрямую.

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

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

Беспилотный транспорт в России

В России над беспилотными автомобилями работают КАМАЗ и Yandex. Однако над своей собственной техникой работает только первая компания, Yandex же использует автомобили сторонних производителей для создания и тестирования своего беспилотного автопарка, однако, по словам сотрудника компании, российский IT-гигант работает над технологией, которая будет применима к разным автомашинам. Более того, разработка нацелена на последний (Level 5) уровень беспилотности.

Среди менее известных простому обывателю компаний над беспилотниками работают Volgabus и Cognitive Technologies. Последние разрабатывали автономный комбайн.

Кстати, KAMAZ занимается разработкой беспилотных шаттлов для перевозки зрителей Чемпионата Мира по футболу 2018, более того, для них будут выделены отдельные полосы. Также компания уже тестирует свои беспилотные технологии на трассе M11, где запущен автопоезд из 5–10 грузовиков, повторяющих манёвры первого. На борту первой машины есть оператор, но он управляет только в экстренных ситуациях.

А товарищи из Yandex тестируют беспилотную технику в обычных городских условиях, но пока с пилотом-испытателем, который не вмешивается в работу автомобиля.

Перспективы

Министр промышленности и торговли РФ говорил, что выведение беспилотного транспорта на дороги общего пользования «будет ещё не скоро, поскольку такие перемены требуют, в том числе и обновления ментального восприятия окружающего мира человеком. Пока так рисковать мы не готовы». Предполагается, что сначала беспилотный транспорт будет протестирован локально, затем будет выведен на более широкий уровень с частичной автоматизацией и только после этого представится возможным использование полностью автономных автомобилей.

Некоторые эксперты отмечают, что количество ДТП может снизиться на 90%. Ведь запрограммированная техника вряд ли будет кого-то намеренно подрезать, превышать скорость или нарушать ПДД.

Что находится в «мозговом центре» самоуправляемого автомобиля?

Есть два подхода к обучению автомобиля: классический и нейросетевой. Первый состоит из четырёх модулей: локализация, распознавание, планирование и управление. При работе со вторым подходом автомобиль получает данные с камер, отправляет их нейросети, а она уже определяет, куда повернуть и на какой скорости ехать.

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

Планирование пути почти так же важно, как и восприятие окружающего мира автомобилем. Поэтому давайте рассмотрим методы планирования пути, их всего три, если говорить об основных.

1. Алгоритмы поиска пути на графах

К качественным алгоритмам поиска пути на графах в отношении беспилотных автомобилей можно отнести A*. Однако и у него есть недостатки, например, в пространствах большой размерности скорость работы снижается. При этом нужно понимать, что на самой дороге нет ни вершин, ни рёбер клеток и придётся самим составлять граф, учитывая положение машины в пространстве. Но чем оно сложнее, тем более нагруженным становится граф.

2. Оптимизационные методы.

Оптимизационные методы позволяют накладывать ограничения и штрафы с помощью функций. Штрафы могут быть за превышение скорости или за чрезмерное приближение к другим объектам. При использовании этого метода пространство исследуется агрессивно. Алгоритм не ищет оптимального способа объезда препятствия, а просто «едет» в разные стороны.

3. Стохастические алгоритмы.

Этот метод отличается высокой скоростью работы в больших пространствах, однако оптимальность выбора остаётся под большим вопросом. Но тем не менее данные, полученные с помощью этого метода, можно отправлять напрямую системе управления автомобилем. Более детально с этими алгоритмами вы можете ознакомиться в совместных трудах [PDF] Бадера Алшамари (Университет Кувейта | KU) и Овидье Калина (Восточный Университет Мичигана | EMU).

Наши материалы по алгоритмам:

  1. Подборка визуализаций по алгоритмам поиска пути и ещё одна подборка;

  2. Целый раздел, посвящённый алгоритмам и структурам данных.

Также более детально эти алгоритмы объясняет специалист компании Yandex в видео ниже.

А как же машины «видят»?

Так видит мир автомобиль при помощи лидара и стереокамеры.

Классический подход работает по следующее схеме: модули карт и восприятия отправляют информацию в модуль планирования, который в свою очередь делится полученными и обработанными данными с системой управления автомобилем.

Давайте рассмотрим, как модуль восприятия узнаёт, что находится вокруг машины:

  1. Радар — распространённый сенсор, который уже используется на автомобилях с круизным режимом. Однако радар не очень хорошо понимает, что перед ним находится пешеход, если он не в металлическом костюме. Отличительная особенность радара заключается в возможности узнать радиальную скорость.
  2. Камеры отвечают за общую картину на дороге.
  3. Лидар — сенсор, который определяет расстояние до определённых объектов на дороге, а также «видит» всё лучше радаров и камер. Но у него есть два минуса: цена и качество. Даже если лидар сделан по всем ГОСТам, то он всё равно может быстро выйти из строя из-за постоянного движения, собственно из-за этого он и остаётся нишевой технологией. Но вообще лидар — интересное изобретение, с помощью которого хорошо реализуется итеративный алгоритм ближайших точек.
  4. Инфракрасные камеры — «видят» людей и животных лучше радаров, но стоят дорого и ограничены температурными рамками. Становится немного бесполезным сенсором, если на машине установлен лидар.

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

Примечание Подробнее с методом сегментации экземплярами можно ознакомиться на GitHub, а также в следующих документах: [PDF 1], [PDF 2].

Поиграть с сегментацией экземплярами можно на сайте Кембриджского Университета.

Ниже представлено видео реализации метода сегментации экземплярами.

Зрение автомобиля можно реализовать с помощью только камер и радаров — самых дешёвых технологий. Особенность такого метода заключается в локальном использовании техники: в бортовой компьютер загружаются базовые карты, обрабатываются нейронными сетями, а затем сравнивают реальность с загруженными картами. Транспорт будет плохо ориентироваться в городах, подобных Лондону, где часто бывают природные явления, затрудняющие восприятие даже человеку. Также машина будет «удивляться» в таких городах, как Москва, где всё активно строится и ремонтируется.

Пример реализации метода с базовыми картами.

Какой теперь будет ситуация на рынке труда?

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

А теперь немного конкретики.

Кому беспокоиться:

  1. Таксистам, для которых эта работа постоянна.
  2. Водителям автобусов.
  3. Дальнобойщикам.

Кому радоваться:

  1. Специалистам по работе с данными.
  2. Специалистам в области моделирования и симуляции.
  3. Специалистам в области компьютерного зрения.
  4. Специалистам DevOps.
  5. А также прочим специалистам, работающим с нейронными сетями, ИИ, данными и аналитикой.

Например, на западном рынке уже довольно много вакансий (около тысячи), связанных с обучением беспилотных автомобилей.

Заключение

Прежде чем беспилотные автомобили дойдут до широкого круга потребителей, им придётся пройти множество тестов и усовершенствований. На данный момент самоуправляемых автомобилей 3, 4 и 5 типов крайне мало, чтобы оценить удобство пользования. Одной машины достаточно, только чтобы определить жизнеспособность идеи, но для более подробного массива данных нужны сотни автомобилей.

Также важно продумать систему безопасности беспилотных автомобилей. Если кинуть в обычную машину кирпич, то она поедет дальше и ничего с ней не случится, а вот если кинуть кирпич беспилотному автомобилю в лидар или радар, то безопасность передвижения на нём будет под очень большим вопросом. Эти устройства расположены на внешней части транспорта, поэтому так уязвимы. Но даже если исключить вероятность попадания кирпича, то никто не застрахован от града или прочих природных (или не совсем) явлений, которые могут подпортить жизнь автовладельцу.

Кроме того, беспилотный автомобиль легко можно загнать в ловушку. Например, если рабочие случайно забыли нанести временную разметку и установить временные знаки, автомобиль может просто остановиться перед препятствием и ничего не делать, если слева (или справа в некоторых странах) сплошная.

Если вам интересна тема самоуправляемых автомобилей, но у вас нет своего и хочется хоть как-то поиграть с беспилотностью, то можете ознакомиться с этой статьёй на Medium.

Евгений Туренко, кубанский переводчик

Ещё интересное для вас:
Тест: какой язык программирования вам стоит выбрать для изучения?
Тест: как хорошо вы разбираетесь в Data Science?
Соревнования и бесплатная онлайн-школа для программистов