УДК 004.896
А.И. Дивеев, Е.Ю. Шмалько
ЧИСЛЕННЫЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ ГРУППОЙ РОБОТОВ
*
МЕТОДОМ СИМВОЛЬНОЙ РЕГРЕССИИ
Рассматривается задача автоматического синтеза систем управления многообъектными робототехническими системами. Для синтеза системы управления необходимо найти управление в виде многомерной нелинейной функции от состояния объекта управления. Нахождение такой функции и ее реализация на бортовых компьютерах объектов управления позволяет создать систему управления, которая сможет перевести объекты из начального состояния на терминальное многообразие с оптимальным значением критериев качества. Задача синтеза управления группой роботов относится к общей задаче синтеза управления и имеет дополнительные динамические ограничения в пространстве состояний, которые определены требованием отсутствия сталкивания роботов между собой в процессе движения к достижению цели управления. В обзоре представлены три основных подхода к построению систем управления обратной связи для групп роботов. Это методы, основанные на использовании навигационных функций, методы, использующие принцип разбиения на участки, и методы символьной регрессии. В отличие от первых двух указанных подходов, методы символьной регрессии позволяют полностью автоматически решать задачу синтеза, реализуя эволюционный поиск оптимальной функции управления и ее параметров на пространстве возможных решений. Такой подход к решению задачи синтеза является универсальным и не ограничивается особенностями решаемых задач. В настоящей работе используем один из методов символьной регрессии — метод сетевого оператора. Суть метода заключается в том, что код математического выражения описывается в виде целочисленной матрицы, в ячейках которой хранятся номера переменных, параметров, унарных и бинарных операций. Поиск математического выражения, удовлетворяющего целям и критериям, осуществляется с помощью генетического алгоритма на основе принципа вариации базисного решения. Принцип малых вариаций базисного решения сужает область поиска и сокращает время вычислений. При построении базисного решения специалист разработчик может использовать известные аналитические методы, такие как метод АКАР. Чем лучше задано базисное решение, тем быстрее вычислительный метод найдет оптимальное решение задачи. Эффективность подхода представлена результатами моделирования задачи парковки для двух мобильных роботов.
Синтез системы управления; группа роботов; динамические ограничения; символьная регрессия; генетический алгоритм.
A.I. Diveev, E.Yu. Shmalko
COMPUTATIONAL SYNTHESIS OF CONTROL SYSTEM FOR GROUP OF ROBOTS GY SYMBOLIC REGRESSION
We consider the problem of automatic synthesis offeedback controller for a robotic team. To synthesize a feedback control means to find a multidimentional nonlinear control function that depends on objects' state. Such functions implemented to on-board computers will be able to produce control signals that transfer the control objects from the initial state to the terminal manifold with optimal value of quality criteria. The problem of control synthesis for the group of robots relates to the general problem of control synthesis and has additional dynamic constraints in the state space in order to avoid collisions of robots with each other in the process of movement to-
*
Работа выполнена при поддержке РФФИ (грант № 08-00008-а) и гранта Президента Российской Федерации для молодых ученых (МК-6277.2015.8).
wards the control objective. The review presents the three main approaches to constructing feedback control systems for groups of robots. These are methods that use navigation functions, that decompose the configuration space into cells and symbolic regression methods. In contrast to the first two approaches on multi robot coordination, symbolic regression methods allows synthesizing feedback controllers completely automatically, realizing the evolutionary search for the optimal control and its parameters in the space of possible solutions. Such an approach to the synthesis problem is versatile and not limited to the particular application problem. In the present paper we use such method of symbolic regression as the network operator method. The basic idea is to code any mathematical expression in the form of integer matrix which elements correspond to variables, parameters and elementary functions. The mathematical expression that meets the overall control objective with the best value of quality functional is searched by the genetic algorithm on the basis of the principle of small variations of basic solution. Our principle of small variations of the basic solution narrows the search space and reduces the computation time. When building a basic solution a specialist can use well-known analytical methods, such as analytical construction of aggregated controllers. The better the basic solution the faster a computer solves the problem. We validate our approach by presenting the results of applying the network operator method to the task of two mobile robots parking.
Control system synthesis; robotic team; dynamic constraints; symbolic regression; genetic algorithm.
Введение. В последние годы интерес к многообъектным робототехническим системам значительно возрос. Это связано с очевидными преимуществами использования групп роботов вместо роботов-одиночек, часто обсуждаемыми в современной литературе [1, 2]. Например, общая стоимость владения может быть уменьшена за счет использования множества простых и дешевых роботов вместо одного сложного и дорогостоящего робота. Некоторые задачи выполняются более эффективно группой роботов за счет разбиения основной задачи на подзадачи, которые можно выполнить параллельно. Сами условия выполнения задачи могут оказаться настолько сложными, что для реализации поставленной цели потребуются значительные способности, которые просто невозможно реализовать в одном роботе, но реально сделать группой роботов. Считается, что использование группы роботов увеличивает робастность системы за счет присущего такой системе параллелизма и избыточности. Также использование группы роботов позволяет минимизировать риски, связанные с невыполнением поставленной задачи, которые могут возникнуть за счет выхода из строя одного или нескольких роботов.
Однако при использовании многообъектных робототехнических систем возникают дополнительные проблемы, которые необходимо решать, чтобы обеспечить достойную и эффективную конкуренцию роботам-одиночкам. Плохо спроектированные группы роботов, с отдельными роботами, работающими на выполнение противоположных целей, могут быть менее эффективными, чем тщательно разработанные роботы-одиночки.
Большинство исследователей пришли к выводу, что проектирование групп роботов отличается от парадигмы проектирования отдельных систем роботов [3-7]. Простое масштабирование не является адекватным. Первостепенной задачей в проектировании эффективной многообъектной робототехнической системы является создание системы управления, обеспечивающей скоординированное выполнение цели множеством взаимодействующих роботов.
Разрабатываемые сегодня прикладные системы управления ограничены сферой своего применения, поскольку проектируются специалистами для решения конкретных задач. Перенести разработанные подходы на другие системы удается редко в виду их узкой специфики.
В этой связи разработка универсальных подходов автоматического синтеза систем управления группой роботов позволила бы ускорить выведение таких систем в практику и значительно расширить область их применимости.
Задача автоматического синтеза системы управления подразумевает автоматическое описание блока управления в виде функциональной зависимости от состояния объекта. Значение синтезированной функции для каждого состояния объекта должно удовлетворять цели управления с оптимальным значением критерия качества.
В настоящей работе рассматривается задача синтеза системы управления обратной связи для группы роботов, перемещающихся в пространстве с фазовыми ограничениями. Синтезируемый блок управления должен обеспечить гарантированное перемещение объектов в целевые терминальные позиции, удовлетворяя наложенным ограничениям и избегая столкновений друг с другом.
1. Обзор существующих методов. Сегодня в мире активно проводятся исследования, посвященные синтезу систем управления движением роботов в условиях ограничений [8-16]. Однако в большинстве работ не учитывались динамические фазовые ограничения, возникающие в виду функционирования группы объектов в едином пространстве и возможности их столкновения. В тех же работах, где эти ограничения рассматриваются [15, 16], производится трудоемкая ручная настройка параметров.
В современных публикациях встречаются два основных подхода к решению поставленной задачи синтеза. Наиболее популярным является метод, основанный на применении так называемых навигационных функций [8, 9, 10] для синтеза нелинейной обратной связи, обеспечивающей безопасность (отсутствие столкновений) и глобальную сходимость. Применение метода навигационных функций для многообъектных систем представлено в [15, 17, 18]. Другое направление базируется на разбиении пространства обобщенных координат на участки, далее синтезируется управление для каждого отдельного участка таким образом, чтобы обеспечить перемещение объектов по участкам от любого начального положения к целевому терминальному положению. Данный подход в различных вариациях применялся для кусочно-аффинных систем [12, 13], для голономных систем [9, 19] и для неголономных систем [20]. Не во всех опубликованных работах рассматривается задача с пространственными ограничениями, но теоретически всегда можно построить участки, не включающие ограничения, и построить управление по этим участкам. Однако ни в одной из указанных работ не рассматривается задача координации нескольких объектов с учетом возникающих динамических ограничений.
Альтернативными являются численные методы синтеза систем управления группами роботов, основанные на применении эволюционных подходов. Построение синтезирующей функции в автоматическом режиме с помощью вычислительной машины стало возможным с появлением в последние годы так называемых методов символьной регрессии [21-27], которые осуществляют поиск оптимальной функции на пространстве математических выражений.
Пионером среди методов символьной регрессии является метод генетического программирования, разработанный Дж. Козой [21] на основе генетического алгоритма. Дж. Коза решал задачу автоматического написания программ. Очевидно, что если метод позволяет находить текст алгоритма программы, то он позволит находить и любое математическое выражение, которое может быть описано этой программой. Таким образом, генетическое программирование стало первым методом, в котором символьная регрессия (оптимальный подбор математического выражения) осуществляется уже не человеком, как было ранее, а эволюционным алгоритмом, по сути, машиной.
На сегодняшний день разработаны и другие методы символьной регрессии: грамматическая эволюция [22], аналитическое программирование [23], метод сетевого оператора [24], а также разработаны различные их модификации. Все эти методы позволяют численно решать проблему синтеза функции с помощью вычислительной машины. Перечисленные методы символьной регрессии отличаются формой кодирования и алгоритмами поиска закодированной формы.
В работе мы используем метод сетевого оператора, поскольку в его основе заложен принцип малых вариаций базисного решения. Согласно данному принципу исследователь задает закодированное одно или несколько базисных решений. Для кода возможного решения мы определяем допустимые малые вариации, которые изменяют код решения так, что новое решение также является правильным возможным решением. Все допустимые малые вариации также кодируем. Поиск решения осуществляем на множестве малых вариаций базисного решения. Количество малых вариаций относительно базисного решения определяет размер пространства поиска. В процессе поиска мы меняем базисное решение на лучшее найденное решение. Наш подход сужает область поиска решения и использует знания специалиста по управлению при определении базисного решения. Такой подход нам позволяет эффективно решать очень сложные задачи синтеза управления, к числу которых относится задача синтеза системы управления группой роботов.
2. Формальная постановка задачи. Рассматривается задача синтеза управления группой роботов. Заданы модели N объектов управления
X' = Г' (х', и'), г = , (1)
где X - вектор состояния объекта ', иг - вектор управления объекта г х' е Кп', иг е и с Ят', Щ — П, и; - компактные множества в соответствую
щих векторных пространствах Кт', г = 1, N. Заданы области начальных состояний
х' (0) е Х10 с Яп
Заданы терминальные условия
i = 1, N.
(2)
Ф j
i (xi (tf)) = 0, J =1, ri
i = 1, N,
(3)
где t'j < t+,
t - максимальная длительность процесса управления.
Каждый робот г занимает пространство, ограниченное параллелепипедом размером х Щ х Нг . Координаты углов робота в неподвижной системе координат с центром в геометрическом центре робота имеют следующие значения:
v',1 =
vi,3 =
Ll . 2
Li Wl
W 2
H± 2
H
2 ' 2 ' 2
vL',2 =
v',4 =
v'',5 =
v'',7 =
L
W Hi
_ 2 2 2
LlWLHL 2 , 2 , 2
v',6 =
v',8 =
LlWL-H 2 , 2 , 2
Ll_WL_HI 2 , 2 , 2
LlWLHjL _ 2 , 2 , 2
L Wi Hi
2 2 2
В векторе состояния объекта управления x'' = [x' x' x' _ x'' ]T выделим
подвектор, описывающий координаты геометрического положения центра масс гг = [х[ Х'2 Х'з ]T . Положение углов робота определяется углами a, Д, y поворота робота вокруг осей , X2, X3 соответственно. Преобразование координат осуществляем с помощью матрицы поворота
cosPcosy - cosP sin y - sin р
F = - sin а sin р cos y + cosa sin y sin а sin р sin y + cosa cos y - sin а cosP cosasin P cosy + sin asin y - cosasin P sin y + sin a cosy cosacosP Координаты углов объекта в неподвижной системе координат определяются соотношением
V2'k = F' V'' k + r', ' = , k = 1,8, (4)
где F - матрица преобразования координат с углами a¿, Д, y для объекта '.
Проверку нарушения динамических ограничений, когда углы объекта ' попадают внутрь габаритного параллелепипеда объекта j, осуществляем с помощью соотношений
í L L Л
_JL < < ^
2 1 2
V ^ ^ у
V
í W,- ~ik WL Л
L < k < L
í Hj ~ik и,-Л
V--L < vi k < —
2 3 2
(5)
2 2 2
У Ч У
где V'{K, V-f , - координаты угла к объекта / в системе координат, связанной с объектом j ,
~,k = Ff (V2 ,k - rj ), k = 18. (6)
При проверке динамических ограничений вместе с условием (9) попадания угла габаритного параллелепипеда объекта i внутрь габаритного параллелепипеда объекта j необходимо проверять и обратное условие, попадания угла габаритного параллелепипеда объекта j внутрь габаритного параллелепипеда объекта i
Vj,k = Ff (Vj, k - Г), k = 1 , 8. (8)
Не выполнение условий (5), (7) определяет отсутствие столкновения между объектами i и j.
Заданы функционалы качества
tf _ Ji = J f (x2 (t) , u2 (t))dt ^ min , i = 1, N, (9)
0
где f (x* (t) , U (t)) - ограниченные снизу непрерывные функции, i = 1, N. Необходимо найти синтезирующую функцию управления в виде
и2 = h2 (x1,..., xN) , (10)
где h2 (x1,..., xN ): R"i x...x RnN ^ .
Синтезирующая функция (10) должна обеспечивать достижение системой (1) такого целевого состояния
x2 = f2 (x2, h2 (x1,..., xN)), i = 1N, (11)
Ух' (0) е Х^ с Кп', г = 1, N, И'' (х1,...,хN) е И,-, Зг^. — г+, при котором выполняются условия (3), (5), (7) и обеспечивается минимум функционала (9).
3. Метод сетевого оператора. Для решения задачи используем численный метод сетевого оператора. Метод сетевого оператора [24, 25, 27] использует кодирование математических выражений в форме ориентированного вычислительного графа. Для кодирования математических выражений используют четыре базисных множества:
♦ множество переменных
V = (хь..., ^); (12)
♦ множество параметров
О = (<71,..., дк); аз)
♦ множество функций с одним аргументом, которые в терминологии сетевого оператора называются унарными операциями
Ц = (/и (*)=*>/и Л>г (14)
♦ множество функций с двумя аргументами или бинарных операций
Р2=(/2>1(г1,г2),...,/2_Дг1,г2)). (15)
Множество унарных операций должно обязательно содержать тождественную операцию /1 ( г) = г.
Функции множества бинарных операций являются:
коммутативными
У/г, (*!,22) е Р2 /', г2) = /', г), 1 —' — V, (16)
ассоциативными
У/2,'(21,22)еБ2 /2./(а,Ь),с) = /2,',(а,/^(Ь,с)), 1 —' — V, (17)
и иметь единичные элементы
У/2,'(г„ 22) е Зв', /21 (ег,а) = а , 1 — / — V. (18)
Элементы множеств переменных (12) и параметров (13) в математическом выражении, описанном с помощью сетевого оператора, являются аргументами функции. Параметры вводят в математическое выражение для расширения класса описываемых функций. Значения параметров ищут вместе со структурой функции.
Рассмотрим пример построения сетевого оператора для математического выражения.
Пусть заданы базисные множества:
V = (*1), О = (а, Ь),
Р1 = (/1,1 (г) = г,/1,2( г) = -г,Дз( г) = в 2 ^ ./1,4 (г) = 8ю( г)),
р2 = С/2,1(гЬ г2) = г1 + г2,/2,2( г1, г2) = г1г2).
Заметим, что в большинстве практических задач достаточно использовать бинарные операции сложения и умножения. Эти операции коммутативны, ассоциативны и имеют единичные элементы. Единичным элементом операции сложения является ноль, в1 = 0, а операции умножения - единица, в2 = 1.
Вариативность множества искомых математических выражений в форме сетевого оператора определяет в основном множество унарных операций. В нашем примере данное множество содержит четыре операции. Для реальных практических задач множество унарных операций включает более двадцати функций.
Пусть нам необходимо описать с помощью сетевого оператора следующее математическое выражение:
у = а 8т(е"( +6)8т(сх2)). (19)
На рис. 1 приведен граф сетевого оператора для математического выражения (19). В ориентированном графе сетевого оператора элементы множеств переменных и параметров связаны с узлами-источниками графа, бинарные операции связаны с остальными узлами графа, унарные операции связаны с дугами графа.
Для представления сетевого оператора в памяти компьютера используем матрицу сетевого оператора. Для построения матрицы сетевого оператора первоначально строим матрицу смежности графа сетевого оператора.
Рис. 1. Граф сетевого оператора математического выражения
Матрица смежности графа сетевого оператора, приведенного на рис. 2, имеет следующий вид:
"0 0 0 1 1 0 0 0" 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
А =
0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 00000000 Каждая единица матрицы смежности а j = 1 соответствует дуге графа (/, j).
Для построения графа сетевого оператора заменим единицы в матрице смежности на номера унарных операций, которые связаны с соответствующими дугами. На диагонали матрицы сетевого оператора в строках, соответствующих номерам узлов, укажем номера бинарных операций, которые связаны с данными узлами. В результате получаем матрицу сетевого оператора математического выражения (19)
[0 0 0 1 1 0 0 0] 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 (20) 00020040 0 0 0 0 1 2 0 0 0 0 0 0 0 1 3 0 00000024 00000002 Основной операцией в методе сетевого оператора является операция вычисления математического выражения по матрице сетевого оператора.
z (0) =•
При вычислении математического выражения по матрице сетевого оператора используем вектор узлов
2 = .■■ гь] Т •
Размерность вектора узлов Ь равна количеству строк матрицы сетевого оператора, или равна количеству узлов в графе сетевого оператора, или равна сумме количеств бинарных операций и количеству аргументов математического выражения или элементов во множествах переменных и параметров.
Пусть задана матрица сетевого оператора размерностью ЬхЬ:
Первоначально инициализируем вектор узлов = [г^ ... г}1 •' ]7. Если
номер элемента вектора узлов равен номеру узла-источника, то значение этого элемента приравниваем к значению переменной или параметра, которые связаны с данным узлом-источником. Остальные значения элементов вектора узлов приравниваем к значениям единичных элементов бинарных операций, которые связаны с узлами графа сетевого оператора, номера которых совпадают с номером элемента вектора узлов.
\а, если у.. = 0,1 - номер узла-источника с элементом а е У ^ Q, [у, если у,, ф 0, /2,^ (у ) =
Далее проходим все строки матрицы над диагональю сетевого оператора и, если встречаем ненулевой элемент, то изменяем значения элементов вектора узлов согласно соотношению
Г/ (/ (г(1А) (1—1), если у ф 0, 3 I г(1—Г) иначе,
где 1 = 1,...,Ь -1, 3 = 1 + 1,—,Ь•
Рассмотрим пример вычисления математического выражения по матрице сетевого оператора (20).
Инициализируем вектор узлов
г(0) = [х1 аЬ 10 0 1 1]Т •
Просматриваем матрицу сетевого оператора (20) по строкам, находим ненулевые недиагональные элементы и меняем компоненты вектора узлов согласно соотношению (21).
у14 = 1, 2(1) = хг • 1, у5 = 1, г™ = х + 0, г(1) = [х а Ь х х 0 1 1]Т;
у24 = 1, 2(2) = а • х , У28 = 1, г(2) = а • 1, 2(2) = [х а Ь ах1 х 0 1 а]Т; у35 = 1, 2(3) = Ь + х, 2(3) =[х а Ь ах1 Ь + х 0 1 а]Т; у47 = 4, 2(4) = 8т(ах ) • 1, г'-4' = [х а Ь ах Ь + х 0 sin(аx) а]Т; у 6 = 2, z(-5) = —(Ь + х) + 0, = [х а Ь ах Ь + х -(Ь + х) sin(ax1) а]Т ; у6, 7 = 3 , г® = е"(Ь+х) • sm(ax1), 2(6} = [х а Ь ах Ь + х —(Ь + х) е~(-Ь+х) • sin(ax) а]Т ; у 8 = 4, 27) = а • (Ь+х) • sin(ax1)), г(7) = [х а Ь ах Ь + х -(Ь + х) еЧ4+х) • sin(ax1) а • sin(eЧ4+x) • зт(ах ))]Т.
Значение последней компоненты вектора узлов, соответствующей узлу-стоку графа сетевого оператора, содержит результат вычисления математического выражения. Остальные компоненты вектора узлов содержат результаты промежуточных вычислений. Одна матрица сетевого оператора позволяет описывать несколько математических выражений. Для этого достаточно указать в качестве выходов несколько компонент вектора узлов.
4. Генетический алгоритм. Для поиска математического выражения в форме матрицы сетевого оператора используем вариационный генетический алгоритм многокритериальной оптимизации, использующий принцип малых вариаций базисного решения. Суть принципа малых вариаций базисного решения состоит в том, что исследователь задает базисное решение в форме кода, в данном случае в форме матрицы сетевого оператора, определяет возможные малые вариации кода и количество этих вариаций. Генетический алгоритм ищет оптимальное решение на множестве малых вариаций базисного решения. В процессе поиска базисное решение заменяем на наилучшее найденное к этому моменту решение.
Данный подход позволяет сократить область поиска и для сложных задач использовать опыт и интуицию исследователя для определения направления поиска при выборе базисного решения.
Определим малые вариации матрицы сетевого оператора: 0 - замена унарной операции; 1 - добавление унарной операции; 2 - замена бинарной операции; 3 - удаление унарной операции, если в данной строке и в данном столбце имеются еще унарные операции.
Для описания малых вариаций используем вектор вариаций
м = [м м М w4]Т, (22)
где м - номер малой вариации; м2 - номер строки матрицы сетевого оператора; М - номер столбца матрицы сетевого оператора; - номер унарной или бинарной операции.
Для заданного вектора вариаций (22) выполнение вариаций матрицы сетевого оператора 'I' = ||// ( | • /./ = 1...../.. осуществляется по правилам:
м = о, м < м3, если м * 0, то , = м;
М = 1 , м2 < мз , , = М ;
= 2 > М2 = М > , = м4 ;
Мз +1
м1 = 3, м2 < м3, если V м,„ ы и
Е^) > 1 и Е ,]) > 1,
'=1 ]=М>2 + 1
Г1, если а> 0, то ^ № = 0, где 3(а) = <{ .
2,3 [0 - иначе.
Приведем пример малой вариации матрицы сетевого оператора (20). Пусть
задан вектор вариаций м = [1 6 8 2]Т. Получаем 68 = 2 или
"0 0 0 1 1 0 0 0" 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0
00020040 0 0 0 0 1 2 0 0 0 0 0 0 0 1 3 2 00000024 00000002
ь
Полученная в результате малой вариации новая матрица сетевого оператора соответствует математическому выражению
у = a(b + х^т(е-(Ь+х) sin(axl)). Для определения нового возможного решения задаем матрицу сетевого оператора базисного математического выражения и упорядоченное множество
случайно сгенерированных векторов вариаций
ЛЫ = (М>\...,М>1), (23)
где l - заданная длина или глубина вариации, которая определяет размер области поиска в окрестности базисного решения.
Каждое новое решение определяется набором вариаций базисного решения
Ч' = ,№°4'0 =м/о...ои/оЧ>0. (24)
Для увеличения вариабельности множества математических выражений вместе с множеством векторов вариаций ищем оптимальные значения вектора параметров q = 4 ... ^ ]Т, которые вместе с вектором переменных х = [х ... х^ ]T являются
аргументами математического выражения.
Для поиска оптимальных значений параметров используем генетический алгоритм и ищем значения параметров на множестве их кодов Грея
т
g = [gl . gR(c+d)] , (25)
где ^ е {0,1}, 1 = 1,..., R(c + d); R - количество параметров; е - количество бит для целой части числа; d - количество бит для дробной части числа.
Преобразование из кода Грея в вещественное значение компонент вектора параметров выполняем по формулам:
е+d
Чк+1 =Е 2е"Ч-+к(е+' к = 0,.,R -1 (26)
1=1
где
Ь1+к(е+d ) = к(е+d ) ' к = ^. - ^ Л " 1' Ь]+к(е+d) = £1+к(е+d)+] ® Ь]+k(c+d)-1' ] = 2,.,е + d' к = 0,.,R " 1'
а® р = (а Ар) V (алр). Множество возможных решений в генетическом алгоритме представляет собой множество пар из упорядоченных множеств векторов вариаций и кода Грея вектора параметров
Б = №,^): 1 = 1,.,Н}. (27)
Для получения возможного решения , Ч) из его кода g1) используем вариации базисного решения «р. = \У(-' 1'0 = ил/ о.. и-'' Ч'0 и преобразование (26) из кода Грея в вектор параметров g' ^ ч1, 1 < 1 < Н.
Операции генетического алгоритма выполняем на кодах возможного решения. Отбираем два возможных решения g1), §])' 1 < ] < Н. При
скрещивании получаем четыре новых возможных решения (Мн+ъ gH+1)' (^^н+2,£Н+2). (Wн+з,ЯН+3), (^^н+4,ЯН+4):
wн+1 = (Ц,...,™г,™3г+х,...,wJl )
ёН+1=[ё[ ■■■ё'р 4+1 ••• ё^с+С)}1 ' ё — [,?1 ••• ёр ёр+1 ••• ёк(с+с1)\ '
Ш = ш,
УУД +3 УУ1 '
8 ~ [^1 ••• ёр ёР+1 ••• &г(с+<г)] '
Я — ■■• ёр ёр+1 •■■ &г(с+<г)] '
где г и р - случайно выбранные точки скрещивания, 1 < г < 1, 1 < р < щс + •
Для оценки каждого возможного решения (Г. , д), 1 < / < Н используем ранг Парето. Для этой цели вычисляем значения функционалов Зх (Г., д'), (Г., д') и определяем, сколько возможных решений во множестве лучше в
смысле отношения Парето, лучше чем оцениваемое решение
н
Л' ('), (28)
1=1
где
к (.)=|1, если Jk (Г', 4) < Jk (Г.., 4), k = 1,2 и Зг е {1,2} Jt (Г., 4) < Jt (Г.., 4),. 1 [0 - иначе.
Значение ранга Парето определяет вероятность выполнения операции скрещивания возможных и построение множества Парето при завершении поиска. Вероятность скрещивания р^ двух возможных решений (Г.,д), (Г ,ц-1),
1 <', 1 < Н определяем из соотношения
[1+ УЛ ! + гЛ 1 ] , (29)
р.. = тах < ,
',7 1 1 + Л,. 1+ Л.
где у - заданная положительная величина, которая определяет минимальное значение вероятности скрещивания, 0 < у < 1, у < р < 1 •
Множество Парето является подмножеством множества возможных решений (27) Р с 8 с элементами, имеющими нулевой ранг Парето:
Р = (30)
где ,£>) Л =0, ] = \,...,К■
Генетический алгоритм поиска оптимального решения включает следующие этапы:
1) генерация кодов возможных решений, упорядоченных множеств векторов вариаций и бинарных кодов векторов параметров;
2) вычисление значений функционалов для всех элементов множества возможных решений;
3) вычисление рангов Парето для всех элементов множества возможных решений;
4) отбор пар возможных решений для скрещивания и определение вероятности их скрещивания;
5) выполнение операции скрещивания, получение четырех новых возможных решения и вычисление их рангов Парето;
6) выполнение операции мутации для новых возможных решений, если она предусмотрена алгоритмом;
7) исключения четырех наихудших возможных решения по наибольшим значениям ранга Парето;
8) отбор возможных решения для множества Парето по нулевым значениям рангов.
5. Вычислительный эксперимент. В качестве примера рассмотрим задачу синтеза системы управления парковкой двух мобильных роботов. Перед каждым роботом стоит задача припарковаться в указанном месте, не столкнувшись во время осуществления маневров с другим роботом.
Математическая модель объектов управления имеет вид [30]:
=ИиСО8(0г),
-
где X , У - координаты центра масс; в - угол, образуемый вектором скорости; Д - общий геометрический параметр робота 1, 1 = 1, 2.
Заданы начальные условия
Хг0={[хои уол. 7=1,2.
Заданы терминальные условия
х- ($ ) = х{, У (-) = у- , в, (4 ) — в/ .
Заданы ограничения на управления
К < и1,1 < и1+1 , и2,1 < и2,1 < и2+,1 .
Критерием качества управления являлось суммарное время попадания в терминальные условия с учетом штрафов за столкновения и точности попадания по всем начальным значениям.
Следующие параметры были заданы при проведении вычислительных экспериментов: параметр размера робота Д = Д = 4; первое начальное положение
{(-4,4,0), (-4,2,0)}; второе начальное положение |(4,4,0), (4,2,0)}; терминальные условия х{ = 0, у- = 0, в- = 0, х- = 5, у- = 0, в{ = 0; ограничения на управление:
и— — 5, и+ — 5, и -у — 1, и — 1, и^ 2 — 5, и+ — 5, и — ^ — 1, и +2 — 1.
Для генетического алгоритма были заданы следующие значения параметров: начальная популяция 1024, число поколений 128, число скрещиваемых пар в одном поколении 128, число векторов вариаций для одного решения 12, число поколений между сменой базисного решения 24, вероятность мутации 0,7, размерность матрицы сетевого оператора 32 х 32.
Для выбора базисного решения можно использовать метод аналитического конструирования агрегированных регуляторов (АКАР) [28, 29] с терминальными условиями в качестве притягивающих многообразий. В данном примере из-за относительной несложности задачи базисные решения выбираем в виде пропорциональных регуляторов по отклонениям от терминальных условий:
"/,1 = ЧА + + Ъ5ъ , / = 1,2
и1Л = цх8х + д-Д + д6А6 - ./ = 1,2. где <у,-=1. / = 1,...,6. <5^ <52=>'/->'1, А, = - (9,.
А5 = у2 " У2, А6 — ^ ~&2 •
В результате поиска алгоритм выдал следующее решение:
Ад — "" ,
и. . —
и. ., если и. . <и .
'.у' '.у '.у
г/. ., если и. . > и. .
'.у' '.у '.у
и,,. -иначе,
г, / = 1, 2,
где
г71! = С(1 - е с") + тах{£), соз(А) ,1} + А3 + + ) + с/Л (1 - ) + 1п | д5 |,
= "и ~"и + ) + /"(пип{£,д32^Г• </Л з^О/Д з§п(А4)), С — sgn(min{.D3, ч А }) 1п(! тт{ Д3, ч3 А } I +1) + + sgn(A)e~|A| + sgn(qзАз)ln(| дА3 I +1) , Б — max{arctan(min{q32А32, д6А sgn(qА sgn(А))}),
1
, ЧА2, е№|,1}:
1 + е
-чбАб sgn(q5 А5 sgn( А4))
А — sgn(ЧзАз)e 1 ч + Ч5А5 + чАе3 + sgn(B),
Га, если | а |< 1 „2 2
М(а) — <! , В — тах{^(1-е^ ),ч5(1-е~ч5),ч2А2} ,
[sgn(a), - иначе
Е = min{Б3, А } - ^{Б3, ч3 А })3, ' — тах{А, ч3 (1 - е~ч)},
Ч —10,666, ч — 4,31445, ч3 —14,716, ч —14,541, ч —1,19434, ч —15,335 . На рис. 2 и 3 представлены траектории движения роботов из разных начальных положений при регулировании движения блоком управления, описываемым синтезированной функцией.
Рис. 2. Траектория движения роботов Рис. 3. Траектория движения роботов
из 1-го начального положения
из 2-го начального положения
Как видно из результатов моделирования полученной системы управления, пара мобильных роботов перемещается из двух различных начальных значений в терминальное состояние, не нарушая ограничений. Из рис. 2 видно, что система управления,
2.2
реализованная в виде полученной в результате синтеза функции, первоначально перемещает объект из первого начального состояния во второе, а затем осуществляет перемещение объектов в терминальное состояния так же, как это выполняется при втором начальном состоянии. Такое неочевидное управление объектами вызвано наличием динамических фазовых ограничений, которые оказали существенное влияние на итоговый вид функции управления из-за пересечения траекторий движения при перемещении объектов из первого начального состояния в терминальное.
Заключение. Показан численный подход к решению задачи синтеза управления, который позволяет находить управление как функцию координат состояния объекта. Полученная при синтезе функция управления обеспечивает достижение цели управления с оптимальным значением критерия качества для различных начальных состояний. Применение рассматриваемого подхода, в частности метода сетевого оператора, позволяет автоматизировать технологию создания системы автоматического управления. Основное решение по созданию регулятора или блока управления выполняет компьютер. Работа инженера состоит в подготовке исходных данных.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Parker L. Alliance: An architecture for fault-tolerant multi-robot cooperation // Transactions on Robotics and Automation. - 1998. - No. 14 (2). - P. 220-240.
2. Arkin R., Balch T. Cooperative multiagent robotic systems // In D. Kortenkamp, R.P. Bonasso, and R. Murphy editors, Artificial Intelligence and Mobile Robots: Case Studies of Successful Robot Systems. - MIT/AAAI Press, Cambridge, MA, 1998. - P. 277-296.
3. Arkin R., Balch T., Nitz E. Communication of behavioral state in multi-agent retrieval tasks // In IEEE International Conference on Robotics and Automation, Los Alamitos, CA, May 1993.
- P. 588-594.
4. Matari_c M. Designing and understanding adaptive group behavior // Adaptive Behavior.
- 1995. - No. 4. - P. 51-80.
5. Matari_c M. Issues and approaches in the design of collective autonomous agents // Robotics and Autonomous Systems. - 1995. - No. 16 (2-4). - P. 321-331.
6. Goldberg D., Matari_c M. Interference as a tool for designing and evaluating multi-robot controllers // In National Conference on Artificial Intelligence, Providence, Rhode Island, Jul. 1997. - P. 637-642.
7. Lerman K., Martinoli A., Galstyan A. A review of probabilistic macroscopic models for swarm robotic systems // In Proceedings of the International Conference on the Simulation of Adaptive Behavior, Los Angeles, CA, Aug 2004. - P. 143-152.
8. Rimon E., Koditschek D. Exact robot navigation using artificial potential functions // IEEE Trans. Robotics and Automation. - October 1992. - Vol. 8, No. 5.
9. Conner D., Rizzi A., Choset H. Composition of local potential functions for global robot control and navigation // In Proc. IEEE Int. Conf. Intelligent Robots and Systems, Las Vegas, Nevada, October 2003.
10. Gennaro M. C. D., Jadbabaie A. Formation control for a cooperative multi-agent system using decentralized navigation functions // In Proceedings of the American Control Conference, Minneapolis, Minnesota, June 2006.
11. Conner D., Choset H., Rizzi A. Provably correct navigation and control for non-holonomic convex-bodied systems operating in cluttered environments // In Robotics: Science and Systems. Philadelphia, Pennsylvania: MIT Press, August 2006.
12. Habets L., J. van Schuppen A control problem for affine dynamical systems on a full-dimensional polytope // Automatica. - January 2004. - Vol. 40, No. 1.
13. Roszak B., Broucke M. E. Necessary and sufficient conditions for reachability on a simplex // Automatica. - November 2006. - Vol. 42, No. 11.
14. Lindemann S., Lavalle S. Computing smooth feedback plans over cylindrical algebraic decompositions // In Robotics: Science and Systems. Philadelphia, Pennsylvania: MIT Press, August 2006.
15. Loizou S.G., Kyriakopoulos K.J. Closed loop navigation for multiple holonomic vehicles // In Intl. Conf. on Robotics and Automation, Lausanne, Switzerland, October 2002.
16. Tanner H., Loizou S., Kyriakopoulos K. Nonholonomic navigation and control of cooperating mobile manipulators // IEEE Trans. Robotics and Automation. - February 2003. - Vol. 19, No. 1.
17. Loizou S.G., Kyriakopoulos K.J. Closed loop navigation for multiple holonomic vehicles // In Intl. Conf. on Robotics and Automation, Lausanne, Switzerland, October 2002.
18. Loizou S. G., Kyriakopoulos K.J. A feedback-based multiagent navigation framework // International Journal of Systems Science. - 2006. - Vol. 37, No. 6.
19. Lindemann S.R., LaValle S.M. Smoothly blending vector fields for global robot navigation // In IEEE Conference on Decision and Control, Seville, Spain, 2005.
20. Lindemann S.R., Hussein I.I., LaValle S.M. Real time feedback control for nonholonomic mobile robots with obstacles // In IEEE Conference on Decision and Control, 2006.
21. Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge, Massachusetts, London, MA: MIT Press, 1992. - 819 p.
22. O'NeillM., Ryan C. Grammatical Evolution. Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers. 2002.
23. Zelinka I. Analytic programming by Means of Soma Algorithm // In Proceedings of 8th International Conference on Soft Computing Mendel02, Brno, Czech Republic, 2002. - P. 93-101.
24. Diveev A.I. A Numerical Method for Network Operator for Synthesis of a Control System with Uncertain Initial Values // Journal of Computer and Systems Sciences International. - 2012.
- Vol. 51, No. 2. - P. 228-243.
25. ДивеевА.И. Метод сетевого оператора. - М.: ВЦ РАН, 2010. - 178 с.
26. Лебедев Б.К., Лебедев В.Б., Лебедев О.Б. Решение задачи символьной регрессии методами генетического поиска // Известия ЮФУ. Технические науки. - 2015. - № 2 (163).
- С. 212-224.
27. Дивеев А. И., Шмалько Е. Метод символьной регрессии на основе сетевого оператора в задаче синтеза управления // Современные проблемы науки и образования. - 2013.
- № 3. - С. 76.
28. Колесников А.А. Синергетические методы управления сложными системами: Теория системного синтеза. - М.: КомКнига, 2006. - 240 с.
29. Колесников А.А. Метод синергетического синтеза системы управления колебаниями «перевернутого маятника на подвижной тележке // Известия ЮФУ. Технические науки.
- 2011. - № 6 (119). - С.110-117.
30. Oyama K., Nonaka K. Model Predictive Parking Control for Nonholonomic Vehicles using Time-State Control Form // In Proceedings of 2013 ECC European Control Conference, Zurich, Switzerland, 2013. - P. 458-465.
REFERENCES
1. Parker L. Alliance: An architecture for fault-tolerant multi-robot cooperation, Transactions on Robotics and Automation, 1998, No. 14 (2), pp. 220-240.
2. Arkin R., Balch T. Cooperative multiagent robotic systems, In D. Kortenkamp, R.P. Bonasso, and R. Murphy editors, Artificial Intelligence and Mobile Robots: Case Studies of Successful Robot Systems. MIT/AAAI Press, Cambridge, MA, 1998, pp. 277-296.
3. Arkin R., Balch T., Nitz E. Communication of behavioral state in multi-agent retrieval tasks, In IEEE International Conference on Robotics and Automation, Los Alamitos, CA, May 1993, pp. 588-594.
4. Matari_c M. Designing and understanding adaptive group behavior, Adaptive Behavior, 1995, No. 4, pp. 51-80.
5. Matari_c M. Issues and approaches in the design of collective autonomous agents, Robotics and Autonomous Systems, 1995, No. 16 (2-4), pp. 321-331.
6. Goldberg D., Matari_c M. Interference as a tool for designing and evaluating multi-robot controllers, In National Conference on Artificial Intelligence, Providence, Rhode Island, Jul 1997, pp. 637-642.
7. Lerman K., Martinoli A., Galstyan A. A review of probabilistic macroscopic models for swarm robotic systems, In Proceedings of the International Conference on the Simulation of Adaptive Behavior, Los Angeles, CA, Aug 2004, pp. 143-152.
8. Rimon E., Koditschek D. Exact robot navigation using artificial potential functions, IEEE Trans. Robotics and Automation, October 1992, Vol. 8, No. 5.
9. Conner D., Rizzi A., Choset H. Composition of local potential functions for global robot control and navigation, In Proc. IEEE Int. Conf. Intelligent Robots and Systems, Las Vegas, Nevada, October 2003.
10. Gennaro M. C. D., Jadbabaie A. Formation control for a cooperative multi-agent system using decentralized navigation functions, In Proceedings of the American Control Conference, Minneapolis, Minnesota, June 2006.
11. Conner D., Choset H., Rizzi A. Provably correct navigation and control for non-holonomic convex-bodied systems operating in cluttered environments, In Robotics: Science and Systems. Philadelphia, Pennsylvania: MIT Press, August 2006.
12. Habets L., J. van Schuppen A control problem for affine dynamical systems on a full-dimensional polytope, Automatica, January 2004, Vol. 40, No. 1.
13. Roszak B., Broucke M. E. Necessary and sufficient conditions for reachability on a simplex, Automatica, November 2006, Vol. 42, No. 11.
14. Lindemann S., Lavalle S. Computing smooth feedback plans over cylindrical algebraic decompositions, In Robotics: Science and Systems. Philadelphia, Pennsylvania: MIT Press, August 2006.
15. Loizou S.G., Kyriakopoulos K.J. Closed loop navigation for multiple holonomic vehicles, In Intl. Conf. on Robotics and Automation, Lausanne, Switzerland, October 2002.
16. Tanner H., Loizou S., Kyriakopoulos K. Nonholonomic navigation and control of cooperating mobile manipulators, IEEE Trans. Robotics and Automation, February 2003, Vol. 19, No. 1.
17. Loizou S.G., Kyriakopoulos K.J. Closed loop navigation for multiple holonomic vehicles, In Intl. Conf. on Robotics and Automation, Lausanne, Switzerland, October 2002.
18. Loizou S.G., Kyriakopoulos K. J. A feedback-based multiagent navigation framework, International Journal of Systems Science, 2006, Vol. 37, No. 6.
19. Lindemann S.R., LaValle S.M. Smoothly blending vector fields for global robot navigation, In IEEE Conference on Decision and Control, Seville, Spain, 2005.
20. Lindemann S.R., Hussein I.I., LaValle S.M. Real time feedback control for nonholonomic mobile robots with obstacles, In IEEE Conference on Decision and Control, 2006.
21. Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge, Massachusetts, London, MA: MIT Press, 1992, 819 p.
22. O'NeillM., Ryan C. Grammatical Evolution. Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers. 2002.
23. Zelinka I. Analytic programming by Means of Soma Algorithm, In Proceedings of 8th International Conference on Soft Computing Mendel02, Brno, Czech Republic, 2002, pp. 93-101.
24. Diveev A.I. A Numerical Method for Network Operator for Synthesis of a Control System with Uncertain Initial Values, Journal of Computer and Systems Sciences International, 2012, Vol. 51, No. 2, pp. 228-243.
25. Diveev A.I. Metod setevogo operatora [Method for network operator]. Moscow: VTs RAN, 2010, 178 p.
26. Lebedev B.K., Lebedev V.B., Lebedev O.B. Reshenie zadachi simvol'noy regressii metodami geneticheskogo poiska [The solution of the symbolic regression problem by genetic search methods], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2015, No. 2 (163), pp. 212-224.
27. Diveev A. I., Shmal'ko E. Metod simvol'noy regressii na osnove setevogo operatora v zadache sinteza upravleniya [The method of symbolic regression-based network operator in the problem of control synthesis], Sovremennye problemy nauki i obrazovaniya [Modern Problems of Science and Education], 2013, No. 3, pp. 76.
28. Kolesnikov A.A. Sinergeticheskie metody upravleniya slozhnymi sistemami: Teoriya sistemnogo sinteza [Synergetic control methods of complex systems: Theory of system synthesis]. Moscow: KomKniga, 2006, 240 p.
29. Kolesnikov A.A. Metod sinergeticheskogo sinteza sistemy upravleniya kolebaniyami «perevernutogo mayatnika na podvizhnoy telezhke» [Method of synergetics synthesis of "inverted pendulum on mobile cart" oscillation control system], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2011, No. 6 (119), pp. 110-117.
30. Oyama K., Nonaka K. Model Predictive Parking Control for Nonholonomic Vehicles using Time-State Control Form, In Proceedings of 2013 ECC European Control Conference, Zurich, Switzerland, 2013, pp. 458-465.
Статью рекомендовал к опубликованию д.т.н., профессор Е.В. Никульчев.
Дивеев Асхат Ибрагимович - Федеральный исследовательский центр «Информатика и управление» РАН; e-mail: [email protected]; 119333, Москва, ул. Вавилова, 40; д.т.н.; профессор; зав. cектором проблем кибернетики.
Шмалько Елизавета Юрьевна - e-mail: [email protected]; к.т.н.; научный сотрудник.
Diveev Askhat Ibragimovich - Federal research center «Computer science and control» of RAS; e-mail: [email protected]; 40, Vavilova street, Moscow, 119333, Russia; dr. of eng. sc.; professor; head of the department of cybernetics problems.
Shmalko Elizaveta Yurievna - e-mail: [email protected]; cand. of eng. sc.; researcher.
УДК 004.75
В.С. Заборовский, В.А. Мулюха, А.А. Лукашин, А.С. Ильяшенко
УПРАВЛЕНИЕ ГРУППИРОВКАМИ КИБЕРФИЗИЧЕСКИХ ОБЪЕКТОВ В СРЕДЕ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ*
Целью работы является создание платформы управления группировками роботов, основанной на комбинации принципов функционирования мультиагентных систем (автономность, ограниченность представления, децентрализация) с возможностями сервисов, предоставляемых технологиями облачных вычислений. Группировка роботов представляется с использованием алгебраического подхода в виде носителя конечного множества операций и сигнатур. Приведена схема контура управления киберфизическими объектами с использованием обзорной видеокамеры, используемого для решения задачи позиционирования. Для определения ориентации роботов в пространстве используется подход на основе специализированных маркеров, описание которых также приводится в работе. Рассмотрен подход к организации процесса движения и разрешения конфликтных ситуаций для группировки роботов с использованием дискретных алгоритмов теории графов в комбинации с использованием виртуальных непрерывных «силовых полей», создающих динамические ограничения для траекторий перемещения роботов, как в группе, так и на карте в целом. В работе детально описан процесс расчета величин "силовых полей" и процесс расчета траектории передвижения киберфизических объектов. Построена и приведена многоуровневая архитектура облачной платформы управления группировками киберфизических объектов на базе системы "Пилигрим". В основе разрабатываемой платформы лежит актор-ный подход. Вводится понятие "аватара" как актора, функционирующего в системе и предоставляющего интерфейс для взаимодействия с соответствующим ему киберфизиче-ским объектом. Для организации информационного взаимодействия с элементами группировки киберфизических объектов предлагается использовать модель очереди сообщений Publisher/Subscriber, позволяющую организовать гарантированную доставку сообщений с возможностью киберфизических объектов "подписываться" на сообщения. Разработан-
*
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта «15-29-07131 офи_м».