Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

APPLICATION OF VARIATIONAL ANALYTIC PROGRAMMING FOR SYNTHESIS OF FYING ROBOT CONTROL

Diveev A.I. 1 Konyrbaev N.B. 2
1 Institution of Russian Academy of Sciences Dorodnicyn Computing Centre of RAS
2 Peoples’ Friendship University of Russia
1145 KB
In this paper an application of the method of variational analytic programming to the solution of the synthesis problem of a control system for the flying robot is considered. It is necessary to find the control in the form of function from an object state. The received synthesizing function has to provide calculation of control for the movement of the flying robot on the spatial trajectory set in the form of points. As an assessment of criterion for control a total mistake on a deviation from the set point and time of the movement on a trajectory is used. For the solution of the synthesis problem the method of variational analytic programming is used. The method includes two approaches: a new method of symbolical regression, the analytical programming and the principle of small variations of the basic solution for evolutionary search of the optimal possible solution.
system control synthesis
analytic programming method
flying robot
1. Atiensija Viljagomes Kh.M., Diveev A.I. Metod setevogo operatora dlja sinteza intellektual’nojj sistemy upravlenija dinamicheskim obektom // Ehlektronnyjj zhurnal «Cloud of Science» 2014. Tom 1. no. 2. 1. рр. 191–198.
2. Atiensija Vil’jagomes Kh.M., Diveev A.I. Chislennyjj metod sinteza logiko-funkcional’nogo upravlenija dinamicheskim obektom // Sovremennye problemy nauki i obrazovanija. 2012. no. 3 URL: www.science-education.ru/103-6530.
3. Diveev A.I., Konyrbaev N.B. Vychislitel’nyjj metod variacionnogo analiticheskogo programmirovanija dlja sinteza sistemy upravlenija // Sovremennye problemy nauki i obrazovanija. 2014. no. 2; URL: http://www.science-education.ru/116-12401
4. Diveev A.I., Konyrbaev N.B. Metod variacionnogo analiticheskogo programmirovanija dlja sinteza sistem upravlenija // Trudy odinnadcatogo mezhdunarodnogo simpoziuma Intellektual’nye sistemy INTELS’2014 pod red. K.A. Pupkova. Moskva. 30 ijunja-04 ijulja. 2014. рр. 78–80.
5. Diveev A.I., Konyrbaev N.B. Metod variacionnogo analiticheskogo programmirovanija dlja reshenija problemy sinteza sistemy upravlenija // Trudy Mezhdunarodnogo simpoziuma Nadezhnost’ i kachestvo; pod red. N.K. Jurkova. Penza 26 maja 01 ijunja. 2014. T. 1. рр. 188–193.
6. Atiencia Vilagomes J.M., Diveev A.I., Sofronova E.A.The Network Operator Method for Synthesis of Intelligent Control System // Proceedings of the 2012 7th IEEE Conference on Industrial Electronics and Applications (ICIEA) 18–20 July 2012, Singapore. рр. 169–174.
7. Bourmistrova A., Khantsis S. Control System Design Optimisation via Genetic Programming in Proc. of IEEE Congress on Evolutionary Computation, Singapore, 2007, рр. 1993–2000.
8. Koza J.R., Keane M.A., Rice J.P. Performance improvement of machine learning via automatic discovery of facilitating functions as applied to a problem of symbolic system identification // IEEE International Conference on Neural Networks I. 1993. San Francisco, USA. 1993. рр. 191–198.
9. Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge, Massachusetts, London, MA: MIT Press, 1992. 819 p.
10. Zelinka I. Analytic programming by Means of Soma Algorithm // Mendel ’02 In: Proc. 8th International Conference on Soft Computing Mendel’02, Brno, Czech Republic, 2002, рр. 93–101.
11. Zelinka I., Oplatkova Z. Analytic programming // Comparative Study. CIRAS’03, The second International Conference on Computational Intelligence, Robotics, and Autonomous Systems, Singapore, 2003.
12. Zelinka I., Nolle L., Oplatkova Z. Analytic Programming – Symbiloc Regression by Means of Arbitrfary Evolutionary Algorithms // Journal of Simulation. 2012. Vol. 6, no. 9. рр. 44–56.

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

Аналитическое программирование [10, 11, 12] является разновидностью метода генетического программирования [7, 8, 9]. В настоящей работе метод аналитического программирования применен для решения задачи синтеза системы управления летающим роботом. Проблема управления движением летающего робота по пространственной траектории состоит в обеспечении точного и быстрого движения по заданной точками траектории. При реализации управления возникает дополнительная задача обеспечения проверки условия переключения точек на траектории. В работах [7, 10, 11] для решения задачи синтеза системы управления летающим роботом используется метод сетевого оператора. Проблема переключения точек решается с помощью синтеза логико-функционального управления или синтеза двух контуров управления, состоящих из системы стабилизации объекта относительно точки и логической системы переключения точек. Метод синтеза обусловлен ограниченным набором функций, которые использует метод сетевого оператора, это функции с одним или двумя аргументами. Принципиальную трудность при синтезе интеллектуальных систем управления методом сетевого оператора представляет собой функция, описывающая оператор условия, которая должна иметь три или более аргументов. Метод аналитического программирования может использовать любой набор функций, в том числе с тремя и более аргументами.

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

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

Введем упорядоченные множества функций с определёнными количествами аргументов

diveev01.wmf

diveev02.wmf (1)

где fi,j(z1, ..., zi) – функция под номером j с количеством аргументов i, diveev03.wmf diveev04.wmf

Объединим все множества в одно

diveev05.wmf (2)

Пронумеруем все элементы объединённого множества

diveev06.wmf (3)

где

diveev07.wmf (4)

diveev08.wmf diveev09.wmf …, diveev10.wmf

diveev11.wmf …, diveev12.wmf

diveev13.wmf …,

diveev14.wmf

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

diveev15.wmf (5)

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

diveev16.wmf (6)

где diveev17.wmf diveev18.wmf

Каждое число указывает на номер элемента в объединенном множестве F (7). Запись имеет префиксный порядок. Код функции в записи предшествует коду аргумента. Длина записи кода ограничена. Дополнительное множество переменных и параметров используется для корректного завершения записи. При необходимости код функции из объединённого множества используется в виде кода для элемента множества переменных или параметров.

Для получения математического выражения из записи кода необходимо знать количества элементов в каждом из множеств функций: m0, ..., mn и количества используемых переменных и параметров N и p.

Количество аргументов функции i и номер функции j определяем по значению элемента ck кода математического выражения с помощью соотношений

diveev19.wmf (7)

diveev20.wmf 1 < i ≤ n. (8)

При соответствии элемента кода ck функции без аргументов, i = 0 для определения переменной xj или параметра qj необходимо использовать количества используемых переменных N и параметров p.

diveev21.wmf i = 0, (9)

где код ck соответствует переменной xj, если ck ≤ N, или параметру qj, если N < ck ≤ m0.

Для описания кодов векторных математических выражений используем один набор целых чисел с определенным количеством элементов для каждого компонента векторного выражения. Пусть вектор математических выражений имеет M компонент. Выделим под каждую компоненту вектора L позиций в коде записи. Код математического выражения каждого компонента i векторного выражения содержит ki ≤ L элементов, diveev22.wmf. Не используемым в формировании кода элементам задаем нулевые значения:

diveev23.wmf (10)

где L – число позиций для кода одной компоненты векторного выражения; ki – длина кода компоненты i векторного выражения, diveev24.wmf.

В коде записи векторного выражения (14) значения для элементов выполняются условия

cj = 0,

если diveev25.wmf diveev26.wmf (11)

Для расшифровки кода векторного выражения необходимо вместе с величинами mi, diveev27.wmf, N и p дополнительно знать число позиций L и длины кодов компонент ki, diveev28.wmf.

Для определения корректности записи кода математического выражения используем индекс элемента. Пусть в записи кода (10) математического выражения элемент cj ≠ 0. Для векторного математического выражения определим него номер компоненты i из соотношения

diveev29.wmf (12)

Для корректной записи для индекса элемента cj ≠ 0 необходимо выполнение условий

T(j) > 0, j ≠ ki; (13)

diveev30.wmf (14)

где T(j) ‒ индекс элемента j записи кода математического выражения.

Для вычисления индекса T(j) элемента j при условии cj ≠ 0 используем соотношение

diveev31.wmf (15)

где

diveev32.wmf (16)

diveev33.wmf (17)

Индекс T(j) элемента j указывает на минимальное число недостающих справа элементов. Невыполнение условий (13) или (14) указывает на неправильность записи математического выражения.

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

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

Пусть запись кода (10) определяет пространства записей математических выражений. Пространство всех вариантов возможных записей длины K для D значений кодов содержит DK элементов.

Малой вариацией кода аналитического программирования является изменение значения кода элемента ci Î {1, ..., D}. Одной малой вариации достаточно для получения любой записи пространства из одной заданной записи за конечное число вариаций.

Для описания малой вариации используем вектор из двух компонент

diveev34.wmf (18)

где w1 – номер позиции изменяемого кода элемента записи; w2 – значение кода элемента.

Для выполнения вариации необходимо знать: количество элементов в векторном выражении M, количество переменных N, количество параметров p, количество используемых функций определенной арности m0 = N + p, m1, ..., mn, количество выделенных для каждой компоненты позиций L и количество используемых в варьируемом коде позиций ki, diveev35.wmf.

Номер позиции w1 в векторе вариации (18) не должен превышать количество позиций в коде

diveev36.wmf (19)

Значение кода элемента w2 не должно превышать количество элементов в объединенном множестве (18):

diveev37.wmf (20)

где

diveev38.wmf (21)

Синтез системы управления летающим роботом

Рассмотрим задачу синтеза управления движением летающего робота по пространственной траектории.

Модель объекта управления задана в виде системы обыкновенных дифференциальных уравнений

diveev39.wmf (22)

diveev40.wmf (23)

diveev41.wmf (24)

diveev42.wmf (25)

diveev43.wmf (26)

где diveev44.wmf diveev45.wmfdiveev46.wmf ui – величина силы тяги i-го винта, i = 1, 2, 3, 4; g = 9,81 м/c2; Ix = 0,03 кг∙м2, Iz = 0,03 кгм2, m = 1 кг.

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

diveev47.wmf (27)

В вычислительном эксперименте рассматривалось M = 16 точек траектории

diveev48.wmf

Критерием качества управления являлся функционал

diveev49.wmf (28)

где diveev50.wmf (29)

Δt = 8 c; δ = 0,25 м; t0 = 0.

Для системы были заданы следующие начальные значения:

x(0) = ±1 м; diveev51.wmf y(0) = 20 ±1 м;

diveev52.wmf z(0) = 0 м; diveev53.wmf

y(0) = 0 рад., diveev54.wmf θ(0) = 0 рад.; diveev55.wmf

На управление были наложены ограничения

diveev56.wmf diveev57.wmf diveev58.wmf (30)

где T– = 6 Н; T+ = 16 Н; diveev59.wmfdiveev60.wmf diveev61.wmf diveev62.wmf

В результате было получено следующее оптимальное управление:

diveev63.wmf

diveev64.wmf Mx = Δz,

где

diveev65.wmf

diveev66.wmf diveev67.wmf

diveev68.wmf

q1 = 1,075; q2 = 3; q3 = 0,527; q4 = 0,324; q5 = 1,075; q6 = 3; q7 = 0,527;

q8 = 0,324; q9 = 15,51; q10 = 15,19; q11 = 1,89.

pic_31.tif

Рис. 1. Движение летающего робота в вертикальной плоскости {x, y}

pic_32.tif

Рис. 2. Движение летающего робота в вертикальной плоскости {y, z}

pic_33.tif

Рис. 3. Движение летающего робота в вертикальной плоскости {x, z}

pic_34.tif

Рис. 4. Управление T для четырех начальных условий

pic_35.tif

Рис. 5. Управление Mz для четырех начальных условий

pic_36.tif

Рис. 6. Управление Mx для четырех начальных условий

pic_37.tif

Рис. 7. Угол γ для четырех начальных условий

pic_38.tif

Рис. 8. Угол θ для четырех начальных условий

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

1) x(0) = +1 м, y(0) = 21 м;

2) x(0) = –1 м, y(0) = 21 м;

3) x(0) = +1 м, y(0) = 19 м;

4) x(0) = –1 м, y(0) = 19 м; приведены на рис. 1–8.

Заключение

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

Работа выполнена при финансовой поддержке гранта РФФИ № 14-08-00008-а.

Рецензенты:

Никульчев Е.В., д.т.н., профессор, проректор по научной работе, НОУ ВО «Московский технологический институт», г. Москва;

Логинова Е.Ю., д.т.н., профессор кафедры «Электропоезда и локомотивы», ФГОУ ВПО «Московский государственный университет путей сообщения», г. Москва.

Работа поступила в редакцию 04.02.2015.