Научная статья на тему 'Алгоритм группового взаимодействия киберфизических объектов в трехмерном пространстве'

Алгоритм группового взаимодействия киберфизических объектов в трехмерном пространстве Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
271
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОСТИЖЕНИЕ КОНСЕНСУСА / ДЕЦЕНТРАЛИЗОВАННЫЕ СИСТЕМЫ / БАЛАНСИРОВКА ЗАГРУЗКИ / АЛГОРИТМ / ГРУППОВОЕ ВЗАИМОДЕЙСТВИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Половеня С.И., Дуйнова Ю.А., Грибко А.З.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Половеня С.И., Дуйнова Ю.А., Грибко А.З.

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

ALGORITHM OF GROUP INTERACTION OF CYBERPHYSICAL OBJECTS IN THE THREE-DIMENSIONAL SPACE

The methods of managing a group of cyber-physical objects and interactions between them are considered, and methods for the distribution of the load of communications equipment of controlled objects are considered. An algorithm for group interaction and its main components has been developed. The main components of the algorithm implementation are described. The order of actions on realization of simulation of the algorithm of group interaction by software developed in the used programming environment is presented. Describes the steps to initialize the database and prepare it for simulation. A script was implemented for the automated launch of all components involved in the simulation.

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

АЛГОРИТМ ГРУППОВОГО ВЗАИМОДЕЙСТВИЯ КИБЕРФИЗИЧЕСКИХ ОБЪЕКТОВ

В ТРЕХМЕРНОМ ПРОСТРАНСТВЕ

С.И. Половеня, доцент УО «Белорусская государственная академия связи», к.т.н., s.polovenia@gmail.com;

Ю.А. Дуйнова, аспирант УО «Белорусская государственная академия связи», sankoyulia@yandex.by;

А.З. Грибко, магистрант УО «Белорусская государственная академия связи», gribko.alexej@gmail.com

УДК 621.391; 004.031_

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

Ключевые слова: достижение консенсуса; децентрализованные системы; балансировка загрузки; алгоритм; групповое взаимодействие.

ALGORITHM OF GROUP INTERACTION OF CYBERPHYSICAL OBJECTS IN THE THREE-DIMENSIONAL SPACE

S.I. Polovenya, associate professor «Belarusian state academy of communications» candidate of technical sciences;

Y.A. Duinova, post-graduate student of the «Belarusian state academy of communications»; A.Z. Gribko, master student of the «Belarusian state academy of communications»

Annotation. The methods of managing a group of cyber-physical objects and interactions between them are considered, and methods for the distribution of the load of communications equipment of controlled objects are considered. An algorithm for group interaction and its main components has been developed. The main components of the algorithm implementation are described. The order of actions on realization of simulation of the algorithm of group interaction by software developed in the used programming environment is presented. Describes the steps to initialize the database and prepare it for simulation. A script was implemented for the automated launch of all components involved in the simulation.

Keywords: achievement of consensus; decentralized systems; load balancing; algorithm; group interaction.

Введение

Эффективное распределение пакетов (заданий) среди большого числа агентов (узлов) в децентрализованных сетях является основным вопросом. С этим вопросом сталкиваются на производстве, в транспорте, а также в сенсорных сетях [1]. Задание может быть выполнено как одним агентом, так и может быть распределено между группой агентов. Задача балансировки загрузки состоит в поддержании равномерной загруженности всех агентов во времени. Задача балансировки загрузки тесно связана с задачей достижения консенсуса [2]. В работе [3] был предложен протокол локального голосования для задачи достижения консенсуса в сети агентов

с нелинейной динамикой в условиях изменяющейся топологии, помех и задержек. В работе [4] описаны правила управления для сети с голономной моделью связей.

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

Задачи балансировки загрузки и достижения консенсуса

Для рассмотрения задачи балансировки нагрузки сети необходимо учесть следующие условия:

• определить количество узлов сети (п);

• знать вид соединения пар узлов однонаправленной или двунаправленной связью;

• определить на каждом узле очередь задач на исполнение;

• для каждого задания узел должен решить: выполнить ли задание самому или отправить соседу;

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

Такие задачи достаточно полно определяют современные вычислительные системы [1, 2]. В таких системах предполагается потоковая передача данных.

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

Формально эту задачу можно расписать так:

• сеть состоит из п узлов;

• Е М+- начальный уровень загрузки /-го узла, обозначим q = (Цх,Ц2,., Цп) - вектор загрузки;

• связи между узлами имеют ограниченные пропускные способности. Будем считать, что между двумя узлами может существовать только одно ребро, обозначим через с^ Е М пропускную способность передачи информации от узла / узлу }, с^ >0 и при этом не равно нулю только в случае, когда между / ,} существует канал связи;

• Р1ЕШ+- производительность /-го узла, обозначим р = (р1,р2,..., рп) - вектор производительности;

• и = , нумерация вектора и согласована с матрицей инцидентности В, щу -количество передаваемой нагрузки в единицу времени по каналу (I ^}). Другими словами количество нагрузки, переданное по каналу (I ^ }) за интервал времени [т1,т2] определяется как и^^йЬ или же просто (т2 — т1)и^ если и не меняется со временем.

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

!х = Ви — р, х(0) = ц, х(т) = 0п,

х(£) > 0, 0<р1(г)<Ри0<Щ](г) < с1}(г).

В этой формулировке переменными являются и и р, при этом р - фактическая производительность сводится к

[х = Ви,х(0) = х ,х(т) = х+, х(!) > 0, 0 < ие(£) < се.

Пусть V - множество всех узлов, Е ЕУ XV - множество каналов связи между узлами, пропускные способности которых сеть с^. Дополним этот граф фиктивной вершиной t и дугами (р,С),р Е V с пропускной способностью Р1. Этот трюк позволяет трактовать процесс выполнения задачи как передачу этого задания на узел Полагая, что V = {1, ...,п], t = п + 1 получаем, что наша задача заключается в передаче п потока с узлов V Е V на узел ^ что является задачей с начальным и конечным состояниями

х =(Ч1,.~,Чп,0)т,

х+ = (0.....0,Ж=1Ч1)Т.

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

На практике используются два подхода: централизованная динамическая балансировка загрузки и распределенная (децентрализованная). При централизованном подходе определяется некий ресурс, который аккумулирует информацию о состоянии всей сети и принимает решения о распределении заданий для каждого из узлов [5]. При распределенном подходе алгоритмы балансировки загрузки выполняются на всех узлах, обменивающихся информацией о состояниях с другими узлами сети. Перераспределение происходит только между соседними узлами.

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

Рассмотрим N = {1, ...,п] - набор интеллектуальных агентов (узлов), каждый из которых выполняет поступающие задания по принципу очереди. Задания поступают в систему в различные дискретные моменты времени t = 1,2, ...,Т на разные узлы. Связь между узлами определяется топологией динамической сети.

В момент времени t поведение каждого агента / Е N описывается двумя характеристиками: - загруженность или длина очереди из атомарных элементарных заданий узла / в момент времени ^ - производительность узла / в момент времени ^

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

41+1 = Ч[- 4 +и[; 1ЕЫ,1 = 0,1.....Т,

где: и|ЕК - управляющие воздействия, которые в момент времени t воздействуют на узел /, - размер нового задания, поступившего на узел / в момент времени ^

Если N1 ф 0, то в момент времени t узел / получает данные о производительности соседних узлов (гI, г{}, VI Е N,] Е N {) и наблюдения об их загруженности с учетом зашумления:

у? = ч! у + Е N1,

где: - помехи, а 0< < й - целочисленная задержка, й - максимально возможная задержка. Кроме того, в каждый момент времени t узел / имеет зашумленные данные о своей загруженности:

I'] } I I']

Уг = Ч{

При обеспечении равномерной загрузки всех узлов сети рассматривается две постановки задачи: стационарная и нестационарная.

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

Для сокращения времени выполнения всех заданий необходимо использовать протокол перераспределения заданий с течением времени. Это позволит увеличить пропускную способность системы и уменьшить время выполнения заказов в системе. В стационарном случае, с одной стороны, если с момента времени t все задания выполняются только теми агентами, к которым они поступили, то время реализации всех заданий определяется как:

_ тах & 11 = 1ЕЫГ1

г

С другой стороны, если все узлы работают одновременно над общим объемом заданий, желаемое время работы всей системы может составить:

Т ■ =

1 тт

1?=1Ч0

уп „I

Широкое применение мультиагентных технологий привлекает все большее число исследователей к задачам управления и распределенного взаимодействия в сетях динамических систем [6]. Однако решение таких задач не всегда является удовлетворительным из-за сложности обмена информацией и ее полноты, а также наличия задержек и помех.

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

Рассмотрим динамическую сеть применительно к теории графов из набора агентов (узлов) N = {1,... ,п] Граф определяется N и множеством ребер или дуг Е. Множеством

соседей узла / называется Ы1 = {]: (], ¿) Е Е}, т. е. множество узлов с ребрами, входящими в / Поставив в соответствие каждому ребру(у, Г) Е Е вес А1,1 > 0, определяем матрицу смежности (или связности) А = \а1']] графа, обозначаемого далее (верхние индексы у переменных показывают соответствующие номера узлов). Взвешенная полустепень захода вершины / определяется как сумма / -й строки матрицы А:

)=1

Каждому агенту ¿ЕЫ в момент времени t = 1,2,..., Т ставится в соответствие изменяющееся во времени состояние х* Е М, динамика которых описывается разностными уравнениями:

х\+1 = Х* + [1(х1,и\)

с некоторыми функциями (•,•): М X М ^ М, зависящими от состояний в предшествующий момент времени х1( и управляющих воздействий и[ Е М, которые в момент времени t воздействуют на узел I.

Пусть мультиагентная система состоит из динамических агентов с входами и^,

I, * I

выходами у* , и состояниями Х{.

Узлы / и } называются согласованными в сети в момент времени t тогда, когда х£ = х* . Для достижения консенсуса требуется согласовать все узлы между собой, т.е. найти такой протокол управления, который переводит все состояния в одно и то же постоянное значение ха = х1,УЬ Е N.

Предположим, что структура связей динамической сети моделируется с помощью последовательности ориентированных графов {(Ы,Е)},:>0, где Е* ^ Е меняются во времени. Если (], ¿) Е Е*, то узел / в момент времени t получает информацию от узла } для целей управления с обратной связью. Обозначим А* - соответствующие Е* матрицы смежности; Етах = {(], V): зир^а^ > 0} - максимальное множество каналов связи.

Для формирования правила управления каждый узел / Е N имеет информацию о своем собственном состоянии (может быть и зашумленную) у¡¡'1 = у-1 + Щ*'1 и, если N1 ^ 0, зашумленные наблюдения о состояниях соседних узлов:

у*1 = х[-ач + Е N

где: 1, щ^'1 - помехи, а 0 < й1^ < й - задержка, й - максимально возможная задержка. Так как система начинает работу при t = 0, неявное требование к множеству соседних узлов: } Е ^ £ — > 0. При ц/^1 = 0 для всех остальных пар /,_/', определим Щ Е М™2 вектор, составленный из элементов , I,] Е N.

Алгоритм управления, называемый протоколом локального голосования, задается формулами:

и1 = аг) ЪУ (у*'

}ЕЩ

где: а * > 0 - размеры шагов протокола управления, Ъ1^} > 0, V¡Е Ы*. Принимая Ъ1'] = 0 для всех остальных пар /,_/', определим В* = [Ъ1^] - матрицу протокола управления.

Пусть (О, Б, Р) - основное вероятностное пространство. Обозначим: Е - математическое ожидание и Ех - условное математическое ожидание при условии х.

Основные условия, при которых протокол локального голосования обеспечивает достижение консенсуса, следующие:

1. V^Е N функции -[1(х, и) липшицевы по х и и:

\ [1(х,и) — [1(х',и')\ < Ь1(Ьх\х — ||х'| + \и — и'\), и при любом фиксированном х функции [ 1(х,•) такие, что Ех /1(х,и) = /1(х,Ехи);

2. ViE N,j E Nl U (t) помехи наблюдений wlt,}- центрированные, независимые, одинаково распределенные случайные величины с ограниченными дисперсиями: E(w^'])2 < а^.

3. V^E N,j E Nl появление переменных ребер ( , i) в графе GAf - независимые, случайные

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

4. V^E N,j E Nl веса blt'J в протоколе управления - ограниченные, случайные величины: b < blt'] <b с вероятностью 1, и существуют пределы bl,-> = lim Eblt'].

5. Существует конечная величина dEN: ViE N,j E Nl d\J < d с вероятностью 1 и

, ij

целочисленные задержки dt - независимые, одинаково распределенные случайные величины, принимающие значения к = 0,..., Id с вероятностями р1^ .

Кроме того, все эти случайные величины и матрицы независимы между собой, и их элементы имеют ограниченные дисперсии.

Обозначим п = n(d + 1) и определим матрицу Атах размерности пХп по правилу:

Л) _ ¿№^^^+±^((¿-±^¿71)+1 итах ^jdivd U

Здесь операция mod - остаток от деления, а div - деление нацело.

Будем считать, что для матрицы структуры связей сети Атах выполняется следующее условие:

6. Граф (N,Emax) имеет остовное дерево, и для любого ребра (j,i)EEmax среди

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

Li ij+n iJ+dn л ~ г

элементов а^ах, а^ах ,..., а^ах матрицы Атах найдется хотя бы один ненулевой.

Обозначим xt = [х±; ...;х™] - соответствующий вектор-столбец, полученный вертикальным соединением п чисел. Положим Xt = 0 для —d < t < 0, и определим Xt E Rnd - расширенный вектор состояний Xt = [x,xt-1, ...,xt-g], где xt-k - вектор, состоящий из таких xlt-k, что, 3j E Nl3k' > к: р1^, > 0, т.е. это значение с положительной вероятностью участвует в формировании хотя бы одного из управляющих воздействий. В дальнейшем для простоты будем считать, что так введенный расширенный вектор состояний равен Xt = [x,xt-1, ...,xt-n], т.е. в него входят все компоненты со всевозможными задержками, не превосходящими d.

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

Разработка алгоритма взаимодействия

Алгоритм разработан для движения в трехмерном пространстве беспилотных летательных объектов, наиболее распространенными среди которых являются квадрокоптеры.

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

Общая структура управления объектами и взаимодействия между ними отображена на

рис. 1.

Рисунок 1

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

Общение между сервером и клиентами ведется посредством сокетов.

Сокет (англ. socket - разъем) - название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет - абстрактный объект, представляющий конечную точку соединения.

В реализуемом алгоритме данные между объектами передаются по протоколу HTTP (англ. HyperText Transfer Protocol - «протокол передачи гипертекста») с использованием стека протоколов TCP/IP. Таким образом роль сокета будет играть IP-адрес и номер порта.

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

При запуске программы первым шагом является определение внутренних параметров:

• уникальный идентификатор лидера;

• местоположение в трехмерном пространстве;

• скорость передвижения объекта;

• IP-адрес и порт внутреннего сокет-сервера, через который будет осуществляться

общение;

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

группы.

Схема данного алгоритма управления приведена рис. 2.

Процесс управления собственным перемещением в пространстве Ж

_^_

Процесс управления перемещением всей группы в пространстве

_^_

Процесс локального сокет-сервера для связи с подчинёнными Ж

Процесс соединения с пространственной базой данных.

Рисунок 2

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

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

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

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

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

Графическое представление алгоритма управления объектом-подчиненным приведено на рис. 3.

Процесс управления собственным перемещением в пространстве

Рисунок 3

При запуске программы первым шагом является определение внутренних параметров:

• уникальный идентификатор подчиненного;

• местоположение в трехмерном пространстве;

• скорость передвижения объекта.

Второй шаг - запуск параллельных асинхронных процессов, отвечающих за отдельные функции.

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

За собственное перемещение подчиненного отвечает процесс управления собственным перемещением в пространстве. Данный процесс контролирует движение объекта в соответствии с командами, получаемыми от лидера через процесс соединения с ним.

Для формирования сообщений, используемых для общения между объектами, используется текстовый формат обмена данными JavaScript Object Notation (JSON). Типичная структура сообщения приведена на рис. 4.

{

"type" : "тип сообщения", "attributel" : "атрибутГ,

"attributed" : "атрибутЛ/"

}

Рисунок 4

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

Объект-подчиненный осуществляет поиск лидера в пределах зоны покрытия собственного модуля связи. При обнаружении доступного лидера объект инициализирует установление соединения с ним. Процесс инициализации соединения между подчиненным и лидером:

1- лидер; 2 - подчиненный; 3 - зона покрытия модуля связи подчиненного отображен на

рис. 5.

®

®

V-.2ST

Рисунок 5

Первый шаг установки подключения - отправка лидеру сообщения типа INVITE (англ. приглашение). Если присутствует возможность установления соединения в ответ от лидера подчиненный получает сообщение типа ASKSTATUS, который представляет собой запрос информации о состоянии подчиненного. Далее подчиненный отправляет сообщение типа STATUS, в котором хранится информации о статусе его перемещения, его текущее местоположение. Получив полную информацию о состоянии подчиненного, лидер заносит его в список подконтрольных объектов и передает ему подтверждение типа OK, обозначающее окончание установления подключения. Порядок установления между подчиненным и лидером показан на рис. 6. (1- лидер; 2 - подчиненный).

Рисунок 6

Мониторинг группового перемещения [6] и формирование команд управления для членов группы производится процессом управления перемещением всей группы, который выполняется лидером. Данный процесс пошагово рассчитывает перемещение лидера вдоль заданного маршрута в трехмерном пространстве и изменение местоположения членов подконтрольной группы относительно движения лидера.

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

Рисунок 7

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

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

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

Общая схема алгоритма группового перемещения отображена на рис. 8.

Рисунок 8

Заключение

Рассмотрена задача достижения консенсуса в децентрализованных системах, разработан алгоритм взаимодействия киберфизических объектов. Данный алгоритм предполагается реализовать в среде языка программирования Python, организовать структуру базы данных PostgreSQL с расширением PostGIS. Для хранения пространственной информации, для тестирования и проверки работоспособности алгоритма необходимо дополнительно составить программные сценарии для проведения симуляции работы алгоритма.

Литература

1. Скобелев П.О. Мультиагентные технологии в промышленных применениях: к 20-летию основания Самарской научной школы мультиагентных систем // Мехатроника, управление, автоматизация, 2011. - № 12. - С. 33-46.

2. Амелина Н.О. Исследование консенсуса в мультиагентных системах в условиях стохастических неопределенностей // Вестник ННГУ, 2013. - № 1 (3). - C. 173-179.

3. Huang M. Stochastic approximation for consensus: a new approach via ergodic backward products// IEEE Transactions on Automatic Control. 2012. - Vol. 57. - No. 12. - P. 2994-3008.

4. Дуйнова Ю.А., Половеня С.И. Альтернативная коммуникационная сеть и правило управления группой ее элементов с голономной моделью связей // Вестник связи, 2016 - № 6. -С. 30-34.

64

5. Дуйнова Ю.А., Н.И. Лущик, Половеня С.И. Достижение консенсуса в мультиагентной системе на основе протокола локального голосования // Проблемы инфокоммуникаций, 2018. -№ 7 - С. 38-47.

6. Половеня С.И., Дуйнова Ю.А., Бобрик Н.М. Алгоритм мониторинга мультиагентной сети // Материалы международной научно-практической конференции «Инновационные технологии научного развития», 2017. - С. 56-58.

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