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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
Строка 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). По [[Медиа:Inverted_pendulum_project.zip|ссылке]] можно скачать архив с файлами, необходимыми для экспериментов с моделью.
+
Для изучения обратного маятника была разработана модель в системе Matlab Simulink. На данный момент в модели реализован алгоритм балансировки с помощью отдельных ПИД-регуляторов для контроля за устойчивостью маятника и положением каретки.
 +
На рисунке представлена реализация модели в программном пакете simulink.
 +
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
 +
[[File:TSxame.png|600px|none]]
 +
 
 +
 
 +
===Нахождение коэффициентов регулятора методом подбора==
 +
Сначала подбирается коэффициент 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|300px|none]] [[File:Founda pend.png|300px|none]]
 +
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма===
 +
Был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab). По [[Медиа:Inverted_pendulum_project.zip|ссылке]] можно скачать архив с файлами, необходимыми для экспериментов с моделью.
  
 
Ниже на видео показана реакция системы (с настроенными ПИД-регуляторами) на приложенный импульс, справа изображен график сходимости генетического алгоритма  
 
Ниже на видео показана реакция системы (с настроенными ПИД-регуляторами) на приложенный импульс, справа изображен график сходимости генетического алгоритма  
[[Файл:Inverted_pendulum_plot.jpg |thumb|525px|right|график сходимости]]  
+
 
 +
[[Файл: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
Строка 22: Строка 42:
 
|border=0
 
|border=0
 
}}
 
}}
 
+
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
 
+
[[Файл:PictOfbalance.png|thumb|525px|right|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]]
 
===Планы развития проекта===
 
===Планы развития проекта===
 
* Нами также был реализован нейроэволюционный алгоритм на языке Java. В будущем планируется применить его для балансировки обратного маятника (возможно, для этого понадобится реализовать модель маятника на Java) и провести сравнительный анализ различных алгоритмов балансировки
 
* Нами также был реализован нейроэволюционный алгоритм на языке Java. В будущем планируется применить его для балансировки обратного маятника (возможно, для этого понадобится реализовать модель маятника на Java) и провести сравнительный анализ различных алгоритмов балансировки

Версия 10:38, 24 ноября 2015

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

Цель проекта

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

Проектная команда

Модель

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

Inverted pendulum 2.jpg

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

TSxame.png


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

Сначала подбирается коэффициент 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
Founda pend.png

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

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

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

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

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

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

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

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

Ссылки