MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Simulink

Работы-участники конкурса Simulink-моделей.

Пакет прикладных программ (ППП) для проектирования и исследования координированных децентрализованных систем управления (вариант для дискретных систем)

архив работы zip-файл

Лыченко Наталья Михайловна, доцент кафедры ИВТ,

Бастов Павел Сергеевич, инженер-программист,

Семин Павел Владимирович, инженер-программист

Киргизско-Российский Славянский университет, lychenko@aknet.kg

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

  • Расчет координирующих управлений для различных постановок задач оптимального управления взаимосвязанными дискретными системами, с последовательной и с параллельно-последовательной схемой координации,с использованием как стационарного так и нестационарного уравнения Риккати;

  • Решение нестационарных уравнений Риккати;

  • Расчет состояний и управлений по подсистемам;

  • Построение графиков траекторий движения переменных состояния и управляющих воздействий .

Алгоритмическое обеспечение. В основу пакета положены алгоритмы синтеза оптимального управления для взаимосвязанных систем большой размерности, состоящих из совокупности M подсистем, каждая из которых (для дискретных систем) описывается уравнением

, , ,

показатель качества всей системы может быть задан в самом общем виде:

.

Здесь , - векторы состояний и управлений, функции характеризуют нелинейные взаимосвязи и нелинейные части динамики подсистем, - некоторая выпуклая функция.

Оптимизационная задача (ОЗ) решается посредством перехода к эквивалентной оптимизационной задаче (ЭОЗ), используя метод декомпозиционно-координационной оптимизации с адаптацией критерия [1] с помощью двухуровневой вычислительной процедуры c последовательной схемой координации, либо с параллельно-последовательной схемой координации [2]. Вычислительные процедуры имеют две отличительные особенности: на верхнем уровне формируется вектор координирующих переменных , обеспечивающий сходимость процедуры к оптимальному для всей системы решению; на нижнем уровне независимо решаются ОЗ для каждой подсистемы при фиксированных координирующих переменных. Результатом решения оптимизационных задач являются переменные состояния , управляющие воздействия и вспомогательная функция . Оптимальное решение определяется итеративно, в результате взаимообмена информацией между координирующим (верхним) и нижним уровнями.

На рис. 1 представлена блок-схема вычислительной процедуры с последовательной схемой координации для решения задачи оптимального управления линейной взаимосвязанной системой

, ,

с квадратичным несепарабельным критерием

.

На этой блок-схеме: , , ; , , - блочно-диагональные матрицы в критерии ЭОЗ; Специальный выбор матриц позволяет решать на нижнем уровне стационарные уравнения Риккати вместо нестационарных, что значительно облегчает вычисления.

Анализ вычислительных процедур для решения задач синтеза координированных децентрализованных систем оптимального управления в различных постановках [1,2.3,4] показал, что при решении на нижнем уровне ОЗ можно выделить общие для всех постановок, базовые слагаемые в правых частях разностных уравнений для вычисления вспомогательной функции и для вычисления состояний , а также для вычисления координирующих управляющих воздействий .

Рис. 1. Блок-схема вычислительной процедуры с последовательной схемой координации.

Эти базовые части соответствуют представленным на рис.1 в блоке "Решение оптимизационных задач" уравнениям. Кроме базовых, можно выделить дополнительные слагаемые, соответствующие различным постановкам оптимизационных задач. Примеры этих слагаемых для некоторых постановок приведены в табл. 1.

Учитывая возможность пакета Simulink создавать блоки c переменным числом входов, представляется рациональным "вводить" эти дополнительные слагаемые в правых частях разностных уравнений в качестве дополнительных входов новых, создаваемых с помощью механизма S-функций, блоков. Кроме того, рационально совместить достоинства Simulink-моделирования с функцией программной (автоматической) декомпозиции полной системы на совокупность подсистем согласно указанной структуре декомпозиции.

Таблица 1.

Наименование оптимизационной задачи

Дополнение к вычислению

Дополнение к вычислению

Дополнение к вычислению

ОЗ с возмущением и заданием в критерии

ОЗ для нелинейных систем с возмущениями

Координированное децентрализованное слежение

Программное обеспечение. ППП представляет собой набор программ и Simulink-моделей, разделенных на два уровня. На верхнем уровне находится Matlab-скрипт (discret.m либо discretNSt.m), реализующий двухуровневую вычислительную процедуру (рис.1), на нижнем - Simulink-модели для решения нестационарных уравнений Риккати (Riccati.mdl), для расчета координирующих управлений (fithDmodel.mdl), полных управлений и состояний по подсистемам (xithDmodel.mdl), которые вызываются в процессе выполнения вычислительной процедуры. Модели для расчета координирующих управлений и состояний получены в результате разработки S-функций. Модели обладают возможностью задавать дополнительные входы для решения задач в различных постановках. S- функции разработаны на языке программирования C. Алгебраические уравнения Риккати вычисляются стандартной функцией Matlab dlqr.

Simulink-модели (блоки), реализующие вычисление координирующего управления и состояний системы.

На рис. 2а изображен Simulink-блок для вычисления координирующего управления. Входами являются координирующие переменные , дополнительные входы. Выходами блока являются вспомогательная функция и координирующее управление . Входные значения хранятся в виде переменных рабочего пространства MATLAB'а. Выходные значения также сохраняются в рабочем пространстве. Для блока, вычисляющего состояния системы (рис.2б), входами являются координирующее управление и координирующие переменные, а выходом - состояния и полные управления подсистемы . Параметры блоков вводятся в окне параметров, пример одного из которых представлен на рис. 3.

a) b)

Рис.2. Simulink-модели (блоки) вычисления координирующего управления (a) и полного управления и состояния (b) для i-той подсистемы.

Рис.3. Окно параметров S-функции для вычисления

координирующего управления

Дополнительные входы. Количество дополнительных входов указывается как параметр блока, содержащего S-функцию (поле "Optional inputs"). Размерности векторов - дополнительных слагаемых в правых частях разностных уравнений, подаваемых на дополнительные входы, должны быть равны размерности подсистемы. Эти слагаемые учитываются только на итеративно вычисляемом выходе fi. Дополнительные слагаемые к uki добавляются в модели после выхода из блока. Примеры формирования дополнительных входов представлены на рис. 4 - для нелинейных систем (без возмущений), на рис. 5 - для систем с возмущениями и заданием в критерии, на рис. 6 - для координированного децентрализованного слежения за эталонными траекториями.

Поскольку возмущения часто присутствуют в исследуемых системах, и дополнительные слагаемые, связанные с ними, достаточно громоздки, для их учета сделано исключение. Для того, чтобы добавить порт для ввода возмущений, достаточно отметить опцию "Disturbance MU" в параметрах S-функции. При этом на подсистему подается полный вектор возмущений (подвектор возмущений выделяется внутри S-функции). Преобразования, связанные с присутствием в системе возмущений, жестко прописаны внутри S-функции, а не выполняются вне ее, как это подразумевается для других дополнительных входов.

Если в процессе работы требуется изменить модель, например, изменить параметры или ввести дополнительные входы, необходимо отредактировать модель в Simulink'е и заново запустить скрипт. В поле параметров можно вводить любые значения из рабочего пространства. При введении параметра не верной размерности программа выдаст сообщение об ошибке.

Рис. 4. Дополнительные входы для нелинейных систем.

Рис. 5. Дополнительные входы для систем с заданием в критерии и возмущением

Рис. 6. Дополнительные входы для систем

с эталонными траекториями.

Рис.7. S-Модель для решения разностного уравнения Риккати.

На рис. 7 представлена Simulink-модель (riccatidsk.mdl), для решения разностного уравнения Риккати Модель возвращает решение уравнений Риккати как функции дискретного времени.

Программа, реализующая двухуровневую процедуру в случае использования решений нестационарных уравнений Риккати, содержит вызов модели riccatidsk.mdl и представлена в файле файле discretNST.m. Для преобразования результатов выполнения S-модели используется файл riccatiscript.m

Реализация S-функций для задач нижнего уровня с использованием решений нестационарных уравнений Риккати как функций дискретного времени, представлена в файлах dfithNSt.dll и dxithNSt.dll. Реализация S-функций, использующих решения стационарных уравнений Риккати представлена в файлах dfith.dll и dxith.dll.

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

Литература

  1. Миркин Б.М. Декомпозиционно-координационная оптимизация динамических систем с адаптацией критерия. // Автоматика и телемеханика.- № 7. С. 148-157, 2001.
  2. Nataly M.Lychenko. Decomposition-coordinated optimization of large-scale discrete systems with parallel-sequential coordinated scheme. // Proc. of The 7th Mediterranean Conference on Control & Automation (MED99, Haifa, Israel, June 27-July 4,1999), Haifa, pp. 420-429.
  3. Лыченко Н.М. Алгоритмы децентрализованного координированного управления дискретными системами с заданными характеристиками динамики. // Проблемы автоматики и процессов управления.- N1. C.10-17, Бишкек -2002.
  4. Лыченко Н.М. Cинтез оптимальных управлений гибридными системами с параллельной схемой вычисления координирующих переменных. // В сб. Трудов II Международной конференции "Идентификация систем и задачи управления" SICPRO'03. М.: ИПУ РАН, 2003. - C.693-706.

Поиск по сайту:

Система Orphus

Яндекс.Метрика