exponenta event banner

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

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

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

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

Рядом с рабочей точкой можно выразить состояние системы x, входы u и выходы y относительно этой рабочей точки в терминах x - x0, u - u0 и y - y0. Для удобства переместите векторы путем вычитания рабочей точки: x - x0 x и так далее.

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

dx/dt = A· x + B· u

y = C· x + D· u.

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

Если рабочая точка не находится в установившемся состоянии или динамика системы явно зависит от времени, линеаризованная динамика вблизи рабочей точки является более сложной. Матрицы A, B, C, D не являются постоянными и зависят от времени t0 моделирования, а также от рабочих точек x0 и u0.

Совет

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

Пример

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

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

Хотя для модели могут существовать стационарные и другие рабочие точки (состояние x0 и входы u0), это не является гарантией того, что такие рабочие точки пригодны для линеаризации. Критический вопрос: насколько хорошо линеаризованное приближение по сравнению с точной динамикой системы?

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

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

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

Совет

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

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

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

Совет

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

Независимые и зависимые государства

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

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

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

Дополнительные сведения о динамических и алгебраических переменных Simscape см. в разделе Как работает Simscape Simulation.

Полные несконденсированные матрицы 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(Панель инструментов системы управления) из программного обеспечения Toolbox™ системы управления

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

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

Примечание

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

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

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

Для линеаризации модели с объектом рабочей точки используйте linearize Функция (Simulink Control Design), при необходимости настраиваемая. Результирующий объект пространства состояний содержит матрицы A, B, C, D.

Можно также использовать графический интерфейс пользователя с помощью панели инструментов Simulink Toolstrip: на вкладке «Приложения» в разделе «Системы управления» щелкните «Линеаризатор модели».

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

Линеаризация с помощью Simulink linmod и dlinmod Функции

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

Дополнительные сведения о линеаризации Simulink см. в разделе Линеаризация моделей.

Совет

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

Линеаризация модели с включенным локальным решателем (в блоке «Конфигурация решателя») не поддерживается.

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

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

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

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

  1. Откройте один или несколько блоков конфигурации решателя в модели.

  2. Установите флажок Начать моделирование из стационарного состояния (Start simulation from steady state) для физических сетей, которые требуется линеаризовать.

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

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

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

Дополнительные сведения о настройке стационарного решателя см. на странице вхождения блока Конфигурация решателя (Solver Configuration).

Линеаризация с заданным состоянием и вводом - обеспечение непротиворечивости состояний.  Вы можете позвонить linmod и укажите состояние и входные данные. Войти linmod('modelname',x0,u0) в командной строке. Дополнительные аргументы определяют, соответственно, установившееся состояние x0 и входные значения u0 для линеаризации моделирования. При указании состояния для linmodубедитесь, что он является самосогласованным в пределах допуска решателя.

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

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

Совет

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

Линеаризация с помощью блоков линеаризации Simulink

Линеаризованные модели пространств состояний можно создать из модели Simscape, добавив в модель блок линеаризации на основе времени или линеаризации на основе триггера и смоделировав его. Эти блоки объединяют моделирование на основе времени, вплоть до указанных временных или внутренних триггерных точек, с линеаризацией на основе состояния в эти моменты или триггерные точки.

Подробные сведения об этих блоках см. на соответствующих страницах ссылок на блоки.

Примечание

Если модель содержит блоки постоянной задержки PS или переменной задержки PS, или пользовательские блоки с использованием delay на языке Simscape рекомендуется линеаризовать модель с помощью блока «Линеаризация на основе времени» или «Линеаризация на основе триггера» и моделировать модель в течение периода времени, превышающего указанное время задержки.