Как учат водить беспилотный автомобиль
Среднестатистический человек обладает всем необходимым для управления автомобиля. У нас есть глаза и уши для анализа окружающего мира; мозг, быстро реагирующий на внешние процессы; и, в большинстве случаев, достаточно надежная память, которая позволяет нам ездить достаточно уверенно по довольно большому числу дорог. Но существует огромная разница между тем, как мы воспринимаем мир, и как это делает компьютер.
«Вы можете просто загрузить правила дорожного движения в бортовой компьютер» — говорит Кателин Джабари из команды Google, занимающейся разработкой беспилотных автомобилей — «но это не позволит предусмотреть 99% вещей, с которыми мы сталкиваемся на дороге. Как резко должна остановиться машина? Насколько быстро она должна входить в поворот?». Воссоздание этих навыков с помощью электроники — возможная, но не самая простая задача.
Автономному автомобилю необходимо три основных умения для успешного движения: во-первых, он должен понимать, где он находится; во-вторых, он должен определить безопасный маршрут к пункту назначения; в-третьих, он должен разобраться, как именно ему ехать по этому маршруту. Это именно то, что мы делаем в процессе вождения: локализация, осознание и движение. К счастью, третий пункт легко реализуем с помощью технологий, но возникает проблема с первыми двумя умениями.
Базовые карты
«Нас часто спрашивают, почему не используем GPS» — рассказывает Вилл Маддерн, участник оксфордской исследовательской группы, которая занимается созданием «Robot Car». «Это вполне логичный вопрос: GPS — потрясающее инженерное достижение».
Основная проблема GPS заключается в том, что эта технология имеет ряд значительных ограничений. Во-первых, ее использование требует «прямой видимости неба», что исключает возможность ее применения в туннелях, закрытых парковках и, даже, в лесу. Но, что еще важнее, GPS не обладает достаточной точностью для реализации поставленной задачи. Погрешность этой технологии колеблется в пределах метров, а когда речь идет о движении по оживленной улице, значение имеет каждый сантиметр.
«Мы часто используем GPS, как точку отсчета в алгоритме локализации» — говорит Маддерн — «но мы не полагаемся на него, когда определяем, в какой полосе находится автомобиль». Поэтому, беспилотные автомобили полагаются на абсолютно другие технологии.
Облако точек, созданное с помощью LIDAR и стерео камеры |
«Необходимо, чтобы случились две вещи» — объясняет профессор Сидхар Лакшманан, инженер, который специализируется на обработке изображений и компьютерном зрении беспилотных транспортных средств в Мичиганском университете. «Должна значительно повыситься точность карт, а процесс регистрации объектов должен стать более надежным».
Автомобили, разрабатываемые в Оксфордском университете, а также детище Google используют 3D-карты дорог, которые участники проекта называют «prior maps». Они выглядят, как изображение выше. Используя бортовые сенсоры, автомобиль сравнивает текущее положение вещей, которое он регистрирует в реальном времени с тем, что заложено в его память. «Базовые карты позволяют автомобилю лучше „понять“ где он находится, прежде чем начать обработку реальных данных», — объясняет Джаббари. «Таким образом, он знает, что должно случиться, анализирует то, что происходит на самом деле, и может принять конкретное решение на основе сравнения этих данных».
Необходимость в таких картах вносит некоторые ограничения в использование беспилотных автомобилей. «Прежде, чем мы сможем автоматизировать автомобили, мы должны создать [достаточно подробные] карты дорог», — признает Джаббари. Google и другие разработчики создают эти карты по кусочку, используя те же самые автомобили, которые используются для тестирования систем автономного управления, для фиксирования окружающего мира с очень высоким уровнем детализации.
Реальный мир
Беспилотные автомобили используют довольно экзотическое оборудование. Автомобили Google полагаются на лазеры и радары. Лазер Velodyne 64 (LIDAR) устанавливается на верху транспортного средства. Вы можете увидеть их на фото, расположенном ниже.
LIDAR способен сканировать 1,3 миллионов точек за каждый оборот вокруг своей оси. Система способна распознать 14-ти дюймовый объект на расстоянии 160 футов. Системы, которые демонстрируют точность в два раза ниже, конечно, менее надежны, но в теории их должно быть достаточно для того, чтобы ориентироваться в сложных погодных условиях. Автомобили, которые разрабатываются в Оксфорде, используют стерео-камеры и LIDAR. Другие, например, разработка AutoNOMOS Labs, используют подобную комбинацию сенсоров. Так или иначе, основная задача всего этого оборудования — собрать как можно больше информации об окружении автомобиля.
Возникает вполне логичный вопрос: «Если мы обладаем такими точными средствами для анализа окружения автомобиля в реальном времени, почему мы тратим время на разработку базовых карт?»
«Не все разработчики беспилотных автомобилей согласны с необходимостью базовых карт для навигации транспортного средства», — говорит Маддерн — «ряд исследователей считает, что автомобилю не требуется информация о том, где он находится, для того чтобы адекватно реагировать на изменения обстановки. Достаточно следования дорожной разметке, знакам и светофорам, а также учета расположения и действий других автомобилей и участников движения».
Команда Google не согласна с таким подходом. Джаббари утверждает, что «Если вы полагаетесь только на данные, полученные в реальном времени, вам придется выполнять значительно большее количество операций для оценки ситуации. Базовые карты делают этот процесс проще, повышая уровень безопасности и контроля над ситуацией». Это не значит, что использование только текущих данных невозможно, просто это более сложная задача. Возможно, это окажется лучшим подходом, но вряд ли оно первым выйдет на рынок.
Даже при наличии достаточно детальных базовых карт, беспилотный автомобиль вынужден постоянно собирать информацию об окружающем мире, особенно в сложных погодных условиях. Маддерн говорит, что автомобили, которые разрабатывают в Оксфорде, постоянно создают новые карты, хотя такой подход требует значительных объемов памяти.
Восприятие мира глазами беспилотного автомобиля
То, как автомобиль воспринимает окружающий мир, зависит от того, какое оборудование использует исследовательская группа. В случае с лазерными сканерами, оборудование генерирует картину окружающего мира с точностью до миллиметра, которую называют облаком точек. Эта технология позволяет оценить обстановку с высокой точностью, что облегчает сравнение полученных данных с базовыми картами и обеспечивает высокую актуальность полученных данных.
Основные проблемы LIDAR — его дороговизна, высокий уровень потребления энергии и большое количество подвижных частей. Поэтому автомобили, над которыми работают специалисты из Оксфорда, используют обычные камеры для сравнения реальной обстановки с информацией, заложенной в картах. С другой стороны, использование камер снижает точность анализа и усложняет алгоритм сравнения.
Вместо сравнения «пиксель в пиксель» компьютер идентифицирует «интересные точки», такие как углы, бордюры и другие особенности. На обеих картах (базовой и полученной в реальном времени) эти точки объединяются в группы, которые сравниваются между собой. Маддерн утверждает, что система отлично работает даже при разных размерах изображений и плохом освещении.
По большому счету, такой точности вполне достаточно. Гифка ниже показывает, как Robot Car воспринимает окружающее пространство с помощью монокулярной камеры и сравнивает полученные данные с базовой картой. Снижение стоимости оборудования имеет огромное значение, это позволяет сократить стоимость оборудования с тысяч до сотен долларов. Основные проблемы, с которыми столкнулись исследователи: размытие изображения, вспышки света и сложные погодные условия. Но проблема высокой стоимости считается одной из самых сложных в развитии беспилотных автомобилей, поэтому ее решение имеет огромное значение.
Распознавание объектов
«Это святой Грааль беспилотных автомобилей» — утверждает Лакшманан — «Регистрация неожиданного возникновения препятствия, будь то пешеход, переходящий дорогу, или автомобиль, резко меняющий свое местоположение, и адаптация автомобиля к новым условиям».
Существует несколько способов решения этой проблемы. Самый простой подобен тому, благодаря которому алгоритм распознавания изображений Google отличает чайник от котенка. Собственно именно его Google используют в своем проекте: «Мы учим автомобили определять категории вещей. Расположение пешеходов, велосипедистов и других транспортных средств, причем различных видов, например, полицейская машина или школьный автобус». Основываясь на типе объекта, автомобиль должен определять диапазон его движения, чтобы прогнозировать дальнейшее развитие событий. Если автомобиль «видит», что велосипедист поднял левую руку, это означает, что он планирует повернуть налево или перестроиться. Автомобиль корректирует свое поведение на основе этой информации«.
Грубо говоря, автомобили вполне способны понимать, что происходит вокруг, но им все еще требуется дополнительное обучение. Чувствительность восприятия окружающего мира является еще одной значительной проблемой на пути развития беспилотных автомобилей.
«Способность эмулировать человеческий мозг — это, что мы должны сделать. Компания, которая сумеет этого добиться раньше остальных, первой выйдет на рынок».
Оставить комментарий
Ваш комментарий будет опубликован после модерации.