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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Модель)
 
(не показано 16 промежуточных версий этого же участника)
Строка 15: Строка 15:
 
На рисунке представлена реализация модели в программном пакете simulink.
 
На рисунке представлена реализация модели в программном пакете simulink.
 
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
 
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
[[File:TSxame.png|600px|none]]  
+
[[File:TSxame.png|600px|none]]
 +
Можно загрузить [[Media:Pendulum4.zip|модель для simulink]]
  
 
+
===Нахождение коэффициентов регулятора методом подбора===
===Нахождение коэффициентов регулятора методом подбора==
 
 
Сначала подбирается коэффициент Kp с тем, чтобы системы выходила на предел устойчивости,  
 
Сначала подбирается коэффициент Kp с тем, чтобы системы выходила на предел устойчивости,  
 
как только значение получено, от него берётся 0,6 и вычисляются остальные значения коэффициентов регулятора.
 
как только значение получено, от него берётся 0,6 и вычисляются остальные значения коэффициентов регулятора.
  
===Нахождение коэффициентов регулятора по методу Зиглера и Никольса==
+
===Нахождение коэффициентов регулятора по методу Зиглера и Никольса===
 
подробно метод изложен на странице 88 документа http://www.cta.ru/cms/f/374303.pdf  
 
подробно метод изложен на странице 88 документа http://www.cta.ru/cms/f/374303.pdf  
 
система должна быть устойчивой, поэтому сначала коэффициенты подбираются для маятника в нижнем положении  
 
система должна быть устойчивой, поэтому сначала коэффициенты подбираются для маятника в нижнем положении  
 
находим коэффициенты a=11.5 L=0.13 T = 0.5c
 
находим коэффициенты a=11.5 L=0.13 T = 0.5c
 
пользуемся формулой [[File:Image266.gif|none]] находим K_p = 26 отклик на воздействие
 
пользуемся формулой [[File:Image266.gif|none]] находим K_p = 26 отклик на воздействие
[[File:Founda pend.png|400px|none]] [[File:Founda pend.png|400px|none]]  
+
[[File:Founda pend.png|400px|none]]
==Пример сохранения устойчивости==
+
===Пример сохранения устойчивости===
 
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
 
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
[[Файл:PictOfbalance.png|400px|left|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]]
+
[[Изображение:PictOfbalance.png|thumb|500px|center|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]]
 
 
 
 
  
 
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма===
 
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма===
Строка 53: Строка 51:
 
== Ссылки ==
 
== Ссылки ==
 
* [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B0%D1%8F%D1%82%D0%BD%D0%B8%D0%BA Обратный маятник]+
 
* [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B0%D1%8F%D1%82%D0%BD%D0%B8%D0%BA Обратный маятник]+
* [http://www.cta.ru/cms/f/374303.pdf ПИД�регуляторы:
+
* [http://www.cta.ru/cms/f/374303.pdf ПИД-регуляторы:вопросы реализации]
вопросы реализации]
+
* [http://www.bookasutp.ru/Chapter5_1_4.aspx Идентификация в замкнутом и разомкнутом контуре]
* [http://www.bookasutp.ru/Chapter5_1_4.aspx#рис. 5.29 Идентификация в замкнутом и разомкнутом контуре]
 

Текущая версия на 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 Политех, проверить работу различных алгоритмов на практике

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