Банк знаний
11 Апреля 2019, ПостНаука

Проблемы внедрения беспилотников

Физик Тимур Идиатуллов о том, в чем главная проблема беспилотного транспорта, почему автомобили не научатся мыслить как люди и как беспилотник принимает решения на дороге.

В проекте «Движение будущего» при поддержке организаторов Технологических конкурсов Up Great мы рассказываем о главных тенденциях в разработке новых видов транспорта.

Почему беспилотные автомобили не мыслят как настоящий водитель? Объясняет кандидат физико-математических наук Тимур Идиатуллов.

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

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

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

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

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

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

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

Есть отдельное направление групп исследователей, которые предлагают вообще не решать эту проблему алгоритмически, а полностью положиться на искусственные нейронные сети. К сожалению, у таких исследований есть одна очень важная проблема, о которой часто умалчивают: нейронные сети полностью полагаются на вероятностный алгоритм движения, то есть делают предположения и на их основании предполагают, какое действие будет лучше. В отличие от человека, который несет ответственность за свои действия, нейронные сети ни за что не отвечают. Никто ни за что не отвечает, но при этом выполняется какое-то действие. Если что-то все-таки произойдет, кто будет виноват? Человек-водитель, в отличие от электронной системы, предполагает последствия своих действий, в том числе что он делает что-то опасное, заранее понимая опасность, потому что получает преимущество. Например, едет в плохую погоду и все-таки попадает в пункт назначения. Движется с большей скоростью, чем разрешено правилами, потому что считает, что ничего серьезного не произойдет. Искусственная нейронная сеть, к сожалению, не обладает возможностью балансировать на грани между необходимостью продолжать движение и тем, что будет, если она таким образом действовать не станет. Необходимо преодолеть пропасть между тем, что нейронная сеть просто научилась и выдает нам результат, который, с ее точки зрения, считается нужным, и тем, чтобы мы понимали, почему она таким образом действует. Когда мы начнем это понимать, мы просто доверим нейронной сети принимать решения по движению, по предположению о том, как будет развиваться дорожная ситуация, как нам действовать в этой дорожной ситуации, какие действия беспилотного автомобиля в этой дорожной ситуации к каким последствиям приведут, и в этот момент можно будет полностью доверить автоматической системе начать движение.

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

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




Тимур Идиатуллов
кандидат физико-математических наук, заведующий кафедрой «СМАРТ-технологии» Московского политехнического университета



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

Хочу быть в курсе
Спасибо!