Синтез системы пространственной стабилизации мобильного робота на основе обучения методом символьной регрессии

Обложка

Цитировать

Полный текст

Аннотация

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

Полный текст

Введение Синтез системы управления - важнейшая задача в области теории управления. Ее математическая постановка не имеет сегодня никаких общих аналитических или численных методов решения. В результате решения этой задачи получаем математическое выражение для функции управления. Реализация этой функции на бортовом процессоре объекта управления представляет собой блок управления в обратной связи, который по сигналам с датчиков, определяющих состояние объекта управления, вырабатывает управляющие воздействия на объект управления с целью решения поставленной перед объектом задачи. Все остальные задачи управления, а именно: оптимального управления, идентификации, фильтрации, навигации и т. п. - являются в общем случае подзадачами задачи синтеза управления. На заре создания теории управления в шестидесятые годы прошлого столетия при исследовании математической постановки задачи оптимального управления Р. Беллманом была сформулирована задача синтеза управления и выведено уравнение Беллмана [1]. Уравнение представляет собой уравнение в частных производных. Решением этого уравнения является функция Беллмана, одним из аргументов, которой является вектор управления. Нахождение управления, обеспечивающего максимум функции Беллмана, является решением задачи синтеза. Заметим, что уравнения в частных производных намного сложнее обыкновенных дифференциальных уравнений и в общем случае практически никогда не имеют общего решения. Беллманом была предложена численная процедура нахождения решения в виде метода динамического программирования [2; 3]. В результате применения этой процедуры для огромного количества численных значений векторов состояний получаем огромное количество векторов управлений, при этом не получаем никакой аналитической зависимости управления от состояния. Другие попытки решать уравнение Беллмана заключаются в том, чтобы найти особые случаи и для них получить аналитическую формулу для функции Беллмана. К таким случаям относятся линейные системы управления с квадратичным функционалом качества. Предложено в этом случае искать управление в виде линейной зависимости от вектора координат пространства состояний. Далее было доказано, что такое представление является оптимальным решением. Метод получил название АКОР (аналитическое конструирование оптимальных регуляторов) [4]. Метод работает только для узкого класса задач. В то же время было решено полностью несколько задач синтеза управления на основе принципа максимума Понтрягина [5]. Это удалось сделать, так как были выбраны несложные модели объектов управления, в основном второго порядка, и были найдены общие решения для дифференциальных уравнений объекта управления и сопряженных переменных. При этом решалась задача быстродействия. Далее на основе построенных решений из разных начальных условий были определены точки переключения управления. Этот подход не является универсальным, но при применении этого подхода В.Г. Болтянским [6] была сформулирована задача общего синтеза управления, которая является актуальной математической задачей до настоящего времени. Наиболее известным аналитическим методом решения задачи синтеза управления является метод Backstepping integrator, который не имеет в русском языке эквивалентного перевода, иногда его называют «обратный шаг интегратора», что не совсем соответствует английскому названию и поэтому оно не утвердилось среди российских специалистов в области управления. Метод был разработан в 1992 г. Петаром Кокотовичем [7]. Суть этого метода заключается в том, чтобы на основе анализа правых частей дифференциальных уравнений включать в функцию управления некоторые нелинейности, чтобы комп енсировать их и получить для замкнутой системы управления знакопостоянную функцию Ляпунова, например с четными степенями компонент вектора состояний, причем с одним и тем же знаком. Метод реализуется вручную исследователем, зависит от модели объекта управления и особенно хорошо работает для каскадных систем, в которых одни координаты вектора состояния являются управлением для других координат, например, некоторые воздушные летательные аппараты угловым положением управляют пространственным перемещением. Применение этого метода эффективно для систем невысокого порядка. В русскоязычной литературе популярен метод аналитического конструирования агрегированных регуляторов (АКАР), разработанный на рубеже веков Колесниковым А.А. старшим [8], профессором Таганрогского радиотехнического института. Метод состоит в том, что вводятся агрегированные переменные, которые описывают цель управления, например, терминальное состояние. Эти переменные вводятся в функционал и далее, при составлении уравнения Беллмана, по ним берется производная по времени. При аналитическом вычислении производных в агрегированные переменные попадают правые части модели объекта управления. Таким образом, агрегированные переменные начинают зависеть от вектора управления. Далее получаем систему нелинейных уравнений, количество которых практически всегда равно размерности вектора состояний. В эти уравнения входит вектор управления. Разрешив эти уравнения относительно вектора управления, получаем функцию управления как функцию координат пространства состояний. Существует несколько научных работ, показывающих, что метод АКАР эффективнее бэкстеппинга (backstepping). Заметим, что, во-первых, вектор управления, как правило, имеет размерность меньше, чем вектор состояния, поэтому у системы нелинейных уравнений много решений относительно управления. Во-вторых, нет строгого доказательства оптимальности полученных решений. В основном это работает только для терминальных задач. В-третьих, как и бэкстеппинг, это ручной метод, который не поддается машинной автоматизации. Сегодня задачу синтеза управления решают специалисты вручную. Они по модели определяют каналы управления, т. е. определяют, какие компоненты вектора управления влияют на компоненты вектора состояния. Далее в эти каналы вставляются регуляторы, чаще всего ПИД-регулятор или какой-либо другой регулятор, даже возможно нелинейный. Затем с помощью вычислительной машины находятся параметры этих регуляторов. Этот метод называется техническим. С помощью этого метода построены сложные системы управления ракетами, самолетами и другими сложными объектами. В настоящий период этот метод применяется и для роботов, но это направление абсолютно бесперспективно. Ранее системы автоматического управления использовались только в ракетах и автопилотах самолетов и подводных лодок. Сейчас появились роботы, причем количество этих роботов с учетом аддитивных технологий с каждым годом нарастает катастрофически, и применение технических методов создания систем автоматического управления для них является основным препятствием развития и внедрения. Написать вручную программу системы управления для роботов становится крайне сложной задачей. Например, сколько операторов будет содержать программа управления роботом, который имитирует действия мухи? Муха управляет сложным движением крыльев, которое позволяет ей висеть неподвижно в воздухе, она может двигаться по вертикальной поверхности и даже с отрицательным наклоном. Далее муха видит опасности и совершает сложные движения чтобы не быть пойманной. При этом как обычное животное она ищет корм и возможность размножения. При несложной, самой оптимистической оценке система управления таким объектом должна содержать более миллиона операторов программирования. Наверное, написание такой программы возможно крупным коллективом программистов. Но здесь, и при создании еще более сложных систем управления очевидна необходимость автоматизации процесса синтеза системы управления. В конце XX в. в Стэнфордском университете ученик Джона Холланда, автора генетического алгоритма, профессор Джон Коза разработал метод генетического программирования [9]. Этот метод был предназначен для решения задачи автоматического написания программ. Суть этого метода заключалась в том, что программа записывалась в универсальной форме в виде последовательности префиксных операторов. Любое действие программы описывалось в виде оператора и следующих за ним операндов, среди которых могли быть другие операторы. В результате вся программа схематически изображалась в виде дерева. Для поиска нужного дерева Дж. Коза применил генетический алгоритм. Для этого он изменил основную операцию генетического алгоритма, операцию скрещивания. В генетическом программировании скрещивание происходит в виде обмена поддеревьев, что совсем не соответствует скрещиванию генов живых организмов. Очевидно, что если машина может писать программу, то она может и искать математическое выражение для формулы. С начала 2000-х гг. эта технология развивается для решения задачи синтеза управления [10; 11]. Метод генетического программирования обладает определенными недостатками, среди которых, например, разные коды деревьев имеют разную длину, при этом эти длины меняются после операции скрещивания. Сегодня существует более десяти подобных методов [12], которые называются методами символьной регрессии и в отличие от метода генетического программирования не имеют этих вычислительных недостатков. Суть работы всех методов состоит в том, что определенным методом кодируются возможные решения, в случае задачи синтеза это математические выражения для функции управления. Затем разрабатывается операция скрещивания для кодов и применяется генетический алгоритм с этой операцией скрещивания для поиска оптимального математического выражения на пространстве кодов. В 2017 г. появилась монография [13], в которой авторы, по их мнению, впервые, естественно без ссылок на российских ученых, которые применяют эти методы более десяти лет, предложили использовать метод генетического программирования для синтеза управления, назвав его методом машинного обучения управления. Кстати, в монографии не приведено ни одного примера решения задачи синтеза методом генетического программирования, но авторы были так вдохновлены открытием, что тут же выложили в открытом доступе курс по машинному обучению управления из сорока одной лекции для неподготовленных слушателей. В настоящей работе показано применение методов символьной регрессии, в частности метода сетевого оператора и метода вариационного декартова генетического программирования для решения задачи синтеза системы стабилизации мобильным роботом. 1. Общая задача синтеза управления В задаче по математической модели объекта управления, заданным ограничениям на управление, заданному множеству начальных условий, заданным терминальным условиям, заданному критерию качества в виде интегрального функционала, необходимо найти функцию управления, аргументами которой являются компоненты вектора состояния объекта управления. Если функцию подставить в правые части дифференциальных уравнений, то любое частное решение полученной системы уравнений из начального условия из заданной области начальных условий достигнет заданного терминального состояния с оптимальным значением критерия качества. Приведем математическую формулировку общей задачи синтеза управления. Задана математическая модель объекта управления x f x u& = ( , ) , (1) где x - вектор состояния объекта управления; x∈¡n; u - вектор управления, u∈ ⊆U ¡m; U - компактное множество, m n≤ . Задана область начальных значений X0 ⊆¡n . Заданы терминальные условия (2) x(t f ) =x f ., (3) где t f - время достижения терминальных условий, не задано, но ограничено. Задан критерий качества t f J f ( , )dt → min . (4) u∈U Необходимо найти управление в форме u h x= ( )∈U. (5) Если подставить найденную функцию управления (5) в математическую модель объекта (1), то полученная система дифференциальных уравнений x f x h x& = ( , ( )) (6) будет иметь частное решение x x(t, 0) из любого начального состояния из области (2) x0∈X0, которое достигнет терминального условия (3) x(t f ,x0) =x f ., (7) с оптимальным значением критерия качества (4) t f J( ( ))h x f ( (x x h x xt, 0), ( ( ,t 0)))dt = min . (8) h x( )∈U Для решения задачи используем численные методы символьной регрессии [12]. Методы кодируют математическое выражение в форме специального кода и осуществляют поиск специальным генетическим алгоритмом на пространстве кодов. Очевидно, что при машинном поиске решения проверить всю непрерывную область начальных условий (2) невозможно, поэтому заменяем ее на конечное множество точек начальных условий. X0 ={x0,1,K,x0,K}⊆¡n . (9) При численном решении точность попадания в терминальные условия (3) является дополнительным критерием качества, поэтому включим его в критерий качества (4) с весовым коэффициентом. В результате критерий качества для численного решения методом символьной регрессии имеет следующий вид: K t f i, J1 =∑ ∫ f0( (x xt, 0,i ), ( ( ,h x xt 0,i )))dt + i=1  0  + p→ min . (10)  h x( )∈U  где p1 - весовой коэффициент, ε и t+ - заданные положительные, величины. 2. Методы символьной регрессии Численные методы символьной регрессии позволяют решать задачи синтеза управления. Поиск решения осуществляется на пространстве кодов специальным генетическим алгоритмом. Приведем краткие описание наиболее эффективных методов символьной регрессии для решения задачи синтеза управления, метода сетевого оператора и метода вариационного декартова генетического программирования. Более подробно с этими и другими методами символьной регрессии можно ознакомиться в монографии [12]. 2.1. Метод сетевого оператора Метод сетевого оператора кодирует математическое выражение в виде ориентированного графа [14]. Метод использует только функции с одним и двумя аргументами, причем функции с двумя аргументами должны быть ассоциативны, коммутативны и иметь единичный элемент. В ориентированном графе функции с одним аргументом связаны с дугами графа, функции с двумя аргументами связаны с узлами графа, аргументы математического выражения связаны с узлами источниками графа. Рассмотрим пример кодирования. Пусть задано математическое выражение , (12) где q1, q2 - постоянные параметры математического выражения, которые также ищутся вместе со структурой формулы, x1, x2 - переменные. Для кодирования математического выражения зададим следующие множества: - множество аргументов математического выражения F0 ={x x q q1 2 1 2, , , }, (13) - множество функций с одним аргументом F1 ={f1,1( )z = z f, 1,2( )z =-z f, 1,3( )z = = sin( ),z f1,4( )z = cos( ),z f1,5( )z = exp( )}z , (14) - множество функций с двумя аргументами F2 ={f2,1(z z1, 2) = +z1 + z2, f2,2(z z1, 2) = z z1 2} . (15) В индексах обозначения функций первым индексом указывается число аргументов, вторым индексом - номер функции. Ориентированный граф сетевого оператора для данного математического выражения приведен на рис. 1. Рис. 1. Граф сетевого оператора математического выражения Figure 1. Graph of the network operator for a mathematical expression На графе цифры в узлах графа обозначают номер функции с двумя аргументами, цифры возле дуг графа указывают на номер функции с одним аргументом, цифры в верхних частях узлов графа - это номер узла. Если пронумеровать граф так, чтобы номер узла, откуда дуга выходит, был меньше номера узла, куда дуга входит, а это всегда можно сделать в графе без циклов, то матрица смежности графа будет иметь верхний треугольный вид. Для хранения графа в памяти компьютера используется матрица сетевого оператора. Эта матрица строится по матрице смежности графа с заменой единиц на номера функций с одним аргументом и добавлением номеров функций с двумя аргументами в соответствующую номеру узла строку на диагональ матрицы. Матрица сетевого оператора для рассматриваемого математического выражения имеет следующий вид: (16) 2.2. Метод вариационного декартова генетического программирования Метод вариационного декартова генетического программирования является модификацией метода декартова генетического программирования [15] с использованием в нем принципа малых вариаций базисного решения [16]. Для кодирования математического выражения этим методом используются множество аргументов и множество всех примитивных функций. Кодирование представляет собой последовательное описание вызовов функций. Для описания вызова функции используется целочисленный вектор. Первая компонента вектора указывает на номер функции, остальные компоненты - на номер аргумента, после вычисления функции ее результат добавляется к множеству аргументов и поэтому он тоже может быть записан в качестве аргумента последующих вызовов. Рассмотрим пример кодирования математического выражения (12). Задаем расширяемое при вычислении множество аргументов F0 = ={a1 x a1 2, = x a2 3, = q a1 4, = q2}. (17) Определяем объединенное множество необходимых функций F1 ={f z1( ) = z f, 2( )z =-z f, 3( )z = = sin( ),z f4( )z = cos( ),z f5( )z = exp( ),z f6 1 2(z z, ) = +z1 z2 7 1 2, f (z z, ) = z z1 2}. (18) Код декартова генетического программирования для математического выражения (12) имеет следующий вид:                7 7 2 5 4 6 3 2  D=               1 , 2 , 6 , 7 , 5 , 8 , 10 , 11 . (19)                               4 4 1 2 3 9 4 3  В примере первый вектор колирует x q1 1. Первая компонента 7 обозначает функцию умножения, 1 обозначает элемент из множества аргументов, это x1 , 2 обозначает q1 . Результат вычислений x q1 1 добавляется ко множеству аргументов в качестве пятого аргумента. 3. Вычислительный эксперимент Рассмотрим пример решения задачи синтеза системы пространственной стабилизации мобильного робота. Математическая модель объекта управления имеет следующий вид: На управление наложены ограничения -10 ≤ ≤ui 10 , i =1,2. (21) Заданы тридцать начальных значений Задано одно терминальное условие x f =[0 0 0]T . (23) Задан функционал качества в виде (10), (11), в котором K = 30, t+ =1.5 c, ε = 0.01. Метод сетевого оператора нашел следующее математическое выражение: Графики моделирования объекта управления (20) с найденной функцией управления (24) - (26) для восьми начальных условий x0,1 , x0,3 , x0,13 , x0,15 , x0,16 , x0,18, x0,28, x0,30 приведены на рис. 2. Рис. 2. Траектории движения робота из восьми начальных условий для управления (24) - (26) Figure 2. Robot trajectories from eight initial conditions at the control (24) - (26) q1 =15.3283 q2 =10.9794. Графики моделирования объекта управления (20) с найденной функцией управления (27)-(29) для тех же восьми начальных условий x0,1, x0,3, x0,13, x0,15, x0,16, x0,18, x0,28, x0,30 приведены на рис. 3. Рис. 3. Траектории движения робота из восьми начальных условий для управления (27)-(29) Figure 3. Robot trajectories from eight initial conditions at the control (27) - (29) Заключение В работе представлен подход к решению задачи синтеза управления на основе обучения методом символьной регрессии. Приведено краткое описание двух методов символьной регрессии и представлено решение этими методами прикладной задачи синтеза системы пространственной стабилизации мобильного робота.

×

Об авторах

Асхат Ибрагимович Дивеев

Федеральный исследовательский центр «Информатика и управление» Российской академии наук

Автор, ответственный за переписку.
Email: aidiveev@mail.ru
SPIN-код: 5726-6572

главный научный сотрудник, доктор технических наук, профессор

Российская Федерация, 119333, Москва, ул. Вавилова, д. 44/2

Недер Хаир Мендес Флорес

Российский университет дружбы народов

Email: nederjair@gmail.com

аспирант департамента механики и мехатроники , инженерная академия

Российская Федерация, 117198, Москва, ул. Миклухо-Маклая, д. 6

Список литературы

  1. Bellman R., Glickberg I., Gross O. Some Aspects of the Mathematical Theory of Control Processes. Rand Corporation. Santa Monica, California, 1958.
  2. Bellman R., Kalaba R. Dynamic Programming and Modern Control Theory. New York: London Academic Press, 1966.
  3. Bellman R.E., Dreyfus S.E. Applied Dynamic Programming. Princeton, New Jersey: Princeton University Press, 1962.
  4. Летов А.М. Аналитическое конструирование регуляторов. I // Автоматика и телемеханика. 1960. № 21 (4). С. 436-441.
  5. Понтрягин Л.С., Болтянский В.Г., Гамкрелидзе Р.В., Мищенко Е.Ф. Математическая теория оптимальных процессов. 4-е изд. М.: Наука, Главное издательство физико-математической литературы, 1983. 392 с.
  6. Boltyanskii V.G. Mathematical Methods of Optimal Control. Holt, Rinehart & Winston in New York, 1971. 272 p.
  7. Khalil H.K. Nonlinear Systems. New York: Prentice Hall, 2002.
  8. Колесников А.А., Колесников А.А., Кузьменко А.А. Метод АКАР и теория адаптивного управления в задачах синтеза нелинейных систем управления // Мехатроника, автоматизация, управление. 2017. № 18 (9). С. 579-589. doi: 10.17587/mau.18.579-589
  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. Diveev A.I., Sofronova E.A. Numerical method of network operator for multiobjective synthesis of optimal control system // Proceedings of Seventh International Conference on Control and Automation (ICCA’09) Christchurch, New Zealand, December 9-11, 2009. P. 701-708.
  11. Дивеев А.И. Численный метод сетевого оператора для синтеза системы управления с неопределенными начальными значениями // Известия РАН. Теория и системы управления. 2012. № 2. С. 63-78.
  12. Дивеев А.И. Численные методы решения задачи синтеза управления. М.: Изд-во РУДН, 2019. 192 с.
  13. Duriez T., Brunton S.L., Noak B.R. Machine Learning Control - Taming Nonlinear Dynamics and Turbulence. Part of the Fluid Mechanics and Its Applications book series (FMIA, vol. 116). Springer, 2017. 211 p. doi: 10.1007/978-3-319-40624-4
  14. Дивеев А.И. Метод сетевого оператора. М.: Изд-во ВЦ РАН, 2010. 178 с.
  15. Miller J., Thomas P., Cartesian Genetic Programming. Proceedings EuroGP’ 200R. 3-rd European Conference genetic Programming. R. Poly et al. (eds.) Edinburgh, Scotland. Vol. 1802. Berlin: Springer-Verlag, 2000. P. 121-132. doi: 10.1007/978-3-540-46239-2_9
  16. Diveev A. Small Variations of Basic Solution Method for Non-numerical Optimization // IfacPapers-OnLine. 2015. Vol. 48. Is. 25. P. 28-33. doi: 10.1016/j.ifacol.2015.11.054

© Дивеев А.И., Мендес Флорес Н.Х., 2021

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах