Федосов Борис Трофимович
Рудненский индустриальный институт,
Рудный, Казахстан
Об авторе

УДК 681.51.01
Ф338

4. Примеры моделей обратных маятников в некоторых программах моделирования

Модель системы управления обратным маятником может быть построена не только в Vissim'е, но и с помощью других инструментов математического и объектно-виртуального моделирования.

Ниже построены модели в программах Маткад и MVS, а также приведены решения задачи управления обратным маятником, имеющиеся в сборниках примеров программ Mathlab, ПК "МВТУ" и SimulationX. Это позволит читателю, в зависимости от того, какой программой моделирования он располагает, изучать модели в интерактивном режиме и улучшать их.

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

4.1. Модель обратного маятника и системы управления им в Маткаде

Повторим систему управления обратным маятником, оптимизированную выше в программе Vissim. Для начала это будет маятник, длиной 1 м и модель будет строиться в соответствии с моделью, построенной в Vissim'е и приведенной на рис. 3.2.1.1.

Модель маятника строится в Маткаде в аналитической форме.

Ниже приведены снимки экрана основных элементов рабочего поля Маткада с построением модели и вычислением и представлением ее параметров. Полностью документ Маткада файл Inv_Pend_Control_Mathcad_10.mcd имеется в Приложении.

gif-file, 20KB

Рис. 4.1.1. Содержание документа Маткада с аналитическим моделированием обратного маятника и системы управления им (файл Inv_Pend_Control_Mathcad_10.mcd в Приложении)

gif-file, 20KB

Рис. 4.1.2. Формула, описывающая обратный маятник с подвижной по горизонтали опорой шарнира, смещение которой в плоскости качания может управляться внешним воздействием

gif-file, 20KB

Рис. 4.1.3. Система уравнений обратного маятника, приведенная к форме Коши, что требуется для решения задачи в Маткаде

gif-file, 20KB

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

3. Описание системы управления в обозначениях Маткада опускаем (см. файл Inv_Pend_Control_Mathcad_10.mcd в Приложении)

gif-file, 20KB

Рис. 4.1.5. Результаты Маткада совпадают с результатами Vissim'а. Маятник энергично переводится нелинейной ситемой управления в вертикальное положение, наклоняется в сторону начала координат, и в таком положении тормозится. При достижении малой скорости, к пятой секунде моделирования угол наклона постепенно устремляется системой управления к нулю и далее маятник медленно движется к началу координат

Маткад проводит вычисления значительно медленнее, чем Vissim, а кроме того, еще и повисает при неудачно выбранных настроечных значениях коэффициентов регулятора, когда САР становится неустойчивой. Это существенно затрудняет подбор оптимальных настроечных параметров методом проб и ошибок в Маткаде по сравнению с Vissim'мом.

В Маткаде может быть построена анимация, отображающая поведение маятника с течением времени, двигающегося под управлением системы приведения его в начало координат в вертикальном положении и удержании его там:

gif-file, 20KB

Рис.4.1.6 (анимация, 51 кадр). Приведение обратного маятника в верхнее положение. Начальный угол 28.6o

gif-file, 20KB

Рис.4.1.7 (анимация, 51 кадр). Приведение обратного маятника в верхнее положение 143.3o

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

Оптимальные настроечные параметры регулятора системы выведения маятника наверх зависят от длины маятника:

gif-file, 20KB

Рис. 4.1.8. Настроечные параметры нелинейного регулятора системы выведения маятника наверх в зависимости от длины штока маятника

Для обратного маятника определенной длины, например 1 м, можно оптимизировать настроечные параметры регулятора системы управления по критерию минимума времени приведения маятника в начало координат в вертикальном положении, грузом вверх. При этом и отклонения опоры шарнира маятника близки к минимальным:

gif-file, 20KB

Рис. 4.1.9. Оптимальные значения настроечных параметров ПД-регулятора

Графики зависимостей имеют вид:

gif-file, 20KB

Рис. 4.1.10. Графики зависимостей оптимальных значений настроечных параметров ПД-регулятора и смещения опоры шарнира маятника от величины начального отклонения маятника

gif-file, 20KB

Рис. 4.1.11. Оптимальное время выведения маятника длиной 1 м в начало координат в вертикальном положении, грузом, массой 0.1 кг, вверх, находится в диапазоне приблизительно от 8 сек до 15 сек, сложным образом зависит от начального положения маятника, и слабо возрастает с увеличением начального наклона маятника

Таким образом, аналитическое моделирование системы выведение обратного маятника вверх может быть проведено в Маткаде и результаты повторяют результаты, полученные в Vissim'е.

4.2. Модель обратного маятника и системы управления им в MVS

Удобство программы MVS состоит, в частности, в наличии возможности построения масштабной анимации модели, что весьма повышает наглядность последней.

4.2.1. Управление с помощью нелинейного ПД-регулятора

gif-file, 20KB

Рис.4.2.1.1. Переменные и система уравнений MVS 3.2 для моделирования системы выведения обратного маятника длиной 1 м вверх из произвольного начального положения

gif-file, 20KB

Рис. 4.2.1.2. Результаты моделирования в программе MVS аналогичны результатам Vissim'а и Маткада. Анимация существенно повышает наглядность модели. Система управления обеспечивает подъем маятника вверх и приведение его в начало координат из любого положения примерно за 20 сек. Зеленая стрелка внизу опоры шарнира маятника указывает на величину и направление скорости движения опоры

gif-file, 20KB

Рис. 4.2.1.3 (анимация, 68 кадров). Модель MVS выводит маятник наверх, начальный угол отклонения меньше 60o. Регулятор линейный

gif-file, 20KB

Рис. 4.2.1.4 (анимация, 40 кадров). Модель MVS выводит маятник наверх, начальный угол отклонения 150o. Зеленая стрелка ниже опоры маятника указывает направление и величину скорости движения опоры. Регулятор нелинейный

Результаты моделирования те же, что и в Vissim'е и в Маткаде.

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

4.2.2. Управление с предварительной принудительной раскачкой

Итак, как видно на анимации рис. 4.2.1.4., при больших начальных углах отклонения обратного маятника, когда груз направлен вниз и в сторону от шарнира, система управления, основанная на ПД - регуляторах, резко дергает опору шарнира в сторону, противоположную расположению груза маятника, одним движением переводя маятник вверх. Недостаток здесь в необходимости применять значительные ускорения опоры, а значит и большие мощности, но, главное, за время вывода маятника наверх опора успевает отъезжать на десятки метров!

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

Как же поступит парень (или девочка), решая задачу выведения маятника наверх? Да очень просто: вначале они резонансно раскачают маятник, перемещая опору шарнира туда-сюда не сходя с места, а двигая тележку только рукой до таких амплитуд, когда в верхнем положении маятник будет отклонен от вертикали на небольшой угол, 10 - 30 градусов, а затем уже они просто пододвинут опору под груз. В результате, задача будет решена и быстро, и с малыми отклонениями, и с малым расходом энергии, и с использованием весьма ограниченный мощности.

С точки зрения управления вначале такая система может рассматриваться двояко: и как устойчивая, с принудительныой раскачкой внешней силой, и как неустойчивая, с автоколебаниями с частотой, близкой к частоте свободных колебаний маятника.

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

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

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

4.2.2,а. Модель в MVS

Программа MVS позволяет задавать различные режимы поведения моделей динамических объектов и переключаться между ними при необходимости по выполнении некоторых условий.

gif-file, 20KB

Рис. 4.2.2.1. Доработка карты поведения. Введен новый узел, переход в который происходит при начальных углах больших 1 радиана. Уравнения "Раскачка" узла Expans заставляют маятник принудительно резонансно раскачаться до углов, меньших 1 радиана (отсчет углов идет сверху от вертикальной оси по часовой стрелке). Когда угол становится меньше 1 радиана, то происходит переключение на исходную систему уравнений, управляющих приведением маятника вверх так же, как и ранее. Раскачивание осуществляется для заданных параметров маятника на принудительно заданной частоте, равной 2.75 рад/сек. Оптимальное значение этой частоты и амплитуды колебаний воздействия зависит от начального отклонения маятника

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

gif-file, 20KB

Рис. 4.2.2.2. (анимация, 105 кадров). Продвинутая антропоморфная система управления выводит маятник наверх, предварительно его раскачав, что обеспечивает малое отклонение опоры маятника, порядка 1 м от начала координат. Это в пятьдесят раз меньше, чем в схеме с ПД - регулятором рис.3.2.1.1. Стрелка отображает скорость движения опоры

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

Достоинство MVS состоит и в том, что эта программа позволяет строить и т.н. исполняемые модели, которые работают автономно, не требуя установки MVS на компьютере (см. файл 090709_Inv_Pend_Control.exe в приложении).

Анимация в MVS видна не на каждом компьютере, требуется, как утверждают разработчики, коррекция настроек видеокарты. Анимация воспроизводится без всяких затруднений в виртуальном компьютере, например в MS VPC 2007.

4.2.2,б. Модель в Vissim'е

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

gif-file, 20KB

Рис. 4.2.2.3. Модель системы выведения обратного маятника наверх, построенная в Vissim'е, при значительных начальных углах отклонения маятника осуществляет его предварительную раскачку. Модель оптимизирована по минимуму максимального отклонения опоры тележки. Вывод маятника наверх происходит за 2 -3 секунды. Отклонение тележки не превышает 5 метров и возвращение маятника в начало координат осуществляется за 5 - 9 сек при любых значениях начального отклонения маятника, и начальных угловых скоростях маятника в пределах от -0.2 до 0.2 рад/сек. Максимальные значения ускорения достигают 3g (при 79.2 градуса). Модель работоспособна при длинах штока маятника от 0.9 до 1.1 м. Оптимальная начальная фаза задается временной задержкой сигнала раскачки. Она зависит от знака начального углового отклонения маятника. Функция зависимости амплитуды раскачивающей синусоиды получена эмпирически и аппроксимирована простой зависимостью (файл Inv_Pend_Control_L_1m_Hard_Amplit_Swing.vsm в Приложении)

Для оптимального вывода маятника на малые углы отклонения нужно правильно задать величину и начальную фазу ускорения его опоры. Оптимальные значения амплитуды ускорения раскачки получены экспериментально и аппроксимированы гладкой зависимостью (см. ниже). Оптимальное значение начальной фазы сигнала раскачки зависит от длины маятника и для маятника длиной 1 м подобрано эмпирически.

gif-file, 20KB

Рис. 4.2.2.4. Аппроксимация экспериментально полученных оптимальных амплитуд ускорения раскачки в зависимости от начального отклонения маятника. Длина штока маятника 1 м

Качество регулирования можно проиллюстрировать зависимостью максимального отклонения опоры шарнира маятника при его выведении наверх и возвращении в начало координат, от значения начального отклонения маятника:

gif-file, 20KB

Рис. 4.2.2.5. Максимальное отклонение опоры шарнира маятника длиной 1 м в зависимости от его начального углового отклонения. Максимальное отклонение не превышает 5 метров. В режиме малых углов отклонение растет с увеличением начального угла, а в режиме с раскачкой, в режиме больших углов отклонение наоборот, падает с увеличением начального угла

Отметим, что по мере роста амплитуды при раскачке маятника ввиду его нелинейности колебания из синусоидальных становятся более "прямоугольными" (см. рис. 1.3.2), при этом несколько увеличивается период колебаний. Поэтому в идеале следовало бы соответственно изменять и раскачивающее воздействие. Но, как видно на рис. 4.2.2.3, можно ограничиться простой синусоидой, лишь задавая правильные значения начальной фазы и подбирать величину амплитуды под начальное угловое отклонения маятника.

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

gif-file, 20KB

Рис. 4.2.2.6. Выведение маятника длиной 1 м наверх за шесть колебаний. Амплитуда колебаний опоры всего 0.25 м, что составляет четверть длины маятника

gif-file, 20KB

Рис. 4.2.2.7. Выведение маятника длиной 2 м наверх за четыре - пять колебаний. Маятник в исходном состоянии практически висит внизу. Амплитуда колебаний тележки равна 0.5 м, что составляет четверть длины маятника

Как видно, предварительная раскачка позволяет весьма экономно использовать перемещение опоры шарнира маятника. Такая система управления по свойствам уже приближается к человеческим способностям решать задачу балансирования рейкой в вертикальном положении, правда, она ограничена перемещением опоры шарнира маятника только по одной координате.

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

4.3. Пример из приложения программы Mathlab
Модель обратного маятника и системы управления им в Матлабе

Mathlab это авторитетная, мощная, объемная и универсальная программа, рассчитанная на квалифицированных специалистов в области моделирования и программирования [8]. Одновременно громоздкость и универсальность программы и связанные с этим особенности являются и ее недостатками: довольно сложный к восприятию интерфейс, по которому трудно составить представление об описании модели и ее работе. В приложении Simulink к Матлаб конечно же имеется и пример решения классической задачи управления обратным маятником. Посмотрим, насколько универсальным является решение: Demos - Simulink - General Applications - Inverted Pendulum Animation - Open this model или, что то же самое C:\MATLAB701\toolbox\simulink\simdemos\simgeneral\penddemo.mdl.

gif-file, 20KB

Рис. 4.3.1. Модель обратного маятника в Симулинке. Параметры маятника и тележки. Задание начального угла отклонения маятника величиной 0.8 рад, и шага вывода точек на график. Выравнивание маятника с эффективной длиной 30.5 см и массой груза 0.455 кг занимает примерно 2 секунды, а перемещение тележки в заданную точку, отстоящую от исходного положения на 0.5 м, занимает примерно 10 секунд. При этом максимальное отклонение опоры маятника (тележки) достигает 1.7 м, пятикратно превышая длину маятника

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

gif-file, 20KB

Рис. 4.3.2. Собственно выравнивание маятника занимает примерно 0.5 секунды, а далее тележка с ним перемещается в заданную точку еще 10 секунд

Судя по свойствам блоков модели можно сделать вывод, что модель основана на решении уравнений Лагранжа (см. рис. 2.1.1.1), в качестве управляющей величины выбрана сила, прикладываемая к тележке, на которой закреплен шарнир маятника. Для приведения тележки в задаваемую позицию используется ПИД - регулятор. Сопротивление воздуха не учитывается. </З>

Анимация в Матлабе выглядит примерно вот так:

gif-file, 20KB

Рис. 4.3.3 (анимация, 37 кадров). Запуск модели системы управления обратным маятником в Матлабе (файл pendulum_demo.mdl) при начальном отклонении маятника в 0.8 рад. Ставилась задача переместить тележку с маятником, предварительно переведя его наверх, из исходного положения в новое заданное положение, отстоящее на 0.5 м от исходного. Масштабы для длины маятника и для перемещения тележки существенно различаются: длина бруса маятника 0.61 м, начальное отклонение тележки от требуемого конечного положения (верх желтого треугольника) составляет 0.5 м. Угловое отклонение маятника показывается реальное

Модель способна выравнивать маятник при начальных его угловых отклонениях, лежащих в пределах -0.75 - +0.9 рад. Неплохо было бы разработчикам дать хотя бы краткие пояснения, что за задача ставилась и как она решена.

4.4. Пример из приложения программы ПК "МВТУ"
Модель обратного маятника и системы управления им в ПК "МВТУ"

Программный комплекс "МВТУ" представляет собой весьма эффективное средство объектного моделирования систем управления [9], рассчитанное на квалифицированных специалистов, но которое поверхностно сравнительно легко осваивают и студенты.

Рассмотрим пример системы управления обратным маятником, предлагаемый в ПК "МВТУ" (C:\Program Files\МВТУ 3.7\Demo\Приводы_и_манипуляторы\pendul_1.mrj).

gif-file, 20KB

Рис. 4.4.1. Как видно, при относительно малом отклонении маятника в 0.2 рад = 11.4o, система управления бойко, за пару - тройку секунд выводит маятник наверх и смещает его, как и требуется заданием, на 1 м в сторону. Сопротивление воздуха не учитывается

Однако, диапазон начальных углов отклонения маятника, при котором система управления справляется со своей задачей, довольно узок и составляет от -0.69 рад до 0.26 рад. Время выведения маятника вверх и приведения тележки в заданную точку практически не зависит от начального угла наклона маятника, что является достоинством алгоритма:

gif-file, 20KB

Рис. 4.4.2. Задание начального угла отклонения маятника

Модель ПК "МВТУ" сопровождается кратким, но содержательны описанием:

gif-file, 20KB

Рис. 4.4.3. Описание модели в ПК "МВТУ". Уравнения по внешнему виду аналогичны уравнениям Матлаб'а и SimulationX. Сопротивление воздуха не учитывается

Итак, ПК "МВТУ" предлагает пример системы управления обратным маятником, который сопровождается описанием, система работает в сравнительно узком диапазоне начальных углов, и модель позволяет переводить тележку из исходного положения в задаваемое конечное.

4.5. Пример из приложения программы SimulationX
Модель обратного маятника и системы управления им в SimulationX

Программа SumulationX, разработанная в Германии интернациональным коллективом [7], привлекает в первую очередь тем, что позволяет моделировать механические, электрические и комплексные системы и объекты, элементы которых могут взаимодействовать в двух направлениях.

Обратимся к примеру системы управления обратным маятником.

Математическое описание маятника и системы управления опирается здесь на уравнения Лагранжа, сопротивление воздуха не учитывается:

gif-file, 20KB

gif-file, 20KB

Рис. 4.5.1. Уравнения маятника и структура системы управления модели SimulationX

gif-file, 20KB

Рис. 4.5.2 (анимация, 35 кадров). SimulationX энергично, экономно, без лишних колебаний переводит маятник из положения грузом вниз в положение грузом вверх. Сила, прикладываемая к тележке, изменяется в весьма значительных пределах, как и смещение тележки

Модель системы управления в SimulationX способна поднимать маятник и из произвольного положения, однако, с расположенным близко к горизонтали маятником она справляется плохо, а с горизонтальным вообще не справляется:

gif-file, 20KB

Рис. 4.5.3. Начальное положение маятника отличается от горизонтального на 0.01 рад = 0.5 углового градуса. Отклонение тележки достигает 50 м, усилие на нее 10 тонн!

gif-file, 20KB

Рис. 4.5.4. Начальное положение маятника отличается от горизонтального на 0.001 рад = 0.05 углового градуса. Маятник выходит наверх колебательно, в течение 30 сек, отклонение опоры достигает 1.5 км, усилия, прикладываемые к тележке, чрезвычайно велики

gif-file, 20KB

Рис. 4.5.5. Начальное положение маятника горизонтальное. Программа не может решить задачу управления

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



28.07.2009