
- •Перевернутый маятник на каретке как объект управления
- •Перевернутый маятник на каретке
- •Математическая модель объекта управления
- •Дифференциальные уравнения в форме Коши
- •Анализ объекта управления
- •Компьютерное моделирование
- •Линеаризация дифференциальных уравнений
- •Линеаризация модели и анализ в среде matlab/Simulink
- •Синтез системы автоматической стабилизации методом пространства состояний
- •Синтез регулятора состояния
- •Синтез наблюдателя состояний
- •Динамический регулятор
- •Оценка области притяжения положения равновесия
- •Синтез систем регулирования операторным методом
- •Анализ линейной системы
- •Компьютерное моделирование нелинейной системы
- •Синтез системы стабилизации частотным методом
- •Частотный метод синтеза
- •Системы с цифровыми управляющими устройствами
- •Модели систем цифрового управления непрерывными объектами
- •Однородные модели систем управления
- •Заключение
- •Список литературы
Линеаризация модели и анализ в среде matlab/Simulink
Программа
MATLAB/Simulink
позволяет получить линеаризованную
модель для малых отклонений от положения
равновесия
по команде
>> l = 1; m = 0.1; M = 0.4;
>> [A,B,C,D] = linmod2('pendulum')
если в правой части команды вписать имя simulink-модели. Для выбранных для иллюстрации параметров модели получим следующие матрицы:
A = 0 0 0 1.0000
0 0 1.0000 0
0 42.9187 0 0
0 -3.0656 0 0
B = 0
0
-10.4167
3.1250
C = 1 0 0 0
D = 0
Получена
четвёрка матриц системы линейных
дифференциальных уравнений в форме
пространства состояний (2.4), где:
— абстрактный вектор состояний.
Сопоставляя
матрицы, полученные вручную (2.2), (2.3) и
по команде linmod2,
можно заметить отличие в расположении
элементов. Это объясняется различной
нумерацией переменных. Соответствие
между абстрактным и физическим векторами
состояний легко устанавливается по
структуре матриц:
.
Вычислим собственные значения матрицы A с помощью команды:
>> eig(A)
0
0
6.5512
-6.5512
Имеется двукратное нулевое собственное значение и одно «правое», что говорит о неустойчивости положения равновесия. Это отвечает нашим представлениям о поведении объекта и результатам компьютерного моделирования.
Программа MATLAB/Control System Toolbox позволяет получить передаточную функцию объекта численно. Для получения числителя и знаменателя ПФ воспользуемся командами
>> [num,den]=ss2tf(A,B,C,D)
num = 0 0 3.1250 -0.0000 -102.1875
den = 1.0000 -0.0000 -42.9187 0 0
>> plant=tf(num,den)
3.125 s^2 - 2.776e-15 s - 102.2
-------------------------------------
s^4 - 8.882e-16 s^3 - 42.92 s^2
Вычислительные ошибки приводят к наличию весьма малых коэффициентов, к сожалению, иногда повышающих степени полиномов. Следует вручную отредактировать коэффициенты
>> num=[3.1250 0 -102.1875];
>> den=[1 0 -42.9187 0 0];
В результате получим ПФ объекта для малых отклонений
3.125 s^2 - 102.2
---------------------
s^4 - 42.92 s^2
Вычислим нули и полюсы ПФ:
>> zpk(plant)
Zero/pole/gain:
3.125 (s-5.718) (s+5.718)
-------------------------------
s^2 (s-6.551) (s+6.551)
Получена так называемая факторизованная форма ПФ.
Полюсы ПФ являются корнями характеристического полинома, т. е. собственными значениями матрицы A.
Синтез системы автоматической стабилизации методом пространства состояний
Синтез регулятора состояния
Целью системы автоматического управления является стабилизация верхнего неустойчивого положения равновесия маятника. Каретка должна находиться в заданном положении покоя.
Задача решается на основе линеаризованной модели объекта, т. е. система автоматической стабилизации должна будет обеспечивать устойчивость при малых отклонениях состояния от верхнего положения равновесия маятника.
Пусть имеется текущая информация о всех переменных состояния объекта
Алгоритм регулятора состояния запишется так:
Уравнение замкнутой системы в стандартной форме пространства состояний получим, если из уравнений объекта (3.1) и регулятора состояния (3.2) исключим переменную
где
—
матрица состояний замкнутой системы.
Отметим, что замкнутая система получилась автономной — она не имеет входов.
Задача синтеза заключается в определении матрицы регулятора состояния K из условия желаемого расположения собственных значений матрицы состояний замкнутой системы .
Задача синтеза регулятора имеет решение, если объект управляем.
Для анализа управляемости воспользуемся критерием Калмана, который сводится к проверке ранга матрицы управляемости
:
>> rank(ctrb(A,B))
ans = 4
Матрица управляемости имеет полный ранг, что свидетельствует о полной управляемости состояния объекта. Действуя с силой на каретку, можно менять все переменные состояния — стабилизировать верхнее положение маятника и привести каретку в исходное положение.
В русскоязычной технической литературе метод синтеза из условия желаемого размещения собственных значений иногда называют «модальным управлением» (англ. modal control), т. е. управлением модами.
Модами называют составляющие движения
exp(sit),
отвечающие
собственным значениям
матрицы состояний системы.
Существует произвол в выборе желаемых собственных значений системы. Ясно, что все они должны иметь отрицательные действительные части, причем, чем дальше от мнимой оси находится собственное значение, тем быстрее затухает составляющая процесса. Вместе с тем, большее быстродействие системы управления достигается при больших ускорениях, что означает необходимость в приложении чрезмерных усилий на каретку.
Выбор, как всегда, компромисс между противоречивыми требованиями. Если нет особых требований к быстродействию системы управления, то следует ориентироваться на естественную динамику объекта, т. е. на собственные значения объекта:
>> eig(A)
0
0
6.5512
-6.5512
Назначим «желаемые» собственные значения:
>> p=[-1 -2 -4 -6]';
Матрицу регулятора, обеспечивающего желаемое расположение собственных значений, найдем по команде:
>> K=place(A,B,p)
K = -0.4697 -9.6371 -1.5181 -0.9003
Проведем анализ устойчивости системы:
>> eig(A-B*K)
ans = -6.0000
-4.0000
-2.0000
-1.0000
Замкнутая линейная система имеет желаемое расположение собственных значений.