Линеаризация в рабочей точке

Что такое линеаризация?

Определение ответа системы к небольшим возмущениям в рабочей точке является критическим шагом в системе и проектировании контроллера. Если вы находите рабочую точку, можно линеаризовать модель о той рабочей точке, чтобы исследовать ответ и устойчивость системы. Чтобы найти рабочую точку в модели Simscape™, смотрите Нахождение Рабочей точки.

Что такое линеаризовавшая модель?

Около рабочей точки можно выразить системное состояние x, входной u, и выходные параметры y относительно той рабочей точки в терминах xx 0, uu 0, и yy 0. Для удобства переключите векторы путем вычитания рабочей точки: xx 0x, и так далее.

Если системные движущие силы явным образом не зависят вовремя, и рабочая точка является устойчивым состоянием, откликом системы, чтобы утвердить и ввести возмущения около устойчивого состояния приблизительно управляет модель в пространстве состояний линейного независимого от времени (LTI):

dx/dt = A · x + B · u

y = C · x + D · u.

Матрицы A, B, C, D имеет компоненты и структуры, которые независимы от времени симуляции. Система устойчива к изменениям в состоянии в рабочей точке, если собственные значения A отрицательны.

Если рабочая точка не является устойчивым состоянием, или системные движущие силы зависят явным образом вовремя, линеаризовавшие движущие силы около рабочей точки более сложны. Матрицы A, B, C, D не является постоянным и зависит от времени симуляции t 0, а также рабочая точка x 0 и u 0.

Совет

В то время как можно линеаризовать закрытую систему без вводов или выводов и получить ненулевую матрицу A, получение нетривиальной линеаризовавшей модели ввода - вывода требует по крайней мере одного входного компонента в u и одного выходного компонента в y.

Пример

Пилот летит или симулирует, самолет на уровне, постоянной скорости и рейсе постоянной высоты относительно земли. Ключевой вопрос для пилота самолета и разработчиков: самолет возвратится к устойчивому состоянию, если встревожено от него воздействием, таким как порыв ветра — другими словами, действительно ли это устойчивое состояние устойчиво? Если рабочая точка нестабильна, траектория самолета может отличаться от устойчивого состояния, требуя, чтобы человеческое или автоматическое вмешательство обеспечило устойчивый рейс.

Выбор хорошей рабочей точки для линеаризации

Несмотря на то, что установившиеся и другие рабочие точки (утверждают x 0 и вводит u 0), могут существовать для вашей модели, которая не является никакой гарантией, что такие рабочие точки подходят для линеаризации. Критический вопрос: насколько хороший линеаризовавшее приближение по сравнению с точной системной динамикой?

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

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

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

Совет

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

Линеаризация физической модели

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

Совет

Продукт Simulink® Control Design™ рекомендуется для анализа линеаризации.

Независимый по сравнению с зависимыми состояниями

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

  • Независимые государства являются подмножеством системных переменных и состоят из независимых (неограниченных) динамических переменных Simscape и других состояний Simulink.

  • Зависимые состояния состоят из Simscape, алгебраические переменные и зависимый (ограничили) динамические переменные Simscape.

Для получения дополнительной информации о Simscape динамические и алгебраические переменные смотрите Как Моделирование Simscape.

Полный, неуменьшаемый LTI A, B, C, матрицы D имеют следующую структуру.

  • A матрица, размера n_states n_states, все нули за исключением субматрицы размера n_ind n_ind, где n_ind количество независимых государств.

  • B матрица, размера n_states n_inputs, все нули за исключением субматрицы размера n_ind n_inputs.

  • C матрица, размера n_outputs n_states, все нули за исключением субматрицы размера n_outputs n_ind.

  • D матрица, размера n_outputs n_inputs, могут быть ненули везде.

Получение Независимого подмножества состояний.  Минимальное линеаризовавшее решение использует только независимое подмножество системных состояний. Из матриц A, B, C, D, можно получить минимальный ввод - вывод линеаризовавшая модель с:

  • minreal и sminreal функции из программного обеспечения Control System Toolbox™

  • Автоматически с подходом Simulink Control Design

Линеаризация с программным обеспечением Simulink Control Design

Примечание

Методы, описанные в этом разделе, требуют продукта Simulink Control Design.

Необходимо использовать функции этого продукта на линиях Simulink в модели, не непосредственно на линиях физической сети Simscape или блоках.

Этот подход требует, чтобы вы начали с объекта рабочей точки, сохраненного от обрезки модели к операционной спецификации.

Чтобы линеаризовать модель с объектом рабочей точки, используйте linearize функция, настраивая в случае необходимости. Получившийся объект пространства состояний содержит матрицы A, B, C, D.

Можно также использовать графический интерфейс пользователя через Панель инструментов Simulink: на вкладке Apps, под Control Systems, нажимают Model Linearizer.

Для получения дополнительной информации о линеаризации моделей Simscape с помощью Simulink Control Design смотрите, Линеаризуют Сети Simscape (Simulink Control Design).

Линеаризация с linmod Simulink и dlinmod Функции

У вас есть несколько способов, которыми можно использовать функции Simulink linmod и dlinmod, и результаты линеаризации могут отличаться в зависимости от выбранного метода. Чтобы использовать эти функции, вы не должны открывать модель, только иметь файл модели на вашем пути MATLAB®.

Для получения дополнительной информации о линеаризации Simulink, см. Модели Линеаризации (Simulink).

Совет

Если ваша модель имеет непрерывные состояния, используйте linmod. (Непрерывные состояния являются значением по умолчанию Simscape.), Если ваша модель смешала непрерывные и дискретные состояния, или чисто дискретные состояния, dlinmod использования.

Линеаризация модели с локальным включенным решателем (в блоке Solver Configuration) не поддержана.

Линеаризация с Состоянием по умолчанию и Входом.  Можно вызвать linmod не задавая состояние или вход. Введите linmod ('modelname') в командной строке.

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

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

Линеаризация с Установившимся Решателем в Начальном Устойчивом состоянии.  Можно линеаризовать в рабочей точке, найденной Simscape установившийся решатель:

  1. Откройте один или несколько блоков Solver Configuration в своей модели.

  2. Установите флажок Start simulation from steady state для физических сетей, которые вы хотите линеаризовать.

  3. Закройте диалоговые окна Solver Configuration и сохраните модифицированную модель.

  4. Введите linmod ('modelname') в командной строке.

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

Для больше о подготовке установившегося решателя, смотрите страницу с описанием блока Solver Configuration.

Линеаризация с Заданным состоянием и Входом — Убеждающаяся Непротиворечивость состояний.  Можно вызвать linmod и задайте состояние и введите. Введите linmod ('modelname', x0, u0) в командной строке. Дополнительные аргументы задают, соответственно, устойчивое состояние x 0, и вводит u 0 для линеаризации симуляции. Когда вы задаете состояние к linmod, гарантируйте, что это последовательно в допуске решателя.

С этой формой linmod, Линеаризация Simulink не решает для начальных условий. Поскольку не все состояния в модели должны быть независимыми, возможно, хотя ошибочный, обеспечить linmod с противоречивым состоянием, чтобы линеаризовать о.

Если вы задаете состояние, которое не последовательно (в допуске решателя), решатель Simscape выдает предупреждение в командной строке, когда вы делаете попытку линеаризации. Решатель Simscape затем пытается сделать заданный x0 сопоставимый путем изменения некоторых его компонентов, возможно большими суммами.

Совет

Вы наиболее легко гарантируете последовательное состояние путем взятия состояния с некоторого симулированного времени. Например, путем установки флажка States на панели Data Import/Export диалогового окна модели Configuration Parameters, можно получить временные ряды значений состояния в запущенной симуляции.

Линеаризация с блоками линеаризации Simulink

Можно сгенерировать линеаризовавшие модели в пространстве состояний из модели Simscape путем добавления блока Timed-Based Linearization или Trigger-Based Linearization в модель и симуляцию. Эти блоки комбинируют основанную на времени симуляцию, до требуемых времен или внутренних триггерных зон, с основанной на состоянии линеаризацией в те времена или триггерные зоны.

Для полных деталей об этих блоках смотрите их страницы с описанием аналогичного блока.

Примечание

Если ваша модель содержит PS Constant Delay или блоки PS Variable Delay или пользовательские блоки, использующие delay оператор на языке Simscape, рекомендуется, чтобы вы линеаризовали модель при помощи блока Timed-Based Linearization или Trigger-Based Linearization и симуляции модели какое-то время период дольше, чем заданное время задержки.