Фантастические события происходили как в начале этого года, так и сравнительно недавно в центре компьютерных наук и инжиниринга Пола Алена (Paul G. Allen Center for Computer Science & Engineering) университета Вашингтона (University of Washington), а также некоторых других лабораториях, ставших на время полигонами.
А устраивала показательные выступления нахальная бригада роботов, созданная в Лаборатории робототехники и определения состояний (Robotics and State Estimation Lab) того же университета Вашингтона.
Проект называется Centibots — то есть буквально — "стороботы", хотя на самом деле их, как туманно сообщают авторы, "около ста".
Почему они "нахальные"? А вам понравилось бы, если бы небольшие тележки с камерами и радарами вместо глаз носились бы у вас под ногами, не пропуская ни один угол?
Любопытно, что данная инициатива — составная часть более крупного проекта научно-исследовательского агентства Пентагона (DARPA). А потому крайне любопытно — что же эти машины уже умеют, и что из этого может выйти.
Пока, правда, это больше напоминает полицейские операции, а не армейские.
Эта группа роботов "исповедует" принципы самостоятельности, инициативы, периодического взаимодействия между собой, а ещё — автоматического перераспределения задач и ролей в группе.
Пользователь может получать информацию от роботов в любой момент, корректировать "вводные" прямо по ходу выполнения миссии и, главное, рассчитывать, что роботы не остановятся и не растеряются даже при полной потери связи с ним — пользователем.
У этих роботов нет единого мозгового центра, это коллективный разум, гибко перестраивающийся в ходе выполнения задания.
Фаза вторая — это поиск предопределённых пользователем объектов, например — людей, предметов заданного размера и цвета. А это могут быть как противники, так и VIP, подлежащие охране. Посему фаза три — это сигнализация об обнаруженных предметах (людях) и их охрана.
Собственно, охранять эти роботы ещё не умеют, но это уже другой вопрос.
Авторов проекта Centibots интересовало иное — как столь большой коллектив роботов сможет эффективно взаимодействовать, изучая совершенно незнакомое им помещение с разветвленными ходами (априори считается, что все двери открыты, и роботы могут проехать везде — это всё же эксперимент, а не боевые действия).
Итак, наши роботы разбредаются по помещению. Каждый скрупулёзно подсчитывает пройденное расстояние, все свои повороты и составляет "скелет карты".
Положение стен и ответвлений определяется с помощью лазерных (в одной версии роботов, названных Pioneer IIs, их всего четыре штуки) или ультразвуковых сенсоров (они стоят в другой версии, называемой Amigobot).
Amigobot, а они в основном и составляют "сотню", также оснащены видеокамерами, но они будут нужны им для другой задачи.
Так в голове робота медленно растёт карта тех помещений, где он побывал.
Интересно, что роботы связываются между собой по радио (не постоянно, а периодически и там, где проходит сигнал) и сверяют свои карты.
Но как вообще можно соотнести их между собой, если роботы начинали с разных точек и "понятия не имеют", где бегают их коллеги?
Дело в том, что машины временно формируют по радио виртуальные пары (разделённые порой множеством комнат) и соотносят разные участки своих карт, по форме ходов пытаясь решить — не побывали ли они в одном и том же месте (пусть и в разное время).
Если такое совпадение есть, один из роботов выдвигает гипотезу — где сейчас находится его напарник, выдаёт ему по радио сигнал "подожди меня" и следует к предполагаемому месту встречи.
Если он там находит "приятеля", роботы заключают, что всё поняли верно, устанавливают внутри себя объединённую версию карты, вдвое полнее, чем карта каждого из них до встречи и расходятся для дальнейших совершенно самостоятельных изысканий.
Если встреча не произошла, гипотеза отбрасывается, роботы начинают опять работать самостоятельно, чтобы позднее снова попытаться найти друг друга или кого-то ещё из их многочисленного коллектива.
Интересно, что при таких изысканиях некоторые роботы могут выступать (хотя такой вариант работы не обязателен) в качестве "бригадиров", не столько бегающих по помещениям, сколько координирующих действия других участников и дающих им задания ("исследуй все перекрёстки в конце во-он того коридора").
При потере "бригадира" (радиосвязи с ним), любой из подчинённых может взять на себя его функции и сообщить об этом остальным.
Любопытно, что когда один робот проходит извилистый, но всё же замкнутый маршрут, и оказывается там, где уже проезжал, на его карте накапливается ошибка, в силу погрешности системы навигации.
Это десятки сантиметров после маршрута во многие десятки метров. Так вот, в этот момент робот понимает, что он прошёл по кольцу и на своей карте поправляет положение коридоров, чтобы стены сходились.
Точность радаров роботов и интеллектуального картографирования такова, что, пройдя по нескольким смежным комнатам, робот может точно посчитать толщину стен.
Самое привлекательное в таком способе картографирования — оно будет закончено даже при потере части машин (вплоть до одной, оставшейся "в живых"), оно совершенно децентрализовано.
А эпизодическая верификация карт путём сравнения планов, составленных разными "интеллектами", ускоряет общую работу и повышает точность картографирования.
В режиме наблюдения, когда карта уже известна, роботам можно послать команду следить за всеми движущимися предметами (читай — людьми) в заданной группе комнат. Сами роботы узнают друг друга по специальным светоотражающим полоскам, наряду с радиообменом, конечно.
Собственно, зрением, как мы уже говорили, обладают Amigobot. Они могут выделять на местности предметы той или иной формы, или заданного заранее цвета, и сообщать остальным об их координатах.
Это, конечно, упрощённое описание алгоритма работы сотни роботов. Там есть ещё масса поправок, определяющих их поведение в тех или иных ситуациях.
И всё это — реально работающая система. Так в одном из испытаний в помещении площадью 650 квадратных метров, имеющем несколько комнат и коридоров один робот составил его карту за 24 минуты, а пара справилась за 18 минут.
Интересно также, что в режиме "поиск людей, охрана помещения" система так расставляет машины, чтобы минимальным числом закрывать наибольшую площадь, а если роботы терпят неудачу — перераспределяет силы.
О том, какими датчиками ещё можно снабдить такие машины, и в какую форму эти самые роботы облечь — можно только фантазировать. Главное ведь тут алгоритм взаимодействия.
Судя по тому, что любопытные (по долгу службы) тележки очень быстро осваивались в научных центрах, где их выпускали на волю — "стороботы" далеко пойдут.