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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Модель)
 
(не показана 21 промежуточная версия 2 участников)
Строка 1: Строка 1:
[[Файл:Inverted pendulum.png |thumb|250px|right|Обратный маятник на подвижной платформе]]  
+
[[Файл:Inverted_pendulum.png |thumb|250px|right|Обратный маятник на подвижной платформе]]  
  
 
===Цель проекта===
 
===Цель проекта===
Строка 9: Строка 9:
 
* [[Поцелуев Павел|Поцелуев Павел]] (разработка алгоритмов балансировки)
 
* [[Поцелуев Павел|Поцелуев Павел]] (разработка алгоритмов балансировки)
  
===Решение и результаты===
+
===Модель===
 
Аналитически обратный маятник описывается следующей системой дифференциальных уравнений  
 
Аналитически обратный маятник описывается следующей системой дифференциальных уравнений  
 
[[Файл:Inverted_pendulum_2.jpg|300px|none]]  
 
[[Файл:Inverted_pendulum_2.jpg|300px|none]]  
Для изучения обратного маятника была разработана модель в системе Matlab Simulink. На данный момент в модели реализован алгоритм балансировки с помощью ПИД-регуляторов. Также был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab).  
+
Для изучения обратного маятника была разработана модель в системе Matlab Simulink. На данный момент в модели реализован алгоритм балансировки с помощью отдельных ПИД-регуляторов для контроля за устойчивостью маятника и положением каретки.
Ниже на видео показана реакция системы (с настроенными ПИД-регуляторами) на приложенный импульс
+
На рисунке представлена реализация модели в программном пакете simulink.
 +
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
 +
[[File:TSxame.png|600px|none]]
 +
Можно загрузить [[Media:Pendulum4.zip|модель для simulink]]
  
 +
===Нахождение коэффициентов регулятора методом подбора===
 +
Сначала подбирается коэффициент Kp с тем, чтобы системы выходила на предел устойчивости,
 +
как только значение получено, от него берётся 0,6 и вычисляются остальные значения коэффициентов регулятора.
 +
 +
===Нахождение коэффициентов регулятора по методу Зиглера и Никольса===
 +
подробно метод изложен на странице 88 документа http://www.cta.ru/cms/f/374303.pdf
 +
система должна быть устойчивой, поэтому сначала коэффициенты подбираются для маятника в нижнем положении
 +
находим коэффициенты a=11.5 L=0.13 T = 0.5c
 +
пользуемся формулой [[File:Image266.gif|none]] находим K_p = 26 отклик на воздействие
 +
[[File:Founda pend.png|400px|none]]
 +
===Пример сохранения устойчивости===
 +
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
 +
[[Изображение:PictOfbalance.png|thumb|500px|center|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]]
 +
 +
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма===
 +
Был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab). По [[Медиа:Inverted_pendulum_project.zip|ссылке]] можно скачать архив с файлами, необходимыми для экспериментов с моделью.
 +
 +
Ниже на видео показана реакция системы (с настроенными ПИД-регуляторами) на приложенный импульс, справа изображен график сходимости генетического алгоритма
 +
 +
[[Файл:Inverted pendulum plot.jpg|thumb|525px|right|график сходимости]]
 
{{#widget:Iframe
 
{{#widget:Iframe
 
|url=http://www.youtube.com/embed/7XpFwX1iFn4?rel=0&hd=1
 
|url=http://www.youtube.com/embed/7XpFwX1iFn4?rel=0&hd=1
Строка 21: Строка 44:
 
|border=0
 
|border=0
 
}}
 
}}
 
  
 
===Планы развития проекта===
 
===Планы развития проекта===
Строка 28: Строка 50:
  
 
== Ссылки ==
 
== Ссылки ==
* [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.bookasutp.ru/Chapter5_1_4.aspx Идентификация в замкнутом и разомкнутом контуре]

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

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