Самые само...: Распределенный разум

На грязном асфальте виднеется нечто аморфное, похожее на лужицу жидкого металла. Но вот оно плавно и быстро перетекает к себе подобному, лужицы сливаются в одно целое, еще и еще. Часть бесформенного жидкого металла вдруг вздымается, и явно проступают очертания человекоподобного робота. Это фантастика – кадры из «Терминатора-2». Но идея робота, собранного из множества частиц без единого центра управления, способного ремонтировать самого себя и менять собственную форму по мере надобности, уже давно витает в умах специалистов по робототехнике.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Исследовательские команды из США, Японии и Европы более десятка лет ищут пути к реализации подобных систем. А пока не изобретен «миметический полисплав» из фильма Кэмерона, разработки ведутся не только в сфере нанотехнологий, но и в более традиционной робототехнике. Цель изобретений — универсальный робот, меняющий форму (а значит, и предназначение) в зависимости от пожеланий пользователя или поставленной задачи. Вместо того чтобы для каждой новой цели придумывать свой специфический механизм, изготовляем один раз очень много относительно маленьких универсальных кирпичиков-модулей. Каждый кирпичик имеет пару степеней свободы и пару датчиков, аккумулятор и микрокомпьютер. А самое главное — каждый модуль способен соединиться с себе подобным или разомкнуть соединение. Таким образом, модули могут самоорганизоваться в определенную конструкцию и передвигаться по ней, меняя ее конфигурацию. Подобные модульные системы называют малопроизносимым словом «самореконфигурируемые», то есть способные автоматически, без управления человеком, менять свою форму.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Для чего это нужно?

Ученые движутся в этом направлении, естественно, не ради порабощения себе подобных. Двигатель развития робототехники — идея покорения космоса. Вот человек отправляет дорогостоящие одноразовые роверы на Луну и на Марс и не знает, с чем машине придется столкнуться. Какими параметрами должен обладать первый завод, построенный на далекой планете? Как распределить имеющиеся ресурсы, чтобы достичь поставленной цели? Мы можем рассчитать все до мелочей, однако, если не учесть какого-то важного, но неведомого нам обстоятельства, пропадут все наши расчеты. Чтобы справиться с неуверенностью в деле освоения неизвестных пространств, целесообразней отправить туда пару тысяч модулей. Они там сами посмотрят, в чем дело, и сами из себя же сделают что надо. В общем, в модульных роботах соединились фантазии Мюнхгаузена и новейшие разработки робототехники. Однако не склонное к шуткам NASA недавно выделило многомиллионный грант на строительство модульного робота Superbot. В проекте на базе университета Южной Калифорнии (USC) в Лос-Анджелесе принимали участие лаборатории со всего мира.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В лаборатории распределенной робототехники (Distributed Robotics Lab) Массачусетсского технологического института (MIT) под началом профессора Даниэлы Рус строятся модульные системы самого различного толка. Например, Shady3D, разработка Йеорема Юна, — это робот, модули которого способны построить ферму (опорную структуру) из самих себя и металлических брусков. Он демонстрирует возможность самосборных и самореконфигурируемых ферм, которые могут пригодиться в том числе и в космосе. Или проект Кайла Гилпина — «саморазбирающаяся» система Miche. Программно задав Miche желанную конечную форму, мы можем наблюдать, как миниатюрные кубики-модули отпадают от изначальной конфигурации, а остаются только нужные. При этом полученные модели будут не только правильными по форме, но и функциональными.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Однако ученые-исследователи и изобретатели модульных трансформеров, как еще называют эти системы, движимы не только практическими соображениями. Самоорганизация и самовоспроизводство — два важнейших свойства живых организмов. И вот в прошлом году мы приблизились к пониманию этих фундаментальных принципов жизни еще на одну ступень: система Molecube смогла соорудить из отдельных кубиков копию самой себя!

Как это работает?

Одни из важнейших элементов самореконфигурируемой модульной системы — соединения между модулями. Каждое соединение должно быть достаточно прочным, чтобы выдерживать вес нескольких модулей. В современных системах применяется два типа соединений — механические и электромагнитные. Механическое соединение приводится в движение микроэлектродвигателями, для чего требуется большое количество энергии. Для поставки энергии нужны мощные и, соответственно, тяжелые аккумуляторы, увеличивающие вес модуля, что влечет за собой увеличение мощности двигателя, а значит, и поглощения энергии... Получается порочный круг и в результате — далекие от идеала крупногабаритные модули. С другой стороны, использование поляризованных электромагнитных сторон чревато латеральной нестабильностью соединений. Иными словами, если соединение держит нагрузку под углом к оси максимальной эффективности магнита, то может произойти смещение магнитных сторон и модули разъединятся.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Самособирающиеся биологические системы, например генная молекула РНК, используют химические соединения, прочность которых обусловлена микроскопическими размерами биологических «модулей», то есть атомов углерода, водорода и т. д. Подобное соотношение прочности соединения и веса модулей нельзя воспроизвести на макроскопическом уровне в металле, пластике и кремнии. Но возможно, вскоре создать такое соединение удастся нанотехнологам или ученым-материаловедам. Однако пока разработка прочных соединений остается нерешенной задачей модульной робототехники.

Даже самые микроскопические модульные роботы должны быть управляемы, желательно автоматически. Но как заставить кучку кирпичей выполнять определенные функции? У модульных роботов нет единого мозгового центра, одного компьютера, который мог бы управлять всеми степенями свободы. Однако программист имеет дело с большим количеством идентичных микропроцессоров, каждый из которых встроен в собственный модуль, весьма ограниченный в восприятии мира и своих способностях действовать в нем. И это множество надо заставить работать координированно ради общей цели. В принципе, это осуществимо при помощи коммуникации между соседними, соединенными модулями. Например, стоит задача перенести все модули из пункта А в пункт Б. Раз нет центрального управления, вместо этой простой команды каждому модулю задаются одинаковые правила, следуя которым они вместе достигнут желаемого результата: если сверху есть свободное место, а справа — соединение с соседним модулем, «зарезервируй» это место и двигайся туда; если над тобой «зарезервировали» место, не пускай туда других... Загвоздка в том, что человеку свойственно думать централизованно и последовательно и создание алгоритмов распределенного управления представляется нам трудным. Программное обеспечение в современных модульных системах пишется либо старым, проверенным методом проб и ошибок, либо при помощи генетических алгоритмов или методов машинного обучения.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В любом случае на сегодняшний день модульные роботы способны координированно совершить только узкий круг действий — например, передвигаться, сохраняя определенную конфигурацию. Автоматизация написания распределенного ПО позволит нам в будущем обеспечить выполнение более сложных задач. Так что поле деятельности остается открытым и, хочется надеяться, плодородным.

Смотрите также движение и трансформации модульного робота SuperBot.