Обратный маятник — различия между версиями
(→Модель) |
|||
Строка 15: | Строка 15: | ||
На рисунке представлена реализация модели в программном пакете simulink. | На рисунке представлена реализация модели в программном пакете simulink. | ||
В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера. | В схему добавлено запаздывающее звено, которое эмитирует задержку в управлении, вызванной скоростью работы контроллера. | ||
− | [[File:TSxame.png|600px|none]] | + | [[File:TSxame.png|600px|none]] |
− | + | Можно загрузить [[Media:Pendulum4.zip|модель simulink]] | |
===Нахождение коэффициентов регулятора методом подбора=== | ===Нахождение коэффициентов регулятора методом подбора=== |
Версия 17:57, 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 Политех, проверить работу различных алгоритмов на практике