Модели движения беспилотников

Физик Тимур Идиатуллов о навигации беспилотников, картах движения и проблемах позиционирования автомобиля
17.09.2019

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

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

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

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

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

Проблема, которая вызывает сейчас сложности для многих разработчиков, заключается в том, как уменьшить объем информации, который необходим для того, чтобы эта рабочая карта существовала. Вы движетесь по дороге, и у вас есть две полосы на этой HD-карте - это будут две параллельные линии, идущие по центру этих полос движения. Мы, люди, совершенно интуитивно в любой момент времени можем перестроиться с одной полосы на другую. Если на карте нет информации, что можно перестроиться, беспилотный автомобиль перестроиться не сможет. Дополнительный пласт информации, который можно было бы удалить, - это научиться делать карты такими, чтобы автомобиль сам понимал, каким образом можно из одной параллельной траектории перейти в другую. Представьте, что у вас есть две полосы движения, между которыми бетонный блок. На цифровой карте они будут выглядеть совершенно одинаково. Если автомобиль не поймет, что там находится бетонный блок, а просто попытается перестроиться, то, скорее всего, у него ничего не выйдет. В то же время, если он едет по хайвею, где нет бетонного блока и две полосы идут в одну сторону, то перестроиться вроде как небольшая проблема. Каким образом прописать в карте, что это можно делать, но при этом не закладывать информацию большого числа узлов, в которых рисуются точки принятия решений через каждый метр, о том, что здесь ты можешь перестроиться? Представьте, что 200 километров у вас черточки, которые соединяют две полосы. Это огромный объем информации, который не хотелось бы включать в карты, но который совершенно необходим, если мы делаем высокоточные карты в режиме, где прописываем все траектории.

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

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

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

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

Источник: ПостНаука

Смотрите другие наши материалы