УДК 519.714
DOI 10.21685/2307-4205-2019-4-6
А. И. Дивеев, А. А. Котова
ЭВОЛЮЦИОННЫЙ МЕТОД РЕШЕНИЯ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА ГРУППОВОГО ВЗАИМОДЕЙСТВИЯ РОБОТОВ1
A. I. Diveev, A. A. Kotova
AN EVOLUTIONARY METHOD FOR SOLVING THE OPTIMAL CONTROL PROBLEM TO IMPROVE THE QUALITY OF GROUP INTERACTION OF ROBOTS
Аннотация. Рассматривается задача оптимального управления групповым взаимодействием роботов с фазовыми ограничениями. По условию два мобильных робота с помощью жестких шарнирных тяг перемещают тележку из одной точки плоскости в другую за минимальное время. На плоскости заданы статические ограничения. При движении роботы, тележка и тяги не должны нарушать фазовых ограничений. Роботы также не должны сталкиваться между собой. Для решения задачи используется кусочно-линейная аппроксимация искомых функций управления. При поиске параметров аппроксимирующих функций используется эволюционный алгоритм «роя частиц».
Ключевые слова: оптимальное управление, фазовые ограничения, групповое взаимодействие роботов, эволюционный алгоритм.
Abstract. The problem of optimal control of group interaction of robots with phase restrictions is considered. In a task two mobile robots by means of rigid hinged drafts move the cart from one point of the plane to another for minimum time. On the plane static restrictions are set. When driving robots, the cart and the drafts shouldn't break phase restrictions. Robots also shouldn't collide among themselves. For the solution of a task piecewise linear approximation of required functions of management is used. When searching parameters of approximating functions, the evolutionary algorithm of "swarm particles" is used.
Keywords: optimal control, phase restrictions, group interaction of robots, evolutionary algorithm.
Повсеместное применение робототехнических устройств и высокая скорость их изготовления с применением 3Б-принтеров сопровождается острой необходимостью быстродействующих численных методов для решения задач управления. Сегодня часто встречаем ситуацию, когда время изготовления робота существенно меньше длительности процесса создания его системы управления. Решение оптимизационных задач на этапе разработки систем управления требуется для повышения качества управления. Необходимость внедрения робототехнического устройства в технологические процессы обоснована повышением качества и эффективности, поэтому очевидно, если робот заменяет где-либо человека, то действия этого робота должны быть оптимальными по некоторому критерию быстродействия, экономии энергии и т.п., в противном случае замена не оправдана.
Типовой оптимизационной задачей при разработке систем автоматического управления роботами является задача оптимального управления. Ее решение позволяет разработчику исследовать особенности задачи и сформировать определенные требования к системе управления для разрабатываемого робототехнического устройства. К сожалению, математикам так и не удалось создать эффективный вычислительный алгоритм решения задачи оптимального управления. Наиболее распространенный метод - это принцип максимума Понтрягина [1], который позволяет перевести задачу бесконечномерной оптимизации в конечномерную краевую задачу. Для решения краевой задачи в
1 Работа выполнена при частичной финансовой поддержке гранта РФФИ № 16-29-04224-офи_м.
© Дивеев А. И., Котова А. А., 2019
подавляющем большинстве случаев предлагается использовать метод «стрельбы» с градиентными алгоритмами поиска начальных условий для сопряженных переменных.
В последнее время появились эволюционные биоинспирированные или вдохновленные живой природой алгоритмы для решения задач оптимизации. До недавнего времени считалось, что из-за отсутствия внятных теорем, не использующих их вероятностную сходимость, которая всегда справедлива при бесконечном числе испытаний, эти алгоритмы имеют право на существование и применение для задач, в которых унимодальность и выпуклость целевой функции отсутствуют. Если заведомо известно, что целевая функция в задаче оптимизации точно имеет не единственный минимум, то применение эволюционных алгоритмов вполне возможно, но результат их поиска необходимо подвергнуть дополнительным исследованиям на предмет его близости к оптимальному решению. Считалось, что по эффективности поиска эволюционные алгоритмы существенно уступают градиентным, поэтому если возможно - при определенной доработке всегда использовать для поиска решения задач оптимизации градиентные методы. Примером использования «доработанных» градиентных алгоритмов для решения задач оптимизации с неунимодальной и невыпуклой целевой функцией является алгоритм АДАМ [2] для обучения нейронных сетей.
Последние сравнительные экспериментальные исследования показали [3-5], что эволюционные алгоритмы не только не уступают градиентным методам, но в задачах оптимального управления существенно превосходят их, в том числе и алгоритм АДАМ. Эволюционные алгоритмы при том же количестве вычислений целевой функции находят решения с меньшим значением целевой функции, работают более стабильно, т.е. на множестве испытаний дают меньшую величину средне квадратичного отклонения и находят существенно лучшую среднюю величину целевой функции. Чем сложнее задача оптимального управления, больше количество фазовых ограничений и объектов управления, роботов, тем преимущество эволюционных алгоритмов перед градиентными становится больше. Сегодня очевидно, что эволюционные алгоритмы - наиболее эффективное средство для решения задачи оптимального управления, т.е. их появление, как это часто было в истории науки, предвосхитило их повышенный спрос для решения задачи оптимального управления.
В настоящей работе рассматривается решение сложной задачи оптимального управления групповым взаимодействием роботов эволюционным алгоритмом «роя частиц» [6]. В задаче двум мобильным роботам необходимо переместить тележку, прикрепленную к ним жесткими шарнирными тягами, из одной точки пространства в другую за минимальное время с учетом расположенных на пути препятствий.
Задача оптимального управления групповым взаимодействием мобильных роботов
Рассмотрим формальную постановку задачи оптимального управления групповым взаимодействием роботов. Под групповым взаимодействием роботов понимаем совместное выполнение роботами одной задачи, которая не может быть выполнена по частям отдельными роботами. К таким задачам относится, например, совместное перемещение несколькими роботами одного груза.
Рассмотрим задачу оптимального перемещения груза двумя роботами.
Заданы математические модели мобильных роботов [7]:
где X;, у - координаты центров масс робота I; щд, щ,2 - компоненты вектора управления робота I,
X = 0,5(щ 1 + щ 2) cos 0г у = 0,5(Ui д + щ ,2) sin 9г
е i = 0,5(u д - щ ,2),
Н,2/ 5
i
(1)
(2)
(3)
i = 1,2.
е (0)=е0, i=1,2.
(4)
Заданы ограничения на управление
uij < щ,j < uij , i, j = 1,2.
Роботы перемещают тележку на шарнирных жестких тягах. Схема перемещения роботами тележки приведена на рис. 1.
Рис. 1. Схема перемещения тележки двумя роботами
На рис. 1 (x1? y1), (x2, y2) - координаты центров масс соответственно первого и второго робота. Координаты центра масс тележки (x0, y0) вычисляем из следующих соотношений: 1) если x2 - x1 > 80, то
x0 = x cos ф- y sin ф + x1? y0 = x sin ф + y cos ф + y1?
где
y
r_ 2^p(p-/x)(p-/2)(p-А) ,
А
/ /72 ~ñ x _V /l - У ,
А_^1 ( y1 -У2)2 +( x-x2)2 , p _ 0,5(/x + /2 +А), ф _ arctan
/ л
У 2 - У1
V x2 - xl J
l1, l2 - длины тяг тележки (см. рис. 1); 2) если | x2 - x1 |< 80 и y1 < y2, то
x0 _x + xl, У0 _У + Уl,
где
,,_ p ( p - /х)( p - /2)( p -А ) ,, А
x _ —
, y'
2 X1 *
3) если I x2 - xl |< г0 иyl > y2, то
где
x _
x0 _xw + xi, У0 _ym + У1,
2yl p ( p - /l)( p - /2 )( p-А )
А
2
■ > y _ - /l
2 x~2
4) если x2 - xl < -e0, то
x0 _ x cos ф - y sin ф + xl, y0 _ x sin ф + y cos ф + yl5
где
ф _ arctan
í ~ ~ \ У - У2
xl - xx2 J
У
_ 2ylp(p - /t)(p - 4)(p - А)
А
, x _ ■\[ll
У
(6)
(7)
(8)
(9)
Заданы статические фазовые ограничения в форме ограниченных областей на плоскости {х, у}, в которые не должны попадать роботы, тележка или тяги:
у2 - (X* - х/ - (у - у, )2 < 0, (10)
у2 - (х* - хс)2 - (у* - ус)2 < 0, (11)
где г = 1,...,М , ] = 0,1,2, Если
((0,5(Х1 + Х2) - х*)2 - (0,5(у + у2) - у*)2 < (Х1 - х*)2 - (у - у*)2) V V ((0,5(х1 + х2) - х)2 - (0,5(у1 + у2) - у)2 < (х2 - х)2 - (у - у*)2),
то
(у - у + ^х - 12х*) 7/ ч
х = г ' 1-—, у = К(хс - хх) + у, (12)
и = у 2 - У 2 1 = х1 - х2 — , — ,
х2 - х1 у2 - у\
иначе хс = х1, ус = у1, у - величина, определяющая размер областей ограничений, I = 1, ..., М;
М - количество ограничений.
Заданы динамические ограничения, определяющие отсутствие столкновений между роботами:
у2 - (х - х2)2 - (у - у)2 < 0, (13)
где г - величина, определяющая габариты робота. Заданы терминальные условия
х0 - х, )2 + (у - у, )2 <£,. (14)
Задан критерий качества управления, в который для выполнения ограничений (10)—(13) включены штрафы за нарушения ограничений
м гг
з=+£ I^<г2 - (х - х )2 - (у* - у, )2)Ж+
г=1 0
м г I-
+£ I Щ2 - (х* - хс )2 - (у* - ус )2) А +>/(х)(г/) - хг )2 + (у0($г) - у, )2 , (15)
г=1 0
где г г - ограниченное, но не определенное время процесса управления:
г = |г, если г < г+ и <^1,
А) - функция Хэвисайда:
f I +
I/ - иначе,
(16)
11, А > 0, А) = Г
[0 - иначе.
Необходимо с учетом ограничений (5) найти управление щ д( ), щ,2( ), г = 1,2, которое обеспечит минимум функционала (15).
Для решения задачи оптимального управления редуцируем задачу из задачи бесконечномерной оптимизации в задачу конечномерной оптимизации нелинейного программирования. Для этой
цели разобьем ось времени на конечное число отрезков и аппроксимируем функции искомого управления кусочно-линейными функциями. Управление ищем в следующем виде:
Ukд, если f (q/+2(кN, q/+1+2(k_1)N? t) < Uk,1?
Uk,1(t) = \ Uk+,1? еСЛИ f (qi+2{k_1)N ? qi+l+2(k_1)N ? t) > uk+,i?
f (qi+2(k_1)N ? qi+1+2(k_1)N ? t) _ ИНаЧе;
Uk,2 ? еСЛИ f (q j+2(k_1)N ? q j+1+2(k_1)N ?t) < Uk,2 ? Uk ,2 (t ) = 1 Uk,2? еСЛИ f (qj+2( k _1) N ? qj+1+2( k _1) N ?t ) > <2? f (qj+2(k_1)N ? q j+1+2(k_1)N ?t) _ ИНаЧе?
(17)
(18)
где
f ( q« ? qß ?t ) = q« +( qß_ q«)
(t ~ (i ~ 1) At ) At
(19)
/А/ < / < (/ + 1)А/, / = 1,..., N , у = Ж +1,... 2Ж, к = 1,2, Л/ - величина интервала разбиения, N -1 -количество интервалов.
В результате редукции задачи вместо функции управления ищем значения компонент вектора параметров размерностью р = 4N :
Я = [#1 ••• ЧрГ .
Значения искомых параметров также ограничиваем
Ча< а = 1, •••, р .
(20)
(21)
Эволюционный алгоритм роя частиц
Для решения задачи оптимального управления взаимодействием роботов, редуцированной к задаче конечномерной оптимизации, используем наиболее популярный сегодня эволюционный алгоритм «роя частиц».
По утверждению авторов, это первый метод, основанный на имитации социально-поведенческих моделей организованных групп [6]. Авторы метода предложили идею канонического метода «роя частиц» в 1995 г. Дальнейшее развитие метод получил в многочисленных научных работах. Известно большое число модификаций метода [8].
Эволюция множества возможных решений выполняется с учетом наилучших найденных к этому моменту возможных решений во всем множестве и в некотором подмножестве, которое называется подмножеством информаторов и с учетом наилучших возможных решений, найденных на предыдущих итерациях.
На подготовительном этапе задаем размер множества возможных решений Н, размер подмножества информаторов Я , максимальное число итераций Ж .
Генерируем начальное множество векторов параметров яу = [д/ ... ч]р]т , у = 1,...,Н, по формуле
= £(д+- д-) + д-, (22)
где £ - случайное число, сгенерированное генератором случайных чисел в диапазоне от 0 до 1.
Задаем начальный вектор V] направления изменения векторов параметров:
= 0, / = 1,..., р, у = 1,..., Н. (23)
Эволюционный процесс поиска оптимального решения продолжаем до достижения максимального числа итераций Ж. На каждой итерации производим вычисление вектора Я, доставляющего лучшее значение функционала:
J(q ь ) = шт{3 (q 1): 1 = 1, H}, (24)
1
и вычисление опорного вектора q1, являющегося лучшим среди Я случайно отобранных векторов qq1:
3 ^1) = ш1п{ 3 (q1): к = 1,., Я}, (25)
к
где 11,., 1Я - случайные целые числа в диапазоне от 1 до Н.
С учетом найденных лучшего qb и опорного q1 векторов строим новое значение вектора V1 для каждого вектора параметров q1:
V/ :=аг/ (д?-д/) + ^(д/г-д/), I = 1,...,р, 1 = 1,...,Н, (26)
где а, в, у - заданные параметры алгоритма, определяющие диапазоны изменения случайных чисел ^е [0; в] и ^уе[0;у]. Значения параметров алгоритма а, в, у подбирают в зависимости от решаемой задачи.
Для каждого вектора параметров q1 вычисляем новый вектор 1 по формуле
q/ =
q- , если qJ. + 8vj < qt ,
q+, если qj + 8vj > q+, z = 1,..., p , j = 1,..., H, (27)
q/ + 8v/ - иначе,
где 8 - заданный параметр, 8-1.
Если новое возможное решение дает более лучшее значение целевой функции, то заменяем исходной возможное решение qj на новый построенный вектор qj:
qj ^ qj, если J(qj ) > J(qj), j e (1,...,H}. (28)
Завершаем вычисления при выполнении W итераций. Решением считаем вектор с наилучшим значением целевой функции в итоговом множестве возможных решений.
Вычислительный эксперимент
В вычислительном эксперименте использовали следующие значения параметров рассматриваемой задачи: начальные условия х1(0) = 0, у(0) = 0, 9Х(0) = 0, x2(0) = 0 , y2(0) = 1, 62(0) = 0; длины тяг тележки l1 = 2, l2 = 2; вспомогательный параметр точности 80 = 0,0001, терминальные условия
x0(0) = 10, y0(0) = 10; ограничения на управление u- =-10, щ2 =-10, u+1 = 10, u+2 = 10, =-10, u-2 =-10, u+1 = 10, u+2 = 10; число фазовых ограничений M = 4, размеры ограничений r1 = 1, r2 = 1, r3 = 1,5, r4 = 1,5, координаты центров ограничений x* = 7,5, y* = 7,5, x* = 2,5, y2* = 2,5, x* = 2 , = 8, x4 = 8, y4 = 2; габаритный размер роботов r = 1, предельное время процесса управления t += 2,8, точность достижения терминальных условий 81 = 0,01, длина интервала разбиения At = 0,25 , количество искомых параметров p = 44 ; ограничения на параметры q~ = -20 , q+ = 20, i = 1,...,44 ; параметры алгоритма, число возможных решений H = 200, число итераций W = 2000, число информаторов R = 4, параметры, определяющие случайные величины, а = 0,7298, Р = 0,85, Y = 0,1.
Поиск решения осуществлялся многократным запуском алгоритма, из десяти запусков было выбрано наилучшее решение
¿1 = [15.9856 19.6468 17.38988 15.3053 18.3569 12.9741 10.4999 16.8965 -17.4423 -18.2335 8.2360 17.0276 18.5043 -2.46506 18.1098 18.2645 14.5384 1.0724 -16.2019 13.1598 17.7232 -10.0342 -14.5170 17.8829 15.0198 18.6535 18.6593 18.1288 -18.0757 -16.5391 -16.2875 -15.2677 -9.3241 -17.4476 18.9036 2.5578 6.6560 18.4815 -16.8445 -12.1778 -5.9728 14.7501 17.8183 -17.4213 ]г,
которое дало значение функционала 3 = 2,7083. Поскольку значение функционала оказалось меньше предельного времени процесса управления t + = 2,8, то это означало, что объект был доставлен в терминальное состояние за время, меньше заданного.
Траектории движения группы роботов и транспортируемой тележки для найденного оптимального управления приведены на рис. 2.
Рис. 2. Траектории движения двух роботов и транспортируемой тележки
На рис. 2 траектория движения тележки указана пунктирной линией. Как видим из результатов моделирования, из-за того, что тяги были жесткими, роботы в процессе движения переставили тележку впереди себя и в таком состоянии привели ее в терминальную точку.
Заключение
Сформулирована постановка задачи оптимального управления групповым взаимодействием роботов с фазовыми ограничениями. Рассмотрено численное решение задачи оптимального управления групповым взаимодействием роботов. Для решения задачи использовался подход, основанный на редукции задачи оптимального управления к задаче нелинейного программирования. Для поиска решения использовался эволюционный алгоритм «роя частиц». Моделирование движения группы роботов с полученным оптимальным кусочно-линейным управлением показало, что совместное взаимодействие роботов обеспечило доставку груза в терминальную точку с оптимальным значением критерия качества без нарушений фазовых ограничений.
Библиографический список
1. Понтрягин, Л. С. Математическая теория оптимальных процессов / Л. С. Понтрягин, В. Г. Болтянский, Р. В. Гамкрелидзе, Е. Ф. Мищенко. - 4-е изд. - Москва : Наука, 1983. - 392 с.
2. Kingma, D. P. A Method for Stochastic Optimization / D. P. Kingma, Ba J. Adam // 3rd International Conference for Learning Representations. - San Diego, 2015. - 15 p. - URL: https://arxiv.org/pdi71412.6980v8.pdf.
3. Дивеев, А. И. Эволюционные алгоритмы для решения задачи оптимального управления / А. И. Дивеев, С. В. Константинов // Вестник РУДН. Сер.: Инженерные исследования. - 2017. - Т. 18, № 2. - С. 254-265.
4. Дивеев, А. И. Исследование эволюционных алгоритмов для решения задачи оптимального управления / А. И. Дивеев, С. В. Константинов // Труды Московского физико-технического института. - 2017. - Т. 9, № 3. - С. 70-79.
5. Diveev, A. I. Study of the practical convergence of evolutionary algorithms for the optimal program control of a wheeled robot / A. I. Diveev, S. V. Konstantinov // Journal of Computer and Systems Sciences International. -2018. - Vol. 57, № 4. - P. 561-580.
6. Kennedy, J. Particle Swarm Optimization / J. Kennedy, R. Eberhart // Proceedings of IEEE International Conference on Neural Networks. - Perth, Australia, 1995. - P. 1942-1948.
7. Suster, P. Tracking trajectory of the mobile robot Khepera II using approaches of artificial intelligence / P. Suster, A. Jadlovska // Acta Electrotechnica et Informatica. - 2011. - Vol. 11, № 1. - P. 38-43.
8. Карпенко, А. П. Глобальная оптимизация методом роя частиц. Обзор / А. П. Карпенко, Е. Ю. Селиверстов // Информационные технологии. - 2010. - № 2. - С. 25-34.
References
1. Pontryagin L. S., Boltyanskiy V. G., Gamkrelidze R. V., Mishchenko E. F. Matematicheskaya teoriya opti-mal'nykh protsessov [Mathematical theory of optimal processes]. 4th ed. Moscow: Nauka, 1983, 392 p. [In Russian]
2. Kingma D. P. A, Ba J. Adam 3rd International Conference for Learning Representations. San Diego, 2015, 15 p. Available at: https://arxiv.org/pdf/1412.6980v8.pdf.
3. Diveev A. I., Konstantinov S. V. Vestnik RUDN. Ser.: Inzhenernye issledovaniya [Vestnik PFUR. Ser.: Engineering study]. 2017, vol. 18, no. 2, pp. 254-265. [In Russian]
4. Diveev A. I., Konstantinov S. V. Trudy Moskovskogo fiziko-tekhnicheskogo instituta [Proceedings of the Moscow Institute of Physics and Technology]. 2017, vol. 9, no. 3, pp. 70-79. [In Russian]
5. Diveev A. I., Konstantinov S. V. Journal of Computer and Systems Sciences International. 2018, vol. 57, no. 4, pp. 561-580.
6. Kennedy J., Eberhart R. Proceedings of IEEE International Conference on Neural Networks. Perth, Australia, 1995, pp. 1942-1948.
7. Suster P., Jadlovska A. Acta Electrotechnica et Informatica. 2011, vol. 11, no. 1, pp. 38-43.
8. Karpenko A. P., Seliverstov E. Yu. Informatsionnye tekhnologii [Information technology]. 2010, no. 2, pp. 25-34. [In Russian]
Дивеев Асхат Ибрагимович
доктор технических наук, директор роботоцентра
Управления робототехническими устройствами,
Федеральный исследовательский центр
«Информатика и управление»
Российской академии наук
(Вычислительный центр
им. А. А. Дородницына РАН)
(119333, Россия, г. Москва, ул. Вавилова, 40);
профессор департамента механики и мехатроники,
Инженерная академия
Российского университета дружбы народов (115419, Россия, г. Москва, ул. Орджоникидзе, 3) E-mail: [email protected]
Котова Анна Алексеевна
студент,
Инженерная академия
Российского университета дружбы народов (115419, Россия, г. Москва, ул. Орджоникидзе, 3) E-mail: [email protected]
Diveev Askhat Ibragimovich
doctor of technical sciences,
director of the robot control center,
Federal research center
«Computer science and control»
of the Russian Academy of Sciences
(Dorodniсyn Computer Center of RAS)
(119333, 40 Vavilov street, Moscow, Russia);
professor of the department of mechanics
and mechatronics,
Engineering Academy
Peoples' friendship University of Russia
(115419, 3 Ordzhonikidze street, Moscow, Russia)
Kotova Anna Alekseevna
student,
Engineering Academy
Peoples' friendship University of Russia
(115419, 3 Ordzhonikidze street, Moscow, Russia)
Образец цитирования:
Дивеев, А. И. Эволюционный метод решения задачи оптимального управления для повышения качества группового взаимодействия роботов / А. И. Дивеев, А. А. Котова // Надежность и качество сложных систем. - 2019. - № 4 (28). - С. 60-68. - БОТ 10.21685/2307-4205-2019-4-6.