
Команда
ученых из Лаборатории компьютерных наук и искусственного интеллекта (Computer
Science and Artificial Intelligence Laboratory) в MIT представила на конференции Robotics
Science and Systems систему, состоящую из трех роботов, способных эффективно
взаимодействовать и работать вместе в условиях непредсказуемой, постоянно
изменяющейся окружающей среды. В качестве таковой выступил импровизированный
бар, где один робот получил должность бармена за стойкой, а два других –
официантов в зале. По словам разработчиков, использованные ими алгоритмы могут
быть применены и в других сферах, например, для создания спасательных команд
или бригад санитаров из роботов. С докладом исследователей можно ознакомиться
на сайте конференции.
Всего в
системе три робота. В качестве бармена выступил находящийся в свободной продаже
робот PR2 производства компании Willow Garage (ранее он поставлялся в различные
научно-исследовательские коллективы с открытым исходным кодом программного
обеспечения). Официантами же стали два робота-черепахи (Turtlebot), напоминающие ящики на колесах.
Двое робочерепах-официантов разъезжали по комнатам, где сотрудники могли при помощи
нажатия кнопки оформить заказ на напиток. После чего «официанты»
отправлялись к стойке в другом помещении, передавали заказ роботу-бармену,
получали от него напитки и доставляли их к рабочему месту
сотрудников. Важным аспектом работы алгоритма стала координация действий роботов. Например, если
один «официант» уже получил заказ в комнату из определенного коридора, то он
мог забрать и другой заказ для той же локации, но принятый другим роботом, так как
в любом случае должен был двигаться туда. В то же время второй робот мог
отправиться по помещениям в поисках новых заказов. 
Роботы должны были постоянно ориентироваться в происходящем. Так, если «бармен» обслуживает одного «официанта» в момент, когда подъезжает
второй, то вновь прибывший «официант» должен подождать своей очереди. Все
многообразие подобных ситуаций предвидеть невозможно, и чтобы роботы могли
эффективно взаимодействовать потребовалось разработать особые алгоритмы, которым была посвящена основная часть исследования.
Ученые смоделировали марковский процесс
принятия решений адаптированный для децентрализованных систем роботов. Это
стандартный подход для решения проблемы координации между многоагентными
системами роботов (типа роя), однако в данном случае ученые произвели его модификацию,
дополнив концепцией «макро-действий». Ее суть в том, что робот выбирает не между
отдельными действиями для каждой ситуации, а целыми подпрограммами действий,
включающими множество шагов (например, доехать до такого-то места, поднять
объект, подождать другого робота, передать объект). Эти подпрограммы координируются
между роботами так, что увеличивают их общую командную полезность.
Ранее другая
команда исследователей сообщала о создании скриптового языка Buzz для программирования
«роящихся» роботов. Этот язык также помогает наладить взаимодействие между
множеством крошечных роботов для выполнения задач, требующих скоординированных
действий и адаптации к изменяющейся среде.Даниил Кузнецов
