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

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

Определение ответа системы к небольшим возмущениям в рабочей точке является критическим шагом в системе и проектировании контроллера. Если вы находите рабочую точку, можно линеаризовать модель о той рабочей точке, чтобы исследовать ответ и устойчивость системы. Чтобы найти рабочую точку в модели 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.

Совет

MathWorks рекомендует продукт 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.

Можно также использовать графический интерфейс пользователя через образцовую панель меню: Analysis> Control Design> Linear Analysis.

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

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

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

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

Совет

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

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

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

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

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

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

  1. Откройте один или несколько Блоков Configuration Решателя в своей модели.

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

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

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

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

Для больше о подготовке установившегося решателя, смотрите страницу с описанием Блока 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 Постоянная Задержка или блоки Задержки Переменной PS или авторские блоки, использующие оператор delay на языке Simscape, MathWorks рекомендует, чтобы вы линеаризовали модель при помощи блока Timed-Based Linearization или Trigger-Based Linearization и симуляции модели какое-то время период дольше, чем заданное время задержки.