Американские инженеры, занимающиеся разработкой роботов и изучением самоорганизующихся систем, создали роборыб Bluebot. Эти небольшие по размерам устройства, имеющие длину корпуса около десяти сантиметров, обладают высокой маневренностью под водой и способны собираться в косяки подобно настоящим рыбам. Главной особенностью новой платформы разработчики называют отсутствие необходимости во внешнем управлении подводным роем. Все роботы в стае принимают самостоятельные решения, основываясь только на визуальной информации, которую они получают благодаря встроенным камерам и светодиодным маркерам, установленным на их корпусах. Этот подход имитирует возможности настоящих рыб и позволяет моделировать их коллективное поведение. В будущем рои подобных роботов помогут в изучении океанов и коралловых рифов, мониторинге окружающей среды и проведении подводных работ, говорится в статье, опубликованной в журнале Science Robotics.
Для многих животных характерно объединяться в группы. Самоорганизация позволяет им за счет взаимодействия между членами группы выполнять задачи, которые были бы слишком сложны для отдельных особей. Из наиболее ярких и хорошо известных примеров можно вспомнить рои насекомых, стаи птиц и косяки рыб. В случае рыб объединение происходит для защиты от хищников, совместной миграции к местам размножения и для более эффективного поиска пищи. Некоторые виды образуют группы на протяжении всей жизни, другие же только на определенных ее этапах.
Численность рыб в косяках может достигать тысяч особей, при этом существует большое разнообразие коллективных поведенческих стратегий в зависимости от ситуации. Например, при приближении хищника мелкие виды могут сбиваться плотный шар, скоординировано и синхронно меняя направление движения. В других стратегиях рыбы могут резко броситься в разных направления из плотного скопления, пытаясь уйти от атакующего хищника и сбивая его с толку, или образовывать и поддерживать динамические формации, например синхронно плавая по окружности вокруг добычи. В большинстве случаев такое коллективное поведение координируется неявно, то есть каждая особь принимает решения о своих действиях только исходя из наблюдений за своей локальной областью пространства и ближайшими соседями в ней. Однако на уровне стаи из индивидуальных решений особей возникает организованное коллективное поведение.
Подобный основанный на самоорганизации децентрализованный подход к управлению может быть применен для групп роботов. Особенно актуальным он может стать для подводных аппаратов, так как в воде затруднена коммуникация с использованием традиционных видов радиосвязи, которые обычно используются для управления дронами и роботами на суше.
Радхики Нагпал (Radhika Nagpal) из Гарвардского университета и ее коллеги разработали подводных роботов Bluebot, которые способны самоорганизовываться в стаю (Blueswarm) и демонстрировать поведение, похожее на поведение настоящих рыб в косяках, когда каждый отдельный член стаи принимает решения самостоятельно без централизованного внешнего управления. В выбранном инженерами подходе роботы в стае полагаются исключительно на свое трехмерное зрение. Для того чтобы роботы могли идентифицировать друг друга каждого из них оснастили синими светодиодами в роли световых меток, размещающихся вертикально снизу и сверху на выступающих элементах корпуса.
Две камеры Raspberry Pi с широкоугольным линзами (Arducam) находятся по бокам в передней части корпуса и играют роль глаз. Благодаря им робот имеет практически всенаправленный трехмерный обзор за исключением небольшой слепой зоны в пять градусов в задней полусфере. Изображение с двух камер, которые работают по очереди с частотой переключения до 20 микросекунд, обрабатывается на бортовом компьютере Raspberry Pi Zero W с частотой примерно 2 герца.
На десятисантиметровом корпусе роборыбы размещены гибкие пластиковые плавники: хвостовой, предназначенный для движения вперед, два передних плавника, расположенных под углом к продольной оси и обеспечивающих повороты вокруг вертикальной оси и движение назад, и спинной плавник, который необходим для движения вверх и вниз. Корпус робота обладает небольшой положительной плавучестью, так что спинной плавник необходим ещё и для того, чтобы удерживать аппарат на заданной глубине. Плавники приводятся в движение электромагнитными актуаторами, состоящими из катушки и размещенного в ней постоянного магнита. Все системы робота питаются от аккумулятора емкостью 950 миллиампер-часов, которого хватает для работы в течение примерно двух часов. Робот способен двигаться вперед со скоростью до 150 миллиметров в секунду (около 1.15 длин корпуса в секунду), а в вертикальном направлении до 75 миллиметров в секунду. Для получения информации о глубине установлен датчик давления.
Для зрения используется в основном синий канал, за исключением тестов, в которых помимо синих светодиодов используются красные световые метки. На каждом изображении фиксируются принадлежащие другим роботам световые маркеры, которые затем по взаимному расположению связываются с конкретным членом стаи, а лишние данные, возникающие из-за отражения света от поверхности воды исключаются. Затем из положений маркеров на изображении вычисляются относительные положения и расстояния до остальных роботов стаи.
Инженеры провели несколько демонстрационных тестов, чтобы исследовать коллективное поведение роботов и возможные сценарии их взаимодействия. Так как у блюботов нет другого способа обмена информацией кроме подачи световых сигналов с помощью светодиодов, то синхронизировать свои действия во времени они могут только с помощью световых сигналов. Для этого каждый робот начинает мигать светодиодами с фиксированной частотой независимо от других роботов. Одновременно с этим наблюдая за вспышками соседей он пытается изменять фазу своих вспышек таким образом чтобы уменьшить разницу с окружающими его роботами. В результате через несколько раундов синхронизации все роботы начинают мигать в унисон. Аналогичный процесс наблюдается, например, в роях светлячков, которые синхронизируют вспышки, подстраиваясь под частоту миганий своих соседей.
Для организации стаи роборыб в пространстве применяется метод виртуальных потенциалов. В этом методе каждая индивидуальная «особь» испытывает на себе действие виртуальной силы, притягиваясь или отталкиваясь от каждого из членов стаи. Чем ближе один робот подплывает к другому, тем сильнее они начинают отталкиваться, и напротив, чем больше они удаляются друг от друга, тем больше между ними «сила притяжения». В качестве искусственного потенциала взаимодействия, инженеры использовали потенциал Леннарда-Джонса, который применятся в физике для описания зависимости энергии взаимодействия двух неполярных частиц от расстояния между ними. Таким образом, каждый робот оценивает относительные расстояния до ближайших к нему соседей, вычисляет результирующую силу «взаимодействия» с ними и вектор движения и перемещается в этом направлении. Задавая параметры виртуальных сил, можно собирать роботов в плотные косяки или же наоборот распределять их по большему объему пространства, например для выполнения задачи поиска.
Также разработчики реализовали сценарий с образованием динамической формаций, когда рыбы синхронно движутся по окружности друг за другом вокруг общего центра. Для этого каждый робот следит только за небольшой выделенной частью своего поля зрения. В случае, если в этом промежутке появляются маяки другой «особи», робот начинает разворот в направлении против часовой стрелки, в противном случае он плывет вперед, одновременно разворачиваясь по часовой стрелке. Таким образом, через некоторое время все члены стаи начинают двигаться по часовой стрелке вдоль одной окружности.
В четвертом сценарии, инженеры исследовали возможности решения задачи коллективного поиска. Роботы должны обнаружить «приманку», роль которой выполняет красный светодиод в одном из углов бассейна. Они стартуют из центра бассейна и начинают поиск. Чтобы покрыть большее пространство выбираются соответствующие параметры описанного выше искусственного потенциала. Первый нашедший приманку робот остается возле нее и переходит в сигнальный режим, подавая световые сигналы другим членам стаи. Заметившие их «особи» отключают свои маркеры и двигаются по направлению к подающему сигнал роботу. Заметив источник света «приманки», они также переходят в сигнальный режим, тем самым усиливая световой сигнал, привлекающий остальных членов стаи, находящихся на удалении. При коллективном поиске все члены группы обнаруживали приманку в среднем за 90 секунд, тогда как одиночному роботу на это требовалось около 1024 секунд.
Конечно, роботы Bluebot это лишь лабораторный демонстратор, однако по словам разработчиков, созданный ими подход для управления подводными роботами пригодится не только для изучения и моделирования коллективного поведения настоящих рыб, но и сможет найти практическое применение в будущем. Рои подводных автономных роботов, использующих самоорганизацию наподобие той, что используют реальные рыбы, можно будет применять для изучения морей и океанов и мониторинга окружающей среды. Например, в рамках наблюдений за закислением океанов подобные роботы могли бы заниматься сбором проб, обследовать коралловые рифы, помогать в изучении популяций планктона, а также выполнять обследование затонувших судов во время спасательных операций. Из будущих возможных улучшений для применения в реальных условиях разработчики называют переход на основанное на глубоком обучении распознавание изображений вместо применения светодиодных меток на корпусах роботов, а для работы в условиях плохой видимости или открытого океана использовать акустические сенсоры.
Для летающих дронов также разрабатываются децентрализованные системы управления, например американские инженеры из Калифорнийского технологического института создали, основанный на машинном обучении алгоритм, который позволяет рою дронов перемещаться через пространство со множеством препятствий и при этом не сталкиваться друг с другом.
Андрей Фокин