Научный журнал
Фундаментальные исследования
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,252

ПРИМЕНЕНИЕ МЕТОДА ВАРИАЦИОННОГО АНАЛИТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ДЛЯ СИНТЕЗА УПРАВЛЕНИЯ ЛЕТАЮЩИМ РОБОТОМ

Дивеев А.И. 1 Конырбаев Н.Б. 2
1 ФБГУН «Вычислительный центр им. А.А. Дородницына» Российской академии наук
2 ФГАОУ ВО «Российский университет дружбы народов»
В статье рассматривается применение метода вариационного аналитического программирования к решению задачи синтеза системы управления летающим роботом. В задаче необходимо найти управление в виде функции от состояния объекта управления. Полученная синтезирующая функция должна обеспечить вычисление управления для движения летающего робота типа квадрокоптер по пространственной траектории, заданной в виде набора точек. В качестве оценок управления используются критерии суммарной ошибки по отклонению от заданной точки и время движения по траектории. Для решения задачи синтеза используется метод вариационного аналитического программирования, который построен на основе относительно нового метода символьной регрессии, метода аналитического программирования и принципа малых вариаций базисного решения, который используется при эволюционном поиске оптимального возможного решения.
синтез системы управления
метод аналитического программирования
летающий робот
1. Атиенсия Вильягомес Х.М., Дивеев А.И. Метод сетевого оператора для синтеза интеллектуальной системы управления динамическим объектом // Электронный журнал «Cloud of Science». – 2014. – Т. 1. – № 2. 1. – C. 191–198.
2. Атиенсия Вильягомес Х.М., Дивеев А.И.Численный метод синтеза логико-функционального управления динамическим объектом // Современные проблемы науки и образования. – 2012. – № 3 URL: www.science-education.ru/103-6530.
3. Дивеев А.И., Конырбаев Н.Б. Вычислительный метод вариационного аналитического программирования для синтеза системы управления // Современные проблемы науки и образования. – 2014. – № 2; URL: http://www.science-education.ru/116-12401.
4. Дивеев А.И., Конырбаев Н.Б. Метод вариационного аналитического программирования для синтеза систем управления // Труды одиннадцатого международного симпозиума Интеллектуальные системы INTELS’2014 под ред. К.А. Пупкова. – Москва. – 30 июня-04 июля. – 2014. – С. 78–80.
5. Дивеев А.И., Конырбаев Н.Б. Метод вариационного аналитического программирования для решения проблемы синтеза системы управления // Труды Международного симпозиума Надежность и качество; под ред. Н.К. Юркова. – Пенза – 26 мая – 01 июня. – 2014. – Т. 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. P. 169–174.
7. Bourmistrova A., Khantsis S. Control System Design Optimisation via Genetic Programming in Proc. of IEEE Congress on Evolutionary Computation, Singapore, 2007, P. 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. P. 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, P. 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, № 9. P. 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.


Библиографическая ссылка

Дивеев А.И., Конырбаев Н.Б. ПРИМЕНЕНИЕ МЕТОДА ВАРИАЦИОННОГО АНАЛИТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ДЛЯ СИНТЕЗА УПРАВЛЕНИЯ ЛЕТАЮЩИМ РОБОТОМ // Фундаментальные исследования. – 2015. – № 3. – С. 51-57;
URL: https://fundamental-research.ru/ru/article/view?id=37083 (дата обращения: 23.09.2017).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.094