ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ МЕТОДА СЕТЕВОГО ОПЕРАТОРА В ЗАДАЧЕ МНОГОКРИТЕРИАЛЬНОГО СИНТЕЗА СИСТЕМЫ СТАБИЛИЗАЦИИ ДВУНОГОГО ШАГАЮЩЕГО РОБОТА*
Б.Б. Кулаков, А.С. Жаркова, Д.Э. Казарян
Кафедра кибернетики и мехатроники Российский университет дружбы народов ул. Орджоникидзе, 3, Москва, Россия, 117923
Рассматривается задача стабилизации углового положения двуногого шагающего робота, описываемого моделью двухзвеннгого обратного маятника. Управление ищется в виде обратной связи по вектору состояния. С помощью параллельного генетического алгоритма, использующего метод сетевого оператора, строится множество Парето эффективных решений на пространстве двух функционалов: время стабилизации и норма вектора состояния. В статье приводится результаты численного эксперимента.
Ключевые слова: параллельный генетический алгоритм, многокритериальная оптимизация, сетевой оператор.
Введение. Двухзвенным обратным маятником можно, в частности, упрощенно описать двуногий шагающий робот [1] при решении задачи стабилизации на основе использования его инерционных свойств. Идея управления таким маятником лежит в перераспределении момента импульса поступательного движения во вращательное движение и наоборот. Это позволяет управлять, в частности, знаком и величиной момента силы тяжести и уменьшить момент со стороны опоры, что и является практической целью управления.
Модель объекта управления. Рассмотрим двухзвенный обратный маятник (рис. 1). Оси шарниров параллельны и допускают движение маятника в вертикальной плоскости. Длины стержней lj и l2. Масса стержней распределена по ним равномерно и составляет mj и m2. Управляющее воздействие — угол поворота стержня 1 относительно вертикали ß.
Момент импульса Ko объекта, представленного на рис. 1, определяем из соотношения
Ko = Ko1 + Ko2.
Пусть KOi , KO^ — проекции на ось Oz (на рисунке не показана) моментов
импульса стержней 1 и 2 относительно т. O соответственно. Для стержня 2 получаем [2]
KO2z = а2O ,
m2l2
где J2O = —2----момент инерции стержня 2 относительно т. O.
* Работа выполнена по гранту РФФИ 10-08-00618-а.
Для стержня 1, согласно [2]
К01 = ГС1 ' т1УС1 + КС1 ,
(1)
где К£), гС1, уС1 — главный момент импульса 1-го стержня относительно его центра масс, вектора его положения и скорости центра масс соответственно.
и
_ m1l1
В нашем случае К^ = УПР, где 3Х1 = "^ момент инерции стержня 1 отно-
сительно т. 1.
Раскрывая (1), получаем
К01г = т1 ГС1 Х УС1 + ^11Р = т1
4 2 2
Здесь и далее sa = sin a, са = cos а. Тогда
7-р + l22(a + ^ (а + р )с (а-Р)
+ -
ml
п
12
в.
(
KOz = 0
l
2
m1l;2 + m2 ~2-
+ в m1 \ + m1 ^ (а + в )с
ll
3 1 2
Ч /
где Но) — главный момент внешних сит относительно центра О. Согласно [2] и рис. 1,
г1К N
= I Мо> (^' >) = Мст + м,г + М
(2)
dt
(3)
/=1
где Мст — момент со стороны опорной поверхности. Мст = Кста • а, Кста — постоянный коээфициент стабилизации по углу а.
Момент силы тяжести, согласно рис. 1, определяем из соотношения
МтЯ = Н т1^2 + т2I + $»*1 ^ = яак8а + ФК
к,„
Км
Тогда можно переписать (3) в виде
йК
Ог
йі
= аКста + *аК8а + $К*В + Мвз.
(4)
Дифференцируя по времени соотношение (2), получим:
йК,
Ог
йі
= а
т1+-т~) і2+т1 ^с ^а-в
+
+в
т111 1112 ( О \
~3^ + тх^- с (а-р)
Ка(а >Р)
- т (а 2-в 2 ) (а-Р).
(5)
Кр(а,р)
Сравнивая (4) и (5), получим (6):
а = ^Кв (а,в^^ + Кстаа + К8а*а + Кгв*в +
(6)
Полагаем, что осуществляется кинематическое управление обратным маятником, путем задания желаемого угла вж. Учтем тот факт, что желаемый угол вж поворота стержня 1 (см. рис. 1) будет отличаться от отрабатываемого, или реального вр. Опишем динамику исполнительного механизма, отрабатывающего угол в, колебательным звеном, т.е.
25,
Iер р гр2 вр + гр 2 вж.
(7)
—в К
Т2 вр т
На основании (6), (7) построим модель маятника в пространстве состояний:
Х1 = х2,
1 25 К
Т 2 1 т 2 т
хз = х4,
1
Х2 = ~х1 -— Х2 + 32и,
х, =
т? 1 ї2 11/ \
т1 + Т 112 + т1^Г С (3 - Х1 )
(8)
hh ( ) 1 2^ К )
+ т1_2_с(3 -Х1ИT2Х1 + Tx2 - T1 U) +
ll
+ Кста Х3 + Kga sx3 + Kgß sx1 + ml'±r-
ga
x3 - x1) + w
Здесь x — вектор состояния объекта управления, и — управления,
Т II
x = [Рр Рр а а] , К£а = т1§12 + m2gJ^, К£в = т1&^ и = 1^ ™ = Мвз.
Постановка задачи. Для системы (8) заданы начальные условия
:(0 ) = :
Необходимо найти управление в виде
и = £ ^ ),
которое должно удовлетворять ограничениям
и~ < и < и+ и обеспечивать минимум функционалов
J1=JE xi (f) + E x2 (tfH min,
V 1 i=1 0
J2 = tf ^ min,
(9)
(10)
(11)
(12)
(13)
|г, если р(г)||<е
где ^ — время управления = < , е — малая положительная величина,
[г +, иначе
,+
г — максимальное время процесса управления.
Функционалы описывают минимальные величины текущих и терминальных значений углов и угловых скоростей, а также минимальное время управления.
В работе [3] рассмотрена задача с одним функционалом, управление ищется с помощью аппарата нейронных сетей и модели авторегрессии — скользящего среднего. В работе [4] синтез управления линейной и нелинейной моделью двухзвенного обратного маятника проводится путем минимизации функционала по градиентной схеме первого порядка. В настоящей работе для синтеза управления используем метод сетевого оператора [5—12].
Метод сетевого оператора [5—12] предназначен для записи формулы в наиболее удобном виде для вычисления на компьютере.
Для построения сетевого оператора вводится четыре конечных упорядоченных множества: переменных X = (,...,хр), параметров Q = (,..., дк), унарных операций 01 =((г),..., р№ (г)) и бинарных операций 02 = (%0 (г"'), %1 (zff),..., Ху-1 (',О).
В множестве унарных операций должна обязательно присутствовать тождественная операция р1 (г) = 2. Все бинарные операции должны быть коммутативны Хі (, г") = Хі (г", г), ассоциативны Хі ( (, г"), 2т) = ) (, (( 2т)) и иметь
единичные элементы Хі (еі,2) = Хі (2,еі) = 2, і = 1,^.
Сетевой оператор представляет собой ориентированный граф, который описывает математические выражения. Любому узлу соответствуют элементы из множеств параметров Q или переменных X; любому узлу, не являющемуся источником, соответствует бинарная операция из множества 02; любой дуге графа соответствует унарная операция из множества 01.
Для любого математического выражения можно построить сетевой оператор, вычисления по которому будут давать те же результаты, что и вычисления по математическому выражению.
Для представления сетевого оператора в памяти компьютера используется матрица сетевого оператора ¥ = ^, і, у = 1, Ь, которая имеет верхнетреуголь-
ный вид и строится по матрице смежности графа сетевого оператора. Недиагональные ненулевые элементы указывают номера унарных операций, а диагональные элементы — номера бинарных операций. Для вычислений результата математического выражения по матрице сетевого оператора вводятся векторы номеров
узлов входных переменных Ь = [Ь1... Ьр ], где Ь — номер узла-источника в сетевом операторе, параметров s = [51 ... зЯ ]Т , где 8г- — номер узла-источника в сетевом операторе, с которым связан параметр ді, і = 1, Я , номеров выходных переменных d = [й1 ... йм ]Т.
Для удобства вычислений и хранения промежуточных результатов вводится вектор узлов z = [2Х ... 2Ь ]Т , размерностью Ь, равной количеству узлов сетевого
оператора. При вычислении первоначально задаются значения компонент вектора
(0)
узлов zv ’ =
7(0) _(0)■
¿1 * * * т
Т. Если узел является источником, то в качестве началь-
ного значения устанавливается значение соответствующего элемента из множеств переменных или параметров ^ = х1 е X, I = 1, Р, е Q, I = 1,Я . Осталь-
ные значения узлов являются единичными элементами для соответствующей бинарной операции.
При вычислении рассматриваются ненулевые элементы в матрице на каждой строке. Если ф 0, то модифицируем значения компоненты ^ вектора узлов с помощью соотношения
2У =
ХуД"1), Ру, (2І~Ґ} )), если У я ф 0
_1) если у = 0.
После прохождения всех строк матрицы сетевого оператора результат вычислений будет храниться в компонентах вектора узлов, которые определяются
по номерам выходных переменных г(1), I = 1, М .
Параллельный генетический алгоритм для задачи многокритериального синтеза системы стабилизации нелинейного объекта управления. Поиск матрицы сетевого оператора удобно производить с помощью генетического алгоритма [7]. В связи с широким распространением многоядерных и многопроцессорных систем, а также распределенных вычислительных систем целесообразно применять для задачи синтеза эффективные методы распараллеливания генетических алгоритмов.
Согласно одной из существующих классификаций [13] выберем региональную модель распараллеливания. Генерируем Я = р популяций, где р — количество процессоров (ядер) вычислительной системы, размера п.
В параллельном генетическом алгоритме дополнение к классическим генетическим операциям, таким как отбор, кроссовер, мутация, вводим операцию миграции [14].
Каждая популяция проходит g =
кольцо, количество мигрирующих особей — т =
п „ £
— поколений, причем каждые е8 = —
2 _ _ 8
поколений происходит миграция. Из популяции-отправителя мигрируют лучшие
особи. В популяции-приемнике прибывшие особи заменяют особей с наихудшей
приспособленностью, т.е. если /¿¿ПеЯЯ^^ > /¡Шеяя^к . Топология миграции —
п 8
Схематически параллельный генетический алгоритм применительно к задаче структурного синтеза регулятора нелинейного объекта управления имеет следующий вид.
1. Задана система управления и вид вектора параметров q = [д1^ дк ]Т и вектора вариаций базисного решения w = [н'1...w4]Т. Имеются ограничения на параметры д- < д < д+, I = 1,к. Задаются функционалы качества. Задается число поколений £, число скрещиваемых пар С, длина хромосомы, кодирующей параметры Nр и хромосомы, кодирующей вариации Ыц. Для параметрической хромосомы задается количество бит под целую и дробную части: с и й соответственно. Задаем количество эпох е6, и количество мигрирующих особей т. Задаем количество процессов р. Задаем базисную матрицу ¥0.
2. Генерируем п • р хромосом каждого типа, распределяем их по Я популяциям равномерно.
3. В каждой популяции выполняем начальное вычисление функционалов и, в соответствии с получившимися значениями, вычисляем расстояние каждой хромосомы от множества Парето.
4. Задаем £п = 1 — номер текущего поколения.
5. Для каждой популяции запускается процесс эволюции.
6. Задаем Cn = 1 — номер текущей скрещиваемой пары.
7. Отбираем пару хромосом для скрещивания. Если условие скрещивания не выполняется, то повторяем п. 7.
8. Выполняем скрещивание.
9. В соответствии с заданной вероятностью мутации применяется оператор мутации.
10. Вычисляем значение функционалов для потомков, получившихся при скрещивании. Вычисляем расстояние до множества Парето. Если расстояние до множества Парето меньше, чем у наихудшей хромосомы в популяции, заменяем ее потомком. Повторяем для всех потомков.
11. Если Cn < C, то Cn = Cn +1 и переходим к п. 7.
12. Если в одном из потоков gn mod es = 0 gn mod es = 0, то переходим
к п. 13, иначе переходим к п. 16.
13. Ожидаем, пока все потоки пройдут то же количество поколений, что и поток, инициировавший миграцию.
14. В каждой популяции отбираем m особей с наименьшим расстоянием до множества Парето.
15. Копируем из популяций с номером к в популяции с номером (к + 1)modR
заданное количество особей, заменяя в популяции-приемнике наихудших особей (в случае, если приспособленность прибывших особей выше, чем у наихудших в популяции-приемнике).
16. Возобновляем процесс эволюции: gn = gn +1. Если gn < g, то переходим к п. 6, иначе переходим к п. 17.
17. Объединяем все популяции.
18. Для объединенной популяции строим множество Парето.
19. Завершение параллельного генетического алгоритма.
Выбираем из множества Парето решение j и получаем соответствующие ему
матрицу сетевого оператора ¥j и параметры q j =
Численный эксперимент. Для проведения численного эксперимента были
п
использованы следующие параметры модели: x1 (0) = — рад, х2 (0) = 0 рад/с,
п
х3 (0) = — рад, х4 (0) = 0 рад/с. Параметры генетического алгоритма приведены в таблице.
Таблица
Параметры генетического алгоритма
■ -~\Т
q{...qk
Параметр ГА Значение параметра
Размер популяции, особей 256
Длина структурной хромосомы, бит 12
Количество параметров 4
Длина параметрической хромосомы, бит 12
Длина целой части параметрической хромосомы, бит 4
Длина дробной части параметрической хромосомы, бит 8
Количество скрещивающихся пар 128
Окончание
Параметр ГА Значение параметра
Число поколений 48
Вероятность мутации, % 70%
Параметр отбора 0,4
Терминальное время моделирования ^ = 20. Количество ядер р = 4.
Алгоритм был реализован на языке С++. Результаты моделирования приведены на рис. 2—5.
20 f
20 t
20 f
Рис. 2. Зависимость углов а и ß и скоростей их изменения а, ß от времени
20 f
5 10 15
Рис. 3. Полученный закон управления
20 Ґ
х10~
□
□дш □ 1111 1 □
3,4 3,6 3,8 4 4,2 4,4 4,6
Рис. 4. Парето-область решений
4,8
-0,05 0 0,05 0,1 0,15 0,2 0,25 0,3
Рис. 5. Фазовые портреты параметров системы
5 1)2
0,3 р
0,35 «
Из множества Парето было выбрано одно решение, дающее значения функционалов
| J1 = 4,718-10-8,
[ J2 = 4,67.
(14)
Вектор параметров, соответствующий этому решению:
Ч = [13,7852,9,58594, 7,76562, 0,683594] . (15)
Решение соответствует следующей матрице сетевого оператора
0 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
которая соответствует следующему закону управления
y = -xlql -x2q2 + x3q3 + x4q4. (16)
Заключение. В результате применения параллельного алгоритма для синтеза системы стабилизации двуногого шагающего робота методом сетевого оператора была получена нелинейный закон управления по координатам состояния, который удовлетворяет заданному качеству.
ЛИТЕРАТУРА
[1] Huang Q., Nakamura Y. Sensory reflex control for humanoid walking // IEEE Transaction on robotics. — 2005. — Vol. 21. — № 5. — P. 977—984.
[2] Курс теоретической механики / Под ред. К.С. Колесникова. — М.: МГТУ им. Н.Э. Баумана, 2000.
[3] Chetouane F., Darenfed S. Neural network NARMA control of a Gyroscopic inverted pendulum // Engineering letters, 16:3, EL_16_3_01
[4] Крутько П.Д., Палош В.Е. Стабилизация состояния равновесия двойного маятника, нагруженного следящей и консервативной силами // Известия РАН. Теория и системы управления. — 2009. — № 2. — С. 3—17.
[5] Дивеев А.И., Софронова Е.А. Метод генетического программирования для автоматического подбора формул в задаче структурного синтеза системы управления // Труды института Системного анализа РАН. Динамика неоднородных систем / Под ред. Ю.С. Попкова. — М.: ИСА РАН: КомКнига, 2006. — Вып. 10(1). — С. 14—26.
[6] Дивеев А.И., Софронова Е.А. Метод построения функциональных зависимостей для решения задачи синтеза оптимального управления // Труды института Системного анализа РАН. Динамика неоднородных систем / Под ред. Ю.С. Попкова. — М.: ИСА РАН: Ком-Книга, 2007. — Вып. 31(2). — С. 14—27.
[7] Дивеев А.И., Софронова Е.А. Генетический алгоритм для многокритериального структурно-параметрического синтеза // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2007. — № 4. — С. 126—131.
[8] Diveyev A.I., Sofronova E.A. Application of network operator method for synthesis of optimal structure and parameters of automatic control system // Proceedings of 17-th IFAC World Congress, Seoul, 05.07.2008—12.07.2008. — P. 6106—6113.
[9] Дивеев А.И., Северцев Н.А., Софронова Е.А. Синтез системы управления метеорологической ракетой методом генетического программирования // Проблемы машиностроения и надежности машин. — 2008. — № 5. — С. 104—108.
[10] Дивеев А.И., Северцев Н.А. Метод сетевого оператора для синтеза системы управления спуском космического аппарата при неопределенных начальных условиях // Проблемы машиностроения и надежности машин. — 2009. — № 3. — С. 85—91.
[11] Дивеев А.И., Крылова М.В., Софронова Е.А. Метод генетического программирования для многокритериального структурно-параметрического синтеза систем автоматического управления // Вопросы теории безопасности и устойчивости систем. — М.: ВЦ РАН, 2008. — Вып. 10. — С. 93—100.
[12] Дивеев А.И., Пупков К.А., Софронова Е.А. Повышение качества систем управления на основе многокритериального синтеза методом сетевого оператора // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2009. — № 4. — С. 1—8.
[13] Schwehm M. Parallel Population Models for Genetic Algorithms // Dissertation, Universität Erlangen-Nürnberg, Arbeitsberichte des IMMD Band 30 Nummer 1, 1997.
[14] Nowostawski M., Poli R. Parallel Genetic Algorithm Taxonomy // Knowledge-based Intelligent Information Engineering Systems, KES’99, Proceedings of International Conference, IEEE. — 1999. — P. 88—92.
THE PARALLEL REALIZATION OF GENETIC ALGORITHM ON THE BASE OF NETWORK OPERATOR METHOD FOR THE TASK OF TWO-TIER INVERTED PENDULUM STABILISATION PROBLEM
B.B. Kulakov, K.E. Kazaryan, A.S. Zharkova
Cybernetic and mechatronics departament Peoples’ Friendship University of Russia Ordjonikidze str., 3, Moscow, Russia, 117923
It is considered a problem of two-tired inverted pendulum stabilization. Pareto-region for two functional is found by using network operator and parallel realization of genetic algorithm. Every point of that region gives a solution — state vector feedback control function. It is presented simulation results for one point of Pareto-region.
Key words: parallel genetic algorithm, multiobjective optimization, network operator.