Обратный маятник — различия между версиями
Строка 27: | Строка 27: | ||
находим коэффициенты 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]] | |
==Пример сохранения устойчивости== | ==Пример сохранения устойчивости== | ||
Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали. | Пример сохранения устойчивости, при отклонении маятника на 10 градусов от вертикали. | ||
− | [[Файл:PictOfbalance.png|thumb| | + | [[Файл:PictOfbalance.png|thumb|400px|left|верхний график--угол отклонения от вертикали. средний положение каретки, нижний-- приложенная сила, Н]] |
+ | |||
− | |||
===Нахождение коэффициентов регулятора с помощью генетического ралгоритма=== | ===Нахождение коэффициентов регулятора с помощью генетического ралгоритма=== | ||
Был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab). По [[Медиа:Inverted_pendulum_project.zip|ссылке]] можно скачать архив с файлами, необходимыми для экспериментов с моделью. | Был реализован алгоритм автоматической настройки ПИД-регулятора с помощью генетических алгоритмов (использовался toolbox gatool в системе Matlab). По [[Медиа:Inverted_pendulum_project.zip|ссылке]] можно скачать архив с файлами, необходимыми для экспериментов с моделью. | ||
Строка 46: | Строка 46: | ||
|border=0 | |border=0 | ||
}} | }} | ||
− | + | ||
− | |||
===Планы развития проекта=== | ===Планы развития проекта=== | ||
* Нами также был реализован нейроэволюционный алгоритм на языке Java. В будущем планируется применить его для балансировки обратного маятника (возможно, для этого понадобится реализовать модель маятника на Java) и провести сравнительный анализ различных алгоритмов балансировки | * Нами также был реализован нейроэволюционный алгоритм на языке Java. В будущем планируется применить его для балансировки обратного маятника (возможно, для этого понадобится реализовать модель маятника на Java) и провести сравнительный анализ различных алгоритмов балансировки |
Версия 10:41, 24 ноября 2015
Содержание
Цель проекта
Написание ряда алгоритмов для балансировки обратного маятника
Проектная команда
- Руководитель проекта - Лобода Ольга Сергеевна
- Опочанский Александр (разработка модели обратного маятника)
- Поцелуев Павел (разработка алгоритмов балансировки)
Модель
Аналитически обратный маятник описывается следующей системой дифференциальных уравнений
Для изучения обратного маятника была разработана модель в системе Matlab 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 Политех, проверить работу различных алгоритмов на практике
Ссылки
- Обратный маятник+
- [http://www.cta.ru/cms/f/374303.pdf ПИД�регуляторы:
вопросы реализации]