Управление с прогнозированием модели ( MPC ) - это усовершенствованный метод управления процессом, который используется для управления процессом при соблюдении набора ограничений. Он используется в перерабатывающей промышленности на химических заводах и нефтеперерабатывающих заводах с 1980-х годов. В последние годы он также использовался в моделях балансировки энергосистем [1] и в силовой электронике . [2] Контроллеры с прогнозированием модели полагаются на динамические модели процесса, чаще всего линейные эмпирические модели, полученные путем идентификации системы.. Основным преимуществом MPC является то, что он позволяет оптимизировать текущий временной интервал, сохраняя при этом будущие временные интервалы. Это достигается за счет оптимизации конечного временного горизонта, но только реализации текущего временного интервала, а затем повторной оптимизации, многократно, что отличается от линейно-квадратичного регулятора ( LQR ). Кроме того, MPC может предвидеть будущие события и соответственно принимать меры управления. ПИД- регуляторы не имеют такой возможности прогнозирования. MPC почти повсеместно реализован в виде цифрового управления, хотя ведутся исследования по достижению более короткого времени отклика с помощью специально разработанной аналоговой схемы. [3]
Обобщенное управление с предсказанием (GPC) и управление динамической матрицей (DMC) являются классическими примерами MPC. [4]
Обзор
Модели, используемые в MPC, обычно предназначены для представления поведения сложных динамических систем . Дополнительная сложность алгоритма управления MPC обычно не требуется для обеспечения адекватного управления простыми системами, которые часто хорошо управляются стандартными ПИД-регуляторами . Общие динамические характеристики, которые сложно использовать для ПИД-регуляторов, включают большие временные задержки и динамику высокого порядка.
Модели MPC предсказывают изменение зависимых переменных моделируемой системы, которое будет вызвано изменениями в независимых переменных . В химическом процессе независимые переменные, которые могут регулироваться контроллером, часто являются либо уставками регулирующих ПИД-контроллеров (давление, расход, температура и т. Д.), Либо конечным элементом управления (клапаны, заслонки и т. Д.). Независимые переменные, которые не могут быть изменены контроллером, используются как помехи. Зависимые переменные в этих процессах - это другие измерения, которые представляют либо цели управления, либо ограничения процесса.
MPC использует текущие измерения предприятия, текущее динамическое состояние процесса, модели MPC, а также целевые значения и пределы переменных процесса для расчета будущих изменений зависимых переменных. Эти изменения рассчитываются так, чтобы зависимые переменные оставались близкими к целевому, с учетом ограничений как для независимых, так и для зависимых переменных. MPC обычно отправляет только первое изменение в каждой независимой переменной, которая должна быть реализована, и повторяет вычисление, когда требуется следующее изменение.
Хотя многие реальные процессы не являются линейными, их часто можно рассматривать как приблизительно линейные в небольшом рабочем диапазоне. Подходы линейного MPC используются в большинстве приложений с механизмом обратной связи MPC, компенсирующим ошибки прогнозирования из-за структурного несоответствия между моделью и процессом. В модели интеллектуального контроллера , которые состоят только из линейных моделей, принцип суперпозиции из линейной алгебры позволяет эффект изменений в нескольких независимых переменных , которые будут добавлены вместе , чтобы прогнозировать реакцию зависимых переменных. Это упрощает задачу управления до серии прямых вычислений матричной алгебры, которые являются быстрыми и надежными.
Когда линейные модели недостаточно точны для представления реальных нелинейностей процесса, можно использовать несколько подходов. В некоторых случаях переменные процесса могут быть преобразованы до и / или после линейной модели MPC для уменьшения нелинейности. Процессом можно управлять с помощью нелинейного MPC, который использует нелинейную модель непосредственно в управляющем приложении. Нелинейная модель может быть в форме подбора эмпирических данных (например, искусственных нейронных сетей) или высокоточной динамической модели, основанной на фундаментальных балансах массы и энергии. Нелинейная модель может быть линеаризована для получения фильтра Калмана или определения модели для линейного MPC.
Алгоритмическое исследование, проведенное Эль-Герви, Бадманом и Эль Камелем, показывает, что использование двухрежимного подхода может обеспечить значительное сокращение онлайн-вычислений при сохранении сравнительной производительности с неизмененной реализацией. Предлагаемый алгоритм решает N задач выпуклой оптимизации параллельно на основе обмена информацией между контроллерами. [5]
Теория MPC
MPC основан на итеративной оптимизации модели предприятия на конечном горизонте. Вовремя производится выборка текущего состояния объекта и вычисляется стратегия управления минимизацией затрат (с помощью алгоритма численной минимизации) для относительно короткого временного горизонта в будущем: . В частности, онлайн или оперативные вычисления используются для изучения траекторий состояний, которые исходят из текущего состояния, и поиска (посредством решения уравнений Эйлера-Лагранжа ) стратегии управления с минимальными затратами до тех пор, пока не наступит время.. Реализуется только первый шаг стратегии управления, затем снова производится выборка состояния объекта, и вычисления повторяются, начиная с нового текущего состояния, что дает новое управление и новый прогнозируемый путь состояния. Горизонт прогнозирования продолжает сдвигаться вперед, и по этой причине MPC также называют контролем удаляющегося горизонта . Хотя этот подход не является оптимальным, на практике он дал очень хорошие результаты. Было проведено много академических исследований, чтобы найти быстрые методы решения уравнений типа Эйлера – Лагранжа, понять свойства глобальной устойчивости локальной оптимизации MPC и в целом улучшить метод MPC. [6]
Принципы MPC
Model Predictive Control (MPC) - это многопараметрический алгоритм управления, который использует:
- внутренняя динамическая модель процесса
- функция стоимости J на удаляющемся горизонте
- алгоритм оптимизации, минимизирующий функцию стоимости J с использованием управляющего входа u
Пример квадратичной функции затрат для оптимизации представлен следующим образом:
без нарушения ограничений (низкие / высокие пределы) с
- : -я контролируемая переменная (например, измеренная температура)
- : й ссылочная переменная (например , требуемая температура)
- : го управляющей переменной (например , регулирующий клапан)
- : весовой коэффициент, отражающий относительную важность
- : весовой коэффициент, штрафующий относительно большие изменения в
и т.п.
Нелинейный MPC
Прогнозирующее управление нелинейной моделью, или NMPC, представляет собой вариант прогнозирующего управления модели (MPC), который характеризуется использованием нелинейных системных моделей в прогнозировании. Как и в линейном MPC, NMPC требует итеративного решения задач оптимального управления на конечном горизонте прогнозирования. Хотя эти задачи являются выпуклыми в линейном MPC, в нелинейном MPC они больше не обязательно являются выпуклыми. Это создает проблемы как для теории устойчивости NMPC, так и для численного решения. [7]
Численное решение задач оптимального управления NMPC обычно основано на методах прямого оптимального управления с использованием схем оптимизации типа Ньютона в одном из вариантов: прямая одиночная стрельба , методы прямой множественной стрельбы или прямое совмещение . [8] Алгоритмы NMPC обычно используют тот факт, что последовательные задачи оптимального управления похожи друг на друга. Это позволяет эффективно инициализировать процедуру решения ньютоновского типа путем соответствующего смещения предположения от ранее вычисленного оптимального решения, что значительно экономит время вычислений. Сходство последующих проблем еще больше используется алгоритмами следования по пути (или «итерациями в реальном времени»), которые никогда не пытаются повторить какую-либо проблему оптимизации до сходимости, а вместо этого делают только несколько итераций для решения самой актуальной проблемы NMPC. прежде чем перейти к следующему, который инициализирован соответствующим образом; см., например,. [9]
В то время как NMPC приложения в прошлом были в основном используется в процессе и химической промышленности со сравнительно низкой скоростью дискретизации, NMPC в настоящее время все более широкое применение, с прогрессом в области аппаратного контроллера и вычислительных алгоритмов, например, предобусловливание , [10] для применений с высокими частотами дискретизации , например, в автомобильной промышленности или даже когда состояния распределены в пространстве ( системы с распределенными параметрами ). [11] Как приложение в аэрокосмической отрасли, недавно NMPC использовался для отслеживания оптимальных траекторий следования / избегания местности в режиме реального времени. [12]
Явный MPC
Явный MPC (eMPC) позволяет быстро оценить закон управления для некоторых систем, в отличие от онлайн-MPC. Явный MPC основан на методе параметрического программирования , где решение задачи управления MPC, сформулированное как проблема оптимизации, предварительно вычисляется в автономном режиме. [13] Это автономное решение, то есть закон управления, часто имеет форму кусочно-аффинной функции (PWA), поэтому контроллер eMPC хранит коэффициенты PWA для каждого подмножества (области управления) пространства состояний, где PWA постоянна, а также коэффициенты некоторых параметрических представлений всех регионов. Каждая область оказывается геометрически выпуклым многогранником для линейного MPC, обычно параметризуемого коэффициентами для его граней, что требует анализа точности квантования . [14] Получение оптимального управляющего воздействия затем сводится к первому определению области, содержащей текущее состояние, а во-вторых, простой оценке PWA с использованием коэффициентов PWA, сохраненных для всех областей. Если общее количество регионов невелико, реализация eMPC не требует значительных вычислительных ресурсов (по сравнению с онлайн-MPC) и однозначно подходит для систем управления с быстрой динамикой. [15] Серьезным недостатком eMPC является экспоненциальный рост общего количества областей управления по отношению к некоторым ключевым параметрам управляемой системы, например, количеству состояний, что резко увеличивает требования к памяти контроллера и делает первый шаг PWA оценка, то есть поиск текущей контрольной области, требует больших вычислительных затрат.
Надежный MPC
Надежные варианты управления с прогнозированием модели (MPC) могут учитывать заданные ограниченные возмущения, при этом обеспечивая соблюдение ограничений состояния. Существует четыре основных подхода к надежному MPC:
- Мин-макс ПДК . В этой постановке оптимизация выполняется в отношении всех возможных эволюций возмущения. [16] Это оптимальное решение задач линейного робастного управления, однако оно требует больших вычислительных затрат.
- Ограничение ужесточения MPC . Здесь ограничения состояния увеличиваются на заданный запас, так что траектория может быть гарантированно найдена при любой эволюции возмущения. [17]
- Трубка MPC . При этом используется независимая номинальная модель системы и контроллер обратной связи, чтобы гарантировать, что фактическое состояние сходится к номинальному состоянию. [18] Величина разделения, требуемая от ограничений состояния, определяется набором устойчивых положительно инвариантных (RPI), который представляет собой набор всех возможных отклонений состояния, которые могут быть внесены возмущением с контроллером обратной связи.
- Многоступенчатый MPC . При этом используется формулировка дерева сценариев, аппроксимирующая пространство неопределенности с помощью набора образцов, и этот подход является неконсервативным, поскольку он учитывает, что информация об измерениях доступна на всех этапах прогнозирования, и решения на каждом этапе могут быть приняты. различны и могут действовать как средство противодействия влиянию неопределенностей. Однако недостатком этого подхода является то, что размер проблемы растет экспоненциально с увеличением количества неопределенностей и горизонта прогнозирования. [19]
Коммерчески доступное программное обеспечение MPC
Доступны коммерческие пакеты MPC, которые обычно содержат инструменты для идентификации и анализа моделей , проектирования и настройки контроллера, а также для оценки производительности контроллера.
Обзор коммерчески доступных пакетов был предоставлен SJ Qin и TA Badgwell в Control Engineering Practice 11 (2003) 733–764.
Примеры открытого исходного кода
Библиотеку Python с различными реализациями можно найти здесь:
https://github.com/AtsushiSakai/PyAdvancedControl
def main (): # Определите массив x0 -a [1x4], а затем транспонируйте его в [4x1] x0 = np . массив ([[ 0,0 , 0,0 , 0,0 , 0,0 ]]) . T # [x, y, v theta] # Вывести x0. Это наше начальное состояние - [xPos, yPos, скорость и угол в радианах относительно + yPos] # Настройте это как ввод, чтобы увидеть, как разные исходные траектории сходятся к оптимизированному пути # печать ( x0 ) х = х0 # Определить ввод - [2x1] массив # x0 - [акселератор, скорость_управления] u = np . массив ([[ 0.0 , 0.0 ]]) . T # [a, beta] plt . figure ( num = None , figsize = ( 12 , 12 )) mincost = 100000 для i в диапазоне ( 1000 ): A , B , C = LinealizeCarModel ( x , u , dt , lr ) ustar , xstar , cost = CalcInput ( A , B , C , x , u ) U [ 0 , 0 ] = GetListFromMatrix ( USTAR . Значение [ 0 , :]) [ 0 ] u [ 1 , 0 ] = float ( ustar [ 1 , 0 ] . значение ) х = А @ х + В @ и plt . подзаговор ( 3 , 1 , 1 ) plt . сюжет ( цель [ 0 ], цель [ 1 ], «xb» ) plt . сюжет ( x [ 0 ], x [ 1 ], ".r" ) plt . Участок ( GetListFromMatrix ( Xstar . Значение [ 0 , :]), GetListFromMatrix ( xstar . значение [ 1 , :]), "-b" ) plt . ось ( "равно" ) plt . xlabel ( "x [м]" ) plt . ylabel ( "г [м]" ) plt . сетка ( True ) plt . подзаговор ( 3 , 1 , 2 ) plt . cla () plt . Участок ( GetListFromMatrix ( Xstar . значение [ 2 , :]), "-b" ) plt . Участок ( GetListFromMatrix ( Xstar . значение [ 3 , :]), "-r" ) plt . ylim ([ - 1.0 , 1.0 ]) plt . ylabel ( "скорость [м / с]" ) plt . xlabel ( "горизонт" ) plt . сетка ( True ) plt . подзаговор ( 3 , 1 , 3 ) plt . cla () plt . Участок ( GetListFromMatrix ( USTAR . Значение [ 0 , :]), "-r" , этикетка = "а" ) plt . Участок ( GetListFromMatrix ( USTAR . значение [ 1 , :]), "-b" , этикетка = "б" ) plt . ylim ([ - 0,5 , 0,5 ]) plt . легенда () plt . сетка ( True ) # plt.pause (0,0001) # сырой ввод() # проверить цель dis = np . linalg . norm ([ x [ 0 ] - цель [ 0 ], x [ 1 ] - цель [ 1 ]]) если dis < 0,1 : print ( "Цель" ) перерыв
MPC против LQR
Модельное управление с прогнозированием и линейно-квадратичные регуляторы являются выражениями оптимального управления с различными схемами настройки затрат на оптимизацию.
В то время как контроллер с прогнозированием модели часто смотрит на наборы функций ошибок фиксированной длины, часто с постепенным взвешиванием, линейно-квадратичный регулятор просматривает все входные данные линейной системы и предоставляет передаточную функцию, которая снижает общую ошибку по частотному спектру, жертвуя ошибкой состояния за входная частота.
Из-за этих фундаментальных различий LQR имеет лучшие свойства глобальной стабильности, но MPC часто имеет более локально оптимальную [?] И сложную производительность.
Основные различия между MPC и LQR заключаются в том, что LQR оптимизируется во всем временном окне (горизонте), тогда как MPC оптимизируется в удаляющемся временном окне [4], и что с MPC новое решение вычисляется часто, тогда как LQR использует тот же единственный (оптимальный) решение для всего временного горизонта. Следовательно, MPC обычно решает проблему оптимизации в меньшем временном окне, чем весь горизонт, и, следовательно, может получить неоптимальное решение. Однако, поскольку MPC не делает никаких предположений о линейности, он может справиться с жесткими ограничениями, а также с миграцией нелинейной системы от ее линеаризованной рабочей точки, что является серьезным недостатком LQR.
Это означает, что LQR может стать слабым при работе вдали от стабильных фиксированных точек. MPC может проложить путь между этими фиксированными точками, но сходимость решения не гарантируется, особенно если не учитывать выпуклость и сложность проблемного пространства.
Смотрите также
- Техника управления
- Теория управления
- Прямая связь
- Идентификация системы
Рекомендации
- ^ Мишель Арнольд, Йоран Андерссон. «Модельный прогнозный контроль накопления энергии, включая неопределенные прогнозы» https://www.pscc-central.org/uploads/tx_ethpublications/fp292.pdf
- ^ Тобиас Гейер: Модель прогнозирующего управления преобразователями большой мощности и промышленными приводами, Wiley, London, ISBN 978-1-119-01090-6 , ноябрь 2016 г.
- ^ Вичик, Сергей; Боррелли, Франческо (2014). «Решение линейных и квадратичных программ по аналоговой схеме» . Компьютеры и химическая инженерия . 70 : 160–171. DOI : 10.1016 / j.compchemeng.2014.01.011 .
- ^ а б Ван, Люпин (2009). Разработка и реализация модели системы прогнозируемого управления с использованием MATLAB® . Springer Science & Business Media. стр. xii.
- ^ Аль-Герви, Валид; Будман, Гектор; Элькамель, Али (3 июля 2012 г.). «Надежное управление прогнозированием распределенной модели, основанное на двухрежимном подходе». Компьютеры и химическая инженерия . 50 (2013): 130–138. DOI : 10.1016 / j.compchemeng.2012.11.002 .
- ^ Майкл Николау, Модель прогнозирующих контроллеров: критический синтез теории и промышленных потребностей, Успехи в химической инженерии, Academic Press, 2001, том 26, страницы 131-204
- ^ Превосходный обзор современного состояния (в 2008 г.) дан в трудах двух крупных международных семинаров по NMPC, Чжэн и Аллгауэр (2000) и Findeisen, Allgöwer и Biegler (2006).
- ^ JD Hedengren; Р. Асгарзаде Шишаван; К. М. Пауэлл; Т.Ф. Эдгар (2014). «Нелинейное моделирование, оценка и прогнозное управление в APMonitor» . Компьютеры и химическая инженерия . 70 (5): 133–148. DOI : 10.1016 / j.compchemeng.2014.04.013 .
- ^ Оцука, Тошиюки (2004). «Продолжение / метод GMRES для быстрого вычисления нелинейного управления уходящим горизонтом». Automatica . 40 (4): 563–574. DOI : 10.1016 / j.automatica.2003.11.005 .
- ^ Князев, Андрей; Малышев, Александр (2016). «Редкая предварительная подготовка для прогнозирующего управления моделью». Американская конференция по контролю 2016 г. (ACC) . С. 4494–4499. arXiv : 1512.00375 . DOI : 10,1109 / ACC.2016.7526060 . ISBN 978-1-4673-8682-1. S2CID 2077492 .
- ^ MR García; К. Вилас; ЛО Сантос; А.А. Алонсо (2012). «Надежный многомодельный прогнозный контроллер для систем с распределенными параметрами» (PDF) . Журнал управления процессами . 22 (1): 60–71. DOI : 10.1016 / j.jprocont.2011.10.008 .
- ^ Р. Камьяр; Э. Тахери (2014). "Планирование и управление траекторией оптимального рельефа / опасностей воздушного судна". Журнал руководства, контроля и динамики . 37 (2): 466–483. Bibcode : 2014JGCD ... 37..466K . DOI : 10.2514 / 1.61339 .
- ^ Бемпорад, Альберто; Морари, Манфред; Дуа, Вивек; Пистикопулос, Эфстратиос Н. (2002). «Явный линейно-квадратичный регулятор для систем со связями». Automatica . 38 (1): 3–20. DOI : 10.1016 / s0005-1098 (01) 00174-1 .
- ^ Князев, Андрей; Чжу, Пэйчжэнь; Ди Каирано, Стефано (2015). «Явный модельный анализ точности прогнозирующего управления». 2015 54-я Конференция IEEE по решениям и контролю (CDC) . С. 2389–2394. arXiv : 1509.02840 . Bibcode : 2015arXiv150902840K . DOI : 10.1109 / CDC.2015.7402565 . ISBN 978-1-4799-7886-1. S2CID 6850073 .
- ^ Клаучо, Мартин; Калус, Мартин; Квасница, Михал (2017). «Реализация в реальном времени явного эталонного регулятора на основе MPC для управления системой магнитной левитации». Инженерная практика управления . 60 : 99–105. DOI : 10.1016 / j.conengprac.2017.01.001 .
- ^ Scokaert, POM; Мэйн, Д.К. (1998). «Прогнозирующее управление по модели с обратной связью минимум-максимум для линейных систем с ограничениями». IEEE Transactions по автоматическому контролю . 43 (8): 1136–1142. DOI : 10.1109 / 9.704989 .
- ^ Richards, A .; Как, Дж. (2006). «Робастная стабильная модель прогнозирующего управления с ужесточением ограничений». Труды Американской конференции по контролю .
- ^ Langson, W .; I. Chryssochoos; С.В. Ракович; Д. К. Мэйн (2004). «Робастная модель прогнозирующего контроля с использованием трубок». Automatica . 40 (1): 125–133. DOI : 10.1016 / j.automatica.2003.08.009 .
- ^ Люсия, Серджио; Финклер, Тьяго; Энгелл, Себастьян (2013). «Многоступенчатое управление с прогнозированием нелинейной модели, применяемое к реактору полупериодической полимеризации в условиях неопределенности». Журнал управления процессами . 23 (9): 1306–1319. DOI : 10.1016 / j.jprocont.2013.08.008 .
дальнейшее чтение
- Квон, WH; Брукштейн, Кайлат (1983). «Стабилизирующий дизайн обратной связи по состоянию с помощью метода движущегося горизонта». Международный журнал контроля . 37 (3): 631–643. DOI : 10.1080 / 00207178308932998 .
- Гарсия, К; Претт, Морари (1989). «Модель интеллектуального управления: теория и практика». Automatica . 25 (3): 335–348. DOI : 10.1016 / 0005-1098 (89) 90002-2 .
- Findeisen, Rolf; Аллгауэр, Фрэнк (2001). «Введение в прогнозирующее управление нелинейными моделями». Саммерская школа "Влияние оптимизации на управление", Голландский институт систем и управления. CW Scherer и JM Schumacher, редакторы. : 3.1–3.45.
- Mayne, DQ; Михальская, Х. (1990). «Уходящий горизонт нелинейных систем». IEEE Transactions по автоматическому контролю . 35 (7): 814–824. DOI : 10.1109 / 9.57020 .
- Mayne, D; Роулингс; Рао; Скокерт (2000). «Прогнозирующее управление модели с ограничениями: устойчивость и оптимальность». Automatica . 36 (6): 789–814. DOI : 10.1016 / S0005-1098 (99) 00214-9 .
- Allgöwer; Чжэн (2000). Прогностическое управление нелинейной модели . Прогресс в теории систем. 26 . Бирхаузер.
- Камачо; Бордонс (2004). Прогностический контроль модели . Springer Verlag.
- Findeisen; Allgöwer, Биглер (2006). Оценка и будущие направления прогнозного управления нелинейными моделями . Конспект лекций в области управления и информатики. 26 . Springer.
- Диль, М; Бок; Шлёдер; Findeisen; Надя; Allgöwer (2002). "Оптимизация в реальном времени и прогнозирующее управление нелинейными моделями процессов, управляемых дифференциально-алгебраическими уравнениями". Журнал управления процессами . 12 (4): 577–585. DOI : 10.1016 / S0959-1524 (01) 00023-3 .
- Джеймс Б. Роулингс, Дэвид К. Мейн и Мориц М. Дил: «Управление с прогнозированием модели: теория, вычисления и проектирование» (2-е изд.), Nob Hill Publishing, LLC, ISBN 978-0975937730 (октябрь 2017 г.).
- Тобиас Гейер: Модель прогнозирующего управления преобразователями большой мощности и промышленными приводами, Wiley, Лондон, ISBN 978-1-119-01090-6 , ноябрь 2016 г.
Внешние ссылки
- Пример из практики . Завод по очистке сточных вод в Ланкастере, оптимизация с помощью модели прогнозирующего управления от Perceptive Engineering
- ACADO Toolkit - набор инструментов с открытым исходным кодом для автоматического управления и динамической оптимизации, предоставляющий линейные и нелинейные инструменты MPC. (Доступен интерфейс C ++, MATLAB)
- μAO-MPC - пакет программного обеспечения с открытым исходным кодом, который генерирует индивидуальный код для контроллеров прогнозирования модели во встроенных системах с помощью очень портативного кода C.
- jMPC Toolbox - MATLAB Toolbox с открытым исходным кодом для линейного MPC.
- Исследование применения NMPC в сверхтекучей криогенике (PhD Project).
- Панель инструментов прогнозирующего управления нелинейной моделью для MATLAB и Python
- Model Predictive Control Toolbox от MathWorks для проектирования и моделирования контроллеров прогнозирования модели в MATLAB и Simulink
- Предиктивный контроллер импульсной ступенчатой модели - виртуальный симулятор
- Учебник по MPC с примерами Excel и MATLAB
- GEKKO: Прогностический контроль модели в Python