В Artificial Life Lab («Лаборатории искусственной жизни») в Karl-Franzens University of Graz мы в основном занимаемся биотехнологическими роевыми алгоритмами и робототехникой. Для этой цели мы наблюдаем за естественными живыми организмами в лаборатории, а также анализируем уже имеющиеся знания об их поведении и выражаем суть этого поведения в алгоритмах, которые затем вкладываем в роботов. Разумеется, мы обращаем особенное внимание на самые интересные примеры роевого интеллекта в животном мире.

Например, алгоритм BEECLUST был сделан нами на основе информации о поведении молодых пчел в сложных температурных условиях. Это коллективное поведение позволяет пчелам всегда находить место с наиболее подходящей им температурой (глобальный оптимум) среди всех теплых мест (локальных оптимумов). Базовые принципы взаимодействий были извлечены из видео наших экспериментов с настоящими пчелами, которые мы проводили в нашей лаборатории. Эти принципы были затем выражены в виде простого компьютерного алгоритма, который был заложен в группу автономных роботов, что позволяло им совместными усилиями находить такие оптимумы в их окружении. BEECLUST — наиболее простой из ныне существующих роевых алгоритмов, и тем не менее он достаточно эффективен.

Между роботами должна быть налажена коммуникация. Разработкой этих компонентов мы занимаемся в сотрудничестве с нашими партнерами с технологической стороны. По сути своей мы — биологическая лаборатория и работаем вместе с коллегами из инженерных областей — мехатроники, электроники, сенсорики.

О многороботных организмах и их эволюции

Для проектов SYMBRION и REPLICATOR было создано несколько дюжин кубических роботов (примерно 10×10×10 см), каждый из которых был автономным роботом, передвигавшимся при помощи гусениц или винтов. Все элементы имели шарниры, благодаря которым могли сгибаться, и четыре стыковочных порта, позволявших физически соединяться с другими роботами, равно как и отсоединяться. Благодаря этому роботы могут формировать группу ячеек, которые соединяются, чтобы образовать более сложные «организмы» различных видов и форм.

Для управления этим процессом «эмбриогенеза» мы разработали программу, называющуюся «Виртуальный эмбриогенез» (сокращенно ВЭ), большой вклад в разработку которой внес мой коллега доктор Рональд Тениус. Эта программа основана на знаниях об эмбриогенезе животных. В ВЭ в роботах воплощена модель биологического эмбриогенеза, в которой активация генов влечет за собой производство веществ (морфогенов), распределяющихся и создающих градиенты концентрации в теле эмбриона. Впоследствии локальная концентрация таких морфогенов определяет активацию или блокировку экспрессии других генов. Эта система очень сложный каскад взаимодействий генов и морфогенов, который можно, по сути, рассматривать как настоящую «программу», согласно которой эмбриогенез продвигается. В ВЭ роботы действуют по такой модели процессов, «включая» и «выключая» виртуальные гены в зависимости от локальной концентрации морфогенов, на которую, в свою очередь, влияет активация генов. Эти уровни концентрации виртуальных морфогенов также зависят от похожего на диффузию процесса коммуникации между соседствующими роботами. В конечном итоге концентрации виртуального морфогена влияют на стыковочные порты, и таким образом многомодульный роботический организм может расти и перестраиваться.

Чтобы позволить такому роботическому «многоклеточному» организму демонстрировать поведенческие паттерны наподобие хождения, мы разработали другую программу, которую назвали «Искусственной гомеостатической гормонной системой» (ИГГС), также известную как «гормональный контроллер». Этот контроллер похож по механизму действия на вышеописанный виртуальный эмбриогенез. Каждый элемент выделяет (передает) субстанции, которые исполняют роль гормонов, в свое окружение. Эти субстанции локально добавляются и убираются из системы согласно правилам, которые могут быть воплощены исходя из локальной концентрации гормонов. Эти правила аналогичны «геному» элемента. В противоположность «Виртуальному эмбриогенезу», который используется для того, чтобы «выращивать» организм путем координирования стыковки индивидуальных роботов, ИГГС используется, чтобы позволить организму передвигаться. На концентрации гормонов также влияет информация от сенсоров, и они, в свою очередь, влияют на механизмы передвижения элементов. Таким образом, это представляет собой систему переработки информации, которая двигает целый роботический организм.

Рекомендуем по этой теме:
9368
Эволюционные алгоритмы

Одно преимущество этой системы состоит в том, что возникающие градиенты концентрации гормонов могут также разделить организм на части, в которых могут выполняться разные программы. Например, ноги могут выполнять программу, которая будет отличаться от той, по которой действует позвоночный столб, причем вне зависимости от того, сколько ног у этого организма. И, основываясь на информации, которая приходит от разных сенсоров, организм может переключаться между программами. Например, если аккумулятор садится, «голодный» организм может двигаться иначе, нежели «сытый» организм. Таким образом, эта программа, построенная по прообразу системы гормональной регуляции животных, берет в расчет форму тела, благодаря сенсорам реагирует на условия среды и может управлять поведением или механизмом принятия решений о том, как себя вести. Эта система была разработана мной в сотрудничестве с моими коллегами — докторами Хайко Хаманном, Юргеном Страднером и Паямом Захадатом.

Мы использовали подход Evo-Devo (evolution of development — эволюционной биологии развития), который являет собой сочетание биологии развития и эволюционной теории. Согласно этому подходу эмбриогенез и эволюция — взаимосвязанные процессы, поскольку эволюция основана на генных адаптациях, которые влекут за собой адаптацию развивающегося организма, и то, насколько организм приспособлен к условиям, влияет на его эволюционную судьбу. В наших методах, таких как вышеописанные ВЭ и ИГГС, все программы/правила встроены в структуру данных, называемую «геномом», и путем применения техник эволюционных вычислений мы адаптируем эти геномы в зависимости от того, насколько организм преуспевает. Мы также пользуемся экологическими знаниями при разработке таких систем роботов, поскольку у нас всегда имелось множество искусственных организмов, «живших» в одной среде обитания, что могло порождать сотрудничество и конкуренцию. Мы разработали серию экспериментов, в которых поместили организмы в такие условия, где они должны были либо конкурировать, либо сотрудничать с другими организмами. Таким образом, эволюция кооперации происходила косвенно, поскольку только те, кто успешно кооперировал или конкурировал, достигали конечной цели.

Применение «многоклеточной» робототехники

Я думаю, мы вдохновили много нынешних проектов по «многоклеточной» робототехнике. Идеи, разработанные в наших прошлых проектах, таких как I-SWARM, SYMBRION и REPLICATOR, пережили эти проекты и получили свое развитие в более новых работах, например в нашем проекте CoCoRo, где мы разработали группу роботов-подводников (самую большую группу такого рода на данный момент), и в другом, который мы назвали subCULTron.

SubCULTron будет первым случаем применения такого количества (150+) скоординированных автономных роботов в реальном мире для отслеживания Венецианской лагуны. Настоящее положение вещей таково, что если группа роботов большая, то она действует только в пределах лаборатории, а в поле оперирует только очень маленькое количество роботов. Однако даже такие испытания вне лаборатории кратковременны и частично контролируются исследователями. В нашем проекте subCULTron мы пошли намного дальше: роботы будут оперировать в лагуне долгое время — несколько дней или даже недель — и будут практически на 100% автономны.

В других наших проектах, ASSISIbf и FloraRobotica, роевые алгоритмы используются в комбинации с живыми организмами — настоящими пчелами, муравьями или растениями. В будущем это может помочь в животноводстве, мониторинге животных и сельском хозяйстве. Например, в ASSISIbf мы совмещаем роботов с живыми пчелами и настраиваем механизмы поведенческой обратной связи. Это значит, что пчелы влияют на роботов, а роботы, в свою очередь, влияют на пчел, что в итоге ведет к слиянию двух «обществ» — роботов и пчел — в одно. В дополнение к этому мы используем эволюционные вычисления и машинное обучение, чтобы адаптировать роботов к поведению пчел.

На данный момент здесь у нас две основные цели исследований: 1) эволюционным путем получить программу, которая позволила бы группе роботов примерно оценить локальную плотность пчел вокруг них, то есть это задание по эволюции коллективного восприятия; 2) получить тем же методом программу, которая позволила бы заставить пчел выполнить требуемую задачу, например собраться в нужном месте. Это задача на эволюцию коллективного выполнения действий. Мне кажется, что возможность получать информацию от/о популяции животных, равно как и возможность их контролировать (без принуждения), может быть очень полезна при содержании и для управления животными, даже паразитическими. Помимо всего прочего, это может быть более человечный способ обращения с животными, поскольку мы тем самым не заставляем их что-то делать, а «убеждаем» это сделать — например, собираем в определенном месте, используя привычные для них стимулы. Наши роботы изображают из себя таких же животных и таким образом получают право голоса в животном сообществе.

О перспективах области

У эволюционных вычислений есть одна большая проблема, заключающаяся в сложности поведения, которое они порождают. Например, достаточно легко эволюционным путем получить программы, позволяющие избежать столкновения или найти нужную цель, однако с поведением более высокого уровня все намного сложнее. Эволюция обычно решает в пользу самого простого («дешевого») решения, которое тем или иным образом подходит.

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

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