Control System Toolbox (1086791), страница 6
Текст из файла (страница 6)
k = acker(А, В, р)
Здесь аргументы А и В — матрицы ss-модели, р — вектор желаемых полюсов.
Возвращаемая величина k — вектор коэффициентов усиления обратной связи.
Функция place по назначению аналогична предыдущей функции, но может использоваться как для одномерных, так и для многомерных систем:
К = place(А, В,р) [К,prec,message] = place(А, В, р)
Аргументы этой функции те же, что у функции acker. Возвращаемые величины:
-
K — матрица коэффициентов усиления;
-
ргес — число точных десятичных цифр у полюсов найденной замкнутой системы;
-
message — предупреждение, выдаваемое, если некоторые полюсы замкнутой системы отличаются от желаемых более чем на 10 процентов.
Функция estim формирует наблюдающее устройство (наблюдатель):
est = estim(sys,L) est = estim(sys, L, sensors, known)
Функция estim(sys, L) возвращает ss-модель наблюдателя для непрерывной модели (все входы модели предполагаются случайными и неизмеряемыми, а все выходы измеряемыми) в соответствии с уравнениями
где — оценки переменных состояния и выхода объекта.
Наблюдатель для дискретной модели описывается аналогичными уравнениями.
Функция est = estim (sys, L, sensors, known) работает с объектами управления более общей структуры, позволяя учитывать измеряемые сигналы управления u, случайные измеряемые входы w, а также измеряемые выходы у и неизмеряемые выходы z:
Индексы векторов sensors и known определяют, какие выходы являются измеряемыми и какие входы известными. Полученный наблюдатель est использует для вычисления оценок переменных состояния как вектор u, так и вектор у:
Функция reg формирует динамический регулятор (компенсатор) rsys для заданной в пространстве состояний модели объекта управления sys, матрицы коэффициентов обратных связей по переменным состояния К и матрицы L коэффициентов обратных связей наблюдателя:
rsys = reg (sys, K, L)
rsys = reg (sys, К, L, sensors, known, controls)
Уравнения регулятора имеют вид
Аргумент controls определяет, какие входы являются измеряемыми, остальные аргументы — как у предыдущей функции. Возвращаемая величина — модель регулятора в ss-форме.
Функции sgrid и zgrid строят сетки постоянных коэффициентов демпфирования от 0 до 1 с шагом 0,1 и собственных частот от 0 до 10 рад/с с шагом 1 рад/с на плоскостях р и z соответственно:
sgrid sgrid(z,wn)
zgrid zgrid(z,wn)
Функции sgrid(z,wn) и zgrid(z,wn) строят сетки постоянных коэффициентов демпфирования и собственных частот для значений, указанных в векторах z и wn.
7.3.13. Аналитическое конструирование регуляторов
Для аналитического конструирования регуляторов служит группа перечисленных ниже функций. Она содержит следующие семь функций.
Функция lqr осуществляет синтез оптимального регулятора для непрерывной системы:
[K, S, e] = lqr (A, B, Q, R) [K, S, e] = lqr (А, В, Q, R, N)
Функция [K, S, e] = lqr (А, В, Q, R, N) рассчитывает матрицу коэффициентов обратных связей К, такую, что закон управления u = -Кх минимизирует квадратичный критерий качества:
для непрерывной ss-модели. Если аргумент N опущен, то по умолчанию N = 0. В дополнение к матрице коэффициентов обратных связей К возвращается решение S непрерывного уравнения Рикатти и собственные значения матрицы замкнутой системы е = eig(A - ВК). При этом матрица К определяется выражением
К = R-1(BTS+NT).
Функция dlqr осуществляет синтез оптимального регулятора для ретной системы:
[K, S, e] - dlqr(A,B,Q,R) [K, S, e] = dlqr (А, В, Q, R, N)
Смысл аргументов и возвращаемых величин — как у предыдущей функции.
Функция Iqry осуществляет синтез оптимального регулятора с ограничением на выходные сигналы:
[K, S, e] = lqry(sys, Q, R) [K, S, e] = lqry(sys, Q, R, N)
Здесь sys — имя модели объекта. Остальные аргументы и возвращаемые величины — как у двух предыдущих функций. Отличие данной функции от функции lqr состоит в виде используемого критерия оптимизации. В данном случае
Функция lqrd осуществляет синтез дискретного регулятора для непрерывной системы:
[Kd, S, e] = lqrd(A, B, Q, R, Ts) [Kd, S, e] = lqrd(A, B, Q, R, N, Ts)
Рассматриваемая функция предназначена для расчета дискретных регуляторов с обратными связями по всем переменным состояния с динамическими характеристиками, аналогичными характеристикам непрерывного регулятора, найденного с помощью функции lqr.
Функция, вызванная в форме [Kd, S, e] = lqrd (А, В, Q, R, N, Ts), paccчитывает дискретный закон управления
u(n) = -Kdx(n),
который минимизирует критерий качества, эквивалентный непрерывному критерию, используемому в функции lqr.
Аргумент Ts — интервал дискретизации, остальные аргументы и возвращаемые величины аналогичны используемым в функции lqr.
Функция kalman осуществляет синтез фильтра Калмана:
[kest, L, P] = kalman (sys, Qn, Rn, Nn)
[kest, L, P, M, Z] = kalman(sys, Qn, Rn, Nn) % Только для дискретных моделей
[kest, L, P] = kalman(sys, Qn, Rn, Nn,s ensors, known)
Рассматриваемая функция выполняет синтез фильтра Калмана для оценки переменных состояния объекта управления на основе данных о случайных внешних возмущениях и ошибках измерений.
Для непрерывного случая .предполагается заданной следующая модель объекта управления:
с известными входами u и возмущениями по входам w и измерениям v, которые являются «белым шумом» со следующими характеристиками:
М {w} = M{v} = 0,
М {w(t)wT()} = Qn(t-),
M {v(t)vT()} = Rn ( t-),.
M {v(t)w()} = Nn ( t-),.
Синтез наблюдателя для оценивания вектора переменных состояния объекта проводится исходя из минимизации установившейся ошибки оценивания
Оптимальным решением является фильтр Калмана, описываемый уравнениями
где матрица коэффициентов обратных связей L определяется на основе решения алгебраического матричного решения Рикатти.
Аналогично определяется фильтр Калмана и для дискретного случая.
Аргументы данной функции следующие:
-
sys — имя модели объекта;
-
Qn, Rn, Nn — матрицы, определяющие характеристики возмущений и поясненные выше;
-
sensors и known — векторы, определяющие, какие выходы системы
измеряются и какие входы известны (все другие входы предполагаются
случайными и неизвестными).
Возвращаемые величины:
-
kest — ss-модель фильтра Калмана;
-
L и Р — матрицы приведенного вида;
-
М — обновленная матрица обратных связей;
-
Z — ковариационная матрица ошибок оценивания в установившемся режиме.
Функция kalmd осуществляет синтез дискретного фильтра Калмана для непрерывной системы:
[kest, L, P, M, Z] = kalmd(sys, Qn, Rn, Ts)
Рассматриваемая функция рассчитывает дискретный фильтр Калмана с динамическими характеристиками, подобными характеристикам непрерывного фильтра, рассчитанного с помощью функции kalman. Фактически эта функция предназначена для цифровой реализации непрерывного фильтра. Аргумент Ts — интервал дискретизации. Остальные аргументы и возвращаемые величины— как у функции kalman.
Функция lqgreg формирует так называемый линейный квадратичный гауссов регулятор (ЛКГ-регулятор):
rlqg = lqgreg(kest, К) rlqg = lqgreg(kest, К, controls)
rlqg = lqgreg(kest,K,'current') % Только для дискретных моделей.
Рассматриваемая функция формирует ЛКГ-регулятор путем соединения, рассчитанного с помощью функции kalman фильтра Калмана и матриццы коэффициентов обратных связей, рассчитанной с помощью функций lqr или lqry. ЛКГ-регулятор является оптимальным и минимизирует некоторый квадратичный критерий качества, оценивающий эффективность регулирования и затраты на управление. ЛКГ-регулятор синтезируется как динамический объект, обеспечивающий фильтрацию шумов измерений выходных сигналов объекта управления.
В непрерывном варианте данный регулятор имеет следующее описание:
где yv — вектор измеряемых выходов объекта управления.
Аналогичный вид имеет и описание регулятора для дискретного варианта. Аргументы функции следующие:
-
kest — имя фильтра Калмана, синтезированного с помощью функции kalman;
-
К — матрица обратных связей (найденная с помощью функций lqr, dlqr или lqry);
-
аргумент 'current' задает расчеты сигнала управления на основе текущего измерения, то есть не в режиме реального времени;
-
вектор индексов controls указывает, какие входы наблюдателя являются измеряемыми сигналами управления ud.
Возвращаемая величина — ss-модель ЛКГ-регулятора с именем rlqg.
7.3.14. Решение матричных уравнений
Следующие функции используются для решения матричных уравнений с повышенной эффективностью.
Функция саге находит решение непрерывного алгебраического уравнения Рикатти:
[X, L, G, rr] = care(A, B,Q) [X, L, G, rr] = care(А, В, Q, R, S, E)
[X, L, G, report] = care(A, B, Q, ..., 'report')
[X1, X2, L, report] = care(A, B, Q, ...,' implicit')
Функция [X, L, G, rr] = care(A,B,Q) находит единственное решение алгебраического уравнения Рикатти
Ric(X) = АТХ + ХА - ХВВТХ + Q = 0
в виде такой матрицы X, что все собственные значения матрицы замкнутой системы А - ВВТХ расположены в левой полуплоскости комплексной переменной p. Кроме этого, функция возвращает:
-
собственные значения L матрицы А - ВВТХ;
-
матрицу коэффициентов обратных связей G = ВТХ;
-
относительную невязку решения rr, определяемую выражением
Функция [X, L, G, rr] = саге (А, В, Q, R, S, Е) решает обобщенное уравнение Рикатти вида
Ric(X) = АТХЕ + ЕТХА - (ЕТХВ + S)R-1(BTXE + ST) + Q = 0.