Процедура голосования в однородных коллективах роботов
Разработка решений задач определения лидера (на основе алгоритма локального переголосования) и распределения ролей в однородной группе роботов (волновым методом). Обоснование возможности перехода от роя к коллективу роботов с иерархической организацией.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 17.01.2018 |
Размер файла | 255,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
ПРОЦЕДУРА ГОЛОСОВАНИЯ В ОДНОРОДНЫХ КОЛЛЕКТИВАХ РОБОТОВ
В.Э. Карпов (vkarpov@hse.ru)
МИЭМ НИУ ВШЭ, Москва
В работе предложены решения задач определения лидера и распределения ролей в однородной группе роботов. Показано, что используя исключительно локальное взаимодействие, возможен переход от роя к коллективу роботов с иерархической организацией. В основе процедуры выбора лидера лежит алгоритм локального переголосования, а распределение ролей может быть осуществлено волновым методом.
лидер группа робот алгоритм
Введение
Активные исследования в области создания систем взаимодействующих роботов ведутся уже почти четверть века. Такие направления, как коллективная, роевая, стайная и пр. робототехника, заняли прочные позиции в современной робототехнике и теории многоагентных систем. Однако до сих пор подавляющее число исследований в этой области остается на теоретическом, модельном уровне. Это хорошо видно по многочисленным обзорам, например, таким, как [Zhiguo et al., 2012] и [Yogeswaran & Ponnambalam, 2010]. Представляется, что отсутствие действительных, практически значимых результатов не в последнюю очередь связано со слабой проработкой целого ряда важных задач. Исследования в области групповой робототехники (если под этим понимать обобщенное название коллективной, роевой и т.п. робототехники) носят весьма фрагментарный характер. Более того, характерным настораживающим признаком является явный перенос центра тяжести исследований именно в роевую робототехнику, которая может рассматриваться как более простой, базовый уровень моделей групповой робототехники.
Среди множества задач роевой робототехники, до сих пор остающимися в тени или, по крайней мере, недостаточно полно раскрытыми, выделим две. Речь идет о задачах определения лидера в группе роботов, а также распределении ролей среди членов этой группы.
Лидерство. Одной из принципиальных особенностей роевой робототехники является локальный характер взаимодействия роботов друг с другом, а также роботов со средой [Zhiguo et al., 2012]. Такое взаимодействие называется неявной коммуникацией (implicit communication) [Yogeswaran & Ponnambalam, 2010]. Речь идет о том, что каждый робот группы непосредственно взаимодействует лишь со своими соседями, находящимися в некоторой ограниченной зоне видимости. Отсюда обычно следует, что в такой системе роботы самостоятельно принимают решения о дальнейших действиях, опираясь на некоторые простые правила локального взаимодействия.
Вместе с тем, однако, подавляющее число примеров решения задач в области роевой робототехники касается согласованного движения роя (очевидная, наглядная и достаточно простая задача, которая в [Zhiguo et al., 2012] выделена как метод "Следование за лидером" - "Leader-Follower method"). При этом считается, что в группе имеется априори заданный лидер, который и задает это движение. Правила локального взаимодействия могут быть самыми разными. От сугубо формальных [Павловский и др., 2010] до весьма экзотических. Например, в [Dewi et al., 2012] правила стайного движения основаны на модели пружин и амортизаторов. "Пружинная" составляющая модели определяет притяжение особей к лидеру (а не друг к другу, что характерно), а "амортизационная" - отталкивание от лидера. В [Карпов, 2012], напротив, описан сугубо технический прием, позволяющий определить лидера для решения задачи согласованного движения. Отметим здесь, что рой при такой организации превращается в стаю - стая характеризуется именно наличием лидера, за которым следуют остальные роботы. Иной подход к определению лидера предложен в [Даринцев, 2006], где описывается динамическое выделение агентов-координаторов (лидеров), основанное на "геометрических" построениях - лидерами групп становятся роботы, ближе всех расположенные к месту проведения неких технологических действий.
В любом случае мы имеем дело либо с априори заданным лидером, либо с неким сугубо техническим приемом, определяющим лидера в условиях некоторой конкретной задачи. Нас же интересует проблема выявления лидера в более общем случае, с точки зрения механизмов локального информационного обмена.
Распределение задач. Для решения задачи согласованного движения достаточно наличия лидера. Однако для более сложных задач, решаемых группой роботов, требуется дифференциация их функций и, вообще говоря, распределение задач между роботами. Пожалуй, это одно из наиболее проблемных мест роевой робототехники. В уже упомянутых обзорах [Zhiguo et al., 2012] и [Yogeswaran & Ponnambalam, 2010] распределение задач в коллективе роботов рассматривается лишь декларативно. В лучшем случае упоминаются некоторые физические модели, методы распределенного планирования, оптимизации и пр. общие механизмы ([Каляев и др., 2009]). Причиной этому является то, что дифференциация функций и распределение задач не рассматривается роевой робототехникой как актуальная проблема, полагая, что рой должен решать лишь простые, массовые задачи типа согласованного движения. Это, безусловно, снижает значимость роевого подхода и, вообще говоря, идет в разрез с основным декларируемым тезисом роевой робототехники (роевая робототехника, как способ решения сложных задач совокупностью простых технических устройств - роботами).
Мы же будем полагать, что и задача формирования лидера, и задача распределения ролей крайне важны для развития роевой робототехники. Рассмотрим варианты решения этих задач на примере такой модели организации группы роботов, как статический рой.
Статический рой. Одной из моделей, описывающих организацию множества локально взаимодействующих агентов или роботов, является так называемый статический рой. Статический рой характеризуется отсутствием заданного управляющего центра и представляет собой некую фиксированную в данный момент времени сеть - совокупность агентов [Карпов, 2013]. Основные свойства статического роя - это активность, локальность взаимодействия и функциональная неоднородность.
Активность. Разумеется, в отличие от вычислительной сети, сеть агентов должна быть способна к восприятию сигналов внешней среды, а также к совершению некоторых (например, двигательных) функций, т.е. оказывать влияние на внешний мир.
Локальность взаимодействия. Важной особенность статического роя является принципиально локальный характер взаимодействия: агенты обмениваются информацией лишь со своими соседями.
Функциональная неоднородность. Решение сложных задач (т.е. проявление эмерджентных свойств системы) предполагает наличие неоднородности в группе. Это означает наличие дифференциации выполняемых агентами функций: стратегическое и тактическое управление, сбор и обработка информации, реализация эффекторных функций и т.п.
Важным вопросом представляется организация механизма такой функциональной неоднородности. Рассмотрим следующую задачу. Пусть имеется множество агентов (роботов), способных к локальному информационному обмену между ближайшими соседями. Далее, в некоторый момент времени статический рой должен реализовать некую процедуру распределения ролей: кто-то должен стать управляющим центром, кто-то - выполнять функции обработки информации, кто-то - сбора информации из внешней среды и т.д.
Общие соображения относительно принципа распределения ролей могут базироваться на следующих очевидных рассуждениях: узел сети (агент), имеющий максимальное количество связей, становится претендентом на роль управляющего центра. Его ближайшее окружение - анализаторы информации, подготавливающие ее для принятия решения. Узлы, расположенные на периферии сети, отвечают за сбор информации. На Рис. 1 изображен пример сети.
Рис. 1. Пример организации сети
Здесь узел A становится управляющим центром, его ближайшие соседи (B) - анализаторами, а периферийные узлы (S) будут отвечать за внешнюю сенсорику. При этом центральным вопросом является то, каким образом узлы-агенты выберут центральный, главный узел. Итак, рассмотрим далее возможные способы организации такого голосования.
Задача голосования. Сформулируем задачу следующим образом. Пусть имеется множество агентов с ограниченными коммуникационными возможностями. Это означает, что агенты способны лишь к непосредственному локальному взаимодействию между соседями. Для этого можно предположить, что агенты имеют фиксированное число коммуникационных портов - точек контакта, позволяющим им устанавливать каналы обмена информации. Задача состоит в том, чтобы агенты выбрали единственного лидера путем голосования.
Все наши дальнейшие рассуждения основываются на том, что топология сети заранее неизвестна и что все рассуждения должны носить сугубо "локальный" характер, т.е. идти от имени агента, принимающего участие в голосовании.
Пусть в некоторый момент времени агенты получают глобальный сигнал о начале голосования. В этот момент времени каждый агент устанавливает каналы связи со своими соседями. Таким образом, образуется некий в общем случае направленный граф. Вершинами его являются агенты, а входящие дуги интерпретируются как возможность получения информации от узла-источника - образуется канал связи. Зафиксируем статический рой, т.е. будем полагать, что далее его топология меняться не будет.
Каждый агент описывается четверкой
,
где - идентификатор или имя агента, - список агентов-соседей, от которых агент может получать информацию (входящие дуги), - идентификатор "кандидата", за которого голосует агент , - вес кандидата , т.е. число голосов, которое, по мнению агента, следует отдать за кандидата.
Суть процедуры голосования заключается в том, что каждый агент определяет, за кого голосуют его соседи. При этом, в зависимости от веса кандидата, за которого голосует сосед, агент может поменять свое мнение и проголосовать за того же кандидата, что и его сосед.
На Рис. 2 представлен один такт такой схемы голосования. Пометки вершин означают следующее: в "числителе" указывается идентификатор агента , а величины и означают идентификатор кандидата и его вес соответственно.
а) б)
Рис. 2. Один такт голосования: а - начальное, б - конечное распределение голосов
Предположим, что агент a голосует за кандидата Ca, а агент c - за кандидата Cc. Если вес Wa окажется меньше веса Wc, то агент a может поменять свое мнение и переголосовать. При этом к весу нового кандидата будет добавлен еще один голос.
Вероятность того, что агент i изменит свое мнение под влиянием мнения агента j (оппонента), может быть определена так:
Т.е. склонность к перемене своего мнения естественным образом зависит от степени убежденности (или веса) кандидата.
Распределение голосов кандидатов и их весов в начальный момент времени осуществляется также вполне естественно: каждый агент голосует за себя (объявляет себя кандидатом), а вес этого решения равен количеству соседей этого агента.
Ниже приведены алгоритмы поведения агентов при голосовании.
Алгоритм G1(). Принятие решения агентом - 1
- агент
- "кандидат", за которого голосует агент
- вес кандидата
- список агентов-соседей
procedure G1()
1. Выбрать среди своих соседей оппонента с максимальным весом :
2. Вычислить значение вероятности изменения мнения
3. С вероятностью изменить мнение:
end procedure
Можно "загрубить" алгоритм принятия решения, заставляя агента безусловно менять свое мнение о кандидате, если в его окружении имеется более сильный "оппонент". Если же наблюдается паритет между весами мнений агента и его самого сильного оппонента, то здесь выбор решения может быть осуществлен уже вероятностным образом.
Алгоритм G2(). Принятие решения агентом - 2
procedure G2()
1. Выбрать среди своих соседей оппонента с максимальным весом :
2. if then -- Оппонент "сильнее". Меняем свое мнение
3.
else
4. if then -- Силы равны. Меняем свое мнение
-- с вероятностью 0.5
5. p rand() -- Случайное число от 0 до 1
6. if p > 0.5 then
7.
end if
end if
end procedure
Общая схема голосования может выглядеть так:
Алгоритм V(). Голосование
- множество агентов
- агент
- "кандидат", за которого голосует агент
- вес кандидата
- список агентов-соседей
eoj - флаг завершения процедуры голосования
procedure V()
1.
2. for all do -- Инициализация агентов
end for
3. while not eoj do -- Основной цикл голосования
4. for all do -- Цикл по всем агентам
5. G1()
end for
6. «Определение условия завершения процедуры голосования eoj»
end while
end procedure
В этом алгоритме наиболее проблемным является п.6: «Определение условия завершения процедуры голосования eoj». В отсутствие глобальной информации о состоянии сети, агент должен сам принимать решение о том, что голосование закончено. Получаемая от ближайшего окружения информация является явно не достаточной для этого, поэтому возможны два варианта поведения агента:
1. Считать, что голосование должно быть завершено максимум через некоторое определенное количество тактов. Для этого необходима верхняя оценка количества шагов алгоритма голосования.
2. Реализовать некоторую процедуру обмена сообщениями, которая могла бы определить, что голосование завершено, и никто из агентов уже не меняет свое решение.
Второй вариант также подразумевает наличие некоторой оценки количество тактов голосования, когда агенту имеет смысл отослать запрос на определение завершения процедуры голосования. Кроме того, реализация подобного рода процедур сопряжена с рядом сугубо технических проблем, в частности - с увеличением трафика в сети, т.к. каждый агент должен реализовывать эту процедуру независимо от остальных.
Далее приведены примеры работы процедуры голосования. На Рис. 3 изображены 3 такта голосования для плотной группы роботов.
Рис. 3. Процедура голосования в плотной группе. Такты 1, 2 и 6
На первом такте каждый агент голосует за себя, поэтому количество клеток, обозначающих "границы" распределения голосов за соответствующих кандидатов, равно числу роботов. На втором такте в результате переголосования происходит укрупнение областей, голосующих за выбранных кандидатов. Наконец, на 6-м такте все голоса отданы за одного кандидата и процедура голосования завершается.
На Рис. 4 приведен пример процесса голосования в крайне неблагоприятных условиях. Здесь наблюдаются две явно выраженные зоны, соединенные двумя перешейками.
Рис. 4. Циклическая процедура голосования. Такты 1, 3, 20 и 37
В такой ситуации наблюдается циклический процесс распространения голосов. К 20-му такту голосования образованы две устойчивые области, каждая из которых голосующая за своего кандидата. И далее начинается процесс циклического переголосования. Это хорошо видно на рисунке, соответствующему 37 такту, когда предпочтения областей, фактически, поменялись местами. Процесс устанавливается лишь к такту 51, когда в системе прекращаются колебания и остается единый кандидат в лидеры.
Обоснование приведенных алгоритмов подразумевает ответы на два основных вопроса: (1) сходимость алгоритмов к одному решению и (2) оценка количества тактов голосования.
К сожалению, на настоящий момент эти вопросы остаются открытыми. Мы можем говорить лишь о результатах имитационного моделирования, согласно которым процесс голосования сходится. При этом количество тактов голосования не превышало числа роботов в группе.
Централизованное голосование. Проблемы приведенных выше схем проистекают из сугубо локального характера принятия решений агентами. Если бы структура всего графа была известна каждому агенту, то определение лидера было бы вполне банальной задачей. На самом деле, можно предложить достаточно простую схему обмена сообщениями между агентами, которая гарантированно позволяла бы получить полную структуру графа. Причем за время, не превышающее число роботов в группе N. Для этого роботам достаточно сообщать друг другу все, что они знают о структуре графа в данный момент времени. А именно:
В начальный момент времени информация о структуре графа у каждого агента ограничена лишь знанием своих соседей. Этот неполный граф, представленный, например, списком ребер агент i пересылает своим соседям. Получив такой список, каждый агент объединяет его со своим уже имеющимся списком и получает более полную картину в виде нового списка:
Здесь происходит объединение списков, полученных от всех соседей из некоторой области Z в предыдущий момент времени.
Таким образом, не более чем через N тактов каждый робот будет иметь всю информацию графе. А далее все они выбирают единственного лидера, исходя, например, из соображений максимальной связности, равноудаленности и пр. Очевидным и неустранимым недостатком такой схемы является очень большой поток информации, которую придется передавать роботам своим соседям, что ставит под сомнение целесообразность ее использования в реальных системах.
Распределение задач. При отсутствии морфологических различий между агентами, распределение ролей в статическом рое определяется исключительно текущей топологией системы. Сам процесс распределения представляет собой известную процедуру распространения волны управления. Инициатором распространения является лидер. Обозначим его роль, как . Непосредственные соседи лидера ("ближний круг") получают от него инициирующий пакет, согласно которому им назначается роль и т.д. Таким образом, роль i-го робота определяется ролями его окружения:
Волновое распределение ролей реализуется исключительно локальным взаимодействием, однако при этом имеется существенная сложность. Пусть для успешного функционирования системы требуется M ролей, а процесс распространения волны состоит из L шагов, см. Рис. 5.
Рис. 5. Фактическое (L) и требуемое число ролей (M)
Если , то проблем не возникает. Если , то имеется переизбыток исполнителей с ролью . Это нехорошо, но не так страшно, поскольку об оптимизации распределения ролей, как, например, в [Каляев и др., 2009], в статическом рое речи не идет. Хуже, если . Это - ситуация с дефицитом исполнителей, которую допускать крайне нежелательно. Дефицит может быть покрыт за счет выполнения агентами сразу нескольких ролей (совмещение специализаций). При этом процедура определения того, что агенту надо брать на себя дополнительные функции, выглядит просто. Например, так: если у агента с ролью L нет соседей с ролями, большими, чем у него, то это означает, что агент является "крайним" (периферийным). Далее, поскольку известно, что требуется M ролей, этот агент должен взять на себя роли от L до M.
Недопущение дефицита также может быть определено заранее, исходя из того, что можно вычислить оценку минимального количества ролей M для группы из N агентов и знания максимальной связности s каждого агента (максимального количества соседей). Порядок M будет определяться как .
Заключение
Итак, были предложены простые и эффективные механизмы решения таких важных задач роевой робототехники, как определение лидера и распределение ролей между членами группы. Под эффективностью понимается их приемлемость для роботов с ограниченными когнитивными возможностями (ограниченность сенсорики, вычислительных мощностей, каналов связи и т.д., т.е. всего того, что характерно для роевой робототехники). Несмотря на свою простоту, реализация этих механизмов позволяет говорить о наличии принципиальной возможности образования действительно сложных по своей организации структур в однородных коллективах. Это еще раз позволяет говорить о том, что различия между роем, стаей и коллективом роботов являются достаточно искусственными.
Список литературы
[Даринцев, 2006] Даринцев О.В. Система управления коллективом микророботов //"Штучний iнтелект" 4, 2006, №4, c.391-399.
[Иванов, 2011] Иванов Д.Я. Использование принципов роевого интеллекта для управления целенаправленным поведением массово применяемых микророботов в экстремальных условиях // Изв. высших учебных заведений. М.:Машиностроение. 2011, №9, с.70-78.
[Каляев и др., 2009] Каляев И.А., Гайдук А.Р., Капустян С.Г. Модели и алгоритмы коллективного управления в группах роботов. М.: Физматлит, 2009. 280с.
[Карпов, 2012] Карпов В. Э. Частные механизмы лидерства и самосознания в групповой робототехнике // Тринадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2012. Т. 3. Белгород: Белгородский государственный технологический университет им. В.Г. Шухова, 2012. с. 275-283.
[Карпов, 2013] Карпов В.Э. Управление в статических роях. Постановка задачи //Тр. VII Международной научно-практической конференции Интегрированные модели и мягкие вычисления в искусственном интеллекте, Коломна. Т.2. М.: Физматлит, 2013. с.730-739.
[Павловский и др., 2010] Павловский В.Е., Кирикова Е.П., Павловский В.В. Моделирование поведения больших групп роботов в среде с препятствиями //Тр. научно-технического семинара "Управление в распределенных сетецентрических и мультиагентных системах". СПб.: ОАО "Концерн ЦНИИ «Электроприбор» ", 2010. с.10-13.
[Dewi et al., 2012] Dewi T., Risma P., Oktarina Y. Wedge Formation Control of Swarm Robots. //The 14th Industrial Electronics Seminar, Electronic Engineering Polytechnic Institute of Surabaya (EEPIS), Indonesia, 2012. P.294-298
[Yogeswaran & Ponnambalam, 2010] Yogeswaran M. and Ponnambalam S. G. (2010). Swarm Robotics: An Extensive Research Review, Advanced Knowledge Application in Practice, InTech. P.259-278.
[Zhiguo et al., 2012] Zhiguo Shi, Jun Tu, Qiao Zhang, Lei Liu, Junming Wei, A Survey of Swarm Robotics System //Proc. of the Third Intern. Conf. on Advances in Swarm Intelligence, Shenzhen, China, 2012. V.1, P.564-572.
Размещено на Allbest.ru
Подобные документы
Групповое взаимодействие роботов. Парадокс критерия эффективности. Задача группового управления роботами. Алгоритмы коллективного распределения целей в группах роботов. Анализ возможности улучшения плана методом попарного обмена целями между роботами.
курсовая работа [229,4 K], добавлен 14.01.2012Область применения промышленных роботов. Тенденция увеличения парка промышленных роботов в современном производстве. Компоненты промышленных роботов, принципы их работы и построения. Датчики, применяемые для сбора информации в промышленных роботах.
курсовая работа [1,1 M], добавлен 06.04.2012Виды и сферы применения промышленных роботов, характеристика их рабочей зоны и основные особенности. Технические данные и кинематические схемы роботов, работающих в разных системах координат. Расчет максимального ускорения, массы и инерции звеньев.
курсовая работа [1,3 M], добавлен 27.12.2011- Автоматизированная информационная система программирования логики промышленных роботов для ООО "ВМЗ"
Организационно-штатная структура конструкторского отдела систем управления технологическим оборудованием предприятия. Обоснование технологии разработки автоматизированной системы программирования логики промышленных роботов. Моделирование данных.
дипломная работа [7,8 M], добавлен 23.06.2012 Разработка и условия использования автоматического строительного робота, который кладет кирпич, использует раствор и 3D-сканнер для определения расположения стен дома. Принцип работы Hadrian, устройство и функции. Создание роботов-термитов, их действие.
презентация [2,9 M], добавлен 24.04.2016Процессы эволюции и самоорганизации человекоразмерных систем на этапе постнеклассического развития науки. Методология теоретической робототехники: истоки, тенденции, бифуркация ее развития, возможности управления. История разработок биологических роботов.
реферат [20,3 K], добавлен 18.06.2010Классификация колесных наземных мобильных роботов. Обзор приводов мобильных платформ. Особенности стабилизации скорости мобильной платформы Rover 5 с дифференциальным приводом. Разработка алгоритмов управления на основе микроконтроллера Arduino.
курсовая работа [1,3 M], добавлен 04.05.2017Назначение, область применения и классификация промышленных роботов. Принципиальное устройство манипулятора. Разработка и программирование производственных систем искусственного интеллекта. Блок электрических клапанов и расширения параллельного порта.
дипломная работа [2,0 M], добавлен 10.02.2012Назначение и область применения промышленных роботов. Разработка программы "Кинематическое движение" в среде Delphi для определения основных параметров кинематического движения. Описание работы и листинг программы. Руководство программиста и оператора.
курсовая работа [499,1 K], добавлен 17.11.2014Обзор схемы конструкции автоматизированного мобильного робота. Выбор компонентов конструкции. Общая классификация роботов; виды двигателей. Выбор типа микроконтроллера. Осуществление программирования на основе расчётов по математической модели робота.
курсовая работа [1,2 M], добавлен 20.05.2015