Обратный маятник — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Модель)
 
(не показано 10 промежуточных версий этого же участника)
Строка 15: Строка 15:
 
На рисунке представлена реализация модели в программном пакете simulink.
 
На рисунке представлена реализация модели в программном пакете simulink.
 
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
 
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
[[File:TSxame.png|600px|none]]  
+
[[File:TSxame.png|600px|none]]
 
+
Можно загрузить [[Media:Pendulum4.zip|модель для simulink]]
  
 
===Нахождение коэффициентов регулятора методом подбора===
 
===Нахождение коэффициентов регулятора методом подбора===
Строка 30: Строка 30:
 
===Пример сохранения устойчивости===
 
===Пример сохранения устойчивости===
 
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
 
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
[[Файл:PictOfbalance.png|thumb|500px|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]]
+
[[Изображение:PictOfbalance.png|thumb|500px|center|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]]
________________________________________________________________
 
  
 
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма===
 
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма===

Текущая версия на 17:59, 27 ноября 2015

Обратный маятник на подвижной платформе

Цель проекта[править]

Написание ряда алгоритмов для балансировки обратного маятника

Проектная команда[править]

Модель[править]

Аналитически обратный маятник описывается следующей системой дифференциальных уравнений

Inverted pendulum 2.jpg

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

TSxame.png

Можно загрузить модель для simulink

Нахождение коэффициентов регулятора методом подбора[править]

Сначала подбирается коэффициент Kp с тем, чтобы системы выходила на предел устойчивости, как только значение получено, от него берётся 0,6 и вычисляются остальные значения коэффициентов регулятора.

Нахождение коэффициентов регулятора по методу Зиглера и Никольса[править]

подробно метод изложен на странице 88 документа http://www.cta.ru/cms/f/374303.pdf система должна быть устойчивой, поэтому сначала коэффициенты подбираются для маятника в нижнем положении находим коэффициенты a=11.5 L=0.13 T = 0.5c

пользуемся формулой
Image266.gif
находим K_p = 26 отклик на воздействие
Founda pend.png

Пример сохранения устойчивости[править]

Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.

верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н

Нахождение коэффициентов регулятора с помощью генетического ралгоритма[править]

Был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab). По ссылке можно скачать архив с файлами, необходимыми для экспериментов с моделью.

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

график сходимости

Планы развития проекта[править]

  • Нами также был реализован нейроэволюционный алгоритм на языке Java. В будущем планируется применить его для балансировки обратного маятника (возможно, для этого понадобится реализовать модель маятника на Java) и провести сравнительный анализ различных алгоритмов балансировки
  • Реализовать модель обратного маятника в Fablab Политех, проверить работу различных алгоритмов на практике

Ссылки[править]