[Перевод] Как для стайки дронов вырабатывали коллективный интеллект
Группа из 30 дронов одновременно поднимается в воздух, а нижние части корпусов их шасси светятся 30 различными оттенками — они похожи на люминесцентные конфетки, разбросанные по серому, облачному небу. Потом они замирают подвешенными в воздухе. Через пару секунд они все начинают двигаться, как один.
При перемещении новообразованной стаи светящиеся животики её членов меняются на один цвет — зелёный. Они решают отправиться на восток. Первые дроны приближаются к барьеру, и их пузики становятся зеленовато-голубыми при повороте на юг. Вскоре и цвет последних членов стаи меняется на такой же.
Это красиво, и по-своему удивительно: эти дроны самостоятельно организовали связную стаю, и летают, не сталкиваясь друг с другом, и — что самое удивительное — без какого бы то ни было центрального управляющего модуля.
Это кардинально отличает их от стай дронов, которые вы могли видеть где-нибудь на открытии Суперкубка или Олимпиады. Да, те флоты квадрокоптеров могут насчитывать и тысячи единиц, но движение и расположение каждой из них запрограммировано заранее. А каждый из этих 30 дронов самостоятельно отслеживает своё местоположение, скорость, и одновременно делится этой информацией со всеми остальными членами стаи. У них нет лидера; они совместно решают, куда направиться — и делают это, совершенно буквально, на лету.
Your browser does not support HTML5 video.
В этом смысле они похожи на птиц. Или пчёл, или саранчу. Или на любых существ, способных самостоятельно, величаво и несколько загадочно организовываться в связные группы — таково эмерджентное свойство действий отдельных индивидуумов. Несколько лет назад исследователи смогли добиться этого от 10 дронов. Сегодня это число увеличилось втрое.
Но сделать это было не просто в три раза тяжелее. Дроны способны создавать формацию благодаря реалистичной модели сбивания в стаи, описанной в последнем номере Science Robotics. «Числа сами по себе не могут выразить того, насколько это было сложнее», — говорит Габор Вазарелый [Gabor Vásárhelyi], директор Robotic Lab департамента биологической физики Будапештского университета и первый автор исследования. «Родители, у которых трое детей, представляют себе, насколько сложнее управлять ими, чем одним ребёнком. А если у вас появляется 20–30 детей, то сложность возрастает на порядки. Уж я-то знаю, у меня трое сыновей».
Your browser does not support HTML5 video.
Команда Вазарелого разработала модель на основе тысяч симуляций, где использовались эволюционные алгоритмы с сотнями поколений. «То, что они сумели организовать это децентрализованным способом, весьма круто», — говорит специалист по робототехнике из SUNY Buffalo Картик Данту [Karthik Dantu], эксперт по координации работы нескольких роботов, не связанный с этим исследованием. «Каждый робот занимается своим делом, и при этом появляется массовое поведение».
В координированных системах увеличение числа участников ведёт к увеличению возможностей для появления ошибок. Порыв ветра может сбить один дрон с курса, а остальные последуют за ним. Квадрокоптер может неправильно определить своё местоположение, или потерять связь с соседями. Такие ошибки каскадом распространяются по системе; одна небольшая задержка может быть усилена летящими следом — как пробка на дороге, начинающаяся из-за единственного затормозившего автомобиля. Мелкий сбой может быстро породить хаос.
Но команда Вазарелого сделала такую модель сбивания в стаю, которая может предсказывать максимально возможное количество сбоев. Поэтому их дроны могут роиться не только в симуляциях, но и в реальном мире. «Это весьма впечатляет», — говорит специалист по робототехнике Тоннс Нигаард, не связанный с исследованием. Нигаард — исследователь проекта «инженерная предсказуемость со встроенными рассуждениями» [Engineering Predictability With Embodied Cognition] из Университета Осло, и он работает над сужением разрыва между симуляциями шагающих роботов и реальными искусственными четвероногими. «Симуляции, это, конечно, здорово — говорит он, — поскольку они облегчают возможность упрощения условий работы ваших роботов, и вы можете изолировать и исследовать проблемы». Но проблема в том, что исследователи могут быстро скатиться до чрезмерного упрощения, устраняя особенности реального мира из своих симуляций, а от этого может зависеть, будет их модель успешной, или нет.
Вместо удаления сложностей из своей модели сбивания в стаи, Вазарелый и команда добавляют их. Там, где иные модели могут накладывать на работу дронов два-три ограничения, они накладывают 11. Все вместе они определяют, например, как быстро дрон должен выстраиваться в формацию относительно других членов флота, какое расстояние он должен держать до своих соседей, и насколько активно он должен пытаться его поддерживать.
Чтобы найти наилучшие величины для всех 11 параметров, Вазарелый с командой использовали эволюционную стратегию. Они создавали случайные варианты модели с 11 параметрами на суперкомпьютере, и смотрели, как 100 стай дронов будут вести себя с каждым из вариантов. Затем они выбирали модели наиболее успешных стай, подстраивали параметры, и вновь запускали симуляции.
Иногда многообещающий набор параметров приводил в тупик. Они делали несколько шагов назад, возможно, комбинируя свойства двух разных многообещающих наборов правил, и вновь проводили симуляции. После нескольких лет работы, 150 поколений и 15 000 симуляций, они пришли к набору параметров, который, как они были уверены, должен сработать и с реальными дронами.
И пока что эти дроны прекрасно справляются с задачей; испытания их модели в реальном мире пока что не привели ни к одному столкновению. Полёты выполнялись не только блестяще, но и в разных цветах — цвет шасси дрона обозначал направление его перемещения. Изначально это было сделано для световых шоу с участием дронов, но затем исследователи в последний момент решили добавить такую возможность тестовым аппаратам. Вазарелый говорит, что это очень сильно облегчило задачу визуализации состояния дрона, а также им стало легче замечать ошибки и исправлять их в системе.
А ещё это очень красиво — роболюминесцентная визуализация сложной координации системы.