- © А.В. Золотов, 2014
УДК 001.8
А.В. Золотов
РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОГО АЛГОРИТМА УПРАВЛЕНИЯ ОБЪЕКТАМИ ТИПА ПЕРЕВЕРНУТЫЙ МАЯТНИК
Рассмотрен вопрос разработки алгоритма нечеткого управления объектами типа перевернутый маятник. Задача стабилизации перевернутого маятника является классической в теории автоматического управления. Но в нашем случае она решается при помощи нечеткого регулирования, которое является одним из современных актуальных технологий управления. Приводится анализ системы и ее математическая модель. Выполняется синтез нескольких нечетких регуляторов в среде MATLAB Fuzzy Logic Toolbox. Приводится моделирование автоматического регулирования средствами MATLAB Simulink и схемы моделирования. Приводятся результаты моделирования и выводы на их основе.
Ключевые слова: автоматизация, интеллектуальное управление, нечеткая логика, перевернутый маятник, моделирование, MATLAB.
По проблематике нечеткого управления существует множество научно-технической литературы. Основные публикации приходятся на Японию, развитые страны Европы и США. Издаются книги по этой тематике и в России. Практически в каждой книге кратко даются основные понятия о нечеткой логике, а потом уже о нечетком управлении.
Книга «Нейронные сети, генетические алгоритмы и нечеткие системы» (Д. Рутковская, М. Пилиньский, Л. Рутковский) [3] посвящена вопросам «интеллектуальных вычислений». Содержит базовые знания о генетических алгоритмах, эволюционном программировании, нечетких системах, а также о их связи с нейронными сетями.
Kevin M. Passino, Stephen Yurkovich [5] описывают как основные понятия нечеткого управления, так и нечеткие адаптивные системы - способы их оценки, синтез и идентификация, приводят примеры как наиболее простых примеров нечеткого управления, так и «интеллектуального управления». Кроме этого они приводят приемы настройки нечетких ПИД-регуляторов и методы аппроксимации данных
Н.П. Деменков в своей книге [1] рассматривает вопросы, связанные с использованием нечеткого управления для решения неформализованных задач оптимизации в технических системах. Излагает методы проектирования АСУ ТП на основе теории нечеткого управления в соответствии с международным стандартом. Значительное внимание автор уделяет существующим пакетам прикладных программ, реализующих нечеткое управление - MATLAB, Concept, Трейс Моуд.
С.Д. Штовбой [4] рассмотрены вопросы проектирования нечетких систем в пакете Fuzzy Logic Toolbox вычислительной среды MATLAB. Даны необходимые сведения в области нечетких множеств и нечеткой логики. Приведен теоретический материал по проектированию нечетких систем. Рассмотрено обучение нечетких баз знаний типа Мамдани и Сугено.
Л.Д. Певзнером [2] также даются основные понятия нечеткой логики, нечетких множеств и операция над ними, а также нечетких отношений.
Современные методы управления производственными процессами на основе компьютерных технологий получили распространение на большинстве промышленных предприятий. Период с 80-х гг. ХХ в. до настоящего времени характеризуется широким использованием в различных областях науки и техники интеллектуальных систем управления. К ним относятся системы нечеткого управления, или «fuzzy control». Это словосочетание интерпретируется как «нечеткое (неясное, размытое) управление».
Актуальность технологии нечеткого управления обусловлена двумя тенденциями:
• увеличение сложности математических моделей реальных систем и процессов управления, связанная с желанием повысить их адекватность и учесть все большее число различных факторов, оказывающих влияние на процесс принятия решений;
• традиционные методы построения моделей не приводят к удовлетворительным результатам, когда исходное описание проблемы заведомо является неточным и неполным.
Учитывая эти факторы, целесообразно использовать методы, которые специально ориентированы на построение моделей, учитывающих неполноту и неточность исходных данных.
Рассмотрим перевернутый маятник, изображенный на рис. 1. Ось маятника монтируется на тележке, которая может перемещаться в горизонтальном направлении. Тележка приводится в действие мотором, который в момент времени t прикладывает к тележке силу u(t).
При отсутствии каких-либо управляющих воздействий на тележку маятник, находящийся в равновесии в начальный момент времени, в последующий момент при малейших (исчезающее малых) внешних возмущениях теряет равновесие. То есть данный объект управления является неустойчивым.
Целью работы являлось создание и исследование нечеткого регулятора, поддерживающего маятник в состоянии равновесия.
Для создания системы управления была описана математическая модель объекта управления. При разработке математической модели маятника использованы следующие обозначения для его параметров: M - масса тележки; m - масса маятника; b - коэффициент вязкого трения при движении тележки;
Рис. 1. Перевернутый маятник
x(t) V(t)
Рис. 2. Силы, действующие на перевернутый маятник
L - расстояние между осью маятника и центром его масс (или половина длины маятника); u(t) - сила, прикладываемая к тележке (управление); x(t) - координата тележки; - угол отклонения маятника от вертикали.
Рассматривая отдельно маятник и тележку (рис. 2), запишем уравнения их движения. Поскольку тележка может двигаться только по горизонтальной плоскости, достаточно рассмотреть проекции действующих на нее сил на ось x. Итак, для системы справедливы следующие уравнения:
d2
m[x(t) - L ■ sin p(t)] = H(t)
dt , (1)
d2
m—y[L ■ cosp(t)] = V(t) - mg
dt , (2)
J = l ■ H(t) cos p(t) + L ■ V(t) sin p(t)
dt , (3)
Md^tl = u(t) -H(t) - bdlxñ
dt dt . (4)
Здесь обозначены: H(t) - горизонтальная сила реакции на оси маятника, V(t) - вертикальная сила реакции на оси маятника, g - ускорение свободного падения.
Раскрывая скобки в уравнениях (1) и (2), получим: mX + mL2 sin cp - mL cos p = H(t)
-mLcp2 cos p - mLp sin p = V(t) - mg
(5)
(6)
Подставив выражение для H(t) из уравнения (5) в уравнение (4), получим: (M + m)XX + bX - mLp cos p + mLcp2 sin p = u(t) (7)
Подставив выражения для H(t) из уравнения (5) и для V(t) из уравнения (6) в уравнение (3), получим:
(J + mL2 )p - mLX cos p - mg sin p (g)
Уравнения (7) и (8) являются нелинейными уравнениями, составляющими математическую модель перевернутого маятника на тележке.
Далее исследуем систему на управляемость и наблюдаемость, а также проверим адекватность составленной нами математической модели, проверив систему на устойчивость. На данном этапе воспользуемся классическими методами теории автоматического управления. Исходя из этого необходимо линеаризовать уравнения (7) и (8) и записать их в форме уравнений в переменных состояния.
Искомая передаточная функция системы имеет вид:
mLp
W (p) =
Ф( p) _ r
U (p) 2 + b( J + mL) 2 (M + m)mgL bmgL
r r r (9),
Где
г = (М + т)(J + тЬ2) - т212 .
Уравнения системы в переменных состояния.
X =
Л =
B =
x2(t) x3(t)
X4 (t) 0 0 -0 0 -
1
b( J + mL2
J (M + m) + MmL2 0
bmL
' J(M + m) + MmL2 0
J + mL2
J( M + m) + MmL2 0
mL
J( M + m) + MmL2
0
m2 gL2( M + m) J( M + m) + MmL2 0
mgL( M + m) J( M + m) + MmL2
Поскольку в ходе исследования нас будут интересовать угол поворота маятника относительно вертикали ф(£) и координата тележки х(£), то уравнение выхода запишется в следующем виде:
у = Cx + Du(t)
(11)
Impulse Response
О 0.1 0.2 0.3 0 4 OS 0 6 07 0 8 09 1 Time (seel
Б<°
0 6
J» 4
t 2 >.
я 0 с
5i - 2
OS
e -4 -6 e
-10
Root Locus
; J / (
к \ 1 -
6 -4
Рис. 3. Импульсная функция (А) и корневой годограф (Б)
-2 0 2 Real Axis
где У (t) =
C =
yi(t)
V2(t) 10 0 0 0 1
Т.к. порядок ля передаточной
числите-функции нашей системы меньше порядка знаменателя, то матрица О:
угол, (tad,)
Рис. 4. Функции принадлежности входных переменных
D =
0
Рис. 5. Управление перевернутого маятника человеком
и это также говорит о что наша система без
Построим отклик системы на импульсное воздействие (импульсную функцию) (рис. 3) и корневой годограф.
Как видно из графиков, один полюс системы движется в положительной части комплексной плоско-
том,
управления является неустойчивой.
Построим график фаз-зификации, соответствующий функциям принадлежности (рис. 4).
Теперь словесно опишем последовательность действий человека, когда он, например, в ручную пытается удержать маятник на тележке в равновесии. Рассуждения выглядят так (рис. 5).
Проведя указанные выше рассуждения, приступаем к непосредственному моделированию нечеткого регулятора.
После создания нечеткого регулятора в пакете Fuzzy Logic Toolbox отбираем непосредственно схему моделирования (рис. 7).
Рис. 6. Функции принадлежности управления
Рис. 7. Схема моделирования 360
Рис. 8. Реакция системы на в 22 градуса
единичное отклонение
Рис. 9. Реакция системы на ние входного параметра
гармоническое измене-
7
\ЛУ\7\/\У\У\
1 •
5 19
Рис. 10. Реакция системы на ние входного параметра
прямоугольное измене-
Подавая различное отклонение угла, получаем следующие результаты моделирования (рис. 8-11).
В процессе моделирования замечено, что стержень не падает, но за несколько десятков секунд тележка маятника теоретически перемещается на несколько метров. Поэтому в систему был введен нечеткий регулятор по положению. При его создании было наложено ограничение на перемещение маятника. Пусть маятник может перемещаться только в пределах двух метров.
При отклонении маятника от вертикальной оси, он «отбрасывает» проекцию на горизонтальную ось. В общем случае выражение проекции на горизонтальную ось выглядит следующим образом:
4 = I • эта . (12)
Графически данное выражение можно представить следующим образом (рис. 12).
Т.к. в нашей системе максимальный угол отклонения физически не может превышать 90°, а длина маятника 2^, причем L = 0,3, то входная величина может изменяться в интервале [-0,6^0,6]. При вертикальном положении маятника его проекция на ось ОХ равна 0, при горизонтальном положении проекция равна 2^, т.е. длине маятника. Если взять регулятор по углу и изменить только функции принадлежности
Рис. 11. Реакция системы на стохастическое изме- Рис. 12. Пример нахожде-
нение входного параметра
ния проекции на ось ОХ
Рис. 13. Схема моделирования
входной величины, то получится новый нечеткий регулятор с управлением по проекции маятника на горизонтальную ось.
Соберем схему моделирования, состоящую из математической модели самого маятника и двух нечетких регуляторов по углу и по положению (рис. 13).
Подавая различное отклонение угла, получаем следующие результаты моделирования (рис. 14-18).
-п-1-I-I-1-1-
I-А-4-4-к
Рис. 14. Зависимость выходного значения угла от входа 362
Рис. 1S. ^Me^mte пoлoжeиия коордииаты тeлeжки
Рис. 1б. nepeMernemie тeлeжки при гармoиичeскoм ^Me^mm угла
в If I 3. *, 5 Е J I 3 "Ii Рис. 17. Пepeмeщeииe тeлeжки при прямоугольиом ^Me^mm угла
Рис. 19. Графическое представление алгоритма нечеткого управления объектами типа перевернутый маятник
Из графика видно, что за время моделирования тележка перемещалась в пределах интервала [-0,4^0,6], что удовлетворяет введенным нами ограничениям. Приведем перемещение тележки при различных видах входного воздействия.
На основании результатов всех предыдущих пунктов сформулируем алгоритм нечеткого управления объектами типа перевернутый маятник (рис. 19).
Определение основных управляющих воздействий состоит из четырех основных этапов:
1. Получение отклонения.
2. Преобразование значения отклонения к нечеткому виду, такому как «большой», «средний» и т.п.
3. Оценка входного значения по заранее сформулированным правилам принятия решения посредством композиционного правила вывода.
4. Вычисление детерминированного выхода, необходимого для регулирования процесса.
Данный алгоритм позволяет создать требуемый нечеткий регулятор по определенным заранее входным величинам.
СПИСОК ЛИТЕРАТУРЫ
1. Деменков Н.П. Нечеткое управление в технических системах. - М.: Издательство МГТУ им Н.Э. Баумана, 2005.
2. Певзнер Л.Д., Чураков Е.П. Математические основы теории систем. - М.: Высшая школа, 2009.
3. РутковскаяД., Пилиньский М., Рутков-ский Л. Нейронные сети, генетические ал-
горитмы и нечеткие системы. - М.: Горячая линия - Телеком, 2006.
4. Штовба С.Д. Проектирование нечетких систем средствами Matlab. - М.: Горячая линия - Телеком, 2007.
5. Passino Kevin M., Yurkovich Stephen. Fuzzy Control, Addison-Wesley, 1998. ЕШЗ
КОРОТКО ОБ АВТОРЕ_
Золотов Александр Валентинович - студент, e-mail: [email protected], МГИ НИТУ «МИСиС».
UDC 001.8
DESIGN OF THE INTELLEGENT CONTROL ALGORITHM OBJECT OF TYPE INVERTED PENDULUM
Zolotov A.V., Student, e-mail: [email protected],
Moscow Mining Institute, National University of Science and Technology «MISiS».
This article discusses the development of fuzzy control algorithm for objects such as an inverted pendulum. The task of stabilizing the inverted pendulum is a classic in the theory of automatic control. But in our case it is solved by means of fuzzy control, which is one of today's current management technologies. The analysis of the system and its mathematical model. Performed the synthesis of several fuzzy controllers in the environment of Matlab Fuzzy Logic Toolbox. Simulation of automatic control is carried out by means of Matlab Simulink and the simulation scheme. Simulation results and conclusions based on them.
Key words: automation, intelligent control, fuzzy logic, the inverted pendulum, modeling, MATLAB.
REFERENCES
1. Demenkov N.P. Nechetkoe upravlenie v tehnicheskih sistemah (Fuzzy control in engineering systems), Moscow, Izdatel'stvo MGTU im N.Je. Baumana, 2005.
2. Pevzner L.D., Churakov E.P. Matematicheskie osnovy teorii sistem (Mathematical framework of system theory), Moscow, Vysshaja shkola, 2009.
3. Rutkovskaja D., Pilin'skij M., Rutkovskij L. Nejronnye seti, geneticheskie algoritmy i nechetkie sistemy (Neural networks, genetic algorithms and fuzzy systems), Moscow, Gorjachaja linija - Telekom, 2006.
4. Shtovba S.D. Proektirovanie nechetkih sistem sredstvami Matlab (Designing fuzzy systems with Matlab), Moscow, Gorjachaja linija - Telekom, 2007.
5. Passino Kevin M., Yurkovich Stephen. Fuzzy Control, Addison-Wesley, 1998.
A