Обратный маятник — различия между версиями
(→Модель) |
|||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 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
Содержание
- 1 Цель проекта
- 2 Проектная команда
- 3 Модель
- 4 Нахождение коэффициентов регулятора методом подбора
- 5 Нахождение коэффициентов регулятора по методу Зиглера и Никольса
- 6 Пример сохранения устойчивости
- 7 Нахождение коэффициентов регулятора с помощью генетического ралгоритма
- 8 Планы развития проекта
- 9 Ссылки
Цель проекта[править]
Написание ряда алгоритмов для балансировки обратного маятника
Проектная команда[править]
- Руководитель проекта - Лобода Ольга Сергеевна
- Опочанский Александр (разработка модели обратного маятника)
- Поцелуев Павел (разработка алгоритмов балансировки)
Модель[править]
Аналитически обратный маятник описывается следующей системой дифференциальных уравнений
Для изучения обратного маятника была разработана модель в системе Matlab Simulink. На данный момент в модели реализован алгоритм балансировки с помощью отдельных ПИД-регуляторов для контроля за устойчивостью маятника и положением каретки. На рисунке представлена реализация модели в программном пакете simulink. В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера.
Можно загрузить модель для simulink
Нахождение коэффициентов регулятора методом подбора[править]
Сначала подбирается коэффициент Kp с тем, чтобы системы выходила на предел устойчивости, как только значение получено, от него берётся 0,6 и вычисляются остальные значения коэффициентов регулятора.
Нахождение коэффициентов регулятора по методу Зиглера и Никольса[править]
подробно метод изложен на странице 88 документа http://www.cta.ru/cms/f/374303.pdf система должна быть устойчивой, поэтому сначала коэффициенты подбираются для маятника в нижнем положении находим коэффициенты a=11.5 L=0.13 T = 0.5c
пользуемся формулой находим K_p = 26 отклик на воздействиеПример сохранения устойчивости[править]
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали.
Нахождение коэффициентов регулятора с помощью генетического ралгоритма[править]
Был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab). По ссылке можно скачать архив с файлами, необходимыми для экспериментов с моделью.
Ниже на видео показана реакция системы (с настроенными ПИД-регуляторами) на приложенный импульс, справа изображен график сходимости генетического алгоритма
Планы развития проекта[править]
- Нами также был реализован нейроэволюционный алгоритм на языке Java. В будущем планируется применить его для балансировки обратного маятника (возможно, для этого понадобится реализовать модель маятника на Java) и провести сравнительный анализ различных алгоритмов балансировки
- Реализовать модель обратного маятника в Fablab Политех, проверить работу различных алгоритмов на практике