Научная статья на тему 'САМОНАСТРАИВАЮЩИЙСЯ РЕГУЛЯТОР В СРЕДЕ IntelligentPad'

САМОНАСТРАИВАЮЩИЙСЯ РЕГУЛЯТОР В СРЕДЕ IntelligentPad Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бодянский Евгений Владимирович, Попов Сергей Витальевич, Руденко Олег Григорьевич, Танака Юзуру, Штефан Андреас

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бодянский Евгений Владимирович, Попов Сергей Витальевич, Руденко Олег Григорьевич, Танака Юзуру, Штефан Андреас

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

A self-tuning controller in the IntelligentPad environment

This article addresses implementation of the real-time control algorithms on the IntelligentPad platform. A selftuning controller is developed. The controller was tested in a specially designed simulation environment and showed good performance controlling a non-stationary dynamic system in presence of significant stochastic disturbance.

Текст научной работы на тему «САМОНАСТРАИВАЮЩИЙСЯ РЕГУЛЯТОР В СРЕДЕ IntelligentPad»

УДК 681.513

САМОНАСТРАИВАЮЩИЙСЯ РЕГУЛЯТОР В СРЕДЕ IntelligentPad

БОДЯНСКИЙЕ.В., РУДЕНКО О.Г., ТАНАКА Ю, ШТЕФАН А, КОЛОДЯЖНЫЙ В.В, ПОПОВ С.В.

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

Введение

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

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

На наш взгляд, исключить описанные трудности при проведении имитационного моделирования систем, включая системы реального времени, можно, используя в качестве платформы для реализации среду визуального создания приложений IntelligentPad [ 1 - 5 ].

1. Описание платформы IntelligentPad

Приложение в среде IntelligentPad, разработанной специалистами Meme Media Laboratory университета Хоккайдо (Саппоро, Япония), представляет собой набор взаимосвязанных функциональных единиц, называемых компонентами (pads), имеющих визуальное представление в виде блоков прямоугольной формы. Компоненты являются функционально завершенными независимыми модулями. Это могут быть и простейшие элементы ввода, и отображения чисел или строк, и сложные средства доступа к базам данных — степень функциональной нагрузки не является определяющим фактором. Компоненты имеют стандартизированный интерфейс, позволяющий легко соединять их между

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

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

Новые компоненты создаются путем изменения и композиции существующих или специальными средствами IntelligentPad, позволяющими использовать фрагменты кода на С или BASIC. Более сложные компоненты могут быть разработаны внешними средствами с использованием универсальных языков программирования. Таким образом, это позволяет преодолевать барьер исходной функциональной ограниченности при создании специализированных систем имитационного моделирования, а также делает возможным использование собственных способов отображения информации и работы с внешними данными. Кроме того, существует специализированный компонент, позволяющий применять в системе элементы управления ActiveX. Это дает возможность использовать широкие возможности существующих библиотек элементов ActiveX, включая такие мощные средства, как доступ в Internet непосредственно из моделируемой системы.

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

РИ, 2000, № 4

65

Еще одной уникальной особенностью IntelligentPad является отсутствие разграничения режимов разработки (design-time) и выполнения (run-time): в процессе создания приложения компоненты уже являются активными, т.е. любое изменение свойств компонента немедленно воспринимается им самим и другими связанными с ним компонентами. Это свойство становится незаменимым при создании систем имитационного моделирования реального времени.

Указанные особенности позволяют эффективно использовать IntelligentPad для решения самых различных задач. Механизмы асинхронного выполнения, простота реализации вычислительных алгоритмов с помощью встроенных языков программирования, высокая производительность и устойчивость работы, низкие требования к объему оперативной памяти обеспечивают более удобные возможности моделирования систем, функционирующих в реальном времени, по сравнению с популярной системой MATLAB / SIMULINK.

Таким образом, представляется перспективным, а иногда и единственно возможным, использование системы IntelligentPad для моделирования интеллектуальных систем управления реального времени и, прежде всего, адаптивных, нейро- и фаззи-процедур.

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

2. Постановка задачи

Пусть объект управления (ОУ) описывается разностным уравнением типа ARX:

y(t) + aj y(t-1) + ... + an y(t-n) =

= b1u(t-1) +... + bm u(t-m) + w(t) , n-m, (1)

где y(t) — выходная переменная объекта управления в дискретный момент времени t; u(t) — сигнал управления; w(t) — неизмеряемое возмущение типа белого гауссовского шума с нулевым математическим ожиданием и ограниченной дисперсией.

Качественный смысл любой задачи теории управления состоит в выборе таких управляющих воздействий u(t), чтобы ОУ вел себя так, чтобы выходные сигналы y(t) были близки к внешнему желаемому закону y*(t), т.е. требуется обеспечить минимум некоторой функции от ошибки управления vc = y*(t) - y(t) [6]. Для решения этой задачи в системах управления технологическими процессами наиболее часто применяются пропорциональноинтегрально'-диффренциальные (ПИД) регуляторы.

Уравнение ПИД-регулятора в непрерывном времени имеет вид

u(4 = kf vc (т) ■+ T J vc (l)dl + td

I TI 0 d X

(2)

где k — коэффициент усиления регулятора; TI — постоянная интегрирования; TD— постоянная дифференцирования; х — непрерывное время.

Для реализации закона управления (2) цифровой системой используют его разностное представление с периодом квантования T0. Заменив непрерывное интегрирование интегрированием по методу прямоугольников, можно получить позиционный алгоритм управления в виде

ґ

u(4=k vc(0+е vc(i -1+^М0 - vcfr -4)

T

v TI i=0 T0

Вычитая из (3) уравнение

T0

.(3)

f t t—1

u(t-1) = k vc(t)+T Evc(i-1)

^ TI i=0

+-1) - vcfr - 2))]

T0 J

(4)

получаем

u(4- ufr - 0 = g0vc(4+§1v^t -1+g2v^t - 2), (5)

где

g0 = k(l + TdT"1)

g1 =-k(l+2TDT0-1 - ТДГ1) (6)

g2 = kTDT0 1 •

Уравнение (5) может быть также представлено в форме

u(0 = ufr - 0+g0v^O+g1v^t -1+g2v^t - 2 = uft - ^+

+(g0 + g1q_1 + g2q “2 К (4=^t -4 + G(q_1 К (4

(7)

(здесь q_1 — оператор сдвига назад,

e(q_1) = g0 + g1q_1 + g2q“2 ). При этом в процессе

управления вычисляется только текущее приращение управляющей переменной, и поэтому этот алгоритм еще называется скоростным [6].

3. Алгоритм настройки параметров регулятора

Для синтеза алгоритма настройки параметров регулятора представим модель объекта (1) в виде

y(4 = -a1yt - 1-anA yt - nA ) + b1Ut -1 + - +

+ bnBUt - nB ) + w(4 = b1Ut - 1 + aT^t - 1 + w(4 (8)

а регулятор (7) в виде

u(0=^t -1+g0v^O+g1v4t - 4+g2v^t -2=

= u(t - 4+gTvc(t). (9)

Здесь a = (b2, • • • ,bnB“ab • • • “anA ^ ,

v(t - 4=Wt - 2)>->и^ - пв)а^ - 4>->у^ - па))т,

РИ, 2000, № 4

66

g = (g0>gl>g2)T ’ Vc(0 = (vc (4 Vc ^ - 4Vc ^ - 2F • Запишем выражение для ошибки управления в (t +1 -й момент времени:

v^t +1 1 -1 - bigTvc(0 - aT^^ -

- w(t +1 = v(t +1 - bigTVc - w(t +1 (10)

(здесь y(t +1 = y*(t +1 - aTy(t) - b1u(t -1) и введем критерий оптимизации

Jtc = M{v2(t +1+r(u(t)- u(t -1))2 J • (11)

Заметим также, что значение ошибки v(t +1 может вычисляться рекуррентно согласно соотношению

v(t +1 = ~(t) - aT Ay(t) - b1Au(t -1+ Ay*(t +1, (12)

где ДХ(0 = x(t) - x(t -1 = (1 - q_1 )x(t) •

Применяя для минимизации критерия (11) процедуру типа Гаусса-Ньютона

g(0=gt-1-[jg.J'vgj; аз)

(здесь Vgj; = -2v(t + Ob^t) + 2(b2 + r)vc(pVc^(pgt -1)

— вектор-градиент критерия Jc по параметрам g;

Jggf = 0.^b2 + ^"1Vc(0VcT(^||Vc(^||'4 - матрица,

псевдообратная к матрице Jgg ], образованной вторыми производными критерия по настраиваемым параметрам), приходим к алгоритму настройки параметров:

gW=gfr - 0+

+ + Qb1 ~ (b2 + r)gT (t ~ QVc(0. Vc(0 (14)

(bi+ r) 1К(412'

С использованием полученных оценок регулятор (9) может быть представлен в виде

ut) = ut-1) + g0(t)Vc(t) +&(t)Vc(t+ g2(t)Vc(t - 2 =

=utМ)+gT(t)Vc(t). (15)

4. Идентификация настраиваемой модели

Алгоритм управления (14), (15) подразумевает, что параметры объекта известны. Поскольку в общем случае это не так, для реализации такого алгоритма можно воспользоваться оценками, полученными в процессе идентификации по ходу функционирования объекта управления и заменить в законе управления истинные параметры объекта их текущими оценками. Заметим, что такая замена вполне корректна, поскольку в рамках рассматриваемой задачи справедлив принцип стохастической эквивалентности [7] • Реализацию такого подхода рассмотрим на примере объекта (1) и закона управления (14), (15).

РИ, 2000, № 4

Запишем уравнения объекта в виде

уМ = "a1yt -1---anA yt - nA) +

+ b1^t - ^ + - + bnB ut - nB) + w^) = ©T ф^) + w^),(16)

и поставим ему в соответствие уравнение настраиваемой модели

y(t) = ®T(t -М) • (17)

В теории и практике адаптивных систем наряду с рекуррентным методом наименьших квадратов (РМНК) и его модификациями широкое распространение получили алгоритмы, основанные на стохастической аппроксимации

Рассмотрим модифицированный алгоритм типа стохастической аппроксимации [8]:

e(t) = e(t -1 + ar-1 ф) - eT (t - 1М0)р» (18)

где r(t) = ar(t -1+ ||ф(4|2,0 < a < 1, r(o) = 1,0 < a < 2 , совпадающий при a = 0 с одношаговым алгоритмом Качмажа, а при а = 1 - с адаптивным алгоритмом Гудвина-Рэмеджа-Кэйнеса [9] •

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

Принципиальным отличием алгоритма (18) от алгоритма, введенного в [9], является использование в нем параметра дисконтирования а, что обеспечивает процедуре требуемые адаптивные свойства и в то же время исключает возможность “взрыва параметрові

Сравнительный анализ алгоритмов РМНК и (18) показывает, что процедура РМНК, обладая высокой скоростью сходимости, работает в весьма узком диапазоне изменения параметра дисконтирования, а алгоритм (18), как и все процедуры стохастичес -кой аппроксимации, характеризуется низкой скоростью сходимости •

5. Практическая реализация алгоритма и результаты моделирования

Рассмотрим реализацию адаптивного регулятора (14), (15), (18) для объекта (1) в среде IntelligentPad. Для этого создадим следующие компоненты: ARX-модель, самонастраивающийся регулятор, блок идентификации, а также блок генератора нормально распределенных случайных чисел, реализующего возмущение типа гауссовского, которое действует на выход объекта управления. Создание компонентов осуществляется с использованием специального мастера для Microsoft Visual C++, а также библиотек, поставляемых со средой InteUigentPad

Затем создадим простую систему для тестирования регулятора в различных условиях^ После этого выполним моделирование для проверки качества функционирования разработанного адаптивного регулятора

Для создания нового компонента необходимо определить, какие слоты он должен иметь, а также типы данных этих слотов • Все данные, с которыми будут работать компоненты адаптивного регулятора, являются цифровыми, поэтому соответствую-

67

щие слоты будут иметь тип NUMBER или DICTIONARY, состоящий из элементов типа NUMBER. DICTIONARY — это составной тип данных, который может включать элементы других типов, в том числе и DICTIONARY. Таким образом, может быть реализована передача векторных значений между компонентами. Кроме того, некоторые слоты, предназначенные для получения тактовых сигналов от таймера, будут иметь специальный тип COMMAND. Имена слотов и их типы приведены в табл. 1-4. Жирным шрифтом выделены выходные слоты.

Таблица 1

Слоты компонента ARX-модели

Имя слота Тип Назначение

У NUMBER Выход объекта

w NUMBER Возмущающее воздействие

u NUMBER Сигнал управления

process COMMAND Сигнал от таймера

params DICTIONARY Параметры объекта

ut DICTIONARY Вектор предыстории сигнала управления

yt DICTIONARY Вектор предыстории выходного сигнала

Таблица 2

Слоты компонента самонастраивающегося

регулятора (STC)

Имя слота Тип Назначение

u NUMBER Сигнал управления

y NUMBER Выход объекта

yref NUMBER Задающий сигнал

theta DICTIONARY Параметры объекта

r NUMBER Параметр критерия управления

gt DICTIONARY Вектор параметров цифрового ПИД-регулятора

ut DICTIONARY Вектор предыстории сигнала управления

yt DICTIONARY Вектор предыстории выходного сигнала

et DICTIONARY Вектор предыстории сигнала ошибки

Тестовая система содержит следующие блоки (рис. 1):

1) модель объекта управления (ARX);

2) самонастраивающийся регулятор (STC);

3) блок идентификации (IDENT);

4) генераторы задающих сигналов и сигналов возмущений и дрейфа параметров объекта;

5) переключатели сигналов;

68

Таблица 3

Слоты блока идентификации (IDENT)

Имя слота Тип Назначение

theta DICTIONARY Параметры настраиваемой модели

na NUMBER Размерность вектора выходов

nb NUMBER Размерность вектора сигналов управления

theta0 NUMBER Начальное значение параметров настраиваемой модели

alpha NUMBER Параметр забывания

y NUMBER Выход объекта

u NUMBER Сигнал управления

yref NUMBER Задающий сигнал

theta DICTIONARY Параметры объекта

r NUMBER Переменная r в фор-муле(18)

ut DICTIONARY Вектор предыстории сигнала управления

yt DICTIONARY Вектор предыстории

Таблица 4

Слоты генератора нормально распределенных случайных чисел (GAUSS)

Имя слота Тип Назначение

out NUMBER Выход генератора

process COMMAND Сигнал от таймера

sx NUMBER Среднеквадратичное отклонение

mx NUMBER Математическое ожидание

6) тактовый генератор — таймер;

7) элементы управления типа Slider;

8) цифровые ицдикаторы;

9) кнопки запуска и сброса времени;

10) компоненты для построения графиков (не показаны).

Генераторы и переключатели сигналов созданы с помощью компонента BASIC Programming. Остальные блоки являются стандартными компонентами системы IntelligentPad.

Моделирование выполнено для объекта второго порядка, описываемого уравнением (1). При этом параметры объекта менялись по синусоидальному закону. Начальные значения параметров объекта: ai=0.2, a2=0.3, b1=0.7, b2=0.8. На объект управления действовало нормально распределенное возмущение со следующими параметрами: M{w(t)} = 0, M{w2(t)} = Уw2, Yw = 0.05.

РИ, 2000, № 4

Control System

CD CD

^->Tdent

0. 03

0

0.23

0. 68

0. 64

STC

Speed r-0.50 Quality

Рис. 1. Тестовая система

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

Рис. 2. Графики изменения выходного сигнала y(t), сигнала управления u(t), задающего сигнала y*(t) и возмущения w(t)

Рис .3 иллюстрирует изменение оценок параметров объекта.

Рис. 3. Графики изменения оценок параметров объекта, вычисляемых в блоке идентификации

Для построения графиков использован стандартный компонент Graph.

Литература: 1. Tanaka Y. Meme Media and Meme Market Architectures for the Reediting and Redistribution of Knowledge Resources // International Conference on Multimedia Modeling’ 98. Lausanne. 1998. 2. Tanaka Y. Meme Media and a WorldWide Meme Pool // The Fourth ACM International Multimedia Conference. Nov. Boston. 1996. P. 175-186. 3. Tanaka Y. From Augmentation to Meme Media: IntelligentPad and the World-Wide Repository of Pads // Proc. of European Japanese Seminar on Information Modeling and Knowledge Bases. Kista, Sweden. June, 1994. 4. Tanaka Y., Nagasaki A., AkaishiM, Noguchi T. A synthetic Media Architecture for an Object-Oriented Open Platform // Personal Computers and Intelligent Systems, Information Processing (ed. F.H. Vogt). 1992. Vol. III. P. 104-110. 5. Bodyanskiy Ye., Rudenko O., Tanaka Y., Stephan A, Popov S. Investigations Regarding Adaptive PID Controllers and their Implementation in IntelligentPad. Meme Media Laboratory, Hokkaido-University, 1999. 6. Бодянский E.B., Котляревский C.B., Ачкасов A.E, Вороновский Т.К. Адаптивные регуляторы пониженного порядка. Харьков: ХГАГХ, 1996. 144 с. 7. Isermann R Digitale Regelsysteme. Band I: Grundlagen Deterministische Regelungen. Berlin: Springer-Verlag, 1988. 8. БодянскийE.B., ПлиссИ.П., Соловьева T.B. Многошаговые оптимальные упредители многомерных нестационарных стохастических процессов // Докл. АН УССР. 1986. А. № 12. С. 47-49. 9 Goodwin G. С, Ramadge P.J., Caines P.E. A globally convergent adaptive predictor, Automatica, Vol. 17, No. 1, 1995. Р. 135-140.

Поступила в редколлегию 12.08.2000

Рецензент: д-р техн. наук, проф. Петров Э.Г.

Бодянский Евгений Владимирович, д-р техн. наук, профессор кафедры искусственного интеллекта, научный руководитель ПНИЛ АСУ ХТУРЭ, член IEEE. Научные интересы: адаптивные системы, искусственные нейронные сети. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-98-90. E-mail: bodyanskiy@ieee.org

Руденко Олег Григорьевич, д-р техн. наук, профессор, заведующий кафедрой ЭВМ ХТУРЭ, член IEEE. Научные интересы: идентификация систем, искусственные нейронные сети. Адрес: Украина. 61166, Харьков, пр. Ленина, 14, тел.: 40-93-54. E-mail: roden@kture.kharkov.ua

Танака Юзуру, доктор, профессор, директор Meme Media Laboratory, университет Хоккайдо, Саппоро, Япония. E-mail: tanaka@meme.hokudai.ac.jp

Штефан Андреас, доктор-инженер, почетный профессор ХТУРЭ, глава фирмы Dr.Stephan & Partner, Иль-менау, Германия.

E-mail: stephan@dr-stephan-und-partner.de

Колодяжный Виталий Владимирович, аспирант кафедры искусственного интеллекта, младший научный сотрудник ПНИЛ АСУ ХТУРЭ, член IEEE. Научные интересы: адаптивные, нечеткие и нейро-фаззи системы. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-98-90. E-mail: kolodyazhniy@ieee.org

Попов Сергей Витальевич, аспирант кафедры искусственного интеллекта, младший научный сотрудник ПНИЛ АСУ ХТУРЭ, член IEEE. Научные интересы: адаптивная обработка информации в двумерных системах, нейро-технологии. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-98-90.

E-mail: Serge.Popov@ieee.org

РИ, 2000, № 4

69

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