Роботы, слишком точно имитирующие живых существ, и роботы, которые ведут себя совершенно противоестественно, в равной степени привлекают внимание и отталкивают. К первой категории относятся механизмы, которые строит фирма Boston Dynamics: их чересчур «органические» движения производят пугающее впечатление. Хороший пример другой крайности — прошлогодние видео, которые показывают жутковатый рой миниатюрных квадролётов, движущихся с неправдоподобной быстротой и слаженностью.
Само по себе роение — это один из наиболее непонятных и несвойственных людям способов организации. Когда мы хотим навести порядок, то инстинктивно начинаем строить иерархии. Неудивительно, что роботы, подражающие муравьям или пчёлам, вызывают такие неоднозначные чувства — и одновременно массу вопросов.
Как устроены эти летающие роботы? В самом ли деле они автономны, или это иллюзия, и их управлением в действительности заведует единый центральный компьютер? Если движение каждого из них просчитывает одна программа, то мы наблюдаем не рой, а нечто вроде единого организма, который состоит из множества элементов, не имеющих механической связи между собой. Это тоже любопытный вариант, но любопытный совсем по-другому.
В отличие от информации о проектах Boston Dynamics, ведущихся на военные деньги и с военной же скрытностью, найти информацию о роящихся квадролётах не так уж трудно. Все необходимые сведения имеются в многочисленных научных работах, которые публикуют их создатели из лаборатории робототехники, автоматизации, очувствления и восприятия университета Пенсильвании (краткое название лаборатории — GRASP). Некоторые дополнительные подробности можно почерпнуть из записей их публичных выступлений и интервью.
При ближайшем рассмотрении оказывается, что миниатюрные квадролёты GRASP представляют собой весьма интересные устройства даже в том случае, если не принимать во внимание их коллективное поведение.
Весь механизм целиком, включая батарею и электронику, весит всего 73 грамма, то есть раза в полтора-два меньше, чем средний смартфон. При этом он умещается на ладони: диаметр каждого из четырёх пропеллеров составляет 8 сантиметров, а в сумме вся конструкция имеет в поперечнике 21 сантиметр.
Хранение энергии — едва ли не главная проблема, с которой сталкиваются создатели электрических квадролётов. Хотя на аккумуляторы, как правило, приходится до половины веса летательного аппарата, это не помогает. Даже с такими большими батареями небольшие квадролёты редко держатся в воздухе дольше пяти минут.
Конструкторы миниатюрных квадролётов GRASP добились в этой области относительно неплохих показателей. Источником энергии служит литий-полимерный аккумулятор ёмкостью 400 мА*ч, весящий 23 грамма. За счёт невысокого энергопотребления время автономной работы аппарата удалось довести до 11 минут.
Бортовой компьютер основан на процессоре ARM Cortex-M3 с тактовой частотой 700 МГц. Он обрабатывает информацию, поступающую с датчиков: трёхосного акселерометра, трёхосного же магентометра, барометра для измерения высоты и двух гироскопов, один из которых, двухосный, измеряет тангаж и крен, а другой, одноосный, измеряет рыскание устройства.
Нетрудно заметить, что все эти датчики сообщают лишь о перемещениях того квадролёта, на котором они установлены. Ни один из них не позволяет узнать, что происходит вокруг. Для этого необходима видеокамера или хотя бы дальномер, но их нет.
В GRASP имеются квадрокоптеры, снабжённые в дополнение к прочим датчикам ещё и камерой Kinect. Они способны самостоятельно построить трёхмерную картину своего окружения, но по очевидным причинам гораздо крупнее, чем те летающие роботы, о которых идёт речь в этой статье. Поскольку исследователей интересовала максимальная миниатюрность, им пришлось пойти на компромисс.
Миниатюрные квадролёты GRASP ориентируются в пространстве с помощью внешней системы захвата движения компании Vicon, которая установлена в лаборатории. Данные, которые она собирает, подвергаются первичной обработке на стационарной рабочей станции, а затем передаются квадролётам по беспроводному протоколу ZigBee. Обмен информацией между рабочей станцией и каждым роботом происходит сто раз в секунду.
Погоня за миниатюрностью имеет объяснение. Миниатюрные квадролёты отличаются почти сверхъестественной маневренностью. Именно она делает их движения настолько странными и неестественными. Аппарат совершает 360-градусный кувырок быстрее, чем за полсекунды, а за секунду он способен «прыгнуть» в сторону на ширину своего корпуса или совершить больше пяти оборотов вокруг одной из осей.
Видео, которые публиковали исследователи, наглядно показывают, что даёт такая маневренность. Стремительные прыжки и мгновенные изменения ориентации устройства позволяют выполнять трюки, которые были бы невозможными в другом случае — например, преодолевать узкие проёмы, на долю секунды наклонившись на 90 градусов.
Побочный эффект миниатюрности — исключительно низкая грузоподъёмность. Это она подтолкнула исследователей к экспериментам с коллективами роботов. Да, один маленький квадролёт слаб, но достаточно большая группа роботов справится с чем угодно. Когда профессор Виджай Кумар из лаборатории GRASP выступал на конференции TED, он проиллюстрировал эту идею видеороликом, показывающим муравьёв, которые совместными усилиями несут в муравейник груз, неподъёмный для любого из них по отдельности.
На TED Кумар рассказал, что для того, чтобы организовать совместную работу большого коллектива летающих роботов, следует руководствоваться тремя принципами. Во-первых, управление должно быть децентрализованным. Введение иерархии непозволительно усложнит и замедлит процесс. Подобно муравьям, роботам следует научиться обходиться без лидера. Во-вторых, роботы должны быть взаимозаменяемы и неотличимы друг от друга (принцип «анонимности»). В-третьих, они должны использовать лишь информацию, доступную локально.
Слаженное групповое поведение, которое на первый взгляд кажется невозможным без строгой организации, в действительности может быть полностью децентрализованным и неуправляемым. Знаменитое приложение Boids, разработанное специалистом по компьютерной графике Крейгом Рейнольдсом в 1986 году, демонстрирует это как нельзя лучше.
Каждый объект в Boids выбирает свой путь на основании трёх простых правил. Первое правило: держать дистанцию между собой и другим объектам. Второе правило: двигаться в том направлении, где находится ближайший объект. Третье правило: стремиться к центру массы группы ближайших объектов.
Результат: объекты на экране Boids самоорганизуются в подвижные группы, движущиеся поразительно похоже на настоящие стаи птиц или косяки рыб. Чуть доработанные алгоритмы Boids часто используют при изготовлении спецэффектов в кино, когда нужно изобразить правдоподобное поведение толпы людей.
Поскольку летающим роботам незачем имитировать стаи птиц, они могут обойтись ещё более простым алгоритмом. Чтобы не сталкиваться в полёте, они должны всего лишь поддерживать стабильную дистанцию между собой и другими роботами. Каждый из них в этом случае может выполнять свою задачу независимо и менять траекторию лишь при возникновении угрозы столкновения — маневренности как раз хватит.
Это, впрочем, теория. В GRASP ведутся исследования в области децентрализованного управления коллективами роботов (как летающих, так и наземных), однако миниатюрные квадролёты с видео используют принципы, перечисленные Виджеем Кумаром, далеко не в полной мере.
Согласно работе Towards A Swarm of Agile Micro Quadrotors, которую опубликовали в прошлом году Алекс Кушелев, Дэниел Меллингер и Виджай Кумар из лаборатории GRASP, коллектив летающих роботов на видео состоит из нескольких групп. Группы не связаны между собой и взаимодействуют децентрализованно, но внутри каждой из них царит жёсткая дисциплина.
В публикации обсуждается два способа организации групп, подходящих для разных ситуаций. Один вариант — полёт строем, когда роботы располагаются в определённом порядке, а затем повторяют все движения лидера. Другой вариант — полёт цепочкой, при котором лидер летит первым, а остальные следуют за ним с определённой задержкой. В обоих случаях необходимо просчитывать лишь траекторию лидера, что значительно упрощает дело.
Так насколько же автономны отдельные роботы, если дело обстоит именно так? Как объяснил Кумар в одном из интервью, централизованно задаётся стратегия, а определение тактики отдано на откуп отдельным роботам:
«Они автономны в том смысле, что способны сами определять, как изменить скорость каждого пропеллера, чтобы попасть туда, куда им нужно, но подчиняются контролю на более высоком уровне, решающему, куда же им нужно. Задача робота в том, чтобы выполнить поставленную перед ним задачу, одновременно не теряя из виду того, чем заняты его соседи».
Судя по всему, рой миниатюрных летающих роботов вряд ли скоро покинет стены лабораторий. Полная зависимость от внешних датчиков и недостаточное время автономной работы ограничивает их полезность. Иными словами, пока это лишь интересный эксперимент — и только. Впрочем, любое изобретение начиналось с интересного эксперимента. Может, что-нибудь получится и на этот раз.