• Регистрация
AnyaKim
AnyaKim+25.08
н/д
  • Написать
  • Подписаться

Конструкция ПИД-регулятора, основанная на методе глобальной оптимизации с дополнительными ограничениями

Статья посвящена проектированию ПИД-регулятора с использованием методов глобальной оптимизации, реализованных в среде Matlab и Optimization Toolbox. Он основан на минимизации выбранного интегрального критерия с учетом дополнительных требований к качеству управления, таких как выбросы, запас по фазе и пределы для изменяемого значения. Целевая функция также учитывает определяемые пользователем весовые коэффициенты для своих конкретных условий для различных штрафов за отдельные требования, которые часто противоречат друг другу, такие как, например, перерегулирование и запас по фазе. Описанное решение предназначено для непрерывных линейных неизменных во времени статических систем до 4-го порядка и, таким образом, эффективно для большинства реальных процессов управления на практике.

1. ВВЕДЕНИЕ

Дизайн управления играет важную роль в технике управления и его применении в различных областях промышленности. В общем, это один из наиболее обсуждаемых вопросов во всем мире на технических конференциях, касающихся автоматизации, технической кибернетики и проектирования средств управления, всегда представляющий основные темы на телефонных конференциях для докладов. Методология разрабатывалась с 50-х годов, когда классические методы стали распространяться и применяться для автоматизации различных промышленных предприятий. Хотя позже наступила эра так называемой современной теории управления, основанной на специальных алгоритмах, таких как, например, LQ, робастное, прогнозирующее или адаптивное управление, разработка ни классических, ни современных методов не была завершена, несмотря на огромное количество книг, научных статей и усилий по поиску контроллера, удовлетворяющего определенным критериям качества управления, позволяющего легко реализовать и максимально гибко его использовать. Последний упомянул идею выполнения и объединения строгих требований к производительности контроллера, и общее удобство использования разработанного контроллера является одним из фундаментальных краеугольных камней статьи. Это поддерживается широким использованием вычислительной техники, которая продолжает развиваться высокими темпами с точки зрения результатов тестов. Поскольку описанные в этой статье алгоритмы имеют итерационный характер с использованием специальных функций Optimization Tool-box, определенных для глобальных задач нелинейной оптимизации, они представляют собой сложную проблему даже для новейших современных рабочих станций ПК. С другой стороны, это не ограничивающий фактор для использования этих методов, поскольку алгоритмы также могут быть адаптированы для мобильных устройств и программных инструментов, подобных Matlab.

2 ОПРЕДЕЛЕНИЕ ПРОБЛЕМЫ

2.1 Мотивация и цели

Основными мотивационными факторами к разработке представленного решения являются:
• Необходимость в максимальной производительности контроллера с точки зрения качества управления. Большинство классических методов проектирования ПИД-регулирования приводят к созданию регулятора с заданными параметрами и свойствами, удовлетворяющего общим требованиям. Если одно из этих свойств не удовлетворяет другим возможным дополнительным требованиям, необходимо впоследствии изменить контроллер. Например, метод настройки Циглера-Николса обычно обнаруживает контроллер, имеющий довольно высокий выброс по сравнению с другими методами.
• Потребность в максимально универсальном использовании. Большинство классических методов проектирования ПИД-регулирования имеют ограничения в использовании. Это может быть вызвано множеством причин, таких как характер объекта (с учетом символа и положения нулей и полюсов) или его порядок. Более того, в случае методов, основанных на аналитическом решении, может быть нехватка уравнений (количество используемых уравнений меньше количества параметров, которые необходимо вычислить), аналитическое решение может не существовать, могут быть найдены сложные регуляторы, коэффициенты. или может быть вообще не найдено никакого решения. Например, использование Modulus OptimumMethod требует настройки определенного количества уравнений (в зависимости от типа контроллера) для данного объекта, что в некоторых случаях может быть невозможно выполнить (это связано с порядком системы). Другим типичным примером может быть использование оптимальных коэффициентов для критерия ITAE, когда передаточная функция с обратной связью должна соответствовать точной форме, предписанной таблицей; в большинстве случаев этого невозможно добиться, поэтому использование этого метода сильно ограничено.

Рис. 1. Блок-схема типового применения предлагаемого решения.

Основные цели, поставленные авторами, можно резюмировать следующим образом (см. Также подраздел 3.1).
• Достижение метода проектирования PID с эффективным применением интегральных критериев (ISE, IAE, ITAE, ITSE) и численного подхода вместо методов аналитических вычислений.
• Возможность учесть, уточнить и взвесить дополнительные требования к контроллеру.
Пока что решение было разработано для определенного класса систем, как описано в следующем подразделе.

2.2 Классификация

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

• Система 1-го порядка


• Система 2-го порядка


Различия по положению полюсов: - одна пара комплексных полюсов, два различных одиночных реальных полюса, один двухполюсный

• Система 3-го порядка

Различают по положению полюсов:
- одна пара сложных полюсов + один реальный полюс, - три реальных полюса:
а) три разных одиночных полюса,
б) один двухполюсный + один другой однополюсный,
в) трехполюсный.

• Система 4-го порядка

Различают по положению полюсов:
- две пары сложных полюсов,
- одна пара сложных полюсов + два одиночных реальных полюса,
а) двухполюсный,
б) два разных одиночных полюса, - четыре реальных полюса,
а) все разные однополюсные,
б) два двухполюсных + разные двухполюсные,
в) трехполюсный + однополюсный,
г) четырехполюсный.

2.3 Типичный пример применения

Предложенный алгоритм эффективен при поиске контроллера, работающего для объекта в заданной рабочей точке с известными возможными технологическими граничными значениями для уставки и регулируемого значения согласно рис. 1. Выброс выходного сигнала, запаса по фазе и выбранного интегрального критерия. указываются пользователем.
Например, регулирование скорости двигателя постоянного тока с помощью рабочего цикла ШИМ-сигнала u ∈ (0,1) можно рассматривать при заданном значении w = 500 об/мин. Предположим, что регулируемое значение (рабочий цикл) u=0,5 в установившейся рабочей точке, соответствующей 500 об / мин, и постоянные времени T1 = 5s, T2 = 20s определены экспериментально. Тогда модель двигателя постоянного тока можно описать как систему 2-го порядка G (s) = 1000/((5s + 1)*(20s + 1)). Предположим допустимый диапазон уставки от 400 до 600 об / мин. Применение критерия ITAE и стандартных требований к качеству управления, запасу по фазе 45%, выбросу 15% приводит к следующим входным параметрам функции mainGlobal (см. Раздел 3.2): idx = 4, peak = 15, phl = 30, phh = 60, wlb = 400, wub = 600, ulb = 0, uub = 1.

2.4 Эталонные решения

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

• в случае нелинейностей в установке или насыщении актуатора существующие классические методы настройки больше не могут использоваться [1],
• для изменяющейся во времени модели объекта крайне сложно, если не невозможно, разработать удовлетворительные ПИД-регуляторы с использованием традиционных подходов [1].

В ссылке [1] упоминается, что ограничения перерегулирования также могут использоваться в интерфейсе в случае наличия насыщения исполнительного механизма. Тем не менее, это только кажется, принимает во внимание насыщение, но не предлагает корректирующих действий, чтобы избежать появления насыщения вообще. Алгоритм, предложенный в этой статье, обрабатывает насыщение по-другому: зная технологические пределы для манипулируемого значения, алгоритм учитывает их и разрабатывает такой контроллер, который гарантирует манипулируемое значение в заданном интервале.

Ссылка [7] заявляет, что минимизация на основе ISE часто приводит к относительно колеблющейся переходной характеристике, поскольку большие ошибки, которые должны возникать в течение небольшого времени, вносят значительный вклад в индекс производительности. Множество тестов, проведенных во время разработки предложенного метода, описанного в разделе 3 данной статьи, подтверждают это утверждение. Это одна из причин, почему алгоритмы, основанные на минимизации интегральных показателей производительности, особенно те, которые используют глобальную минимизацию, всегда должны учитывать предел превышения, как предлагаемое решение в этой статье.

Ссылка [2] ориентирована только на индекс производительности ITAE. Решение довольно сложное, оно показывает некоторые общие признаки, которые также применимы к предлагаемому решению в этой статье. Однако этот подход применяет локальную задачу оптимизации min-ima с использованием функции поиска. Перед тематическими исследованиями, описанными в разделах 4.2 и 4.4, авторы этой статьи также пытались использовать этот подход и проводили тесты, которые доказали определенные ограничения. Самая важная проблема - это начальная точка, представляющая первоначальное предположение о контроллере. Сходимость решения и самого решения очень чувствительна к этому начальному значению. Затем алгоритм выполняет поиск локального минимума вокруг этой точки. Обычно первое предположение делается с помощью некоторых широко используемых методов, таких как, например, метод Циглера-Николса. Однако, как правило, может быть много другого минимума (лучше, соответствующего данному индексу производительности) в разных частях интервала поиска, который может не быть найден. Ссылка [2] вводит фрагмент кода с заданным x0, который, кажется, ограничивает более универсальное использование этого решения.

3 РЕАЛИЗАЦИЯ ПРЕДЛАГАЕМОГО РЕШЕНИЯ

3.1 Новизна решения

Хотя известны аналогичные решения, на которые ссылаются, в отношении использования методов оптимизации настройки для ПИД-регуляторов, не существует решения, реализованного в такой сопоставимой степени. Решения, упомянутые в этом документе, упомянутом в предыдущем разделе 2.4, и новое предлагаемое решение имеют много общих черт. Однако в данной статье можно отметить следующие существенные нововведения:

• Использование методов глобальной оптимизации

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

• Весовые функции

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

• Контроль запаса фазы

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

3.2 Вводное описание

Алгоритм оптимизации был реализован в среде Matlab, поскольку он включает множество полезных функций для решать проблемы дизайна управления. В частности, некоторые функции панели инструментов Control System [5] и Optimization
toolbox [4]. Основная идея алгоритма проектирования - нахождение глобального минимума целевой функции, содержащей параметры ПИД-регулятора. Задача глобальной оптимизации настраивается и запускается в соответствии со следующими строками кода:

J=@function;
problem =createOptimProblem(’fmincon’,...
’x0’,x0,’objective’,J,’lb’,lb,’ub’,ub);
gs = GlobalSearch;[x,fval,flag,outpt,allmins] = run(gs,problem);

Поиск осуществляется с помощью функции fmincon, которая, как правило, определяется для нахождения минимума ограниченной нелинейной функции многих переменных. Начальная точка является обязательной, но, в отличие от локальной оптимизации, это значение не влияет на процесс поиска минимумов или результат, потому что это проблема глобальной оптимизации. В зависимости от типа контроллера (I, PI, PID) начальные значения всех его компонентов устанавливаются равными 0,1. Функция с именем J = @function вычисляет значение целевой функции для заданного вектора x. Значения lb и ub представляют нижнюю границу - верхнюю границу интервала, в котором выполняется поиск, в этом случае lb = 0 и ub = ∞. Согласно документации функции GlobalSearch, этот параметр означает что значения компонентов оптимизированного решения ограничены 104 + 1. Можно предположить, что это ограничение не ухудшает удобство использования предложенного
метод для всех различных производственных процессов.

Таблица 1. Синтаксис функции trapz для различных интегральных критериев


Поиск глобального минимума использует генерацию случайных чисел для создания набора контрольных точек. Для этого в Matlab используется так называемый глобальный поток случайных чисел. Поскольку типом глобального потока случайных чисел по умолчанию в Matlab является mt19937ar, он был изменен на mcg16807 для достижения более надежных результатов процедуры оптимизации.
Запуск процесса проектирования контроллера осуществляется путем вызова mainGlobal функции с заданным набором входных параметров:

mainGlobal(G, type, idx, peak, phl, phh, wlb,
wub, ulb, uub, k1, k2, k3, k4)

G - регулируемая линейная статическая система 1-4-го порядка,
type - тип желаемого регулятора, возможные значения: ’I’, ’PI’, ’PID’,
idx - тип интегрального критерия, возможные значения: ’ISE’, ’IAE’, ’ITSE’, ’ITAE’,
peak - предел превышения (%),
phl - нижняя граница запаса фазы (◦),
phh - верхняя граница запаса по фазе (◦),
wlb - нижняя граница уставки,
wub - верхняя граница уставки,
ulb - нижняя граница изменяемого значения,
uub - верхняя граница манипулируемого значения,
k1, k2, k3, k4 - весовые коэффициенты для конкретных условий
целевой функции см. раздел 3.8.

3.3 Целевая функция

Целевая функция учитывает четыре аспекта: значение интегрального критерия, превышение, запас по фазе, управляемое значение. Он пытается минимизировать общие затраты, сводя к минимуму интегральные критерии и применяя штрафы, если: превышение превышает его верхний предел, указанный пользователем, или запас фазы или измененные значения выходят за пределы интервала, указанного пользователем. Как правило, он может быть выражен как сумма отдельных компонентов, но отдельные члены дополнительно взвешиваются, см. Раздел 3.8.
Процесс выполняется итерациями. В рамках каждой итерации должны быть вычислены значения отдельных компонентов целевых функций с использованием свойств разомкнутого или замкнутого цикла. Передаточная функция ПИД-регулятора настраивается с использованием функции ПИД-регулятора.

System Toolbox с элементами P, I, D в качестве входных данных. В случае ПИД-регулятора учитывается реальный ПИД-регулятор, который расширяется дополнительной постоянной времени (коэффициентом фильтра), рассчитанной как 1/100 наибольшей постоянной времени системы. В случае нестабильного замкнутого цикла или любых других числовых проблем (значения NaN, значения INF) процесс вычисления целевой функции опускается и присваивается максимально возможное значение 1,7977 × 10308 (максимум для типа данных double, обрабатываемого Matlab).

3.4 Интегральный критерий

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

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

e=step(Ge,t);

Конкретный вектор входного времени основан на времени установления ступенчатой характеристики замкнутого контура. Хотя верхняя граница для интегральных критериев бесконечна, адекватная точность вычислений может быть достигнута путем правильного выбора конечного времени tf как описано и обсуждается в [1] по формуле (4).
В этом случае за конечное время берется троекратное время установления, а весь временной интервал делится на 30000 эквидистантных сегментов, это рассчитывается с использованием функции stepinfo. Поскольку вектор времени также используется в другой части алгоритмов, он сначала определяется двояко и, следовательно, модифицируется.

stpinfo all=stepinfo(Gw);
st=3*stpinfo all.SettlingTime;
t=linspace(0,2*st,60000); t=t(1:30000)’;

Расчет индивидуальных интегралов с использованием функции trapz описан в таблице 1.
Величина интегрального критерия зависит от времени (характера) ошибки управления и ее продолжительности. Остальные члены целевой функции зависят от формы этой кривой. Например, если есть два одинаковых временных сигнала управления с разным масштабом времени (разной продолжительностью), то влияние интегрального критерия на все значение целевой функции будет различным. При условии, что эта продолжительность зависит от постоянной времени системы, желательно иметь такое же влияние интегрального критерия по сравнению с остальными членами целевой функции. Одним из способов решения этой проблемы является нормализация с учетом времени установления - интегральное значение будет разделено на значение времени установления.
Однако, если на продолжительность влияют параметры проверяемого в настоящее время контроллера, необходимо разнообразие значений интегральных значений, чтобы иметь возможность выбрать лучший контроллер. Таким образом, нормализация не рассматривается, проблема решается по-другому - другие члены целевой функции умножаются на время установления.

3.5 Перебег

На выбор удобных результатов из различных контроллеров, разработанных в процессе итерации при решении задачи глобальной оптимизации, влияет перерегулирование, указанное в процентах. Если контроллер с меньшим выбросом также соответствует другим требованиям, это, конечно, предпочтительнее.
Если превышение превышает максимально допустимый предел, штраф к результирующему значению целевой функции применяется пропорционально разнице между текущим превышением и пределом.
Значение перерегулирования не зависит от заданных значений; его расчет в процентах всегда приводит к одинаковым результатам для различных (ступенчатых) изменений уставки. Затем это значение рассчитывается на основе предположения, что шаг единицы измерения Хевисайда используется в качестве уставки.

Тогда выброс в процентах выражается как

Объединение двух предыдущих формул приводит к

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

3.6 Запас по фазе

Общий рекомендуемый интервал для запаса по фазе обычно определяется как 30-60°. Однако нижнюю и верхнюю границы можно настроить за пределами этого диапазона. Сам запас по фазе рассчитывается на основе передаточной функции разомкнутого контура Go с использованием команды margin. Его вклад в общую сумму в целевой функции пропорционален разнице между текущим наблюдаемым значением по сравнению с нижней или верхней границей. Если он попадает в интервал, он дает нулевой вклад (без штрафа). Чтобы обеспечить достаточную релевантность для запаса по фазе, было установлено, что перекрытия в 10° будут соответствовать 100% выбросу.

3.7 Пределы манипулируемого значения

Как описано в [1]: «Если в системе управления нет насыщения исполнительного механизма, переходная характеристика может иметь любую скорость, а управляющий сигнал может быть чрезвычайно большим. В реальных приложениях это недопустимо ». Следовательно, необходимость введения ограничений на управляемую стоимость является естественной.
Для практического применения разработанного контроллера регулируемое значение должно попадать в интервал, достижимый в реальной сборке схемы управления. Его значение может быть получено из значений уставки, в частности, из указанного диапазона для уставки.

Первый шаг во время оценки вклада, вызванного изменяемым значением, включает вычисление формы волны лестницы, состоящей из двух интервалов, где w = wlb
и, следовательно, w = wub. Длина этих сегментов определяется как упомянутое выше троекратное время установления замкнутого контура. Моделирование управляемого значения сначала выполняется в первом сегменте (заданное значение изменяется между 0 и wlb), а затем во втором сегменте (заданное значение изменяется между wlb и wub). Выполнение вычислений на обоих сегментах является причиной того, что временной вектор был сгенерирован в двукратном диапазоне. Форма волны времени, соответствующая сигналу изменяемого значения, вычисляется с помощью передаточной функции ошибки управления GE, передаточной функции контроллера GR и вектора времени:

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

w=zeros(1,length(t)); 
deltat1=1:(length(t)/2);deltat2=length(t)/2+1)  ...
:length(t);w(deltat1)=wlb; 
w(deltat2)=wub; e=lsim(Ge,w,t);u=lsim(Gr,e,t);

Максимум регулируемого значения определяется из второго сегмента, минимум формы волны (соответствует изменению уставки между wub и wlb) не определяется самим моделированием, а просто вычисляется (более быстрый способ, чем моделирование), предполагая, что время - осесимметрия применяется umean к среднему значению из-за линейности системы. Это среднее значение вычисляется из манипулированного значения в установившемся состоянии u1 и u2 (что соответствует w = wlb и w = wub). Затем определяется минимальное значение umin как разность между максимальным и средним значением, вычтенным из среднего значения.

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

umax = 100 * (umax - uub) / (uub - ulb);
umin = 100 * (ulb - umin) / (uub - ulb);

В случае отсутствия штрафа термин имеет нулевое значение (без штрафа).

3.8 Взвешивание коэффициентов

Описание отдельных членов целевой функции ввело способ нормализации, чтобы сохранить одинаковое влияние всех этих компонентов. Однако формулировка определения целевой функции была расширена за счет введения весовых коэффициентов с k1 по k4, которые указываются в качестве входных данных при вызове задачи оптимизации и по умолчанию имеют единичное значение. Следующая формула представляет собой окончательную форму целевой функции, включая коэффициенты взвешивания (st = setling time · 3):

3.9 Дополнительный механизм рекурсии

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

4 ПРИМЕРЫ ТЕСТИРОВАНИЯ И ОЦЕНКИ

Проверка предложенного алгоритма была проведена для линейной системы, описываемой ее передаточной функцией

Дизайн I-контроллера будет предметом следующих подразделов, в которых будут представлены эти два тематических исследования:
• ручное аналитическое решение (раздел 4.1) на основе ISEcriterion, проверяемое по алгоритму, предложенному в (раздел 4.2),
• ручное аналитическое решение (раздел 4.3) на основе критерия ITAE, проверяемое по алгоритму, предложенному в (раздел 4.4)

4.1 Минимизация целевой функции на основе ISE - ручное решение с использованием теоремы Парсеваля

В этом подразделе будет представлено ручное решение задач оптимизации с учетом целевой функции на основе ISE для проектирования I-контроллера GR(s)=k/s для данной линейной системы. Основная идея этого вычисления - получение аналитической формы целевой функции J(k), которая должна быть минимизирована с использованием базовых знаний дифференциального исчисления. Используя теорему Парсеваля, можно упростить вычисление индекса производительности ISE следующим образом:

где:

Матрица Hn– Гурвица n-го порядка, построенная на основе коэффициентов при E(s),
H1– матрица Гурвица n-го порядка с 1-м теперь заменена на

Применим вышеупомянутую процедуру:

Следовательно, матрицы Гурвица Hn (n = 3) и H1 определяются как

Рис. 2. Переходная характеристика с обратной связью (критерий ISE)

Рис. 3. Диаграмма Боде без обратной связи (критерий ISE): Gm = 9,54 дБ при 0,0833 рад / с, Pm = 34,8 ° при 0,0436 рад / с


Значение производительности на основе ISE, то есть значение целевой функции, рассчитывается на основе коэффициента an, детерминанты Hn и H1 следующим образом:

Первая производная используется для поиска любых возможных локальных крайностей, предпочтительно с использованием команд diff и solve [6]:

Найдены два решения:

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

4.2 Подтверждение предлагаемого решения с использованием критерия ISE

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

s=tf(’s’);
G=1/(12*s+1)^2;mainGlobal(G,’I’,’ISE’,100,0,90,0,1,-10,10)

найдет решение после 2485 итераций, таким образом, передаточная функция I-контроллера будет 

Это тот же результат, что и в разделе 4.1. На рисунках 2 и 3 показаны основные свойства схемы управления в временная и частотная области. Оценка J (k) для k = 0,0556 определяет ISE для этого тематического исследования J = 27. Это значение идентифицируется как значение, найденное с использованием предложенного алгоритма оптимизации.

4.3 Минимизация ObjectiveFunction на основе ITAE - ручное решение с использованием оптимальных коэффициентов

В этом подразделе будет представлено ручное решение задачи оптимизации с учетом целевой функции на основе ITAE для проектирования I-контроллера GR (s) = k / s для данной линейной системы. В процедуре используются заранее заданные оптимальные коэффициенты ITAEcoe cients, как, например, обычно описано в [3].

Нормализованный знаменатель замкнутого контура затем сравнивается с заданным полиномом ITAE [3]:

Это приводит к системе уравнений

Решение этих уравнений определяет два значения k:

Необходим дальнейший анализ, чтобы проверить, представляют ли эти значения оптимальные решения с точки зрения минимизации критерия ITAEcriterion. Уравнение (3) указывает возможный корень a = 0,0969. Тогда согласно (1), k = 0,131. Однако согласно (2), 2,17 · 0,09692 = 0,0204(не равно)1/144. Аналогично, в то же время (2) указывает возможный корень a = 0,0566 (с учетом положительного корня). Тогда согласно (1) k = 0,0261.

Рис. 4. Графическое представление функции J (k).     

Рис. 5. Переходная характеристика с обратной связью (критерий ITAE)

Рис. 6. Диаграмма Боде без обратной связи (критерий ITAE): Gm = 16 дБ при 0,0833 рад / с, Pm = 57,4 град при 0,0243 рад / с

Однако согласно (3), 1,72a = 1,72 · 0,0566 = 0,0974(не равно)24/144. Этот анализ доказывает, что не существует единственного настраиваемого параметра, который удовлетворяет всем уравнениям. Что касается этого тематического исследования, существование минимума будет подтверждено численно, построив график целевой функции J (k), см. Рис. 4. Численный анализ подтверждает, что k = 0,0261 является оптимальным значением, минимизирующим целевую функцию.

4.4 Подтверждение предлагаемого решения с использованием критерия ITAE

Этот раздел посвящен проверке решения, найденного в предыдущем разделе, с помощью предложенного алгоритма. Чтобы иметь возможность сравнивать полученный результат, не применяются строгие ограничения для перерегулирования, регулируемого значения и запаса по фазе, а для уставки учитывается уникальное ступенчатое изменение. Вызов алгоритма будет очень похож на тот, который применялся в разделе 4.1, с использованием idx = ‘ITAE’ (обозначающего ITAE), см. Следующий синтаксис:

s=tf(’s’); G=1/(12*s+1)^2;
mainGlobal(G,’I’,’ITAE’,100,0,90,0,1,-10,10)

Решение было найдено после 2093 итераций. Передаточная функция I-контроллера:

Результирующее значение k = 0,0264 очень немного отличается от значения, найденного в разделе 4.3, k = 0,0261.
Этому различию может быть дано больше объяснений, помимо численной точности решения, в различных литературных источниках могут быть также разные формы полиномов ITAE. Например, следующий многочлен в виде
s3 + 1.75ωs2 + 2.15ω2s + ω3
можно широко найти в литературных ресурсах. На рисунках 5 и 6 показаны основные свойства схемы управления во временной и частотной области.

В таблице 2 приведены основные свойства замкнутых цепей для методов, представленных в разделах 4.3 и 4.4.

Таблица 2. Сравнение результатов, полученных с помощью различных методов минимизации на основе ITAE.

5 ОБСУЖДЕНИЕ

Количество итераций, необходимых для поиска решения, зависит от сложности задачи (типа контроллера по сравнению с установкой) и может отличаться, но типичное количество для категории систем, указанных в разделе 2.2, может составлять 2–3 тысячи итераций. Это, конечно, тесно связано со временем вычислений. Несмотря на большее время вычислений, связанных с решением задач глобальной оптимизации, преимущества существенно преобладают над недостатками.
Предлагаемый алгоритм совместим с последними версиями Matlab R2016a и R2015b. Он был протестирован на двух конфигурациях для примера из раздела 4.2:
• Matlab R2014b, ПК Intel (R) Core (TM) 2 Quad CPUQ8300 @ 2,5 ГГц 2,5 ГГц, 4 ГБ ОЗУ, Windows 732b. (Ориентиры: неизвестно). Обычно затраченное время вычислений составляло около 286 секунд (2485 итераций).
• Matlab R2015b, ПК Intel (R) Core (TM) i5-4210U CPU @ 1,70 ГГц 2,40 ГГц, 4 ГБ ОЗУ, Windows 7 64b (тесты: 3DMark06: 4759 баллов, PCMark 7 (общий): 4194 балла) . Обычно затраченное время вычислений составляло около 182 секунд (2492 итерации).
Есть несколько возможных мер, которые следует принять во внимание, чтобы ускорить следующее поколение алгоритма и повысить удобство использования в целом:
• вычисление начальных состояний для заданной уставки w = wlb перед запуском ядра алгоритма,
• настройка поиска глобального минимума относительно необходимости надстройки рекурсии, возможен другой способ первоначального предположения о контроллере (на основе корней растений в случае линейных систем)
• возможная замена GlobalSearch на MultiStart, возможность использования мультипроцессорных ядер, параллельных вычислительных технологий, разная генерация точек тестирования (другой глобальный поток случайных чисел),
• рассмотрение методов оптимизации роя частиц (PSO),
• расширение категорий систем, подходящих для использования предложенного алгоритма (транспортные задержки, нелинейности, астатические системы)

6 ЗАКЛЮЧЕНИЕ И РЕЗЮМЕ

Предложенный алгоритм показал, что использование интегрального критерия как единственной составляющей целевой функции не может быть общим решением; поэтому применяются другие аспекты, как описано в Разделе 3.
Показатели производительности, используемые в этой статье, могут эффективно применяться для определенного класса систем. Выбор показателя производительности всегда остается за экспертом, как и границы для перерегулирования, изменяемого значения, типа контроллера, интервала запаса по фазе и весового коэффициента. При необходимости алгоритм может быть легко расширен с помощью IT2SE или IT2AE.
Алгоритм также можно адаптировать к нелинейным объектам, заменив командную строку набора инструментов системы управления (информация о шагах, серии, обратная связь, ...) нелинейной моделью Simulink. В этом случае этот алгоритм будет применяться для такой нелинейной системы в рабочей точке без необходимости выполнения линеаризации.
Тематические исследования, задокументированные в этом документе, сосредоточены на показателях производительности ISE и ITAE. В отличие от эталонного решения [1, 2,7], полученные результаты тематических исследований не сопоставляются с результатами, основанными на различных методах, а сравниваются с тем же методом с использованием другого способа вычисления. Это подтверждает правильность предложенного алгоритма, устраняющего существенные недостатки классических методов настройки. Что касается индекса производительности ISE, он приводит к идентичным результатам по сравнению с тем, который использует теорему Парсеваля. Что касается ITAE, он показывает незначительные различия, как описано в таблице 2.
Использование аналитического решения задач оптимизации либо для ISE (теорема Парсеваля), либо для ITAE (использование заранее определенных оптимальных коэффициентов) очень ограничено и применимо для очень узкого набора систем. Уже начав с проектирования двухпараметрических контроллеров (PI, PD) для системы второго порядка, аналитическое решение с использованием Symbolic Toolbox [6] может закончиться сообщением «Предупреждение: явное решение не может быть найдено», несмотря на Наличие такого решения. Благодарность Эта работа была поддержана проектом SP2016 / 162, Разработка алгоритмов и систем для управления, измерения и безопасности приложений II системы студенческих грантов, VSB-TU Ostrava.

Список использованной литературы:

[1] DINGYU, X.—YANGQUAN, C. : OptimPID: A MATLAB Interface for Optimum PID Controller Design, 2005, http://www.mathworks.com/matlabcentral/fileexchange/34505-optimpid–an-optimal-pid-controller-design-interface.
[2] MARTINS, F. G. : Tuning PID Controllers using the ITAE Criterion, International Journal of Engineering Education 21 (2005), 867–873.
[3] LEVINE, S. : The Control Handbook, Second Edition, CRC Press, 2010.
[4] MathWorks Inc (2014b). Global Optimization Toolbox User’s Manual.
[5] MathWorks Inc (2014b). Control System Toolbox User’s Manual.
[6] MathWorks Inc (2014b). Symbolic Toolbox User’s Manual.
[7] ZHUANG, M.—ATHERION, D. P. : Tuning PID Controllers with Integral Performance Criteria, In Proceedings of IEE International Conference Control’91, Edinburgh, UK, 1991,
pp. 481–486.

Опубликованно: январь 2016.

Переведено: ноябрь 2020.

Авторы: Stepan Ozana, Tomas Docekal.

Файлы

  • pid controller desidn based on global optimization technique with additional constraints.pdf

Теги

    29.10.2020

    Комментарии