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