Определение реакции системы на небольшие возмущения в рабочей точке является критическим шагом в системе и проектировании контроллера. Когда вы находите рабочую точку, можно линеаризировать модель об этой рабочей точке, чтобы исследовать реакцию и стабильность системы. Чтобы найти рабочую точку в модели Simscape™, см. Поиск рабочей точки.
Около рабочей точки Вы можете выразить системное состояние x, входы u, и выходы y относительно той рабочей точки с точки зрения x - <reservedrangesplaceholder7> 0, u - <reservedrangesplaceholder5> 0, и y - <reservedrangesplaceholder3> 0. Для удобства сдвиньте векторы путем вычитания рабочей точки: x - x 0 → x и так далее.
Если динамика системы явно не зависит от времени, а рабочая точка является устойчивым состоянием, отклик системы на состояние и входные возмущения около устойчивого состояния приблизительно управляется линейной инвариантной по времени (LTI) моделью пространства:
d x/dt = A· x + B· u
y = C · x + D · u.
Матрицы A, B, C, D имеют компоненты и структуры, которые не зависят от времени симуляции. Система стабильна к изменениям в состоянии в рабочей точке, если собственные значения A отрицательны.
Если рабочая точка не является устойчивым состоянием или динамика системы явно зависит от времени, линеаризированная динамика вблизи рабочей точки является более сложной. Матрицы A, B, C, D не постоянные и зависят от времени симуляции <reservedrangesplaceholder2> 0, а также рабочей точки <reservedrangesplaceholder1> 0 и <reservedrangesplaceholder0> 0.
Совет
В то время как можно линеаризировать замкнутую систему без входов или выходов и получить ненулевую матрицу A, для получения нетривиальной линеаризированной модели вход-выход требуется, по крайней мере, один входной компонент в u и один выходной компонент в y.
Пилот летает, или имитирует, самолет по уровню, постоянной скорости и постоянной высоте рейса относительно земли. Важнейший вопрос для пилота и конструкторов самолета: вернется ли самолет в устойчивое состояние, если возмущен от него нарушением порядка, таким как порыв ветра - другими словами, это устойчивое состояние стабильно? Если рабочая точка нестабильна, траектория самолета может отличаться от устойчивого состояния, требуя человеческого или автоматического вмешательства для поддержания устойчивого рейса.
Несмотря на то, что для вашей модели могут существовать установившиеся и другие рабочие точки (состояние x 0 и входы u 0), это не является гарантией того, что такие рабочие точки подходят для линеаризации. Критический вопрос: насколько хорошо линеаризированное приближение по сравнению с точной динамикой системы?
При незначительном возмущении проблемная рабочая точка может проявлять сильную асимметрию с сильно нелинейным поведением при возмущении в одном направлении и более плавным поведением в другом.
Небольшие возмущения могут привести к прерывистому изменению значения состояния, что делает текущее состояние непригодным для линейного приближения.
Рабочие точки с сильно нелинейным или прерывистым символом не подходят для линеаризации. Вы должны анализировать такие модели в полной симуляции, вдали от любых разрывов, и возмущать систему, варьируя ее входы, параметры и начальные условия. Общим примером являются системы приведения в действие, которые должны быть линеаризированы от любых жестких ограничений или торцевых упоров.
Совет
Проверяйте наличие такой непригодной рабочей точки путем линеаризации в нескольких ближайших рабочих точках. Если результаты сильно различаются, рабочая точка является сильно нелинейной или прерывистой.
Используйте следующие методы, чтобы создать числовые линеаризованные модели пространства состояний из модели, содержащей компоненты Simscape.
Совет
Simulink®Продукт Control Design™ рекомендуется для анализа линеаризации.
Важным различием от базовых моделей Simulink является то, что состояния в физической сети не являются независимыми в целом, потому что некоторые состояния имеют зависимости от других состояний через ограничения.
Независимые состояния являются подмножеством системных переменных и состоят из независимых (без ограничений) динамических переменных Simscape и других состояний Simulink.
Зависимые состояния состоят из алгебраических переменных Simscape и зависимых (ограниченных) динамических переменных Simscape.
Для получения дополнительной информации о динамических и алгебраических переменных Simscape, см. «Как работает симуляция Simscape».
Полные, неразведенные A LTI, B, C D матрицы имеют следующую структуру.
The A
матрица, размера n_states
по n_states
, все нули, кроме подматрицы размера n_ind
по n_ind
, где n_ind
- количество независимых состояний.
The B
матрица, размера n_states
по n_inputs
, все нули, кроме подматрицы размера n_ind
по n_inputs
.
The C
матрица, размера n_outputs
по n_states
, все нули, кроме подматрицы размера n_outputs
по n_ind
.
The D
матрица, размера n_outputs
по n_inputs
, может быть ненули везде.
Получение независимого подмножества государств. Минимальное линеаризированное решение использует только независимое подмножество состояний системы. От матриц A, B, C, D, Вы можете получить минимальный ввод - вывод линеаризовавшая модель с:
Примечание
Методы, описанные в этом разделе, требуют продукта Simulink Control Design.
Вы должны использовать функции этого продукта на линиях Simulink в вашей модели, а не непосредственно на линиях или блоках физической сети Simscape.
Этот подход требует, чтобы вы начали с объекта рабочей точки, сохраненного от обрезки модели до рабочей спецификации.
Чтобы линеаризировать модель с объектом рабочей точки, используйте linearize
(Simulink Control Design), настройка при необходимости. Получившийся объект пространства состояний содержит матрицы A, B, C, D.
Вы также можете использовать графический пользовательский интерфейс, через Simulink Toolstrip: на вкладке Apps, под Control Systems, нажмите Model Linearizer.
Для получения дополнительной информации об линеаризации моделей Simscape с помощью Simulink Control Design, смотрите Linearize Simscape Networks (Simulink Control Design).
linmod
Simulink
и dlinmod
ФункцииУ вас есть несколько способов, которые можно использовать функции Simulink linmod
и dlinmod
, и результаты линеаризации могут различаться в зависимости от выбранного метода. Чтобы использовать эти функции, вы не должны открывать модель, просто имейте файл модели на своем MATLAB® путь.
Для получения дополнительной информации о линеаризации Simulink, см. «Линеаризация моделей».
Совет
Если ваша модель имеет непрерывные состояния, используйте linmod
. (Непрерывные состояния являются состояниями по умолчанию Simscape.) Если ваша модель имеет смешанные непрерывные и дискретные состояния или чисто дискретные состояния, используйте dlinmod
.
Линеаризация модели с включенным локальным решателем (в блоке Solver Configuration) не поддерживается.
Линеаризация с состоянием по умолчанию и входом. Можно вызвать linmod
без определения состояния или входа. Введите linmod (
в командной строке.'modelname
')
С этой формой linmod
линеаризация Simulink решает для допустимых начальных условий таким же образом, как это делается на первом шаге любой симуляции. Любые начальные условия, такие как начальное смещение от равновесия для пружины, устанавливаются так, как если бы симуляция начиналась с начального времени.
linmod
позволяет вам изменить время внешне заданных сигналов (но не динамику внутренней системы) с значения по умолчанию. Для получения этой и более подробной информации смотрите linmod
страница с описанием функции.
Линеаризация с помощью статического решателя в начальном установившемся состоянии. Можно линеаризироваться в рабочей точке, найденной установившимся решателем Simscape:
Откройте один или несколько блоков Solver Configuration в вашей модели.
Установите флажок Start simulation from steady state для физических сетей, которые вы хотите линеаризировать.
Закройте диалоговые окна Строение и сохраните измененную модель.
Введите linmod (
в командной строке.'modelname
')
linmod
линеаризируется на первом шаге симуляции. В этом случае начальное состояние также является рабочей точкой, устойчивым состоянием.
Для получения дополнительной информации о настройке статического решателя смотрите Solver Configuration страницы с описанием блока.
Линеаризация с заданным состоянием и входом - обеспечение согласованности государств. Можно вызвать linmod
и задайте состояние и вход. Введите linmod (
в командной строке. Дополнительные аргументы задают, соответственно, устойчивое состояние x 0 и входы u 0 для линеаризации симуляции. Когда вы задаете состояние, 'modelname
', x0, u0)которое должно linmod
, убедитесь, что он является самосогласованным, в пределах допуска решателя.
С этой формой linmod
, линеаризация Simulink не решает для начальных условий. Поскольку не все состояния в модели должны быть независимыми, возможно, хотя и ошибочно, обеспечить linmod
с несогласованным состоянием для линеаризации около.
Если вы задаете состояние, которое не является самосогласованным (в пределах допуска решателя), решатель Simscape выдает предупреждение в командной строке при попытке линеаризации. Затем решатель Simscape пытается сделать заданное x0
последовательный путем изменения некоторых его компонентов, возможно, большими количествами.
Совет
Наиболее легко обеспечить самосогласованное состояние путем взятия состояния из некоторого моделируемого времени. Например, установив флажок States на панели Data Import/Export диалогового окна Параметры конфигурации модели, можно захватить временные ряды значений состояния в запуске симуляции.
Можно сгенерировать линеаризированные модели пространства состояний из модели Simscape, добавив к модели Timed-Based Linearization или Trigger-Based Linearization блок и симулируя. Эти блоки комбинируют основанную на времени симуляцию до заданного времени или внутренних триггерных точек с основанной на состоянии линеаризацией в эти моменты времени или триггерные точки.
Полную информацию об этих блоках см. в их аналогичный блок страницы с описанием.
Примечание
Если ваша модель содержит PS Constant Delay или PS Variable Delay блоков или пользовательских блоков, использующих delay
оператор в языке Simscape, рекомендуется, чтобы вы линеаризировали модель с помощью блока Timed-Based Linearization или Trigger-Based Linearization и симуляции модели в течение периода времени, больше заданного времени задержки.