По умолчанию, когда вы создаете объект контроллера использование mpc
команда, никакие ограничения не существуют. Чтобы включать ограничение, установите соответствующее свойство контроллера. Следующая таблица подводит итог, свойства контроллера раньше задавали большинство ограничений MPC. (МВ = объект управлял переменной; OV = выходная переменная объекта; шаг мВ = u (k) – u (k – 1).
Ограничение | Свойство контроллера | Ограничительное смягчение |
---|---|---|
Нижняя граница на i th мВ | MV(i).Min > -Inf | MV(i).MinECR > 0 |
Верхняя граница на i th мВ | MV(i).Max < Inf | MV(i).MaxECR > 0 |
Нижняя граница на i th OV | OV(i).Min > -Inf | OV(i).MinECR > 0 |
Верхняя граница на i th OV | OV(i).Max < Inf | OV(i).MaxECR > 0 |
Нижняя граница на i th шаг мВ | MV(i).RateMin > -Inf | MV(i).RateMinECR > 0 |
Верхняя граница на i th шаг мВ | MV(i).RateMax < Inf | MV(i).RateMaxECR > 0 |
Чтобы установить ограничительные свойства контроллера с помощью приложения MPC Designer, во вкладке Tuning, нажимают Constraints . В диалоговом окне Constraints задайте ограничительные значения.
Смотрите Ограничения для уравнений, описывающих соответствующие ограничения.
Для границ мВ:
Включайте известные физические пределы на MVS объекта как твердые границы мВ.
Включайте границы шага мВ, когда существует известный физический предел на скорости изменения, или ваше приложение требует, чтобы вы предотвратили большой шаг по некоторой другой причине.
Не включайте и твердые границы мВ и твердые границы шага мВ на том же мВ, как они могут конфликтовать. Если оба типа границ важны, смягчают ту.
Для границ OV:
Не включайте границы OV, если они не важны для вашего приложения. Как альтернатива установке связанного OV, можно задать ссылку OV и установить ее вес функции стоимости сохранять OV близко к ее заданному значению.
Все ограничения OV должны быть смягчены.
Рассмотрите отъезд неограниченного OV для некоторых шагов горизонта прогноза. Смотрите Изменяющиеся во времени Веса и Ограничения.
Рассмотрите изменяющееся во времени ограничение OV, которому легко удовлетворить рано в горизонте, постепенно заостряясь к более строгому ограничению. Смотрите Изменяющиеся во времени Веса и Ограничения.
Не включайте ограничения OV, которым невозможно удовлетворить. Даже если мягкий, такие ограничения могут вызвать неожиданное поведение контроллера. Например, рассмотрите объект SISO с пятью периодами выборки задержки. Ограничению OV перед шестым шагом горизонта прогноза, в целом, невозможно удовлетворить. Можно использовать review
команда, чтобы проверять на такие невозможные ограничения и использовать изменяющийся во времени OV, связанный вместо этого. Смотрите Изменяющиеся во времени Веса и Ограничения.
Ограничения Hard являются ограничениями, которым должно удовлетворить решение для квадратичного программирования (QP). Если математически невозможно удовлетворить трудному ограничению в данном интервале контроля, k, QP является infeasible. В этом случае контроллер возвращает ошибочное состояние и устанавливает переменные, которыми управляют (MVS) на u (k) = u (k –1), то есть, никакое изменение. Если продвижение условия к недопустимости не разрешено, недопустимость может продолжиться неопределенно, ведя к потере управления.
Воздействия и ошибки прогноза неизбежны на практике. Поэтому ограничительное нарушение могло произойти на объекте даже при том, что диспетчер предсказывает в противном случае. Выполнимое решение QP не гарантирует, что всем трудным ограничениям удовлетворят, когда оптимальный мВ будет использоваться на объекте.
Если единственные ограничения в вашем приложении являются границами на MVS, границы мВ могут быть трудными ограничениями, как они по умолчанию. Одни только границы мВ не могут вызвать недопустимость. То же самое верно, когда единственные ограничения находятся на шаге мВ.
Однако твердый мВ, связанный с трудным ограничением шага мВ, может привести к недопустимости. Например, нарушение или операция при ручном управлении могли заставить фактический мВ, используемый на объекте превышать заданное, связанное во время интервала k –1. Если контроллер находится в автоматическом во время интервала k, он должен возвратить мВ в значение в связанном твердом. Если мВ превышает связанное слишком много, трудное инкрементное ограничение может сделать исправление связанного нарушения в следующем интервале невозможным.
Если объект подвергается воздействиям и существует или трудно выходные ограничения или трудно смешанные ограничения ввода - вывода, то недопустимость QP вполне возможна.
Всеми ограничениями Model Predictive Control Toolbox™ (кроме слабой переменной неотрицательности) может быть soft. Когда ограничение является мягким, контроллер может считать мВ оптимальным даже при том, что оно предсказывает нарушение того ограничения. Если весь объект, выход, шаг мВ и пользовательские ограничения являются мягкими (как они по умолчанию), недопустимость QP не происходит. Однако производительность контроллера может быть нестандартной.
Чтобы смягчить ограничение, установите соответствующее равное беспокойство о релаксации (ECR) значение к положительному значению (нуль подразумевает трудное ограничение). Чем больше значение ECR, тем более вероятно контроллер будет считать его оптимальным, чтобы нарушить ограничение для того, чтобы удовлетворить вашим другим целям производительности. Программное обеспечение Model Predictive Control Toolbox вводит значения ECR по умолчанию, но, что касается весов функции стоимости, вы можете должны быть настроить значения ECR для того, чтобы достигнуть приемлемой производительности.
Чтобы изучить, как ограничительное смягчение работает, предположите, что ваша функция стоимости использует , предоставление и мВ и мВ постепенно увеличивает нулевой вес в функции стоимости. Только выходное отслеживание уставки и ограничительные условия нарушения являются ненулевыми. В этом случае функция стоимости:
Предположим, что вы также задали твердые границы мВ с и . Затем эти ограничения упрощают до:
Таким образом слабая переменная, εk, больше не появляется в вышеупомянутых уравнениях. Вы также задали мягкие ограничения на объект выходные параметры с и .
Теперь предположите, что воздействие продвинуло объект выход выше его заданной верхней границы, но QP с трудными выходными ограничениями был бы выполним, то есть, всех ограничительных нарушений можно было избежать в решении QP. QP включает компромисс между выходным отслеживанием уставки и ограничительным нарушением. Слабая переменная, εk, должна быть неотрицательной. Его внешний вид в функции стоимости препятствует, но не предотвращает, оптимальный εk> 0. Больший вес ρε, однако, увеличивает вероятность, что оптимальный εk будет мал или будет нулем.
Если оптимальный εk> 0, по крайней мере одно из связанных неравенств должно быть активным (в равенстве). Относительно большое облегчает удовлетворять ограничению маленьким εk. В этом случае,
может быть больше, без превышения
Заметьте это не устанавливает верхний предел для ограничительного нарушения. Скорее это - настраивающийся фактор, определяющий, является ли мягкое ограничение легким или трудным удовлетворить.
Использование безразмерных переменных упрощает ограничительную настройку. Задайте соответствующие масштабные коэффициенты для каждой переменной ввода и вывода объекта. Смотрите Задают Масштабные коэффициенты.
Чтобы указать на относительную величину терпимого нарушения, используйте параметр ECR, сопоставленный с каждым ограничением. Грубые инструкции следующие:
0 — Никакое нарушение не позволено (трудное ограничение)
0.05 — Очень маленькое позволенное нарушение (почти трудно)
0.2 — Маленькое нарушение позволено (довольно трудно)
1 — средняя мягкость
5 — большее, чем среднее значение нарушение позволило (довольно мягкий)
20 — большое нарушение позволило (очень мягкий)
Используйте полное ограничение смягчающий параметр контроллера (свойство объекта контроллера: Weights.ECR
) оштрафовать терпимое мягкое ограничительное нарушение относительно других условий функции стоимости. Установите Weights.ECR
свойство, таким образом, что соответствующий штраф является 1–2 порядками величины, больше, чем типичная сумма других трех условий функции стоимости. Если ограничительные нарушения кажутся слишком большими, в процессе моделирования тестирует, попытайтесь увеличить Weights.ECR
фактором 2–5.
Следует иметь в виду, однако, что чрезмерно большой Weights.ECR
искажает оптимизацию мВ, ведя к несоответствующим корректировкам мВ, когда ограничительные нарушения происходят. Чтобы проверять на это, отобразите значение функции стоимости во время симуляций. Если его увеличения величины больше чем 2 порядками величины, когда ограничительное нарушение произойдет, рассмотрите уменьшающийся Weights.ECR
.
Воздействия и ошибки прогноза могут привести к неожиданным ограничительным нарушениям в действительной системе. Попытка предотвратить эти нарушения путем создания ограничений тяжелее часто ухудшает производительность контроллера.