Инженеры из Института робототехники Университета Карнеги — Меллона предложили метод обучения системы управления беспилотниками, который заключается в намеренном сталкивании дрона с препятствиями. Препринт статьи опубликован на arXiv.org.
На сегодняшний день существует большое количество различных систем, позволяющих беспилотникам избегать столкновения с препятствиями, такие технологии в последнее время начали появляться даже в «родном» программном обеспечении популярных дронов (например, DJI Phantom 4). Подавляющее большинство подобных систем изначально учат распознавать препятствия и избегать столкновений с помощью дополнительных датчиков, однако в новой работе инженеры решили использовать обратный подход, для чего намеренно врезались беспилотником в различные объекты, а для анализа использовали только кадры фронтальной камеры.
В качестве аппаратной платформы исследователи выбрали квадрокоптер AR Drone 2.0, на который установили штатный защитный каркас из полипропилена. Обучение беспилотника происходило по следующему сценарию: дрон начинал полет в случайной точке помещения и двигался вперед, записывая кадры с камеры, после чего сталкивался с препятствием, возвращался на исходную точку (если пережил столкновение) и снова начинал двигаться вперед, но уже в другом направлении.
После столкновения записанные кадры разбивались на две группы: первая группа содержала в себе изображения до столкновения и использовалась в качестве примера подходящего окружения для полета, в то время как вторая группа, содержащая кадры столкновения, использовалась в качестве негативного примера. Обе группы изображений использовались для обучения сверточной нейросети, управляющей автономным перемещением квадрокоптера. Всего дрон налетал в режиме обучения 40 часов, за это время беспилотник совершил 11500 столкновений в 20 разных помещениях.
Как отмечают авторы статьи, такой подход позволяет получить большой массив данных для обучения нейросети, что положительно сказывается на результате, а вмешательство человека требуется только для замены аккумулятора. Кроме того, полипропиленовый каркас дешево стоит и при необходимости легко меняется, а столкновения на небольшой скорости не приносят дрону никакого вреда.
Обученный на примере 11,5 тысяч столкновений дрон инженеры протестировали в разных ситуациях, которые в том числе включали большое количество препятствий (кресла в коридоре) и движущиеся препятствия (человек, идущий по коридору). Квадрокоптер продемонстрировал, что способен самостоятельно передвигаться в таких условиях, огибая препятствия. Из-за того, что в качестве датчика используется фронтальная камера, дрон в полете постоянно осматривается, однако даже на демонстрационной видеозаписи видно, что беспилотник иногда все равно врезается в стены.