Научная статья на тему 'Реализация в среде Matlab аналитических алгоритмов модального управления по состоянию и по выходу'

Реализация в среде Matlab аналитических алгоритмов модального управления по состоянию и по выходу Текст научной статьи по специальности «Математика»

CC BY
376
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДАЛЬНОЕ УПРАВЛЕНИЕ / АНАЛИТИЧЕСКОЕ РЕШЕНИЕ / ОБРАТНАЯ СВЯЗЬ ПО СОСТОЯНИЮ / ОБРАТНАЯ СВЯЗЬ ПО ВЫХОДУ / МНОГОУРОВНЕВАЯ ДЕКОМПОЗИЦИЯ / ДУАЛИЗМ РЕГУЛЯТОРОВ И НАБЛЮДАТЕЛЕЙ / MODAL CONTROL / ANALYTIC SOLUTION / STATE-VECTOR FEEDBACK / OUTPUT-VECTOR FEEDBACK / MULTILEVEL DECOMPOSITION / CONTROLLERS AND OBSERVERS DUALITY

Аннотация научной статьи по математике, автор научной работы — Лапин Алексей Владимирович, Зубов Николай Евгеньевич

Рассмотрена проблема программной реализации в среде MATLAB (в качестве дополнения к пакетам Control System Toolbox и Symbolic Math Toolbo, для расширения возможностей встроенных функций acker и place) аналитических алгоритмов модального управления по вектору состояния, основанных на методе полного размещения полюсов, а также по выходному вектору (при неполной информации о векторе состояния) с применением идеи Ван дер Воуда. Для расчета модальных регуляторов предложена единая функция с одним из аргументов логического типа (0 = состояние, 1 = выход), которая позволяет получать актуальные для систем с переменными параметрами аналитические решения задачи модального управления при любой кратности полюсов в исходном и желаемом спектрах. Разработанные алгоритмы переведены в программный код MATLAB.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Лапин Алексей Владимирович, Зубов Николай Евгеньевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MATLAB based implementation of analytic algorithms of modal control with state-vector feedback and output-vector feedback

The paper considers a problem of MATLAB-based programmed implementation (as an addition to expansion packs "Control System Toolbox" and "Symbolic Math Toolbox", for extending possibilities of built-in functions 'acker' and 'place') of analytic algorithms of modal control with state-vector feedback synthesized by so called Full Pole Placement method, as well as with output-vector feedback (in case of incomplete information about state vector) using the Van der Woude idea. To calculate modal controllers a joined function with Boolean argument (0 for state, 1 for output) is proposed, which allows obtaining analytic solutions of the problem of modal control, that are actual for variable parameter systems, at any multiplicity of poles in original spectrum and in desirable spectrum. The developed algorithms are translated into MATLAB code.

Текст научной работы на тему «Реализация в среде Matlab аналитических алгоритмов модального управления по состоянию и по выходу»

УДК 681.5

DOI: 10.18698/2308-6033-2020-1-1950

Реализация в среде MATLAB аналитических алгоритмов модального управления по состоянию и по выходу

© А.В. Лапин, Н Е. Зубов

МГТУ им. Н.Э. Баумана, Москва, 105005, Россия

Рассмотрена проблема программной реализации в среде MATLAB (в качестве дополнения к пакетам Control System Toolbox и Symbolic Math Toolbo, для расширения возможностей встроенных функций acker и place) аналитических алгоритмов модального управления по вектору состояния, основанных на методе полного размещения полюсов, а также по выходному вектору (при неполной информации о векторе состояния) с применением идеи Ван дер Воуда. Для расчета модальных регуляторов предложена единая функция с одним из аргументов логического типа (0 = состояние, 1 = выход), которая позволяет получать актуальные для систем с переменными параметрами аналитические решения задачи модального управления при любой кратности полюсов в исходном и желаемом спектрах. Разработанные алгоритмы переведены в программный код MATLAB.

Ключевые слова: модальное управление, аналитическое решение, обратная связь по состоянию, обратная связь по выходу, многоуровневая декомпозиция, дуализм регуляторов и наблюдателей

Введение. В настоящее время наблюдается быстрое развитие теории автоматического управления, которое затрагивает в том числе и модальное управление [1-18]. Модальное управление по состоянию рассматривается в работах [4, 9-15], а модальное управление по выходу — в работах [1-3, 5-8, 11, 16-18]. Задача модального управления для линейных динамических систем рассматривается в следующей постановке.

Задана непрерывная или дискретная линейная динамическая система, описываемая вещественными матрицами состояния, управления и наблюдения заданной размерности:

A eRnXn; B einXm; C e R/Xn, (1)

причем

rank B = m (m < n); rank C = l (l < n); m +1 > n. (2)

Требуется синтезировать модальный регулятор или наблюдатель [11] с обратной связью по состоянию или по выходу, обеспечивающий соответственно замкнутой системе объект — регулятор или

объект — наблюдатель заданный спектр Л*.

В настоящее время в среде MATLAB имеются стандартные функции acker и place из пакета Control System Toolbox для числен-

ного решения поставленной задачи. Функция acker, использующая формулу Аккерманна [10], предназначена для систем с одним управляющим входом (Single Input Multiple Output — SIMO). Функция place, основанная на методе правых собственных векторов [11], применяется к системам и с одним, и с несколькими управляющими входами (Multiple Inputs Multiple Output — MIMO). Указанные функции имеют следующие недостатки:

1) невозможность получать аналитические решения задач модального управления, актуальные для систем с переменными параметрами;

2) ограничения по кратности полюсов в исходном и желаемом спектрах;

3) невозможность синтеза модального управления по выходу, что необходимо в случае неполной информации о векторе состояния.

Авторами настоящей статьи предлагается в дополнение к пакетам Control System Toolbox и Symbolic Math Toolbox в среде MATLAB реализовать единую функцию аналитического расчета модальных регуляторов с обратной связью по состоянию или по выходу, решающую задачи модального управления при любой кратности полюсов в исходном и желаемом спектрах. Такая функция может быть основана на аналитическом методе модального управления — методе полного размещения полюсов (ПРП) [11], а также на развитии идеи Ван дер Воуда [8] при управлении по выходу.

Аналитический синтез модального управления по состоянию. Для матриц (1) с ограничениями на размерность (2) требуется синтезировать либо регулятор по состоянию с матрицей K, обеспечивающий заданный спектр Л* замкнутой системе объект — регулятор по состоянию, т. е.

либо наблюдатель по состоянию с матрицей Ь, обеспечивающий

заданный спектр Л* замкнутой системе объект — наблюдатель по состоянию, т. е.

На основании дуальных свойств управляемости и наблюдаемости [11] задача синтеза модального наблюдателя получается из соответствующей задачи синтеза модального регулятора путем замены матриц в условии

eig(A - BK) = Л*,

(3)

eig( A - LC) = Л*.

(4)

A ^ Aт, B ^ Ст, C ^ Bт

(5)

и в решении

K ^ L1.

(6)

Поэтому ограничимся описанием алгоритма аналитического синтеза модального регулятора по состоянию на основании метода ПРП [11].

Алгоритм аналитического синтеза модального регулятора

по состоянию

1. Проверяется наличие полной управляемости пары матриц A, B, например, по критерию Калмана [11]:

rank [в AB ... Аи-1в] = п.

При невыполнении данного условия алгоритм завершается.

2. Выполняется декомпозиция полностью управляемой пары матриц A, B.

2.1. Записывается нулевой уровень декомпозиции с парой матриц

А о = A; Bo = B.

2.2. Последовательно выполняются процедуры декомпозиции для уровней с номерами i = 1, 2, ...:

а) при условии так называемого невырожденного ранга на текущем уровне, т. е. если ранг матрицы Bi равен размерности вектора управления на данном уровне, принимается равенство Bi = Bi, в противном случае выполняется скелетное разложение [11]

B. = B i Ti (7)

и принимается равенство Bi = Bi. В обоих случаях матрица Bi будет иметь «невырожденный ранг», а пара матриц Ai, Bi, согласно теоремам о декомпозиции [11], являться полностью управляемой.

Если матрица Bi оказывается обратимой, декомпозиция заканчивается на текущем уровне с номером i = M и осуществляется переход к пункту 3, в противном случае выполняется пункт «б»;

б) вводится уровень декомпозиции с номером i +1 и парой матриц

Aid = B ^ AiB ^+; Bi+1 = B iLAp i. (8)

Здесь и далее индексом «■ L» обозначены левые аннуляторы максимального ранга, а индексом «+» — псевдообратные матрицы

Мура — Пенроуза [11]. Псевдообратная матрица для аннулятора B,1L с рангом, равным числу строк матрицы B,1L, рассчитывается по формуле [11]

B■L += B■ ^ (B■L B■ ^ )-1.

3. Рассчитываются матрицы регуляторов К1 поочередно на всех уровнях декомпозиции, начиная с верхнего уровня. На каждом уровне выполняются следующие процедуры.

3.1. Определяется соответствующая вспомогательная матрица

- [Б-1, , = М,

[Б(+ КIцВХ1, , < М,

где псевдообратная матрица для матрицы В, с рангом, равным числу ее столбцов, рассчитывается по формуле [11]

\-1

В( = (ВтВ,)- Вт.

3.2. Назначается квадратная матрица Ф, с размерностью, равной числу столбцов матрицы В,, и с заданным спектром, который состо-

Л *

ит из не задействованных ранее чисел из множества Л и участвует в формировании желаемого спектра на текущем уровне

М

е1в (А, - В,К, ) = У е1в Ф,.

г=0

Здесь матрица регулятора К, соответствует уровню без модификации (при ее отсутствии на данном уровне) и обозначается К, = К, или уровню с модификацией (при ее наличии) и обозначается

К, = К,.

3.3. Определяется соответствующая матрица регулятора

К, = В-А, - Ф,В -. (10)

3.4. Если имела место модификация текущего уровня, выполненная с помощью скелетного разложения (7), и, согласно (10), для нее определена матрица регулятора К, , то пересчитывается матрица регулятора на текущем уровне без модификации

К, = Т+К, (11)

и таким образом достигается равенство спектров: е1в (А, - В,К, ) = е1в (А, - В,К,).

4. Матрица регулятора по состоянию К = К 0 является искомой. Алгоритм завершен.

Аналитический синтез модального управления по выходу.

Для матриц (1) с ограничениями на размерность (2) требуется син-

тезировать регулятор по выходу с матрицей Г, обеспечивающий замкнутой системе объект — регулятор по выходу заданный спектр

Л *

Л , т. е.

ещ(А - ВГС) = Л*. (12)

Регулятор по выходу можно синтезировать аналитически, используя метод ПРП [11] и развитие идеи Ван дер Воуда [8], на основании по крайней мере двух подходов — прямого и дуального.

Прямой подход — синтез регулятора по состоянию с матрицей К для пары матриц А, В , обеспечивающей заданный спектр (3), и определение матрицы Г из уравнения

ГС = К, (13)

разрешимость которого достигается путем расчета (а не назначения) матрицы Ф0, имеющей желаемый спектр, на нулевом уровне декомпозиции с помощью построения наблюдателя по состоянию для определенной далее пары матриц.

Дуальный подход — синтез наблюдателя по состоянию с матрицей Ь для пары матриц А, С, обеспечивающей заданный спектр (4), и определение матрицы Г из уравнения

ВГ = Ь,

разрешимость которого достигается путем расчета (а не назначения) матрицы То, имеющей желаемый спектр, на нулевом уровне декомпозиции с помощью построения регулятора по состоянию для определенной далее пары матриц.

Матрица регулятора по выходу, рассчитанная на основании дуального подхода, получается путем транспонирования матрицы регулятора по выходу, рассчитанной на основании прямого подхода для дуальной системы (5), (6). Поэтому ограничимся описанием прямого подхода.

Согласно теории, изложенной в [11], уравнение (13) разрешимо относительно матрицы Г, если

С не существует,

±* (14)

КС — нулевая матрица

(индексом « 1 К » здесь и далее обозначены правые аннуляторы максимального ранга [11]), а его общее решение имеет вид

(КС+- ОСК С11, если С11 существует, Г = ] + С,К ' (15)

[КС , если С не существует, где Ос к — произвольная матрица соответствующей размерности.

В силу условия (2) для рассматриваемой задачи всегда справед-

I п

ливы утверждения о существовании аннулятора С и отсутствии

аннулятора С11.

Таким образом, первое утверждение в совокупности (14) заведомо не выполняется, а при выполнении второго утверждения решение Ж определяется второй строкой системы (15), т. е. единственным решением является

Ж = КС+. (16)

Для того чтобы выполнялось второе условие в совокупности (14), матрица К = К0 обратной связи по состоянию, рассчитываемая по вышеизложенному алгоритму ПРП, должна иметь специальный вид. Из формул (10) и (11) видно, что для выполнения этого условия достаточно, чтобы матрица Ф0 с заданным спектром назначалась не произвольно, как в пункте 3.2 алгоритма, а определялась из уравнения

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ФoG о = Но, (17)

где при обозначении С0 = С матричные коэффициенты имеют вид

С о = Б-Со ; 0 ^ (18)

Но = Бо А0Со .

Уравнение (17) принадлежит к тому же классу матричных уравнений, что и уравнение (13). Оно разрешимо по аналогии с (14), если

I п

О 0 не существует,

0 (19)

Н 0С о — нулевая матрица.

Если уравнение (17) неразрешимо, то регулятор по выходу не может быть синтезирован на основании рассматриваемого подхода (в данном случае прямого).

Если выполняются условия (19), общее решение уравнения (17) по аналогии с (15) имеет вид

ф =|Н0С +о ПС0,Н0 С о1, если С0 ^щ^т^т [н0О +, если О не существует,

где 0О0, Н0 — произвольная матрица соответствующей размерности.

При выполнении первого условия системы (20), изменяя значение матричного параметра 0С0 Н0 можно управлять спектром

матрицы Ф0.

Для обеспечения заданного спектра матрицы Ф0 перепишем первое выражение системы (20) в виде

Ф0 = Аф0 - Lф0 Сф0. (21)

Здесь ьф0 =

аф0 = н^ +; сф0 = с^; (22)

Если пара матриц (22) не существует (выполняется второе условие системы (20)) либо не является полностью наблюдаемой, то регулятор по выходу, синтезированный на основании рассматриваемого подхода (в данном случае прямого), не обеспечит соответствующей замкнутой системе произвольный заданный спектр.

При полной наблюдаемости пары матриц (22) для этой пары с помощью вышеизложенного алгоритма ПРП синтезируется наблюдатель по состоянию с матрицей обратной связи Ьф0, обеспечивающий

матрице (21) заданный спектр. Далее по формуле (21) рассчитывается матрица с заданным спектром ф0 на нулевом уровне декомпозиции по управлению пары матриц А, В. Она используется при расчете матрицы регулятора по состоянию К0 = К вместо соответствующей матрицы с заданным спектром, назначаемой в пункте 3.2 указанного алгоритма. После этого из (16) определяется искомая матрица Г регулятора по выходу.

Представленная теория модального управления по выходу приводит к следующему аналитическому алгоритму.

Алгоритм аналитического синтеза модального регулятора по выходу на основании прямого подхода

При синтезе регулятора по выходу за основу берется алгоритм расчета регулятора по состоянию со следующими дополнениями:

• в пункт 3.2 только для нулевого уровня декомпозиции по управлению пары матриц А, В добавляется расчет матрицы Ф0 с желаемым спектром согласно представленной ниже процедуре;

• пункт 4 дополняется расчетом псевдообратной матрицы для матрицы С полного ранга [11] по формуле

С+= Ст (сст )-1 (23)

и искомой матрицы Г обратной связи по выходу по формуле (16). Алгоритм завершен.

Процедура расчета матрицы с желаемым спектром на нулевом

уровне декомпозиции

3.2.1. Записывается аннулятор С^ и с учетом (9) вычисляются матричные коэффициенты (18). Далее проверяются условия (19) разрешимости уравнения (17). При невыполнении условий разрешимости алгоритм завершается.

3.2.2. Рассчитывается (если существует) соответствующая пара матриц (22) и проверяется ее наблюдаемость. При невыполнении условий ее существования и полной наблюдаемости алгоритм завершается.

3.2.3. Для полностью наблюдаемой пары матриц АФо, СФо с помощью вышеизложенного алгоритма ПРП синтезируется наблюдатель по состоянию с матрицей Ьфо, обеспечивающий матрице (21) заданный спектр.

3.2.4. По формуле (21) находится матрица Ф0 .

Процедура завершена.

Программная реализация алгоритмов в среде MATLAB. Описанные алгоритмы аналитического синтеза модального управления по состоянию и по выходу были реализованы в MATLAB в виде функции func_PRP.

Входные параметры (аргументы) функции func_PRP:

• output_bool — булев параметр обратной связи (0 = состояние, 1 = выход);

• fi — вектор желаемых полюсов замкнутой системы;

• A, B, C — соответственно матрицы состояния, управления и наблюдения. При значении output_bool = 0 третья матрица (C) не используется.

Выходным параметром (значением) функции func_PRP является res — матрица регулятора по состоянию (при output_bool = 0) или матрица регулятора по выходу (при output_bool = 1).

Следует обратить внимание на то, что при непосредственном вызове функции func_PRP будет рассчитан соответственно регулятор по состоянию или регулятор по выходу на основании прямого подхода:

>> K = func_PRP(0,fi,A,B)

>> Fc = func_PRP(1,fi,A,B,C)

Наблюдатель по состоянию или регулятор по выходу на основании дуального подхода можно рассчитать из соображений дуальности [11] в соответствии с (5) и (6) следующим образом:

>> L = func_PRP(0,fi,A.',C.').'

>> Fb = func_PRP(1,fi,A.',C.',B.').'

Здесь «.'» — операция транспонирования матриц в MATLAB.

В теле функции func_PRP имеется ряд новых подпрограмм, работающих как с числовыми, так и с символьными аргументами:

• U = func_ctrb(A,B) и N = func_obsv(A,C) — определяют соответственно матрицы управляемости и наблюдаемости системы (1) по аналогии со стандартными функциями U = ctrb(A,B) и N = obsv(A,C), работающими в MATLAB только с числами;

• [B, C] = func_skelet(A,rows_or_columns) — определяет скелетное разложение [11] матрицы A в виде A = BC по строкам (rows_or_columns = 'r', матрица C состоит из линейно независимых строк матрицы A) или по столбцам (rows_or_columns = 'c', матрица B состоит из линейно независимых столбцов матрицы A);

• AL = func_nullL(A) и AR = func_nullR(A) — рассчитывают специальный вид соответственно левого и правого аннуляторов максимального ранга матрицы A на основании ее скелетного разложения по строкам ('r' для AL) и по столбцам ('c' для AR) в отличие от единого вида аннуляторов в стандартной функции An = null(A);

• Ap = func_pinv(A) — выполняет псевдообращение матрицы A по ее скелетному разложению при неполном ранге или подобно формуле (23) при полном ранге аналогично стандартной числовой функции Ap = pinv(A).

Особо отметим подпрограмму Fi0 = func_Fi0(fi0,A0, B0m,C0) — функцию расчета матрицы с желаемым спектром на нулевом уровне декомпозиции, которая реализует описанную выше одноименную процедуру, имеющую место при управлении по выходу.

Входные параметры (аргументы) функции func_Fi0:

• fi0 — желаемый спектр (вектор) матрицы Fi0;

• A0 = A — матрица состояния на нулевом уровне декомпозиции;

• B0m — вспомогательная матрица на нулевом уровне декомпозиции;

• C0 = C — матрица наблюдения на нулевом уровне декомпозиции.

Выходным параметром (значением) функции func_Fi0 является Fi0 — матрица с желаемым спектром на нулевом уровне декомпозиции.

Примеры. Покажем на конкретных примерах в MATLAB, как с помощью разработанной функции func_PRP устраняются недостатки стандартных функций acker и place, указанные во введении.

Пример 1. Регулятор по состоянию в неавтономной SIMO-системе (рис. 1).

>> syms a31 a42

>> A = [0 0 1 0; 0 0 0 1; 0 a32 0 0; a41 0 0 0]

[ 0, 0, 1, 0]

[ 0, 0, 0, 1]

[ 0, a32, 0, 0]

[ a41, 0, 0, 0]

>> b = [0; 0; 0; 1]

[ 0]

[ 0]

[ 0]

[ 1]

>> fi = [-1 -1 -1 -1]

[ -1, -1, -1, -1]

>> rank ctrb = rank(ctrb(A, b))

??? Error using ==> ctrb at 21

The "ctrb" command cannot be used for models of class "sym".

>> k = acker(A,b,fi)

??? Error using ==> ctrb at 21

The "ctrb" command cannot be used for models of class "sym".

Error in ==> acker at 42

k = ctrb(a,b)\polyvalm(real(poly(p )),a);

>> rank ctrb = rank(func ctrb(A,b) )

4

>> k = simplify(func PRP(0,fi,A,b) )

[ a41 + 1/a32, 6, 4/a32, 4]

>> spectrum A bk = eig(A - b*k).'

[ -1, -1, -1, -1]

Рис. 1. Программная реализация алгоритма расчета регулятора по состоянию в неавтономной 8ГМО-системе

Из данного примера видно, что стандартная функция ctrb (матрица управляемости) и функция acker, ее использующая, не оперируют символьными переменными. В то же время с помощью функции func_ctrb была подтверждена полная управляемость заданной SIMO-системы, а с помощью функции func_PRP аналитически рассчитан регулятор по состоянию. Проверка подтвердила правильность расчета.

Пример 2. Регулятор по состоянию для МГМО-системы с кратными полюсами (рис. 2).

>> A = [0 0 1 0; 0 0 0 1; 0 5 0 0; 7 0 0 0]

[ 0, 0, 1, 0]

[ 0, 0, 0, 1]

[ 0, 5, 0, 0]

[ 7, 0, 0, 0]

>> B = [0 0; 0 0; 1 0; 0 1]

[ 0, 0]

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[ 0, 0]

[ 1, 0]

[ 0, 1]

>> fi [- 1 -1 -1 -1]

[ -1, - 1, -1, -1]

>> rank ctrb = rank(ctrb(A,B))

4

>> K = place(A,B,fi)

??? Error using ==> place at 79

The " place " command cannot place poles with multiplicity

greater than rank(B).

>> rank ctrb = rank(func ctrb(A,B))

4

>> K = func PRP(0,fi,A,B)

[ 1, 5, 2, 0]

[ 7, 1, 0, 2]

>> spectrum A BK = eig(A - B*K).'

[ -1, - 1, -1, -1]

Рис. 2. Программная реализация алгоритма расчета регулятора по состоянию для М1МО-системы с кратными полюсами

Этот пример показывает, что с помощью стандартной функции place невозможно рассчитать регулятор по состоянию при кратности какого-либо из полюсов в желаемом спектре, превышающей ранг матрицы управления. Однако для функции func_PRP отсутствуют ограничения по кратности полюсов, и регулятор по состоянию, рассчитанный с помощью нее, обеспечивает замкнутой системе объект — регулятор по состоянию заданный спектр с кратными полюсами, что подтверждается проверкой.

Пример 3. Регуляторы по выходу (прямой и дуальный подходы) (рис. 3).

>> syms a32 a41 b31 b42 fi

>> A = [0 0 1 0; 0 0 0 1; 0 a32 0 0; a41 0 0 0]

[ 0, 0, 1, 0]

[ 0, 0, 0, 1]

[ 0, a32, 0, 0]

[ a41, 0, 0, 0]

>> B = [0 0; 0 0; b31 0; 0 b42]

[ 0, 0]

[ 0, 0]

[ b31, 0]

[ 0, b42 ]

>> C = [1 0 0 0; 0 0 1 0; 0 0 0 1]

[ 1, 0, 0, 0 ]

[ 0, 0, 1, 0 ]

[ 0, 0, 0, 1 ]

>> rank 4 ctrb = rank(func ctrb(A,B))

>> rank 4 obsv = rank(func obsv(A,C))

>> Fc = simplify(func PRP(1,[fi fi fi fi],A,B ,C))

[ (2*fiA2)/b31, -(3*fi)/b31 , a32/(b31*fi)]

[ (fiM + a32*a41)/(a32*b42), -fi"3/(a32*b42) , - fi/b42]

>> Fb = simplify(func PRP(1,[fi fi fi fi],A.' ,C. ' ,B. '

[ 0, -fi/b31, a32/ (b31 *fi)]

[ (a41 + fiЛ 4/a32)/b42, -(3*fi"3)/(a32*b42), -(3 *fi) /b42 ]

>> spectrum A BFcC = eig(A - B*Fc*C).'

[ fi, fi, fi , fi]

>> spectrum A BFbC = eig(A - B*Fb*C).'

[ fi, fi, fi , fi]

Рис. 3. Программная реализация алгоритма расчета регулятора по выходу (прямой и дуальный подходы)

Пример демонстрирует возможность аналитического расчета регулятора по выходу с помощью функции Шпс_РЯР (стандартных функций, решающих эту задачу, в среде МЛТЬЛВ нет). Функции Шпс_с1хЬ и Шпс_оЬ8У подтверждают, что рассматриваемая система полностью управляема и наблюдаема. Регуляторы по выходу, рас-

считанные на основании прямого и дуального подходов, различны, но обеспечивают замкнутой системе объект — регулятор по выходу один и тот же заданный спектр с кратными полюсами.

Заключение. В работе приведены алгоритмы аналитического синтеза модального управления по состоянию и по выходу, основанные на методе полного размещения полюсов и на развитии идеи Ван дер Воуда. Использование этих алгоритмов позволяет решать задачу модального управления для числовых или символьных аргументов при любой кратности полюсов в исходном и желаемом спектрах.

Разработанные алгоритмы реализованы в среде MATLAB в виде единой функции расчета модальных регуляторов по состоянию или по выходу и успешно опробованы на задачах управления, касающихся стабилизации углового положения космических аппаратов.

ЛИТЕРАТУРА

[1] Franke M. Eigenvalue Assignment by Static Output Feedback — on a New Solvability Condition and the Computation of Low Gain Feedback Matrices. International Journal of Control, 2014, vol. 87, no. 1, pp. 64-75.

[2] Fu M. Pole Placement via Static Output Feedback is NP-hard. IEEE Transactions on Automatic Control, 2004, vol. 49, no. 5, pp. 855-857.

[3] Kaiyang Y., Orsi R. Generalized Pole Placement via Static Output Feedback: A Methodology Based on Projections. Automatica, 2006, vol. 42, pp. 2143-2150.

[4] Nordstrom K., Norlander H. On the Multi Input Pole Placement Control Problem. Proceedings of the 36th IEEE Conference on Decision and Control, 1997, vol. 5, pp. 4288-4293.

[5] Shimjith S.R., Tiwari A.P., Bandyopadhyay B. Modeling and Control of a Large Nuclear Reactor: A Three-Time-Scale Approach. Berlin, Springer-Verlag, 2013, 138 р.

[6] Van der Woude J.W. A Note on Pole Placement by Static Output Feedback for Single Input Systems. Systems & Control Letters, 1988, vol. 11, pp. 285-287.

[7] Wang X.A., Konigorski U. On Linear Solutions of the Output Feedback Pole Assignment Problem. IEEE Transactions on Automatic Control, 2013, vol. 58, no. 9, pp. 2354-2359.

[8] Zubov N.E., Lapin A.V., Mikrin E.A., Ryabchenko V.N. Output Control of the Spectrum of a Linear Dynamic System in Terms of the Van der Woude Method. Doklady Mathematics, 2017, vol. 96, no. 2, pp. 457-460.

[9] Zubov N.E., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N. Finite Eigenvalue Assignment for a Descriptor System. Doklady Mathematics, 2015, vol. 91, no. 1, pp. 64-67.

[10] Zubov N.E., Vorob'eva E.A., Mikrin E.A., Misrikhanov M.Sh, Ryabchenko V.N., Timakov S.N. Synthesis of Stabilizing Spacecraft Control Based on Generalized Ackermann's Formula. Journal of Computer and Systems Sciences International, 2011, vol. 50, no. 1, pp. 93-103.

[11] Зубов Н.Е., Микрин Е.А., Рябченко В.Н. Матричные методы в теории и практике систем автоматического управления летательных аппаратов. Москва, Изд-во МГТУ им. Н.Э. Баумана, 2016, 672 с.

[12] Zubov N.E., Lapin A.V., Mikrin E.A. Synthesis of Decoupling Laws for Controlling the Angular Motion of Landing Module with Solid-Fuel Landing

Engine Minimizing the Transient Time. Journal of Computer and Systems Sciences International, 2013, vol. 52, no. 3, pp. 480-490.

[13] Zubov N.E., Mikrin E.A., Ryabchenko V.N., Sorokin I.V. Synthesis of Stabilization Laws for Lateral Motion of a Maneuverable Aircraft at the Lack of Data on Its Sideslip and Roll Angles. Russian Aeronautics, 2019, vol. 62, no. 1, pp. 22-31.

[14] Zubov N.E., Mikrin E.A., Ryabchenko V.N., Fomichev A.V. Synthesis of Control Laws for Aircraft Lateral Motion at the Lack of Data on the Slip Angle: Analytical Solution. Russian Aeronautics, 2017, vol. 60, no. 1, pp. 64-73.

[15] Zubov N.E., Mikrin E.A., Ryabchenko V.N., Proletarskii A.V. Analytical Synthesis of Control Laws for Lateral Motion of Aircraft. Russian Aeronautics, 2015, vol. 58, no. 3, pp. 263-270.

[16] Lapin A. V., Zubov N.E. Parametric Synthesis of Modal Control with Output Feedback for Descent Module Attitude Stabilization. 2019 International Russian Automation Conference (RusAutoCon), 2019, pp. 1-6.

[17] Zubov N.E., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N. Output control of the longitudinal motion of a flying vehicle. Journal of Computer and Systems Sciences International, 2015, vol. 54, no. 5, pp. 825-837.

[18] Zubov N.E., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N. Stabilization of coupled motions of an aircraft in the pitch-yaw channels in the absence of information about the sliding angle: analytical synthesis. Journal of Computer and Systems Sciences International, 2015, vol. 54, no. 1, pp. 93-103.

Статья поступила в редакцию 22.11.2019

Ссылку на эту статью просим оформлять следующим образом: Лапин А.В., Зубов Н.Е. Реализация в среде MATLAB аналитических алгоритмов модального управления по состоянию и по выходу. Инженерный журнал: наука и инновации, 2020, вып. 1. http://dx.doi.org/10.18698/2308-6033-2020-1-1950

Статья подготовлена по материалам доклада, представленного на Международной молодежной научно-технической конференции «Аэрокосмические технологии», посвященной 105-летию со дня рождения академика В.Н. Челомея (ММНТКАКТ-2019), 28 мая 2019 г., Реутов, Российская Федерация

Лапин Алексей Владимирович — старший преподаватель кафедры «Системы

автоматического управления» МГТУ им. Н.Э. Баумана.

e-mail: AlexeyPoeme@yandex.ru

SPIN-код РИНЦ 7845-3398

Scopus Author ID 55772522300

Зубов Николай Евгеньевич — д-р техн. наук, профессор кафедры «Системы автоматического управления», декан факультета РКТ МГТУ им. Н.Э. Баумана. e-mail: Nik.Zubov@gmail.com

SPIN-код РИНЦ 8859-3129 Scopus Author ID 7003391524 ORCID 0000-0002-7295-1492

MATLAB based implementation of analytic algorithms of modal control with state-vector feedback and output-vector feedback

© A.V. Lapin, N.E. Zubov

Bauman Moscow State Technical University, Moscow, 105005, Russia

The paper considers a problem of MATLAB-basedprogrammed implementation (as an addition to expansion packs "Control System Toolbox" and "Symbolic Math Toolbox", for extending possibilities of built-in functions 'acker' and 'place') of analytic algorithms of modal control with state-vector feedback synthesized by so called Full Pole Placement method, as well as with output-vector feedback (in case of incomplete information about state vector) using the Van der Woude idea. To calculate modal controllers a joined function with Boolean argument (0 for state, 1 for output) is proposed, which allows obtaining analytic solutions of the problem of modal control, that are actual for variable parameter systems, at any multiplicity of poles in original spectrum and in desirable spectrum. The developed algorithms are translated into MA TLAB code.

Keywords: modal control, analytic solution, state-vector feedback, output-vector feedback, multilevel decomposition, controllers and observers duality

REFERENCES

[1] Franke M. Eigenvalue Assignment by Static Output Feedback — on a New Solvability Condition and the Computation of Low Gain Feedback Matrices. International Journal of Control, 2014, vol. 87, no. 1, pp. 64-75.

[2] Fu M. Pole Placement via Static Output Feedback is NP-hard. IEEE Transactions on Automatic Control, 2004, vol. 49, no. 5, pp. 855-857.

[3] Kaiyang Y., Orsi R. Generalized Pole Placement via Static Output Feedback: A Methodology Based on Projections. Automatica, 2006, vol. 42, pp. 2143-2150.

[4] Nordstrom K., Norlander H. On the Multi Input Pole Placement Control Problem. Proceedings of the 36th IEEE Conference on Decision and Control, 1997, vol. 5, pp. 4288-4293.

[5] Shimjith S.R., Tiwari A.P., Bandyopadhyay B. Modeling and Control of a Large Nuclear Reactor: A Three-Time-Scale Approach. Berlin, Springer-Verlag, 2013, 138 p.

[6] Van der Woude J.W. A Note on Pole Placement by Static Output Feedback for Single Input Systems. Systems & Control Letters, 1988, vol. 11, pp. 285-287.

[7] Wang X.A., Konigorski U. On Linear Solutions of the Output Feedback Pole Assignment Problem. IEEE Transactions on Automatic Control, 2013, vol. 58, no. 9, pp. 2354-2359.

[8] Zubov N.E., Lapin A.V., Mikrin E.A., Ryabchenko V.N. Output Control of the Spectrum of a Linear Dynamic System in Terms of the Van der Woude Method. Doklady Mathematics, 2017, vol. 96, no. 2, pp. 457-460.

[9] Zubov N.E., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N. Finite Eigenvalue Assignment for a Descriptor System. Doklady Mathematics, 2015, vol. 91, no. 1, pp. 64-67.

[10] Zubov N.E., Vorob'eva E.A., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N., Timakov S.N. Synthesis of Stabilizing Spacecraft Control Based on Generalized

Ackermann's Formula. Journal of Computer and Systems Sciences International, 2011, vol. 50, no. 1, pp. 93-103.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[11] Zubov N.E., Mikrin E.A., Ryabchenko V.N. Matrichnye metody v teorii i praktike sistem avtomaticheskogo upravleniya letatelnykh apparatov [Matrix Methods in Theory and Practice of Flying Vehicles Automatic Control Systems]. Moscow, Bauman MSTU Publ., 2016, 672 p. [in Russian]

[12] Zubov N.E., Lapin A.V., Mikrin E.A. Synthesis of Decoupling Laws for Controlling the Angular Motion of Landing Module with Solid-Fuel Landing Engine Minimizing the Transient Time. Journal of Computer and Systems Sciences International, 2013, vol. 52, no. 3, pp. 480-490.

[13] Zubov N.E., Mikrin E.A., Ryabchenko V.N., Sorokin I.V. Synthesis of Stabilization Laws for Lateral Motion of a Maneuverable Aircraft at the Lack of Data on Its Sideslip and Roll Angles. Russian Aeronautics, 2019, vol. 62, no. 1, pp. 22-31.

[14] Zubov N.E., Mikrin E.A., Ryabchenko V.N., Fomichev A.V. Synthesis of Control Laws for Aircraft Lateral Motion at the Lack of Data on the Slip Angle: Analytical Solution. Russian Aeronautics, 2017, vol. 60, no. 1, pp. 64-73.

[15] Zubov N.E., Mikrin E.A., Ryabchenko V.N., Proletarskii A.V. Analytical Synthesis of Control Laws for Lateral Motion of Aircraft. Russian Aeronautics, 2015, vol. 58, no. 3, pp. 263-270.

[16] Lapin A. V., Zubov N.E. Parametric Synthesis of Modal Control with Output Feedback for Descent Module Attitude Stabilization. 2019 International Russian Automation Conference (RusAutoCon), 2019, pp. 1-6.

[17] Zubov N.E., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N. Output control of the longitudinal motion of a flying vehicle. Journal of Computer and Systems Sciences International, 2015, vol. 54, no. 5, pp. 825-837.

[18] Zubov N.E., Mikrin E.A., Misrikhanov M.Sh., Ryabchenko V.N. Stabilization of coupled motions of an aircraft in the pitch-yaw channels in the absence of information about the sliding angle: analytical synthesis. Journal of Computer and Systems Sciences International, 2015, vol. 54, no. 1, pp. 93-103.

Lapin A.V., senior lecturer, Department "Automatic Control Systems", Bauman Moscow State Technical University. e-mail: AlexeyPoeme@yandex.ru SPIN-code RSCI 7845-3398 Scopus Author ID 55772522300

Zubov N.E., Dr. Sc. (Engineering), professor, Department "Automatic control systems", dean of "Rocket and Space Techniques" Faculty, Bauman Moscow State Technical University. e-mail: Nik.Zubov@gmail.com

SPIN-code RSCI 8859-3129 Scopus Author ID 7003391524 ORCID 0000-0002-7295-1492

i Надоели баннеры? Вы всегда можете отключить рекламу.