Американские инженеры использовали методы глубокого обучения для того, чтобы научить дроны прокладывать путь через пространство с препятствиями, избегая столкновений между дронами, при этом учитывая аэродинамические возмущения, создаваемые дронами в рое. В сравнении с традиционным алгоритмом оптимального обоюдного избегания столкновений новый алгоритм планирования пути оказался на 20 процентов эффективнее в большинстве экспериментальных ситуаций, не требуя при этом больших вычислительных ресурсов и может справляться даже с таким сложными ситуациями как обмен местами двух дронов в узком коридоре. Описание алгоритмов опубликовано в статье в журнале IEEE Robotics and Automation Letters, препринт доступен на arXiv.org.
В современном мире рои дронов широко используются только в сфере развлечений, однако появляется все больше задач, для решения которых можно использовать группы летающих роботов. Например, для задачи поиска и спасения пострадавших в чрезвычайных ситуациях вместо одиночных роботов гораздо лучше подходит рой небольших дронов, который может быстро обследовать большую площадь поврежденного здания, завалов или другой территории.
Для эффективного управления роем и контроля взаимодействия между отдельными дронами необходимо решить две ключевые проблемы. Во-первых, проблему навигации и планирования пути для каждого робота при недостатке информации об окружающем пространстве: в постоянно изменяющемся окружении помимо неподвижных препятствий присутствуют другие дроны из роя, столкновения с которыми необходимо избегать. Во-вторых, мультикоптеры создают воздушные потоки, которые необходимо учитывать при близком движении дронов, чтобы они не сдували друг друга с траектории.
Инженеры из Калифорнийского технологического института под руководством Сун-Чжо Чанга (Soon-Jo Chung) из Лаборатории реактивного движения NASA использовали алгоритмы глубокого обучения, чтобы решить эти задачи. Первый алгоритм называется GLAS (Global-to-Local Autonomy Synthesis), он отвечает за навигацию и позволяет прокладывать путь в сложном меняющемся окружении. Второй, Neural-Swarm, отвечает за корректировку траектории с учетом аэродинамических возмущений, создаваемых близкорасположенными дронами.
В качестве платформы для экспериментов инженеры использовали легкие (34 грамма) квадрокоптеры Crazyflie 2.0, отмеченные маркерами для отслеживания положения. Для расчета своей траектории движения каждый дрон использует только информацию о положении находящихся в его локальном окружении неподвижных препятствиях и других дронах, не имея при этом представления о глобальной картине в целом. Однако, для того чтобы обучить, нейронную сеть, которая решает задачу поиска пути, инженеры сначала использовали глобальный планировщик траекторий.
Они создали имитационную модель, представляющую собой виртуальное пространство площадью 64 квадратных метра, в котором с помощью глобального планировщика генерируются с шагом в 0,5 секунды траектории одновременного движения разного числа дронов (4, 8 или 16), при этом варьируется также число и расположение препятствий. После этого из полученного массива данных извлекается информация об относительном положении препятствий только в локальном окружении заданного радиуса вокруг каждого дрона и траектория их движения в каждый момент времени, которые сгенерированы глобальным планировщиком траекторий.
Итоговый объем данных для всех вариантов окружения равен 40 миллионам точек. Этот набор данных наблюдение-действие затем используется для обучения нейронной сети с функцией активации ReLU и архитектурой, основанной на подходе Deep Sets, который вместо векторов фиксированной размерности оперирует функциями, определенными на множествах и инвариантными к перестановкам. Выбор этого подхода связан со значительными колебаниями размерности вектора данных наблюдений каждого дрона, так как в любой момент времени число препятствий и других дронов в области видимости может изменяться кардинальным образом.
Как оказалось, такой подход с обучением локального планировщика на данных, сгенерированных на имитационных моделях с помощью глобального планировщика, позволяет снизить частоту застреваний дронов вблизи препятствий из-за проблемы локальных минимумов, свойственной децентрализованным алгоритмам построения пути как следствие неполноты информации об окружении.
Эксперименты показали, что в большинстве сценариев новый алгоритм GLAS на 20 процентов более эффективен, чем традиционно применяемый в таких задачах алгоритм оптимального обоюдного избегания столкновений ORCA (Optimal Reciprocal Collision Avoidance). В качестве показателя эффективности оценивалось число дронов, которые успешно достигли точки назначения, не столкнувшись друг с другом и не попав в «ловушку» локального минимума.
Кроме того, GLAS, являясь децентрализованным алгоритмом, позволяет масштабировать число дронов в рое, а низкие требования к вычислительным ресурсам дают возможность использовать недорогой бортовой микроконтроллер дрона. Вычисления в случае одного дрона-соседа в области видимости занимают около 3,4 миллисекунд. При увеличении числа дронов до трех это время возрастает до пяти миллисекунд, что позволяет использовать имеющиеся на борту вычислительные ресурсы для расчетов в реальном времени с частотой 40 герц.
Чтобы решить проблему аэродинамического взаимодействия, инженеры использовали данные о случайных близких пролетах дронов, когда они оказывают воздействие на траекторию полета друг друга воздушными потоками от роторов. Для этого дроны перемещали внутри заданного пространства по случайным маршрутам — компьютер случайно выбирал целевые точки для каждого дрона с фиксированной частотой. Количество дронов в экспериментах варьировалось от двух до четырех. В качестве алгоритма избегания столкновений в этом случае для простоты использовался метод искусственных потенциалов: целевые точки обладали притягивающей силой, тогда как соседние дроны отталкивали друг друга.
Собранные данные о состоянии дронов в каждый момент времени эксперимента (их положении в пространстве, скорости, ускорении, тяге) и вычисленная с их помощью z-компонента возмущающей силы затем использовались для обучения нейронной сети, построенной на основе подхода Deep Sets с функцией активации ReLU. Итоговый алгоритм с обученными параметрами позволил на лету изменять работу роторов, компенсируя возмущение траектории от пролетов соседних дронов. По словам авторов новый подход уменьшил ошибку при движении в вертикальной плоскости из-за аэродинамического взаимодействия почти в четыре раза.
Задача управления и взаимодействия актуальна не только для летающих, но и для наземных групп роботов. Так, в Университете Линкольна предложили систему с открытым исходным кодом для управления роем роботов при помощи «световых феромонов».
Андрей Фокин
И реагировать на них движениями
Американские инженеры связали на автоматическом станке свитеры для роботов, которые помогают ощущать прикосновения с помощью вшитых датчиков нажима. Свитеры пригодятся, чтобы управлять движениями роботов на производстве. Работа доступна на arXiv.org. Для работы на производстве с людьми, роботам нужно быть очень осторожными, чтобы случайно не травмировать человека. Есть разные способы сделать роботов безопасными, например прикреплять к ним мягкие подушки. Другая идея — научить роботов быстро определять контакт и отодвигаться от человека. В отличие от людей, у роботов нет кожи, но для них можно сделать другую систему для распознавания ощущений из жестких или эластичных материалов, или даже одежду из текстиля, если встроить в нее датчики прикосновений. Одежду можно быстро изготавливать на ткацком станке в промышленных масштабах, и надевать на роботов разных форм и размеров. Группа инженеров из Университета Карнеги под руководством Джеймса МакКанна (James McCann) и Ян Вэньчжэня (Yuan Wenzhen) создала свитеры для роботов, которые могут надежно определять прикосновения. По словам авторов, обычно у текстильных сенсоров есть проблема: они быстро деформируются и перестают надежно работать. Исследователи попробовали с этим справиться, связав свитеры из трех слоев пряжи. Верхний и нижний слой сделаны из обычного нейлона, на котором чередуются широкие и узкие полосы. Широкие полосы сотканы из полиэстеровой металлизированной пряжи, которая хорошо проводит электричество, а узкие полосы изолятора сделаны из акрила. Средний слой — это сетка из района (искусственного шелка). Чем она тоньше, тем выше чувствительность свитера к легким прикосновениям, и наоборот — плотный средний слой подходит для сильных нажатий. Слои ткани с помощью пуговиц с проводами соединяются с устройством для считывания сопротивления, и вместе с ним превращаются в электронную схему. Когда кто-то дотрагивается до свитера, верхний и нижний слои ткани соприкасаются через отверстия в районовой сетке, и сопротивление в системе уменьшается. По сопротивлению можно определить силу нажатия. Инженеры протестировали, насколько надежно устройство определяет силу и место контакта со свитером. Первая серия экспериментов проверяла, как эффективность сенсоров меняется со временем. Эксперименты включали 42 секунды контакта с сенсорами по 20-30 раз на протяжении 4 дней. Авторы не приводят точные цифры результатов, но утверждают что сенсоры показывали стабильные результаты по определению места контакта все 4 дня, с небольшими погрешностями в конце эксперимента. Также исследователи протестировали точность сенсоров на плоской и изогнутой поверхности. На плоской поверхности по сопротивлению датчиков можно было точно определить силу нажатия. На изогнутой поверхности корреляция между сопротивлением и силой нажатия сохранилась, но выросло ее стандартное отклонение. Таким образом, сложность поверхности негативно повлияла на точность определения нажатия. Наконец, инженеры проверили эффективность чувствительных свитеров на роботах. Они надели свитер на робота Kuri, который должен был повернуть голову в ответ на прикосновение. В будущем технологию RobotSweater можно использовать, чтобы обучать роботов: например, похлопать по плечу в качестве похвалы. Пока инженеры показали, как свитеры могут пригодиться на производстве: например, промышленный робот в свитере останавливается и меняет направление движения в ответ на прикосновения. https://www.youtube.com/watch?v=YGUV1dHuCRc Прикосновения может определять не только одежда для роботов, но и искусственная кожа, которую разработала группа ученых из Стэнфордского университета. Пока кожу испытали на крысах, но авторы планируют в будущем встроить ее в человеческие протезы, чтобы улучшить их чувствительность.