Нейросеть научила квадрокоптер мягкой посадке

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

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

Инженеры под руководством Суна Чжо Чуна (Soon-Jo Chung) из Калифорнийского университета в Ирвайне разработали алгоритм управления полетом квадрокоптера, позволяющий ему совершать равномерную и мягкую посадку, а также сохранять стабильную высоту при полете над неровной поверхностью. По сути, при полете вблизи поверхности модель поведения дрона можно упростить до трех составляющих: силы тяжести, суммарной силы, возникающей из-за вращения винтов, и неизвестной возмущающей силы, возникающей из-за экранного эффекта. Разработчики обучили нейросеть расчету третьей силы.

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

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

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

Григорий Копиев