УДК 681.5 ББК 32.817
ЛИНЕЙНЫЕ АЛГОРИТМЫ УПРАВЛЕНИЯ ГЕОМЕТРИЧЕСКИМ РАСПОЛОЖЕНИЕМ ОБЪЕКТОВ В МНОГОАГЕНТНОЙ СИСТЕМЕ1
Петрикевич Я. И.2,
(Учреждение Российской академии наук Институт проблем управления им. В. А. Трапезникова РАН, Москва)
В статье предложены простейшие линейные локальные алгоритмы непрерывного перемещения агентов для их равномерного расположения на прямой или окружности. При этом используются следующие предположения: 1) общее число агентов, участвующих в построении, неизвестно; 2) перемещение каждого агента определяется его собственным положением и положением двух его ближайших (по номерам) соседей, при этом правила перемещения одинаковы для всех внутренних агентов; 3) один или оба крайних агента могут быть как закрепленными, так и свободно движущимися. При данных условиях доказана устойчивость рассматриваемых систем и глобальная сходимость к целевым положениям.
Ключевые слова: многоагентные системы, управление формациями, линейные системы.
Введение
Задачи о расположении точек (агентов, клеток и т.д.) вдоль заданной кривой известны также как задачи формообразования, управление формациями formation control) и имеют достаточно много практических приложений: мобильные роботы,
1 Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (проект №08-08-00371-а)
2 Петрикевич Яна Игоревна, кандидат технических наук (petriana@mail.ru).
спасательно-разыскные и военные операции, транспортные сети, социальные и биологические системы.
Как правило, рассматривается распределённая система, состоящая из множества агентов и ориентированная на развитие группового действия при решении различных задач в условиях неопределенности. При этом в системе может выделяться «центр», или «лидер», связанный с каждым элементом системы и координирующий достижение цели агентами, - центральное управление, либо такого центра нет, все элементы системы равноценны, и каждый агент для достижения своей подцели использует лишь доступную ему информацию о системе - распределенное управление. При этом агенты могут взаимодействовать друг с другом и обмениваться информацией - управление с обменом информацией, либо такого обмена нет - автономное управление [8].
Одними из первых отечественных работ по разработке алгоритмов группового движения агентов с целью их размещения вдоль заданной траектории были статьи [3,4]. В них рассматривались задачи формообразования (спрямления и окруживания) применительно к эмбриологии. Были исследованы локальные правила перемещения конечного заданного набора точек (клеток) для получения желаемой формы. Основные предположения были следующими: 1) «процессы формообразования происходят за счет того, что каждая клетка обладает способностью двигаться в определенном направлении в зависимости от положения небольшого числа своих соседей» (т. е. существует обмен информацией между клетками); 2) правила движения для всех клеток данной группы должны быть одинаковы (т. е. вырабатываются однородные правила перемещения). Были получены сложные правила перемещения, в ряде которых присутствует явная зависимость от общего числа точек, участвующих в формообразовании (см., например, задачу окруживания [4]), а также используется коррекция правила перемещения каждой точки в зависимости от расстояния между ней и её соседями и их взаимного расположения на плоскости (как в задаче спрямления [3]). Существенным требованием было
также достижение заданного расстояния между соседними точками.
В [6] рассматривается похожая задача: задается случайный полигон и предлагается дискретный алгоритм перемещения вершин полигона так, что они выстраиваются вдоль эллипса. Каждой вершине в каждый момент времени доступна информация о координатах одной соседней вершины (т. е. рассматривается распределённая система с обменом информацией). Перемещение точек описывается линейным законом, однако затем используется нелинейная операция нормирования, и таким образом на этом шаге должна использоваться полная информация о системе: о координатах всех вершин полигона, а не только ближайших для каждой вершины соседей. Для такого алгоритма показана глобальная сходимость к эллипсу определённого вида.
В работах [1,7] рассматриваются более сложные многоагентные системы. Так, в [7] множество агентов в трехмерном пространстве составляет единую динамическую систему (многосвязную систему) и с однотипными локальными регуляторами. Решается задача о формировании агентами некоторой геометрической структуры для окружения цели. При этом каждый объект владеет информацией о своих координатах и о положении цели, а для решения задачи используется схема циклического преследования. В [1] исследуется формация в виде плоской цепочки объектов, движущихся друг за другом. В цепочке имеется лидер, который может совершать некоторые ограниченные маневры. Каждый из ведомых объектов должен управлять своим движением (вектором скорости) так, чтобы сохранялась дистанция до предыдущего объекта и направление движение на него. Объекты описываются набором динамических характеристик, а управление строится в виде стабилизирующего ПД-регулятора в обратной связи. Таким образом в работе [1] реализуется принцип «движение за лидером».
В настоящей работе мы будем рассматривать системы с распределённым управлением и с обменом информацией между агентами (в данном случае - точками). При этом под управлени-
ем будем понимать алгоритм движения агентов в виде указания правила перемещения (стратегии) для каждого агента. Для выработки правил будем использовать следующие предположения: 1) общее количество точек, участвующих в построении, неизвестно; 2) движение каждой точки зависит только от положения её самой и двух её соседей - предыдущего и следующего по номерам, и эта зависимость одна и та же для всех внутренних вершин; 3) одна или обе концевые вершины могут быть как закрепленными, так и подвижными. Таким образом, используется минимум информации. Будем далее рассматривать случай непрерывного движения.
1. Расположение точек на прямой
Общая задача формулируется следующим образом: дано п точек с фиксированными номерами 1,..., п, произвольно расположенных в пространстве Мт, т ^ 1, с координатами хі, ..., хп. Каждой точке х^ доступна информация о координатах двух соседних (по номерам) точек хі-і, хі+1, і = 1,... ,п. Все точки двигаются по своим собственным траекториям.
Так как самим точкам неизвестно их общее количество п, то при перемещениях нельзя явно учитывать эту величину.
Задача: синтезировать алгоритм движения такой, чтобы данные точки расположились на одной прямой в правильном порядке (по номерам) и на равном расстоянии друг от друга.
Относительно расположения целевой прямой никаких требований не выдвигается, как и относительно величины финального расстояния между ними.
1.1. ОДНОМЕРНЫЙ СЛУЧАЙ (т = 1)
В самых простых случаях возможно применение линейных алгоритмов перемещения точек.
Рассмотрим одномерный случай, когда исходные точки уже лежат на прямой, но в произвольном порядке и на произвольном расстоянии с соседями.
Случай 1. Пусть концевые точки Х1 и хп неподвижны. Предлагается использовать следующий алгоритм: каждая внутренняя точка стремится занять среднее положение между двумя своими соседями. При этом траектории перемещения ищутся как решение линейной системы ОДУ
(І)
x1 = x1(0),
xi-1 + Xi+1
x i
xn
2
— xi, i = 2,..., n — 1,
= Xn(0).
Обозначим x = (x2,..., xn-1) Є Mn-2, тогда в матричном представлении
(2) X = Ax + b, где
(3) A =
-І І/2 0
І/2 -І І/2
0
0
M(n—2)x(n—2)
0
І/2 -І
b = (x1(0)/2,0,...,0,Xn(0)/2)T Є Rn-2.
Теорема 1. Система (2) устойчива и существует стационарное положение точек: xi(t) ^ x1(0) + П—1 (xn(0) — x1(0)) при t ^ ж, i = 2,..., n — 1, т. е. все «внутренние» точки из любого начального положения стремятся выстроиться на отрезке с фиксированными концами x1 и xn на равном расстоянии друг от друга.
Доказательство. Собственные значения матрицы A (3), согласно [2], вещественны, различны и равны Лк = —2 sin2 2(П-1), k = 1,..., n — 2, т. е. A отрицательно определена при любых n, следовательно, система (2) устойчива и, кроме того, существует A-1. Положим x* = —A-1b и в (2) сделаем замену переменной z = x — x*; в результате получим устойчивую однородную систему Z = Az с той же матрицей A. Так как z ^ 0 при t ^ ж,
669
то Xi ^ х* = хх(0) + П-х (хп(0) - хх(0)) при £ ^ ж, где компоненты вектора х* найдены в явном виде как решение системы Ах* = —Ь, i = 2, ...,п - 1.
Оценим скорость сходимости. Обозначим Л = шахд. ЛеЛд. Так как 0 < Х) < § при любых п и к = 1,..., п — 2, то в силу
монотонности функции f (у) = — 8ш2(у) на этом интервале Л = Лх = — 2 8т2 2(га7-1). Для системы г = Аг верна оценка ||г(£)|| ^
ел*||г(0)||, откуда с учётом замены ||х(£) — х*|| ^ ел*||х(0) — х*||.
л 2
При больших п получим оценку скорости сходимости: Л ~ — 2^2 .
Пример 1. Начальное положение восьми точек задается координатами хо = [—1,1; 0,2; —4,8; 4,109; 9,5; 8,84; —3,7; 5,62]. Траектории точек х^£), найденные в результате решения системы (1), отображены на рис. 1. Пунктирами обозначены неподвижные концевые точки.
t
Рис. 1. Начальное положение и траектории точек из примера 1
Согласно оценке ||х(£) — х*|| ^ ел*||х(0) — х*||, в момент времени £ = 50 гарантированная точность равна е = 0,0947, что
670
соответствует результатам моделирования: ||x(50)-x*|| = 0,0189. К указанному моменту времени точки уже достигли требуемого расположения и расстояния di = xi+l — xi, i = 1, ...,n — 1, получающиеся между ними в этот в момент времени, равны
d = [0,9644; 0,9634; 0,9622; 0,9597; 0,9583; 0,9563; 0,9557],
и далее с течением времени точки устанавливаются в окрестности равноудаленных позиций. •
Замечание 1. Все расчеты в настоящей статье производились в системе MATLAB 7 с использованием функции решения ДУ ode45.
Рассмотрим чуть более усложненную постановку задачи. Случай 2. Пусть концевая точка xn свободна и целью является привести ее в положение xn = xl + R, R = const, а остальные точки выстроить на отрезке [xl,xn] на равном расстоянии друг от друга.
В общем случае, когда xl тоже не закреплена, система имеет
вид
Xl = ^(t),
(4)
Xi =
xi_ 1 + xi+l 2
— xi, i = 2, . . . , n — 1,
X n
= xl + R — xn,
где функция <^(t) непрерывно дифференцируема по t. В частном случае, когда конец xl = <^(t) = const, в матричном виде получаем систему вида
(5) X = Ax + b,
в которой x = (x2,..., xn) є R
n_ l
(б) A =
—1 1/2 0
1/2 —1 1/2
0 0
... 0
... 0
—1 1/2
0 —1 У
R(n_l)x(n-l)
b = (xi(0)/2, 0,..., 0,xi(0) + R)T є R
nl
t
Теорема 2. Система (5) устойчива и Жі(і) ^ жі(0) + 1Е
при і ^ ж, і = 2,... ,п, т. е. все «внутренние» точки стремятся выстроиться вдоль отрезка [ж1,ж1 + Е] на равном расстоянии друг от друга.
Доказательство. Для доказательства отрицательной определенности матрицы А (6) используем теорему Лапласа о разложении определителя [2, 5] и результаты теоремы 1. Так, разложив определитель ! = ёе^А — АЕ) (Е - единичная матрица в М(п-1)х(п-1)) на сумму элементов последней строки, умноженных на их алгебраические дополнения, получаем ! = (—1 — А)!єі(А — АЕ). Здесь матрица А полностью совпадает с матрицей (3), для которой ранее была доказана устойчивость (см. теорему 1), а дополнительное собственное значение А = — 1. Следовательно, система (5) устойчива. Значения ж* : Жі(і) ^ ж*, і = 2,...,п — 1, находятся как решение системы уравнений Аж* = — Ь и выписываются в явном виде: ж* = ж1(0) + (—11) Е. Так как набор собственных значений матрицы (6) отличается от множества собственных значений матрицы (3) лишь одним значением А = — 1 = шах^ ЕвА^, то при больших п для рассматриваемой системы верна оценка скорости сходимости, полученная в теореме 1: А ^ .
Пример 2. Начальное положение десяти точек задается вектором жо = [3,8; 1,55; —1,47; 2,82; —3,37; 0,15; —2,52; —4,75; 3,8; —0,5]. Рассмотрим для примера более общую ситуацию, когда движение первой точки задано в виде Ж1 = —ж1 — ж2/2 — 2,5, Е = 7,85. Матрица системы здесь будет иметь вид
—1 —1/2 0
1/2 —1 1/2
А=
0
0 0 ... —11/2
0
0
Ь = (—2,5;0;..., 0;7,85)т Є М"
Є М"
0 —1
0
все её собственные значения отрицательны, т. е. система устойчива.
672
Сетецентрическое управление и многоагентные системы Траектории точек жДЬ) отображены на рис. 2.
6
4
2
0
Рис. 2. Начальное положение и траектории точек из примера 2
При Ь = 50 точки уже достигли желаемого взаимного расположения и ||ж(50) — ж* У = 0,2467, что
соответствует теоретическим оценкам. В этот в момент времени получаем следующие расстояния между точками: й = [0,8268; 0,8310; 0,8410;0,8556; 0,8723;
0,8894; 0,9037; 0,9137; 0,9177] и они продолжают выравниваться с течением времени, а дистанция К между концевыми точками к этому моменту равна К = 7,8512. •
1.2. ДВУМЕРНЫЙ СЛУЧАЙ (т = 2)
Если концы отрезка закреплены, то для п точек получаем систему размерности 2п, аналогичную (1), - в ней отдельно находятся значения первой и второй координаты каждой точки, которые
мы стандартно обозначим х и у, в каждый момент времени:
(7)
Хі
Х »
= хі(0), х„ = х„(0),
х»—і + х»+і 2
— хі, і = 2,..., п — 1,
Уі = Уі(0), Уп = Уп(0),
= У»-1 + ут _ у»
у» — 2 ,
і = 2,..., п — 1.
Матрица системы в этом случае выглядит следующим образом:
(8)А =
( —1 1/2 1/2 —1
0 0 0 0
0 0 ...
0 0 ...
—1 0 ...
0 -1 1/2
0 1/2 -1
0 0 ...
0 0
0 0 0
-1
п—2)х2(п—2)
Ь = (хі/2, 0,..., 0, х„/2, уі/2, 0,..., 0, у„/2)т є М2(п-2).
Теорема 3. Система с матрицей (8) устойчива и
(хй(^),Уй(£)) ^ (хі + п—Г (хп — хі) ,Уі + П—і (Уп — Уі))
і ^ ж, к = 1,..., п — 2.
при
Доказательство. Матрица данной системы является блоч-
где А і = А2 - устойчивые и совпада-
ной вида А
А1 0
0 А 2
ют с матрицей (3). Таким образом, для каждой из этих подсистем выполняются условия теоремы 1, что обеспечивает сходимость каждой из координат г-го агента к желаемой позиции со скоростью, оценка которой получена в теореме 1.
По аналогии с теоремой 3 легко обобщить случай, когда оба конца отрезка закреплены, на т-мерное пространство - доказать устойчивость системы и сходимость к равноудаленным на отрезке положениям.
є
Пример 3. Зададим начальные координаты восьми точек: Хо = [3,1410; 28,5591; 26,2366; 10,6667; 34,1505; 21,1505; 11,0968; 31,8710], уо = [26,9677; 6,8387;37,6344; 6,4946; 17,2473; 15,4516; 21,6344; 30,7519.] Решение системы типа (7) показано в фазовом пространстве на рис. 3; получены следующие расстояния между точками на отрезке (при Ь ~ 500, когда точки остаются в малых окрестностях целевых равноудалённых позиций): й = [4,1374; 4,1463; 4,1303; 4,1503; 4,1303; 4,1463; 4,1374]. •
X
Рис. 3. Начальное положение, траектории и конечное положение точек из примера 3
2. Расположение точек на окружности
ПОЛЯРНЫЕ КООРДИНАТЫ (т = 2)
Использование полярных координат позволяет применять простые линейные алгоритмы для расположения точек вдоль окружности. При этом также возможны различные постановки задачи. Общая задача состоит в следующем.
Дано п ^ 2 точек с полярными координатами (0г, рг). Считаем начало координат фиксированным центром желаемой окружности (этого всегда можно достичь путем параллельного сдвига). Пусть в этой точке располагается некий «информационный центр» который имеет возможность измерять координаты (0г, Рг) каждого из агентов и передавать эти данные участникам движения так, что каждой точке доступна информация о координатах двух соседних (предыдущей и следующей по номерам) точек. Далее считаем, что углы измеряются в пределах от 0 до 2п и возрастают по направлению против часовой стрелки (правильный порядок следования точек).
Задача: синтезировать алгоритм движения такой, чтобы все точки расположились на одной окружности заданного радиуса К в правильном порядке на равном расстоянии друг от друга (или, что эквивалентно, через равные углы).
Здесь рассмотрим для примера простейший случай: для концевых точек фиксированы только углы, а радиусы могут меняться; углы и радиусы внутренних точек изменяются.
Зададим движение точек системой:
Легко показать, что данная система также устойчива и точки из любого начального положения сходятся к позициям на окружности: 0г(£) ^ 01 (0) + Пі--!(0га(0) -01 (0)), Рг(і) ^ К (доказательство аналогично теореме 1), и в результате все точки выстраиваются на заданном расстоянии К от центра и через равные углы друг от друга, а следовательно, на равном расстоянии друг от друга.
Пример 4. Координаты восьми начальных точек зада-
ны векторами Хо = [-1,9571; 3,7802; -3,3512; 5,7105; -0,8847;
01(0),
0п(0),
—(Рі — К), і = 1,..., п.
1,7426; 1,5818; -0,2949]; уо = [1,8499; -3,6729; -1,3137; -0,3485;
-3,7265; 2,9223; -3,8338; 2,4933]. Радиус целевой окружности К = 4,86.
X
Рис. 4. Начальное положение, траектории и конечное положение точек из примера 4
При £ = 50 получаем й(0) = [0,7752; 0,7783; 0,7894;0,7964;0,8102;0,8159; 0,8220] или расстояния между точками
й = [3,6737; 3,6879; 3,7374; 3,7692; 3,8307; 3,8561; 3,8834]. • Возможны также другие постановки задачи о расположении вдоль окружности: один или оба конца могут быть незакрепленными; может не существовать «центра», относительно которого задаются расстояния-радиусы (решение с помощью нелинейных алгоритмов) и т. д.
3. Заключение
Предложены эффективные локальные линейные правила перемещения точек для их выстраивания вдоль прямой и окружности. Основными преимуществами предлагаемых алгоритмов яв-
677
ляется их простота и гарантированная сходимость при любых начальных данных. Кроме того, они работают в условиях неопределенности, когда каждому из агентов неизвестно общее число точек, участвующих в построении, и доступна информация о координатах только его ближайших соседей.
Для каждого из представленных методов возможна дискретная модификация, а также обобщение на случай m-мерного пространства. В дальнейшем планируется рассмотрение систем, в которых перемещение будет зависеть не только от координат точки, но и от её скорости. Возможно рассмотрение систем с выделенным лидером, или центром, движущимся по заданной траектории. Кроме того, в настоящее время исследуются нелинейные алгоритмы перемещения агентов при различных постановках задач.
Литература
1. ВАСИЛЬЕВ С. Н., КОЗЛОВ Р. И., УЛЬЯНОВ С. А. Анализ координатных и других преобразований моделей динамических систем методом редукции // Труды Института математики и механики РАН. - 2009. - Т. 15, №3. - С 38-55.
2. ВОЕВОДИН В. В., КУЗНЕЦОВ Ю.А. Матрицы и вычисления. - М.: Наука, 1984. - 320 с.
3. ЛЕОНТОВИЧ А.М., ПЯТЕЦКИЙ-ШАПИРО И.И., СТАВ-СКАЯ О.Н. Некоторые математические задачи, связанные с формообразованием // Автоматика и телемеханика.
- 1970. - №4. - С. 94-107.
4. ЛЕОНТОВИЧ А.М., ПЯТЕЦКИЙ-ШАПИРО И.И., СТАВ-СКАЯ О.Н. Задача окруживания в математической модели формообразования // Автоматика и телемеханика. -1971.-№2.-С. 100-110.
5. ХОРН Р., ДЖОНСОН Ч. Матричный анализ. - М.: Мир, 1989. - 655 с.
6. ELMACHTOUB A.N., VAN LOAN C.F. From Random Polygon to Ellipse: An Eigenanalysis // SIAM Review. - 2010. -Vol. 52, №1. - P. 151-170.
7. HARA S., TAE-HYOUNG K. Stabilization of Multi-agent Dynamical Systems for Cyclic Pursuit Behavior // Proc. 47th IEEE Conf. CDC 2008, Cancun. - P. 4370-4375.
8. YANG QUAN CH., ZHONGMIN W. Formation Control: A Review and A New Consideration // Proc. IEEE Int. Conf. on Intelligent Robots and Systems, 2005. - P. 3664-3669.
LINEAR ALGORITHMS FOR CONTROL OF GEOMETRICAL ALLOCATION OF AGENTS IN MULTI-AGENT SYSTEMS
Yana I. Petrikevich, Institute of Control Sciences of RAS, Moscow, Cand.Sc. (petriana@mail.ru).
Abstract: Simple and effective linear local algorithms for agents movement and allocation on a line and on a circle are proposed. They are based on the following assumptions: 1) the total number of agents in the system is unknown; 2) the future position of each agent is defined by its own coordinates and coordinates of its closest neighbors; 3) one or both of end agents may be fixed or movable. Stability and convergence for developed systems are proven and a number of examples are given to demonstrate the work of the proposed algorithms.
Keywords: multi-agent systems, formation control, linear systems.
Статья представлена к публикации членом редакционной коллегии Б. Т. Поляком