Генетический алгоритм поиска параметров ПИД-регуляторов системы стабилизации шагающего робота

УДК 004.896:681.5

И.В. Рядчиков1, А.А. Гусев1, С.И. Сеченев1, Е.В. Никульчев2

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

Кубанский государственный университет1, МИРЭА - Российский технологический университет2

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

Ключевые слова: система динамической стабилизации, шагающий робот, обратный маятник, генетический алгоритм, ПИД-регулятор, гироскопическая стабилизация.

Введение

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

Среди огромного числа разнообразных методов глобальной оптимизации [1-3] в настройке ПИД-регуляторов сравнительно большее распространение к настоящему времени получили генетические алгоритмы [4, 5]. Это объясняется их сравнительной простотой и универсальностью постановки задачи для генетического поиска, достаточно высокой степенью защиты данного метода от «зацикливания» в локальном экстремуме, робастностью получающихся решений, а также наличием встроенного решателя генетических алгоритмов во многих математических пакетах. Тем не менее, необходимо отметить и сложности в работе с генетическими алгоритмами: не всегда просто перевести требования к нелинейной системе в запись целевой функции (функции приспособленности) генетического алгоритма; часто необходимы дополнительные ограничения на область поиска параметров во избежание получения решений, приводящих к ошибкам решателя при имитационном моделировании; генетический поиск является ресурсоемким процессом, что, однако, может быть сглажено использованием параллельных вычислений на многоядерных или многопроцессорных системах. Указанные противоречия применения генетических алгоритмов создают спрос на исследование применимости данного подхода к конкретным задачам, поиск подходящих функций приспособленности и наборов параметров генетических операторов, описание и устранение возникающих затруднений применения генетических алгоритмов.

Проектирование шагающих роботов является одним из быстроразвивающихся направлений робототехники [6, 7], что связано с их возможностями по преодолению препятствий и маневренности. В качестве базовой модели объекта управления рассматривается модель обратного маятника [8] как широко используемое модельное приближение стабилизации центра масс шагающего человекоподобного робота. Шаг робота моделируется с помощью отклонения маятника от положения равновесия. Модель обратного маятника может быть дополнена

© Рядчиков И.В., Гусев А.А., Сеченев С.И., Никульчев Е.В., 2019.

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

В статье построен генетический алгоритм поиска параметров двух ПИД-регуляторов, управляющих системой компенсации отклонений корпуса при ходьбе робота. Предложенная функция приспособленности и параметры генетических операторов позволяют найти приемлемое управление за 2 часа параллельной эволюции на 4-ядерном микропроцессоре Intel(R) Core (TM) i7-7700 с тактовой частотой 3601 МГц и 12 ГБ оперативной памяти для хранения популяций решений.

Математическая модель отклонения робота

Исследуемая механическая модель шагающего робота (рис. 1) состоит из балки «а» массой та и длиной 1а, закрепленной на шарнире с коэффициентом вязкого трения сь. На балке «а» закреплен куб «корпус» стороной d. Центр куба находится на конце балки «а». Масса куба тс распределена равномерно. Через центр куба проходит балка «Ь» длиной lb и массой ть перпендикулярная балке «а». По обоим концам балки «Ь» прикреплены гироскопические устройства ГУ1, ГУ2. Массы гироскопических устройств равны и составляют величину тд для одного устройства. Коэффициент вязкого трения в гироскопическом устройстве составляет величину Сд. Отклонение корпуса от положения равновесия происходит перпендикулярно балке «Ь» на величину в. Угол поворота гироскопических устройств ГУ1, ГУ2 составляет величины вд и —вд соответственно. Механическое состояние робота описывается векто-

т

ром обобщенных координат q = (в, вд) .

ГУ 1 ГУ 2

ба/iK^b

корпус

е

балка а

L

Рис. 1. Механическая модель робота

Согласно теореме Гюйгенса-Штейнера, кинетическая энергия отклонения корпуса робота на угол в перпендикулярно балке «Ь» составляет величину:

Тс=\(шс1а2+]с)в2,

где ]с - момент инерции корпуса.

Кинетическая энергия гироскопического устройства составляет величину:

Тд^Шд^^+^д^д+в)2,

где ]д - момент инерции гироскопического устройства. Кинетическая энергия балки «а» составляет:

Та=1Ыаст2+1а)02,

2

2 V' ааст

где ] а - момент инерции балки «а», Iаст- расстояние от шарнира до центра масс балки «а». Кинетическая энергия балки «Ь» составляет:

Ть=12(ть1а2+Ь)в2,

где - момент инерции балки «Ь».

Согласно свойству аддитивности кинетической энергии твердого тела, общая кинетическая энергия робота составит:

Т = Тс + 2Тд+Та + Ть Потенциальная энергия робота составляет величину:

Р = [та1аст + (тс + 2тд + ть)1а]д^в

Лагранжиан робота равен:

Ь = Тс + 2Тд+Та + Тъ - [та1аст +

Введем замены т1ор = тс + 2тд + ть, ]г=]а+]ъ+]с +2]ди выпишем частные производные уравнения (1):

^ = в

^=21д

^ = (та1аст + т^р1а^те

^=0

8вд

Продифференцируем (2) и (3) по времени:

¿О = ё(1г + та1аст2 + mtopla2) + 21двд d

Воспользуемся уравнениями Лагранжа второго рода (4) для вывода уравнений движения робота (5)-(6):

dtXSqJ S4i Tl,

где Ti - обобщенные непотенциальные силы, действующие на робота; qi - обобщенные координаты робота.

eQr + та1аст2 + т,оР1а2) + 2Jg6g -

2] д

Н = const - кинетический момент маховика гироскопического устройства.

Пренебрегая вязким трением в шарнире и в гироскопическом устройстве, считая массы балок незначительными и вводя замену I = Iа,т = тс + 2тд , получим:

» _ mlgsine-Heg

= Jc+ml2

Heg(]c+2]g+ml2)-2]gmlgsine

2]g

вд = ,, г, .

Генетический алгоритм для поиска параметров ПИД-регуляторов

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

Рис. 2. Структура системы стабилизации робота

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

Таблица1

Механические параметры

№ п/п Параметр Значение Единицы измерения

1 а 2 м

2 1а 2,5 м

3 тс 3520 кг

4 Н 9000 Н м с

5 Qin.it 10 градусы

6 Ь 0 с

7 тЯ 227,68 кг

8 Положение равновесия 0 градусы

Генетический алгоритм (рис. 3) - это метод оптимизации на основе эволюционных вычислений, использующий механизмы случайного подбора, комбинирования и вариации искомых параметров, аналогичные естественному отбору в природе [9]. Решение задачи оптимизации представляется в виде генотипа - вектора генов, где каждый ген является битом, числом или другим объектом. При решении нашей задачи генотип состоял из набора параметров регуляторов. В ходе работы генетического алгоритма случайным образом создается набор из 5-генотипов начальной популяции решений Р. Каждому генотипу сопоставляется определенное значение функции приспособленности /, заданной исследователем. На основе значений функции приспособленности отбираются лучшие генотипы и б'^, к которым затем применяются генетические операторы - скрещивание (кроссинговер) и мутация, в результате чего появляется новое поколение решений, для которых процедура повторяется [10]. Процесс останавливается через заданное исследователем число поколений с одинаковым лучшим значением функции приспособленности в поколении, по исчерпании заданного числа поколений, либо времени, отпущенного на генетический поиск [11].

Рис. 3. Блок-схема стандартного генетического алгоритма

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

С использованием инструментального средства для создания генетических алгоритмов ga из набора Global Optimization Toolbox пакета MATLAB R2018a осуществлен поиск решения задачи минимизации функции приспособленности /, отражающей неравенство угла отклонения корпуса робота нулю (N) и немонотонность убывания угла отклонения (М):

f = N + М.

Здесь N = • |0j|; М = R • w2, где R— количество случаев, когда при i > j выполняется 0i > 0j; 0i - угол отклонения для модельного момента ti; w1,w2 - весовые коэффициенты, в данном исследовании оба равные 100.

Исходные данные для расчета функции приспособленности решения получаются из имитационной Simulink-модели с системой динамической стабилизации при ее прогоне с проверяемым генотипом параметров регуляторов в течение 10 с модельного времени. Параметры решателя МАТЬАВ, использованные при имитационном моделировании приведены в табл. 2.

Таблица 2

Параметры решателя MATLAB

№ п/п Название параметра Значение

1 Starttime 0

2 Stoptime 10

3 Type Variable-step

4 Solver ode15s

5 Maxstep size 0.01

6 Min step size 0.00001

7 Initial step size auto

8 Relative tolerance 1e-3

9 Absolute tolerance auto

Выбранные параметры работы генетического алгоритма приведены в табл. 3. Подробное описание вычислительного значения параметров приведено в справочной системе пакета МАТЬАВК2018а.

Таблица 3

Параметры работы генетического алгоритма

№ п/п Название параметра Значение

1 Population type Double vector

2 Creation function Uniform

3 Scaling function Rank

4 Selection function Stochastic uniform

5 Mutation function Gaussian

6 Elite count 0.05*PopulationSize

7 Crossover fraction 0.8

8 Use parallel 1

9 MaxGenerations 150

Спустя 50 поколений генетического отбора (рис. 4) были найдены параметры (табл. 4), соответствовавшие минимуму функции приспособленности 2571,77. Значение функции приспособленности для сгенерированной случайным образом начальной популяции решений составляло 3200.

Таблица4

Найденные коэффициенты регуляторов

Регуляторы P I D N

ПИД-регулятор 1 -0,1628 -0,0439 0,0650 2,3974

ПИД-регулятор 2 99,8108 143,6955 0,9534 40,5466

Динамика корпуса робота с найденными параметрами каскада ПИД-регуляторов показана на рис. 5.

Рис. 4. Процесс работы генетического алгоритма:

Оу - значение функции приспособленности; Ох - порядковый номер поколения; круглые отметки - лучшие (минимальные) значения функции приспособленности в поколении; прямоугольные отметки - средние значения функции приспособленности по всем особям поколения

Рис. 5. Компенсация отклонения корпуса при управлении, найденном генетическим алгоритмом

Для повышения скорости работы генетического алгоритма использовались параллельные вычисления на четырех исполнителях с использованием пакета MATLAB Parallel Computing Toolbox.

Недостатком реализации генетических алгоритмов в среде MATLAB/Simulink является «застревание» решателя на наборах параметров, приводящих к неограниченному росту автоколебаний в системе. Точный расчет таких колебаний требует существенного уменьшения временной продолжительности шага решателя. В некоторых случаях заданная в настройках решателя точность расчетов не может быть достигнута при минимальной заданной длине

шага, что приводит к аварийному завершению работы всего генетического алгоритма. Возможны два способа преодоления указанного недостатка: по первому - область поиска параметров ограничивается с использованием свойства Initial Population Range класса параметров функции ga. Однако применение данного подхода может привести к нахождению локальных минимумов вследствие установленных ограничений. Кроме того, не всегда возможно априорно оценить границы наборов параметров, потенциально могущих привести к затруднениям работы решателя. Вторым способом является обработка исключения Diagnostic Error через обращение к свойству Execution Info. Stop Event класса метаданных текущей симуляции модели. При возникновении такого исключения значение функции приспособленности можно искусственно установить достаточно большим, чтобы генетический алгоритм считал такой набор параметров нежелательным и уходил из области возникновения затруднений.

Заключение

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

Работа выполнена в рамках госзадания Минобрнауки России, проект № 8.2321.2017/4.6.

Библиографический список

1. Coelho, L.S. Tuning of PID controller for an automatic regulator voltage system using chaotic optimization approach. / L.S. Coelho // Chaos, Solitons & Fractals. - 2009. - Vol. 39. - № 4. - P. 1504-1514.

2. Ozana, S. PID Controller Design Based On Global Optimization Technique With Additional Constraints. / S. Ozana, T. Docekal // Journal of Electrical Engineering. - 2016. - Vol. 67, № 3. - P. 160-168.

3. Carotenuto, L. Maximizing performance and robustness of PI and PID controllers by global optimization. / L. Carotenuto, P. Pugliese, Ya. D. Sergeyev // Control and Intelligent Systems. - 2006. - Vol. 34, № 3. - P. 225-235.

4. Mirzal, A. PID Parameters Optimization by Using Genetic Algorithm. / A. Mirzal, Y. Shinichiro, F. Masashi // ISTECS Journal. - 2006. - Vol. 8. - P. 34-43.

5. Jayachitra, A. Genetic Algorithm Based PID Controller Tuning Approach for Continuous Stirred Tank Reactor. / A. Jayachitra, R. Vinodha // Advances in Artificial Intelligence. - 2014. - Vol. 2014. - P. 1-8.

6. Решмин, CA. Оптимальное по быстродействию управление перевернутым маятником в форме-синтеза. / C.A. Решмин, Ф.Л. Черноусько // Известия РАН. Теория и системы управления. - 2006. - № 3. - С. 51-62.

7. Ryadchikov, I. Control and Stability Evaluation of the Bipedal Walking Robot Anywalker. / I. Ryadchikov, S. Sechenev, E. Nikulchev et al. // International Review of Automatic Control. - 2018. -Vol. 11, № 4. - P. 160-165.

8. Савин, С.И. Методы управления движением шагающих внутритрубных роботов. / С.И. Савин, Л.Ю. Ворочаева // Cloudof Science. -2018. - Т. 5, № 1. - C. 163-195.

9. McCall, J. Genetic algorithms for modelling and optimization. / J. McCall // Journal of Computational and Applied Mathematics. - 2005. - Vol. 184, № 1. -P. 205-222.

10. Samakwong, T. PID Controller Design for Electro-hydraulic Servo Valve System with Genetic Algorithm. / T. Samakwong, A. Wudhichai // Procedia Computer Science. - 2016. - Vol. 86. - P. 91-94.

11. Haupt, R.L. Practical Genetic Algorithms. / R.L. Haupt, S.E. Haupt. - 2nd Ed. - Hoboken: John Wiley & Sons Inc., 2004. - 253 p.

Дата поступления в редакцию: 11.01.2019

I.V. Ryadchikov1, A.A. Gusev1, S.I. Sechenev1, E.V. Nikulchev2

GENETIC ALGORITHM FOR SEARCH PID-CONTROLLERS PARAMETERS OF A WALKING ROBOT STABILIZATION

Kuban state university, Krasnodar1, MIREA - Russian technological university2

Purpose: The study investigates the details of implementation of a genetic algorithm for tuning the PID controllers of a gyroscopic dynamic stabilization system for a walking robot. Design/methodology/approach: Inverted pendulum with paired gyroscopic units provides a mechanical model of a stabilization system for a walking robot. Subsequently, the system under control is non-linear. It demands an effective and robust approach to tuning the controllers. Thus, we developed a genetic algorithm in Simulink environment to identify the optimal PID parameters.

Findings: It is possible to obtain quite a good control for the system using the fitness function we propose. The computational difficulties of continuous simulations during the genetic search can be softened using the parallel computations and the approach to handle the solver's exceptions that we suggest.

Research limitations/implications: The present study provides a starting-point for further research in evolutionary tuning the gyroscopic-based stabilization systems of walking robots.

Originality/values: The proposed fitness function and parameters of genetic operators have proven to be useful in tuning the controllers for the gyroscopic stabilization system discussed in the paper. The approach developed in the study can be easily spread out for a wider class of mechanical parameters of the robot and the stabilization systems which use different number of gyroscopic units to stabilize the robot body.

Key words: dynamic stabilization system, walking robot, inverted pendulum, genetic algorithm, PID controller, gyroscopic stabilization.