Научная статья на тему 'Параллельный алгоритм метода сетевого оператора в задаче многокритериального синтеза системы стабилизации двуногого шагающего робота'

Параллельный алгоритм метода сетевого оператора в задаче многокритериального синтеза системы стабилизации двуногого шагающего робота Текст научной статьи по специальности «Математика»

CC BY
91
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ / СЕТЕВОЙ ОПЕРАТОР / PARALLEL GENETIC ALGORITHM / MULTIOBJECTIVE OPTIMIZATION / NETWORK OPERATOR

Аннотация научной статьи по математике, автор научной работы — Кулаков Борис Борисович, Жаркова Анастасия Сергеевна, Казарян Давид Эдуардович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Кулаков Борис Борисович, Жаркова Анастасия Сергеевна, Казарян Давид Эдуардович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The parallel realization of genetic algorithm on the base of network operator method for the task of two-tier inverted pendulum stabilisation Problem

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.

Текст научной работы на тему «Параллельный алгоритм метода сетевого оператора в задаче многокритериального синтеза системы стабилизации двуногого шагающего робота»

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

Б.Б. Кулаков, А.С. Жаркова, Д.Э. Казарян

Кафедра кибернетики и мехатроники Российский университет дружбы народов ул. Орджоникидзе, 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 — вектор состояния объекта управления, и — управления,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Т 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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Окончание

Параметр ГА Значение параметра

Число поколений 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.

i Надоели баннеры? Вы всегда можете отключить рекламу.