21697

Система стабилизации перевёрнутого маятника

Лекция

Информатика, кибернетика и программирование

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

Русский

2013-08-03

668.5 KB

78 чел.

етоды искусственного интеллекта

Лекция № 14

МЕТОДЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

ЛЕКЦИЯ № 14

На последней лекции мы рассмотрели системы управления водяной ванной. Теперь рассмотрим инвертированный маятник.

Система стабилизации перевёрнутого маятника

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

Рисунок. Система стабилизации перевёрнутого маятника

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

Цель управления состоит в том, чтобы переместить тележку в позицию  таким образом, чтобы маятник оставался в вертикальном положении. Это означает, что при  должно соблюдаться условие , где  — производная от координаты  по времени. Чтобы перевести маятник в вертикальное положение из первоначального (нижнего) устойчивого положения, его необходимо повернуть; для этого требуется приложить к тележке силу, смещающую её в горизонтальном направлении. Такое действие будем называть поворотным управлением. После этого требуется стабилизировать маятник в вертикальном положении; для этого требуется управлять движением тележки в горизонтальном направлении. Это действие будем называть стабилизационным управлением.

Рисунок. Блок-схема системы стабилизации перевёрнутого маятника

Механическая часть и блок управления перевёрнутым маятником были разработаны Японской лабораторией современных методов управления (Advanced Control Laboratory of Japan). В экспериментах использовался персональный компьютер NEC PC-9801RA с математическим сопроцессором. Физические параметры маятника приведены в следующей таблице:

Параметры

Значения

Эквивалентная масса тележки

4,4 кг

Коэффициент преобразования напряжение/момент

20,09 Н/В

Эквивалентный коэффициент трения тележки

19,2 кг/с

Момент центра тяжести маятника

2,14×10-3 кг·м2

Коэффициент вязкого трения оси

0,115 м

Масса маятника

0,1 кг

Коэффициент преобразования позиция/напряжение

1,7 В/м

Коэффициент преобразования угол/напряжение

3,34 В/оборот

Сначала для поворота маятника из нижнего положения и его стабилизации в вертикальном положении г-н Омату и его команда разработали нечёткий контроллер. Для поворота и стабилизации маятника использовали два набора нечётких правил. Для поворота маятника использовался первый набор, состоявший из семи правил. Когда характеристики угла маятника (т.е. его угловая скорость и позиция тележки) оказывались в определённых диапазонах, нечёткий контроллер переключался на использование второго набора. Этот набор состоял из 11(!) нечётких правил, обеспечивающих стабилизацию маятника. Однако выбрать лучший набор правил, обеспечивающий хорошее управление, достаточно сложно.

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

Поворотное управление с использованием нечёткой логики

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

Рисунок. Знаки направлений в системе стабилизации перевёрнутого маятника

Поворотное управление реализуется с помощью набора из семи нечётких правил:

Таблица. Нечёткие правила для поворотов маятника

В ячейках таблицы — входное напряжение двигателя тележки.

Функция принадлежности, выбранная г-ном Омату и его друзьями для управления маятником, показана на следующем рисунке.

Рисунок. Функция принадлежности для нечётких переменных

системы стабилизации перевёрнутого маятника

Из устойчивого нижнего положения маятник поворачивается за счёт движения тележки вправо или влево по горизонтали. Так как начальное значение величин  и  равно ZE, из таблицы правил видно, что управляющее воздействие для тележки равно PM. Здесь  обозначает первую разность координаты , которая представляет собой аппроксимацию производной .

Применение нечётких правил обеспечивает движение тележки в положительном направлении. Когда тележка движется в отрицательном направлении, потенциальная энергия маятника нарастает. Затем маятник начинает двигаться вниз, теряя потенциальную энергию и увеличивая кинетическую. Таким образом, маятник снова поворачивается вниз, и в нижнем положении величина  равна ZE, а приращение  равно NM.

Из таблицы правил видно, что следующее управляющее действие — NM. Повторение вышеописанных действий обеспечивает повороты маятника вверх и вниз до тех пор, пока величина  при этом увеличивается. Когда величины координаты  и её производной  достигают определённых значений из некоторого заранее заданного диапазона, происходит переход от поворотного управления к стабилизационному. Диапазон смены управления задаётся следующим образом: , . Однако если координата , то тележка движется в направлении исходной точки, и действия поворотного управления повторяются. Указанный диапазон действия стабилизационного управления называется диапазоном устойчивости.

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

Таблица. Нечёткие правила для стабилизации маятника

Результаты экспериментов показаны на следующем рисунке:

Рисунок. Результаты экспериментов по стабилизации маятника

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

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

Результаты реализации двух этих методов вы сейчас увидите.

{рис. 5.3.6, с. 213}

{рис. 5.3.8, с. 214}

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

Теперь мы перейдём к рассмотрению применения ПИД-регулятора с самонастройкой для управления скоростью электромобиля.

Система управления скоростью электромобиля

Японская фирма Shikoku Electric Power Company в конце 90-х разработала новый тип электромобиля, который назвала PIVOT. Он может поворачиваться вокруг центра и смещаться в боковом направлении. Для эффективного управления электромобилем разработана система имитатора электромобиля, управляемого в реальных условиях дороги. Сопротивление движению может быть реализовано за счёт управления моментом двигателя, работающего как генератор.

Авторами этого исследования был разработан ПИД-нейроконтроллер с самонастройкой для управления скоростью и моментом нагрузки электромобиля. В этом контроллере настройка коэффициентов ПИД-регулятора выполняется нейросетью автоматически, в оперативном режиме. Эта система обладает достоинствами самообучения и самоорганизации; кроме того, нейросеть может использоваться для решения проблем, связанных с нелинейностями, а также для устранения помех, действующих на систему.

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

Схема системы управления электромобилем показана на следующем рисунке:

Рисунок. Схема генераторной системы электромобиля

UFAS — универсальная суммирующая система

T — динамометр

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

Выходная величина — момент — регулируется таким образом, чтобы маховик выходного двигателя вращался в соответствии с опорной скоростью , вычисляемой компьютером UFAS на основе рабочего шаблона движения электромобиля. Система управления имеет двойные цепи обратной связи: по скорости и по току. Управляющие параметры обычного ПИД-регулятора фиксированы; их значения установлены таким образом, что время интегрирования составляет 0,2 с, полоса пропорциональности (вычисляемая как величина, обратная коэффициенту пропорциональности), составляет 5 %, а время дифференцирования пренебрежительно мало.

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

,

где  — желаемая (опорная) скорость в момент времени , а  — действительная величина скорости. Здесь  и  — это интервалы дискретизации для компьютера и контроллера соответственно. Значение  — порядка 1 с,  — порядка 0,005 с. Причина существенного различия в порядке этих величин заключается в том, что нейросеть реализуется с помощью компьютера с относительно невысоким быстродействием, а для реализации контроллера используется специализированное устройство. Таким образом, веса связей и управляющий сигнал могут корректироваться с интервалом, равным , в то время как действительный интервал дискретизации для систем электромобиля равен .

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

{рис. 5.4.4, с. 224}

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

Мы рассмотрели ещё два примера применения нейросетей — для стабилизации перевёрнутого маятника и для управления скоростью электромобиля. Нам осталось только посмотреть, как надо управлять печью.

Вопросы для контрольной работы

  1.  Назовите преимущества и недостатки управления, основанного на нечёткой логике перед нейросетевым управлением.
  2.  Придумайте задачи, которые бы вы решали с помощью нейросетей, нечёткой логики и ПИД-регуляторов (три списка по пять задач).

PAGE  7

Томский политехнический университет,

Дмитрий Афонин, май 2006 г.


 

А также другие работы, которые могут Вас заинтересовать

69712. Дружні функції 25 KB
  Метод як правило використовується для реалізації властивостей об’єкту а у вигляді дружніх функцій оформляються дії не представляючі властивості класу але концептуально що входять в його інтерфейс і потребуючі в доступі до його прихованих полів наприклад перевизначення операції...
69713. Громадсько-політична діяльність Юліана Романчука (1842–1932) 130.5 KB
  Формування політичних поглядів Ю. Романчука, його кар’єра як політичного лідера, парламентська діяльність, робота в національно-культурних та економічних інституціях, видавничій та публіцистичних сферах, роль у визвольних змаганнях 1914–1923 рр.
69714. Адвокатура в кримінальному процесі 114 KB
  Адвокат - захисник підозрюваного, обвинувачуваного, підсудного. Конституція України – головні принципи забезпечення підозрюваному, обвинувачуваному, підсудному права на захист, презумпцію невинуватості та змагальності. Адвокат – представник по потерпілого, цивільного позивача і цивільного відповідача.
69715. Вказівники на об’єкти 27.5 KB
  Як відомо, при збільшенні покажчика на одиницю він переміщається на наступний елемент того ж типу. Наприклад, цілочисельний покажчик посилатиметься на наступне ціле число. Як правило, адресна арифметика залежить від типу покажчика. (Інакше кажучи, вона залежить від типа даних, на які посилається покажчик.).
69716. Виділення пам’яті для об’єктів 42 KB
  Використовуючи оператора new, можна динамічно виділяти пам’ять для об’єктів. В цьому випадку оператора поверне покажчик на створений об’єкт. Динамічно створений об’єкт нічим не відрізняється від інших. При його створенні також викликається конструктор...
69717. Стандартні виключення 27.5 KB
  Всі конструктори і методи мають специфікацію, що забороняє генерацію виключень. Функція-метод what() видає рядок-повідомлення про помилку. Передбачається, що виключення типу logicerror сигналізують про помилки в логіці програми, наприклад про невиконання деякої умови.
69718. Вкладені блоки try-catch 28 KB
  При обробці дійсно складних виключень, ви можете зацікавитися можливістю вкладати блоки try і оператори catch всередину інших операторів catch. C++ допускає вкладені блоки try, іншими словами, ви можете згенерувати нове виключення при обробці попереднього.
69719. Обробка несподіваних виключень 27.5 KB
  У програмі оголошені функції badnews, solver і main. Прототип функції solver перераховує виключення, що генеруються в цій функції. Проте ця функція генерує несподіване виключення, коли викликає функцію badnews.
69720. Неспіймані виключення 26.5 KB
  Не дивлячись на найвідчайдушніші спроби обробити виключення, бувають випадки, коли необхідно припинити виконання програми. Відновлення після таких виключень (а також фатальних) неможливе. C++ дозволяє використовувати функції terminate...