Библиотека для исследования алгоритмов идентификации и адаптивного управления
CotPy - это пакет для расчета неизвестных коэффициентов моделей объектов и синтеза закона управления. Он содержит:
- алгоритмы идентификации неизвестных коэффициентов модели;
- инструменты синтеза закона адаптивного управления и расчета управлющего воздействия;
- Метод наименьших квадратов (МНК):
- при линейной параметризации;
- метод последовательной линеаризации.
- Адаптивный метод наименьших квадратов:
- стандартный;
- с экспоненциальным забыванием информации;
- на основе модели в приращениях (метод последовательной линеаризации);
- с адаптивным весом.
- Простейший адаптивный алгоритм:
- стандартный;
- на основе модели в приращениях (метод последовательной линеаризации);
- с памятью;
- с адаптивным весом;
- с глубокой подстройкой (многошаговый).
Робастные алгоритмы МНКАлгоритм Cipra (Cipra T. Robust smoothing and forecasting procedures)Алгоритм Поляка (робастный и нет)
В модель закладывается вся апприорная информация об объекте, т.е. если объект описываетсяя уравнением:
x(t) = f(x(t-1), u(t-1-tao), a) + e(t), t=1,2,3,...
то уравнение модели будет:
y(t|a(t)) = f(x(t-1), u(t-1-tao), a(t)).
Библиотека на вход примает описание модели в виде разностного уравнения. Допускаетсяя использовать функции, поддерживаемые библиотекой sympy.
- Строиться модель объекта:
x(t) = f(x(t-1), u(t-1-tao), a) + e(t), t=1,2,3,...
y(t|a(t)) = f(x(t-1), u(t-1-tao), a(t))
- Делается прогноз на 1 такт:
y(t+1|a(t)) = f(x(t), u(t-tao), a(t))
- Процедура посторяется пока в правой части не появиться u(t):
y(t+1+tao|a(t)) = f(y(t+tao|a(t)), u(t), a(t))
- Прогноз приравнивается к значению желаемой траектории в момент t+1+tao:
y(t+1+tao|a(t)) = x(t+1+tao)*
- Из полученного равенства находиться u(t)
Если tao = 0, то достаточно сделать прогноз на 1 такт, т.е. на момент t+1.
- Создать модель на основе математического описания объекта
- Если имеются неизвестные коэффициенты - создать идентификатор
- инициализировать начальные значения входов, выходов и коэффициентов
- выбрать алгоритм идетификации
- Если необходим расчет управляющего воздействия - создать регулятор
- Синтезировать закон управления
- В цикле измерять значения выхода объекта, проводить идентификацию неизвестных коэффициентов и вычислять значение управляющего воздействия.
На рисунке приведен пример управления температурными режимами жидкости с использованием простейшего адаптивного алгоритма с памятью в 5 тактов.
Данный график, а также график идентификации коэффициентов можно получить запустив пример example_4.