Командная работа роботов пока остается несовершенной в реальных условиях. Робототехники успешно создают приложения и проводят эксперименты в лабораториях, однако самоорганизующиеся системы дают сбой, как только выходят за их пределы. Ученые из Бельгии предложили новый подход к программированию роя роботов, который предусматривает централизованное управление.
За последние два десятилетия, как отметили ученые Брюссельского свободного университета (Бельгия), исследования в области роевого интеллекта показали возможности управления большим числом автономных роботов без какого-то центрального координирующего робота. Эти эмерджентные системы рассчитаны на коллективное поведение различных объектов, каждый из которых выполняет простые функции, взаимодействуя с другими. Подобные технологии инженеры применяют для решения самых разных задач: мониторинга окружающей среды, навигации и транспортировки, строительства.
Традиционно архитектура большинства таких роев роботов представляет собой самоорганизованную гетерархию, поскольку изначально искусственный роевой интеллект создавался на основе биологических систем общественных, или социальных, насекомых. К ним относятся, например, муравьи, осы, пчелы, образующие сезонные либо многолетние семьи. Однако до сих пор мало кому из специалистов в области искусственного интеллекта удавалось выстроить эффективную иерархию в структуре агентов-роботов.
Бельгийские ученые создали самоорганизующиеся нервные системы (self-organizing nervous systems, или SoNSs), родственные человеческим. При такой структуре роя роботы образуют многоуровневые системные архитектуры и занимают определенные позиции в иерархии руководства, наивысшая из которых — «мозг». Он направляет и контролирует групповые действия во время миссии, при этом действует как временный координатор.
Любой агент на любом уровне иерархии может быть взаимозаменяем с другим, даже с «мозгом». При этом роботы «общаются» только с ближайшими соседями, чтобы у них сохранялась возможность менять конфигурации и перенастраивать динамические системные архитектуры.
Независимо от иерархического положения соседа робот пытается его «завербовать». Если агент находится или недавно находился в той же нервной системе, что и конкурент, или ее качество хуже его собственной, он отказывается. При других условиях сосед соглашается и становится «дочерним» роботом «родителя», сливаясь с ним и привлекая своих нижестоящих «потомков».
В то же время «родитель» может заменить и потенциально понизить статус уже назначенного дочернего элемента тем, который соответствует лучше в этот момент. Отключенный «потомок» автоматически возобновляет работу в качестве «мозга» собственной системы и соответствующим образом обновляет свой целевой граф. Выполняя эти операции, роботы в SoNS могут непрерывно перераспределяться.
Уникальность разработки в том, что система обладает преимуществами управляемости централизованных систем и в то же время сохраняет масштабируемость, гибкость и отказоустойчивость самоорганизующейся сети, то есть свойство сохранять свою работоспособность после отказа одной или нескольких ее составных частей.
Авторы исследования объяснили, что SoNS позволяет программировать рой так, как если бы это был один робот, а не целая «популяция», и это значительно облегчает возможность интегрировать их в практические приложения. Обычно именно на этапе переноса технологии из лабораторных условий в реальные и возникают трудности.
Инженеры из Бельгии провели четыре миссии. Каждая включала как минимум пять испытаний с реальными воздушно-наземными роботами (до 12 агентов) и с использованием специально разработанной квадрокоптерной платформы, а также 50 испытаний в режиме моделирования (до 65 роботов).
Во всех экспериментах роботы выполнили миссию. Они исследовали окружающую среду, выстраивали маршрут, двигались и планировали следующие шаги для выполнения задачи: к примеру, искали и спасали пропавших «собратьев».
Кроме того, ученые продемонстрировали масштабируемость подхода SoNS в роях численностью до 250 роботов в физическом симуляторе и несколько типов отказоустойчивости системы в моделировании и реальности. Этот вклад в развитие роевого интеллекта в робототехнике поможет создать новые решения, при которых роботы будут выполнять задачи быстрее и эффективнее. В частности, такой подход был бы применим в поисковых и спасательных операциях в случае стихийных бедствий или во время природных катастроф.
Научная работа опубликована в журнале Science Robotics.