Научная статья на тему 'Эволюционные методы вычислений для синтеза управления группой роботов и поиска оптимальных траекторий их движения'

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

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

Аннотация научной статьи по математике, автор научной работы — Дивеев А.И., Шмалько Е.Ю.

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

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

Похожие темы научных работ по математике , автор научной работы — Дивеев А.И., Шмалько Е.Ю.

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

Evolutionary computation methods for synthesis of control of group of robots and search of optimum trajectories of their movement

Problems of control of group of robots consists in considering of dynamic restrictions which arise because of the requirement of avoiding of collisions of robots among themselves. For the solution of a problem of optimum control of group of robots we use a two-stage method of synthesis. At the first stage we solve a problem of stabilization of each robot for any point of state space. The system of stabilization will be identical for homogeneous robots. At the second stage we find coordinates of points of state space for the stabilization of each robot. At search of points of stabilization, we consider conditions of collisions of robots among themselves and violation of other phase restrictions. For the solution of a problem of stabilization we use one of methods of symbolical regression, a method of binary variational genetic programming. The method allows to find the coded mathematical expression for function of control by the evolutionary genetic algorithm. At the second stage by search of points of stabilization of optimum trajectories we use evolutionary computation methods and gradient algorithms of nonlinear programming. The example of the solution of a problem of synthesis of control of group for three mobile robots is given. For search of points of state space, we use a genetic algorithm, a particle swarm optimization method, bee algorithm, and algorithm of the fastest gradient descent.

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

Cloud of Science. 2017. T. 4. № 3 http:/ / cloudofscience.ru

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

А. И. Дивеев***, Е. Ю. Шмалько*

*Федеральный исследовательский центр «Информатика и управление» Российской академии наук 119333, Москва, ул. Вавилова, 44

**Российский университет дружбы народов 117198, Москва, ул. Миклухо-Маклая, 6

e-mail: aidiveev@mail.ru, e.shmalko@gmail.com

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

1 Работа выполнена при поддержке гранта РФФИ № 16-29-04224-офи_м.

1. Введение

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

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

2. Задача оптимального управления группой роботов

Рассмотрим задачу оптимального управления группой роботов. Заданы модели объектов управления

х''=Г/(х/,и/), (1)

где х' е Я"": х] = [х/ ... х'п ]Т — вектор состояния робота _/'; и ' е и ] с 1*'"'. и' = [«,'... и^ ]' — вектор управления робота /; и. — компактное множество;

7 = 1, ..., А^; А^ — количество роботов. Заданы начальные условия

X «>) х ../ 1.....-V. (2)

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

Ч>{(Х] (!;))= О, к= 1, ..../,/..- //, (3)

1 _ Г?, если ? < ?+ и = 0, к = 1,] =

1 [?+, если ? = ?+;

I — заданное предельное время процесса управления. Заданы статические фазовые ограничения

аДх'(0)<0,А- = 1,...,г (5)

Для определения динамических фазовых ограничений введем во множестве номеров роботов I = {1, 2,.... Щ множество пар

V = «А, Л), (¿2, Л )> • • • > К>и))> (6)

где ц, ]ке1,цФ]к.

Тогда динамические фазовые ограничения, определяющие условия сближения пар объектов, заданы как

РДх" (0, хА (0) <0, А- = 1,..., УУ, г = 1,... Я, (7)

где — число сочетаний из N по 2, У/ = ЛМ/(2!(ЛГ-2)!) = N{N-1)12.

Динамические фазовые ограничения (7) обладают свойством векторной коммутативности РДх'' (0, хЛ (0) = Р,.(хЛ (0, х'' (0). Задан функционал качества

/ = Г /.(х1,..., х", и1,..., и")<й ->0. (8)

0

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

На первом этапе решаем задачу стабилизации

(9)

где х7 — точка пространства состояний . При решении задачи используем один из методов символьной регрессии [1].

На втором этапе находим множество точек пространства состояний и параметры их переключения:

Найденные точки (9) являются точками стабилизации роботов:

и/ =ё'(х'>-х')5 (П)

где индекс р увеличивает свое значение на единицу при достижении данной точки стабилизации:

+ (12)

[\, если А > О,

где^(А)= '

[0 -иначе.

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

] = / + (ах}\ + юЖ. (13)

(14)

О *=1 ]=1 '/ 5 V/

=/ЕЕ^Р дхл(о,хл(ом. (15)

о А-=1 и>=1

Для решения задачи синтеза управления (9), нахождения многомерной нелинейной функции и'=g'(x'— х'), которая обеспечивает устойчивость системы дифференциальных уравнений

х/=Г/(х'^/(х/-х/)). (16)

Относительно точки пространства состояний х' е Я используем один из методов символьной регрессии — метод вариационного полного бинарного генетического программирования

3. Метод вариационного полного бинарного генетического программирования

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

- множество аргументов математического выражения

Ро =(<51, (17)

- множество функций с одним аргументом

=(/и(г) = г, /12(г),..., (18)

- множество функций с двумя аргументами

р2 = (Лл , г2), ..., /23 , г2)); (19)

- множество единичных элементов для функций с двумя аргументами

Е2=(е1,...,ем). (20)

Множество функций с одним аргументом должно содержать тождественную функцию

/и(г)=г. (21)

Каждая функция с двумя аргументами из базового множества (19) должна иметь единичный элемент из множества (20), \//2; , ,т2) е К, Зе/ е Е2

Д,-{е],12) = 12, /21 = (22)

/ ■ !1.....V!../, ¡1.....М!.

Для создания кода бинарного генетического программирования объединим в одном упорядоченном множестве множество (17) аргументов математического выражения и множество (20) единичных элементов для функций с двумя аргументами

^ ~ (А — Чм 1р ~ Чр1 /р+1 — /р+л< — (23)

/р+ЛГ+1 — /р+ЛГ+ 2 — •••' /р+ЛГ+Л/ — ^м )•

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

(24)

где Д еР1ДЩ,/ = 1,...,К

Ограничим наибольшую глубину вложения функций в композиции. Пусть наибольшая глубина равна Это означает, что имеем бинарное вычислительное дерево с уровнем Оно имеет 2' листьев. Запишем математическое выражение в форме полного бинарного вычислительного дерева (рис. 1).

На рис. 1 а — это номер элемента в упорядоченном множестве Б (17), Ь — это номер элемента из множества Е, (19), и — номер элемента из множества ^ (18).

Рисунок 1. Полное бинарное вычислительное дерево

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

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

С = , b1, М2,1, U2,2, Ь2,1, Ь2,2' ...' иЬ,\, иЬ,2' , ^.1' ^¿,2' ...' а Ь2ь ^ (25)

Рассмотрим пример. Пусть задано математическое выражение

у = е~чх С08(8т(х + д)).

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

Б = (/1,1 (г) = г, Д2 (г) = ег, /и (г) = - г, /1А (г) = сов( г), /и (г) = вт( г)), р2 = (/2,1(^ г2) = г + г2. /2,2(г1. г2) = г1.г2\

Б = (/1 = х, / = д. /3 = 0, / = 1).

Здесь 0 является единичным элементом для функции суммирования, а 1 является единичным элементом для функции произведения.

Запишем заданное математическое выражение в виде композиции функций из базовых множеств

У = /2,2 (Л,2 ( /1,3 (/2,2(Ч, х))Х ./1,4 (/1,5 (/2,1 СX, Ч)))).

Для рассматриваемого математического выражения имеем 3 уровня дерева или глубины вложения функций. На рис. 2 показано заполненное бинарное вычислительное дерево для заданного примера математического выражения.

Рисунок 2. Полное бинарное вычислительное дерево для математического выражения Код математического выражения имеет вид: С = (1,2, 2,4,1,1, 3,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,3,3,1,2,3,3).

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

Y = (У1,-, Узд).

Вычисляем математическое выражение с конца кода, получаем: У = (}),■■■, у]4, х, д, 0, 0, х, д, 0, 0, х, д, 0, 0, х, д, 0, 0), У = (у,..., у10, щ, 0 + 0, х+д, 0 + 0,...), ¥ = (.У1,..., у6,-щ, 0, яп(х+д), 0,...), У = (у, у2, е~щ, сов^тС*+<?)), -хд, 8т(х+д),...), У = (е~щ сов^тС*+ д)), е~щ сов^тС* + д)\ ...).

4. Вариационный генетический алгоритм

Для поиска оптимального решения используем вариационный генетический алгоритм. Данный алгоритм основан на использовании принципа малых вариаций базисного решения [2]. Определим малые вариации кода бинарного полного генетического программирования в виде целочисленного вектора с двумя компонентами

= ы2]Т, (26)

где м>г — позиция в коде; и\ — новое значение элемента в этой позиции. Пусть

С = (с1,..., ск) (27)

является кодом математического выражения для дерева с уровнем Ь. Тогда

К = 21+2-2, (28)

и мы получаем после вариации (26) новый код

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

Малая вариация (26) удовлетворяет следующим условиям:

и^е{1,...,2ь+2-2}, (30)

О,...,!^!},^ 2,-1<н'1<3-2,-1-25 и-! е {1,..., | Е, |}, Я 3 • 2м -1 < и-! < 3 • 2м -2, (31)

{1,| Р |>, ¡£3-2ь-1<н> < 3 • 2Ь+2 - 2,

где 1 = 1, ..., Ь.

Вариационный генетический алгоритм включает следующие этапы: 1. Задаем код базисного решения

С =(с° с") '-'о ' • к ''

2. Генерируем множество упорядоченных множеств векторов малых вариаций

где — упорядоченное множество векторов малых вариаций (26)

Щ

=[и{ ' Ц '], / = 1,..., Н, у' = 1,...,/ I — число малых вариаций.

3. Выполняем операции скрещивания и мутации на множествах векторов малых вариаций. Отбираем два множества векторов вариаций ^ = (\у'д, ..., и \\\ (\у .....

), случайно определяем точку к е {1,..., /} и обмениваем «хвосты» отобранных множеств:

й; (» .....» .м-.....

(« Г.....М - ..... ).

4. Определяем случайно точку мутации ц, е {1,..., /} и генерируем новый вектор вариаций в точке мутации ц \у''и =[и'1' ц ну" |' для первого и второго кодов новых возможных решений.

5. Эволюционные алгоритмы

Для решения задачи параметрического оптимального управления, поиска точек пространства состояний = (хл1, хл2,..., , еД _/ = 1,..., Ы, используем эволюционные алгоритмы, которые работают существенно лучше градиентных методов для не унимодальной целевой функции. Приведем описание некоторых популярных эволюционных алгоритмов, наиболее пригодных для решения задачи параметрического оптимального управления. Все эволюционные алгоритмы используют множество возможных решений с заданным количеством Н элементов, в котором выполняют эволюции возможных решений на каждой итерации заданное количество ТУ раз. Решением задачи считают наилучшее возможное решение по значению целевой функции в итоговом множестве.

5.1. Генетический алгоритм

Генетический алгоритм разработан в 80-х гг. прошлого столетия [3].

В генетическом алгоритме каждая компонента вектора параметров с) = |с/, ... с/;) |7 кодируется двоичным кодом Грея. Для кодирования используем С бит под целую часть числа и И бит под дробную часть числа. Всего код одного

вектора из р параметров содержит р(С + /)) бит. В результате код каждой компоненты вектора параметров определяет положительное число g¡, г = 1,..., р в диапазоне от 0 до 2е.

В алгоритме первоначально генерируем случайно Я двоичных кодов из р{С + О) бит. Сгенерированные коды представляют собой коды Грея

§ = 5Я}, (32)

где =(*;',..., *;(С+Д1), е{0,1}, / = 1,..., Я, ; = 1,..., р(С + И).

Далее вычисляем значения функционалов для каждого кода возможного решения. Для этой цели первоначально переводим код Грея каждого возможного решения 5,. = (,$1, ..., ^р(С+В)) в двоичный код ={Ь[,..., Ь'р(С+0)) по формуле

Г/, если (/ -1) шос1(С + £>) = О,

' ] = \...,р{С + П). (33)

I © Sj_l - иначе,

Далее двоичный код переводим в десятичный для каждых (С + О) бит

с+о

^ = =!,...,/>. (34)

/=1

Вычисляем значения вектора параметров q' = [с/\ ... с/^]' возможного решения г по формуле

4к=81М -^)/2С +ч;,к = 1, р. (35)

Формируем множество оценок целевых функций

р = {/1=Лч1),...,/я=Лчя)}. (36)

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

=(С *;{С+В]), = (43,..., <С+Д1), а, ре {1,..., Я}. (37)

Вычисляем вероятность скрещивания по формуле

Рс= тах(^4, (38)

где /" =ппп{/15..., /„}.

Генерируем случайное число 1] и если Ъ><Рс, то выполняем скрещи-

вание. Случайно определяем точку скрещивания <т е {1,.... р(С + £>)} и обмениваем части кодов отобранных возможных решений после точки скрещивания. В результате получаем два новых кода возможных решений:

(я1 , •••, , •••, (С+о))' (39)

2 _ , •••, , •••, Яр(С+О))• (40)

Выполняем операцию мутации с заданной величиной вероятности Р^ Для кода нового возможного решения 8н+1 находим случайно точку мутации р е {1,..., р(С + О)} и меняем случайно компоненту е {0,1} То же повторяем

для второго нового возможного решения 8н

Оцениваем новые возможные решения по значению минимизируемого функционала: /н+1 = ](ян+1), /н+2 = ](ян+2)

Если оценка нового возможного решения лучше наихудшей оценки во множестве возможных решений, то наихудшее решение заменяем на новое возможное решение:

^ §н+1., ^ /н+1-, если I. > /н+1-, (41)

где тах = тах{/1, •••, /н}, 1 = 1, 2^

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

5.2. Метод роя частиц

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

Эволюция множества возможных решений выполняется с учетом наилучших найденных к этому моменту возможных решений во всем множестве и в некотором подмножестве, которое называется подмножеством информаторов.

На подготовительном этапе задаем мощность н множества возможных решений, количество N случайно выбранных возможных решений, называемых в алгоритме информаторами, максимальное число итераций Ш •

Генерируем случайно начальное множество векторов параметров

я; = Ч ••• чР]Т, ]=!,•••, н•

Задаем начальный вектор V' = [у/ ••• ур]Т направления изменения векторов параметров:

у] = 0,1 = !,•••,р, ] = !,•••, н• (42)

Эволюционный процесс поиска оптимального решения продолжаем до достижения максимального числа итераций XV = \¥. На каждой итерации производим вычисление вектора с)', доставляющего лучшее значение функционала:

/(Ч") = тт{/(Ч0:7 = 1 ,...,#}, (43)

]

„■'V

и вычисление опорного вектора qл, являющегося лучшим среди N случайно отобранных векторов-информаторов <\'г,..., я'" :

1(^) = тт{1(цк) :к=\,..., Ы}, (44)

к

где /,,..., Уд, — случайные целые числа в диапазоне от 1 до Я.

С учетом найденных лучшего я6 и опорного векторов строим новое значение вектора V' для каждого вектора параметров q' :

V/ <— ау/ + ^ + -?/), / = 1,..., А 7=1, ..., Я. (45)

где а, р, у — заданные параметры, значение которых подбирают в зависимости от решаемой задачи, е[0; Р] и е[0; у] — случайные величины.

Для каждого вектора параметров я' вычисляем новый вектор С|7 = |ц[ ... по формуле

с/, , если д/ + 8у/ < с/,

ц], если д/ + 8у/ > ц], (46)

+ 8у/ - иначе,

г = 1,..., р, ; = 1,..., Я, где 5 — заданный параметр, 5 « 1.

Если то ч'-^ч', 7 = 1,..., Я.

Завершаем вычисления при выполнении ТУ итераций. Решением считаем вектор с наилучшим значением целевой функции в итоговом множестве возможных решений.

5.3. Пчелиный алгоритм

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

В качестве параметров алгоритма задаем размер множества возможных решений Н максимальное число итераций W, количество N элитных возможных решений, N « 0.2Н, и количество Ь перспективных возможных решений, Ь ~ 0.5Н, количество М новых элитных векторов, М « Н и количество 5 новых отобранных векторов, 5 « 0.5Н.

Задаем начальные значения векторов радиусов областей поиска г1 = [г/ ... гер]Т

и г1 = г ... г;]Т, ге > 0, г; >0,ч=1,..., р.

Генерируем случайно начальную векторов параметров я1 = [д/ ... др]Т, 1 = 1,..., Н.

Далее на каждой итерации производим вычисление значений функционала для всех векторов 3(я1), 1 = 1,..., Н и производим сортировку векторов параметров по возрастанию значения целевой функции

3(я1) < 3(я2) < ... < 3(яН). (47)

Отбираем первые N элитных векторов я1, 1= 1,..., Н. Для каждого элитного вектора я1, 1 ^ Н строим набор из Е векторов £е = [ge1 ... gер]Т :

§,■ =

дЧ если д> + $Ч < д7,

д% если д>+ $е> д,+ , (48)

д1 + Ъ, 1 - иначе,

Ч = 1,..., р, 1 = 1,..., Е,

У 1 Г 1 П 11

где с,1 е [~г ; г ] — величина, случайно распределенная на интервале от -т-1 до г ; г1 — заданный вектор радиусов области поиска вокруг элитного вектора параметров; Е — число новых векторов £ в области элитного вектора я1.

Если какой-либо вектор £ доставляет значение функционала лучше чем вектор я1, то заменяем элитный вектор я1. Если 3 (в1) > 3 (я1), то

я1 ^ в1, 3(я1) ^ 3(в1), 1 = 1,..., Е. (49)

Векторы я1, 1 = N +1, ..., Ь называются отобранными.

Производим эволюцию параметров для каждого из отобранных векторов. Для каждого я1, 1 = N +1, ..., Ь строим набор из 5 векторов в" = [§1 ... §р]Т по формуле

8! =

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

сй, если с[\ + % < с]1 .

, если д3 + <;* > , ( -())

д. + ^ - иначе,

5=1, ..., 5,

где е \—г*; г. ] — случайно распределенная на интервале от -г. до г. величина;

г1 — заданный вектор радиусов области поиска вокруг отобранного вектора параметров.

Если какой-либо вектор доставляет значение функционала лучше, чем вектор с)'. то его помещаем в популяцию вместо вектора ц'. Если /^)</(ч') то

= (51)

Для остальных векторов ч\ ./ = /V +1. ..., L производим генерацию новых случайных значений.

Далее производим уменьшение радиусов области поиска вокруг элитных и отобранных векторов:

г' аег?> г' ' = А (52)

где ае, а5 — заданные параметры уменьшения областей поиска, аг ~ 0.95, «0.95.

Процесс поиска вектора параметров продолжаем до достижения максимального числа итераций \У. Лучший вектор в итоговом множестве возможных решений считаем решением задачи.

6. Вычислительный эксперимент

Рассмотрим задачу оптимального управления группой из трех мобильных роботов. Математические модели объектов управления имеют следующий вид:

х3 = и3 сове'', (53)

V // «¡п 0 . (54)

где | А" ' у' 6 ' |7 — вектор состояния робота /: [м/ и{ |7 — вектор управления робота ], 7=1,2,3.

Заданы начальные условия:

■V (О) у3 = у}>\ 0 (О) = 0 . ./ = 1, 2, 3. (56)

Задано ограничение на управление:

и:< и[ < <, Ч = 1,2, 1 = 1,2,3. (57)

Задано фазовое ограничение:

- г* > 0, 1 = 1,2,3, (58)

где х*, у*, г * — параметры фазовых ограничений, г* > 0. Заданы терминальные условия:

х1 (^) = х1,7, у1 (г, ) = у1,7, 01 (г,) = 01,7, 1 = 1, 2, 3. (59)

где

3

tf =

t, если i < i и

(0 - Xi,f )2 +(y' (0 - )2 + ( (0 - 0j,f )2 , < 8,

(60)

1=1

гт — иначе,

где г+ и е — заданные положительные величины. Определены динамические фазовые ограничения:

V(л-1 - х2 )2 + (V1 - V2 )2 - г > 0; (61)

Л/(х1-х3)2+(У-/)2 -г>0; (62)

^(х2-х3)2+(г-/)2 - г > 0. (63)

Задан функционал качества:

3 = / + х1 ('/)"х1,7)2 + (У1 ('/)" У1,7)2 + (61 С/)-01,7)2 ^т1П. (64)

1"=1

С учетом фазовых ограничений функционал качества имеет вид •/ /. -¿^хи.) V ) (у (/ ) у V •(() (/.) О' )' •

7=1

/ з

+}£ -г* У+ ^(х-х2)2+(У-Г)2 - г) + (65)

0 7=1

+S(y](x1-x3)2+(y-y3)2 -f) + $(J(x2-x3)2+(y2-y3)2 - r))dt -> min. В итоговом функционале ко времени процесса управления добавляются погрешность выполнения терминальных условий и период времени, в котором нарушены любые фазовые ограничения (58), (61), (62), (63).

В вычислительном эксперименте параметры задачи имели следующие значения: x(1)(0) = 10, y(1)(0) = 10, 0(1) (0) = 0, x(2) (0) = 0, y(2) (0) = 10, 0(2) (0) = 0, x(3) (0) = 5,

y(3)(0) = 10, 0(3)(0) = 0, Mj" =-10, «2=-10, < = 10, u2 = 10, xl,f = 0, y1f = 0, 01,f = 0,

= 10, у2'1 = 0, е2'/ = 0, лд/ = 5, _У3'/ = 0, вХ! = 0, х* = 5, у = 5, г = 3, г = 2,

е =2.8, 8 = 0.01.

На первом этапе решали задачу синтеза управления методом вариационного полного бинарного генетического программирования для одного робота. В результате было получено следующее управление:

и, =<

= 1 2,

(66)

где

щ = sgn(sgn(Л)(exp | Л | -1)) 1п(| ехр | Л | -11 +1), (67)

й2=В + С, (68)

А = з§п(1п<у3 (<у: -с/::)\ +л/1 + ехр(<?3)) х(ехр 11п | <у3 (<у:+^\+схр(с/}) | -1)х xsgn(Aт-sgn(Ay)exp | А у | -l)sgn(A0)) х1п(| Ax-sgn(Ay)(exp | А у | -l)sgn(A0) 11),

В = з§п(^3А0)(ехр | д3А9 | -1) + Г(х(Ав)+1 еХр(Л"У '

V1

1 + ехр(Ау / Ах)

С = sgn(<72Ay(Ax + Лу))^Лу(Лг + Ау) + sgn(sgn(A9)(exp | А9 | -1)(<?3 - + +(1п | (ехр | А9 | -1)(9з - д]) | +1) + ц(АхАу),

Ах = х1 - х, Ау = у1 - у, А9 = в1 - 9, дх =0.84180, д2 =0.65527, дх =2.45020.

Полученное управление представляет собой нелинейную функцию и' = g¡ (х'д - х1, у'л - у ■', 9/Д - 9'), / = 1, 2, / = 1, 2, 3 от координат вектора пространства состояний робота ], ] = 1, 2, 3 и обеспечивает устойчивость системы дифференциальных уравнений (53)—(55) относительно точки |х'д у 'д 9'д]г.

На втором этапе решаем задачу параметрического оптимального управления эволюционными алгоритмами. В задаче необходимо найти координаты точек ([х'д у'д 9'д]г, |х'2 у1,2 9'22]г), у =1, 2, 3, которые являются вместе с терминальной точкой [х'2/ у1'1 6' ' |7 . ] =1, 2, 3, точками устойчивости системы (53)—(55). Переключение с точек [х'д у'д 9'д]г наточки |х'2 у'22 б'217 и с точек [х'22 у'22 б'217 на точки [х'д у 'д 9 'д]г, / = 1. 2. 3 в процессе поиска выполняем в заданные моменты времени 1Х = 1 с, 1-, =2 с, при этом найденные точки должны обеспечить минимальное значение функционала (65).

При решении задачи параметрического оптимального управления параметры эволюционных алгоритмов были подобраны так, чтобы общее количество вычислений целевой функции было приблизительно одинаковым. Результаты вычислений приведены в таблице. Для сравнения решение задачи также осуществлялось алгоритмом многоточечного наискорейшего градиентного спуска, в котором бралось лучшее решение из 48 запусков. В таблице приведены значения функционала (65) для каждого из 10 испытаний и количество вычислений этого функционала в каждом испытании. В таблице обозначены: GA — генетический алгоритм, PSO — метод роя частиц, BA — пчелиный алгоритм, MFGD — многоточечный наискорейший градиентный спуск. В последней строке таблицы приведены средние значения по десяти испытаниям.

Таблица. Результаты численных испытаний

ОЛ РБО Ы¥ОВ ВЛ

2.2117 64 600 2.8918 65 602 4.9758 86 626 2.8746 65 838

2.2424 64 616 2.3665 65 602 6.1991 82 530 2.8751 65 838

2.4058 65 314 2.8514 65 602 6.5167 74 338 2.8744 65 838

2.5942 65 350 2.8702 65 602 5.7414 94 818 2.8740 65 838

2.8727 65 458 2.2850 65 602 5.7305 80 482 2.8720 65 838

2.5462 65 332 2.8459 65 602 4.7807 96 866 2.8965 65 838

2.3855 65 204 2.8959 65 602 5.8009 84 578 2.8681 65 838

2.3068 65 214 2.4346 65 602 6.1118 86 626 2.8681 65 838

2.1633 65 602 2.8943 65 602 6.2203 84 578 2.8729 65 838

2.6650 65 556 2.3971 65 602 5.8471 90 722 2.8689 65 838

2.4394 65 225 2.6733 65 602 5.7924 86 216.4 2.8745 65 838

Из результатов вычислений следует, что испытанные эволюционные алгоритмы находят решения с приблизительно одинаковыми значениями целевой функции, и существенно лучше, чем решения, найденные алгоритмом наискорейшего градиентного спуска. Наилучшее найденное решение, / = 2.1633:

[х11 у11 91Д]Г = [0.6405 7.5654 1.3418]Т, [х2,1 у2'1 е21]г = [5.4812 3.1032 1.2114]г, [х3,1 у3'1 е31]г = [0.0372 2.3309 - 0.3106]г, [х1'2 у1'2 9и]г = [1.1579 0.0852 0.1068]г, [х2,2 у22 92 2]г = [0.6930 1.1368 1.1631]Т, [х33 у3'3 е3'3]г = [0.2973 5.2637 - 1.0427]г.

На рис. 3 приведены траектории движения роботов на плоскости {х, у} для

наилучшего найденного решения со значением целевого функционала / = 2.1633. Там же приведены найденные шесть точек. По характеру траекторий видно, что они не являются оптимальными, но при движении роботов траектории учитывают наличие других роботов и фазовые ограничения. Второй робот, стартующий из точки (0, 10), переместился первоначально вверх, чтобы не столкнуться с третьим роботом, стартующим из точки (5, 10), при этом третий робот сделал лишнюю «петлю» в отрицательную полуплоскость х < 0, чтобы дать возможность первому роботу проехать терминальную точку (5, 0) и освободить ее для третьего робота. Найденные точки не лежат на траекториях роботов.

7

-3 -2 -1 О 1 2 3 4 S 6 7 8 9 10 11

Рисунок 3. Траектории движения трех роботов на плоскости

Литература

[1] ДивеевЛ. II. Приближенные методы решения задачи синтеза оптимального управления. М. : ВЦ РАН, 2015. 184 с.

[2] Diveev A. I. Small Variations of Basic Solution Method for Non-numerical Optimization // In Proceedings of 16th IF AC Workshop on Control Applications of Optimization CAO'2015. October 6-9, 2015. Gannisch-Partenkirchen. P. 28-33. DOI: 10.1016/j.ifacol.2015.11.054

[3] Goldberg D. E. Genetic Algorithms in Search, Optimization and Machine Learning. — Addi-son-Wesley, 1989. 412 p.

[4] Kennedy I., Eberhart R. Particle Swarm Optimization // In Proceedings of IEEE Int. Conf. on Neural Networks IV, 1995. P. 1942-1948. doi: 10.1109/ICNN. 1995.488968

[5] Карпенко А. П., Селиверстов Е.Ю. Глобальная оптимизация методом роя частиц. Обзор II Информационные технологии. 2010. № 2. С. 25-34.

[6] Pham D. T. et al. The Bees Algorithm — A Novel Tool for Complex Optimisation Problems / Intelligent Production Machines and Systems. 2nd I*PROMS Virtual Int. Conf. 3-14 July 2006. — Elsevier Ltd, 2006. P. 454-459. DOI: 10.1016/B978-008045157-2/50081-X

Авторы:

Асхат Ибрагимович Дивеев — доктор технических наук, профессор, зав. сектором проблем кибернетики отдела Нелинейного анализа и проблем безопасности, Федеральный исследовательский центр «Информатика и управление» РАН; заведующий кафедрой кибернетики и мехатроники, Российский университет дружбы народов

Елизавета Юрьевна Шмалько — кандидат технических наук, старший научный сотрудник, отдел Нелинейного анализа и проблем безопасности, Федеральный исследовательский центр «Информатика и управление» РАН

Evolutionary computation methods for synthesis of control of group of robots and search of optimum trajectories of their movement

A. I. Diveeif", E. Yu. Shmalko*

Federal Research Center "Computer Science and Control" of Russian Academy of Sciences Vavilova str., 44, Moscow, Russia, 119333

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

People's Friendship University of Russia Miklouho-Maclay str., 6, Moscow, Russia, 117198

e-mail: aidiveev@mail.ru, e.shmalko@gmail.com

Abstract. Problems of control of group of robots consists in considering of dynamic restrictions which arise because of the requirement of avoiding of collisions of robots among themselves. For the solution of a problem of optimum control of group of robots we use a two-stage method of synthesis. At the first stage we solve a problem of stabilization of each robot for any point of state space. The system of stabilization will be identical for homogeneous robots. At the second stage we find coordinates of points of state space for the stabilization of each robot. At search of points of stabilization, we consider conditions of collisions of robots among themselves and violation of other phase restrictions. For the solution of a problem of stabilization we use one of methods of symbolical regression, a method of binary variational genetic programming. The method allows to find the coded mathematical expression for function of control by the evolutionary genetic algorithm. At the second stage by search of points of stabilization of optimum trajectories we use evolutionary computation methods and gradient algorithms of nonlinear programming. The example of the solution of a problem of synthesis of control of group for three mobile robots is given. For search of points of state space, we use a genetic algorithm, a particle swarm optimization method, bee algorithm, and algorithm of the fastest gradient descent.

Key words: synthesis of control of group of robots, evolutionary computation algorithms, method of binary variational genetic programming, particle swarm optimization method, bee algorithm, genetic algorithm.

References

[1] Diveyev A.I. (2015) Priblizhennyye metody resheniya zadachi sinteza optimal'nogo uprav-leniya. Moscow, VTs RAN. 184 c. [InRus]

[2] Diveev A. I. (2015) Small Variations of Basic Solution Method for Non-numerical Optimization. In Proc. of 16th IF AC Workshop on Control Applications of Optimization, CAO' 2015. October 6-9, 2015. Gannisch-Partenkirchen, pp. 28-33. DOI: 10.1016/j.ifacol.2015.11.054

[3] Goldberg D. E. (1989) Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 412 p.

[4] Kennedy J, Eberhart R. (1995) Particle Swarm Optimization. In Proc. of IEEE Int. Conf. on Neural Networks IV, pp. 1942-1948. doi:10.1109/ICNN.1995.488968

[5] Karpenko A. P, Seliverstov Ye. Yu. (2010) Informatsionnyye tekhnologii, 2:25-34. [In Rus]

[6] Pham D. T. et al. (2006) The Bees Algorithm — A Novel Tool for Complex Optimisation Problems. In Proc. Intelligent Production Machines and Systems. 2nd I*PROMS Virtual Int. Conf. 3-14 July 2006. Elsevier Ltd, pp. 454-459. DOI: 10.1016/B978-008045157-2/50081-X

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