Научная статья на тему 'Проблемы практического применения роевого интеллекта и построение устойчивых управляемых групп роботов'

Проблемы практического применения роевого интеллекта и построение устойчивых управляемых групп роботов Текст научной статьи по специальности «Математика»

CC BY
1080
219
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РОЕВОЙ ИНТЕЛЛЕКТ / КОЛЛЕКТИВНОЕ ПОВЕДЕНИЕ / СИСТЕМА УПРАВЛЕНИЯ / SWARM INTELLIGENCE / COLLECTIVE BEHAVIOR / CONTROL SYSTEM

Аннотация научной статьи по математике, автор научной работы — Сахопотинов Григорий Александрович, Сыркин Илья Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Сахопотинов Григорий Александрович, Сыркин Илья Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Problems of practical usage of swarm intelligence and robust managed mobile robots groups development

Modern control systems for swarm robotics are observed. The task for swarm control is defined. The feature is robust, scalable system.

Текст научной работы на тему «Проблемы практического применения роевого интеллекта и построение устойчивых управляемых групп роботов»

УДК 004.896

Г.А. Сахопотинов, И.С. Сыркин

ПРОБЛЕМЫ ПРАКТИЧЕСКОГО ПРИМЕНЕНИЯ РОЕВОГО ИНТЕЛЛЕКТА И ПОСТРОЕНИЕ УСТОЙЧИВЫХ УПРАВЛЯЕМЫХ ГРУПП РОБОТОВ

В последнее время в робототехнике появилась тенденция к исследованию группового взаимодействия роботов. Как правило, такие исследования проводятся с группой однотипных роботов, которые должны решить какую-то определенную задачу. Для решения задачи коллективного управления множеством однотипных объектов применяют роевой интеллект (SwarmIntelligence). Предполагается, что простые алгоритмы управления каждым отдельным роботом приведут к сложному поведению целой группы роботов.

Большинство современных разработок в области группового управления роботами осуществляются на примере мобильных роботов. Роботы имеют похожую архитектуру - мобильная платформа на колесах, несколько датчиков дальности, возможны датчики освещенности, видеокамеры. Кроме этого у роботов есть средства связи - начиная от простых фотодиодов, заканчивая сложными радиочастотными модулями, например, В1иеТооШ, ZigBee. Большинство разработок связано с решением одной узкоспециализированной задачи, например, нахождением кратчайшего пути между двумя точками в лабиринте или борьбе за энергетические ресурсы. Методы построения алгоритмов управления разнообразны. Как правило, они основываются на алгоритмах искусственного интеллекта - нейронных сетях, генетических алгоритмах.

Рассмотрим некоторые разработки в области коллективной робототехники более подробно. В Федеральном университете Лозанны, Швейцария,

проводятся исследования по выработке альтруизма у роботов. Для этого авторы поместили восемь маленьких мобильных роботов и восемь «источников энергии» на испытательный полигон прямоугольной формы. Одна стена полигона была белой, остальные - черные. Производительность робота пропорциональна количеству «источников энергии», которые робот доставил к белой стене. «Награду» за каждый доставленный источник энергии робот мог оставить себе, а мог равномерно распределить между остальными роботами. Альтруистическое поведение описывалось на основе правила Гамильтона [1]. Основные параметры этого правила:

- c (cost) — репродуктивная успешность особи-эгоиста;

- b (benefit) — увеличение успешности выживаемости другой особи, в случае альтруизма первой;

- r (relatedness) - степень родства между особями (вычисляется как (1/2)Ag, где g— число поколений или минимальное число родственных связей между особями, для братьев g=2, для дяди-племянника g=3).

Правило Гамильтона: при rb>c средняя приспособленность альтруистов будет выше таковой «эгоистов» и количество копий генов альтруизма должно увеличиваться.

Для решения этой задачи система управления роботом была построена по нейросетевой архитектуре. Обучение каждой особи происходило при помощи генетического алгоритма (ГА)— весовые

коэффициенты нейронной сети представляют собой отдельную особь ГА, «награда», получаемая роботами, служит для оценки приспособленности особи. За 500 поколений ГА мобильные роботы выработали законы поведения, позволяющие им решать поставленную задачу.

Следует отметить, что в работе не описан механизм обмена информацией о выполняемой задаче между отдельными роботами. Существует лишь обмен «наградами». [Ошибка! Неизвестный аргумент ключа.].

Другое направление в групповой робототехнике основано на моделировании колонии муравьев. Основная идея этого метода основана на наблюдении за природной колонией насекомых, каждый из которых обладает примитивным поведением (движется по пути, отмеченному ферро-монами). При этом целая колония ведет себя как сложный организм. Для примера рассмотрим алгоритм поиска кратчайшего пути в лабиринте между муравейником и источником пищи (рис.1).

1. Первый муравей находит источник пищи (Б), двигаясь по произвольному пути (а), затем возвращается в муравейник (Ы), оставляя за собой след феромонов.

2. Муравьи случайным образом путешествуют по четырем возможным путям, но более короткий путь более посещаемым, поскольку на длинных участках пути ферромоны «исчезают» быстрей, чем на коротких.

3. В результате кратчайший путь содержит максимальное количество ферромонов, и именно этот путь выбирает большинство муравьев.

Мобильные роботы, действующие по данному алгоритму предназначены лишь для поиска кратчайшего пути между двумя точками, у них отсутствует возможность передачи заданий друг другу. [Ошибка! Неизвестный аргумент ключа.]

Большинство алгоритмов роевого интеллекта (искусственные иммунные системы [4],алгоритм кукушки [5], алгоритм светлячка [6]и др.) являются лишь алгоритмами оптимизации для решения одной поставленной задачи, зачастую узкоспециализированной.

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

Анализ существующих разработок показал,

Алгоритм решения задачи

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

- Перенос тяжестей группами роботов.

- Исследование неизвестных/ труднодостижимых территорий мобильными отрядами роботов.

- Автоматизированная конвейерная сборка с постоянно изменяющимся технологическим процессом.

- Имитация групповой деятельности людей.

Представим себе условия работы отдельных

многочисленных групп роботов/нанороботов:

1. Большое число одновременно работающих роботов, в тоже время стремящихся к общей цели

2. Небольшие вычислительные мощности отдельного робота и малый радиус коммуникации

3. Большая вероятность потери связи с отдельным роботом/гибели робота (раздавлен, застрял и т.д.)

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

Как нам кажется, следует разработать алгоритмы функционирования больших сетей роботов, предназначенных для решения неких «общих»,

Алгоритм деятельности особей

Рой

Рис. 2. Схема функционирования роя

сформулированных для всего множества роботов, задач.

Исходя из выдвинутых выше условий работы больших колоний роботов, можно сформулировать требования к алгоритмам реализации коллективного поведения:

1. Устойчивость - способность сохранять способность достигать решения поставленных задач независимо от увеличения/уменьшения числа роботов, причем без существенных потерь во времени.

2. Масштабируемость - сохранение приемлемого быстродействия при увеличении числа роботов в группе.

3. Неразрывность - стремление каждого робота сохранять целостность группы роботов.

4. Однородность - функциональная неразличимость отдельных роботов в группе.

Важным понятием является понятие «задача». Задача - некое действие, которое должно стать итогом деятельности всех отдельных особей в группе. Проводя аналогии с живыми группами существ, можно считать, что задачей группы муравьев может считаться предложение «Найти пропитание». У группы роботов-исследователей вполне может быть задача «Найти признаки органической жизни».

В дальнейшем, по аналогии с живой природой, условимся называть группу роботов роем, а отдельного робота в рою - особью.

Цель роя - решение задачи с помощью достаточного числа особей. Рой осознает задачу, зная алгоритм ее решения. Исходя из требования масштабируемости, для роя не должно иметь значения количество особей в нем в данный момент. Очевидно, что для любой задачи существует некое минимальное количество особей, достаточное для решения, однако если особей хватает, рой должен достигать своей цели независимо от конкретного

числа особей.

В связи с требованием устойчивости, можно придти к выводу что задачу, решаемую роем, должна осознавать каждая особь. Иначе, «убивая» особей, можно было бы лишить рой цели, и, таким образом нарушить устойчивость.

Осознание цели роя особью можно описывать выполнением некоторых критериев, которые каждая особь в рою должна уметь проверять. Например, если цель - найти еду, то каждая особь должна уметь проверять, является ли найденный объект съедобным, и т.д.

Рассмотрим подробнее процесс достижения цели роем с точки зрения программирования. Если есть поставленная задача, то ее решение можно описать неким алгоритмом. В нашем случае описание алгоритма может иметь два уровня:

1. Общий (коллективный) уровень - не оперирует отдельными особями, а лишь целым роем или отдельной группой особей. Такой алгоритм в общих чертах описывает способ достижения цели. Например, алгоритм крепления детали группой роботов, предполагает что одна часть роя должна держать деталь, а другая - закрутить винт.

2.. Частный (индивидуальный) уровень - описывает непосредственно как должны себя вести отдельные особи, чтобы достичь цели роя. На данном уровне уже непосредственно задается, какие именно особи должны выполнить определенное действие.

Таким образом, существует два алгоритма -один, описывающий поведения всего роя, и второй, описывающий поведение каждой из особей. Т.к. особи неотличимы и взаимозаменяемы, то алгоритмов второго типа существует множество, однако результат все они дают одинаковый, или почти одинаковый - в той или иной степени решают задачу, поставленную перед роем.

По нашему мнению, для практического при-

Виртуальная реализация

Интерпретатор

Индивидуальныйуровень

Физическая реализация

Рис. 3. Архитектура информационной системы

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

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

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

В разрабатываемой модели индивидуальный уровень особи существует физически, в виде реального программного кода, хранимого в памяти

отдельной особи и оперирующего напрямую деятельностью этой особи. Коллективный уровень является виртуальным - в том же смысле, что и сегодняшние виртуальные ЭВМ. Код, выполняемый на виртуальном уровне, хотя и хранится в реальной памяти особи, но выполняется в виртуальной среде, оперирующей понятиями всего роя.

Отдельным особым объектом является интерпретатор. Он представляет собой тот слой абстракции, осуществляющий переход от индивидуальных действий особи к коллективным и обратно. Его действие сравнимо с работой ПО виртуальной машины, только вместо гостевой ОС выступает коллективный алгоритм. Интерпретатор выполняется на каждой из отдельных особей роя, оперируя ее вычислительными возможностями и обеспечивая реализацию программы всего роя.

Исходя из данной модели, можно представить себе, что рой состоит из отдельных особей-роботов, имеющих некоторые базовые навыки, являющиеся реализацией индивидуального уровня

- например, способности к передвижению, ориентированию на местности, поднятию тяжестей и т.д. Главное - что эти базовые навыки никак не зависят от действий других особей, иначе такой навык уже не может являться базовым, а должен стать частью коллективного уровня. Кроме того, каждый из роботов содержит код интерпретатора коллективного уровня. При объединении роботов в группу, используя средства связи (например радио, свет и т.д.), интерпретатор подгружается в память каждого из роботов и начинает выполнять алгоритм достижения общей цели роя.

Таким образом, решив задачу построения интерпретатора, можно создать управляемый рой/группу роботов, которые, хотя и будут управляться одним человеком, будут самостоятельно распределять подзадачи между собой и действовать как единая группа, аналогично муравьям или пчелам в природе.

СПИСОК ЛИТЕРАТУРЫ

1. Hamilton WD (1964) Thegenetical evolution of social behavior I+II. J TheorBiol 7: 1—52.

2. Waibel, M; Floreano, D; Keller, L (2011). «A quantitative test of Hamilton's rule for the evolution of altruism». PLoSBiology 9 (5): e1000615

3. Ant Colony Optimization by Marco Dorigo and Thomas Stutzle, MIT Press, 2004.

4. de Castro, Leandro N.; Timmis, Jonathan (2002). Artificial Immune Systems: A New Computational Intelligence Approach. Springer. pp. 57—58.

5. X.-S. Yang; S. Deb (December 2009). «Cuckoo search via Levy flights». World Congress on Nature & Biologically Inspired Computing (NaBIC 2009). IEEE Publications. pp. 210—214.

6. YangX. S., (2008). Nature-Inspired Metaheuristic Algorithms. Frome: Luniver Press.

□ Авторы. статьи

Сахопотинов Сыркин

Григорий Александрович, Илья Сергеевич,

ассистент каф. «Информационные и канд. техн. наук, доцент

автоматизированные производст- каф. «Информационные и автомати-

венные системы» КузГТУ. зированные производственные сис-

Тел. 3842- 39-63-24. темы» КузГТУ ,

email: ilya.syrkin@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.