一、为什么要研究线性化
研究线性化前,首先需要了解什么是线性系统。线性系统指的是同时满足齐次性与可加性的系统。由于线性系统容易处理,其在自动控制理论、信号处理、电信等领域上的应用极其广泛。像经典控制理论中的控制律设计方法一般都要求系统是线性的。但现实中几乎所有元件或系统的运动方程都是非线性方程,而非线性微分方程的求解和控制性能研究非常复杂。所幸的是,大多数情况下非线性系统是可以在其工作点附近作线性化近似。基于工作点附近的近似线性模型通过经典控制理论开展分析设计后,将控制律用于原始的非线性系统,经过微调后,也能取得满意的控制效果。而面向时变的非线性系统,则可以在运行阶段,选取多个工作点进行分段线性化,再据此设计控制规律。
到这里,核心问题就聚焦到了非线性系统的线性化处理。上过高等数学的同学可能会不以为然,线性化不就是一阶泰勒展开吗?这再简单不过了。

△ 线性化原理示意
既如此,为什么还要研究线性化?假设我们面向一个复杂的工程系统模型,设计人员需要优化其控制器参数,线性化的步骤不可避免。

△ 某飞行空气循环制冷系统
▪ 实际物理系统都是非线性的。严格的说,几乎所有的元件或系统的运动方程都是非线性方程,即输入、输出和扰动等之间的关系都是非线性的;
▪ 工程中应用最为广泛的经典控制主要是面向线性系统的设计,那么针对工程系统的控制设计,线性化作为基础起到至关重要的作用;
▪ 如何通过工具支撑复杂的线性化过程。复杂工程系统往往包含大量模块,面向成千上万个模块进行手工计算逐个处理后,再进行联立的方式不切实际。
本文将面向Modelica物理模型介绍一种行之有效的线性化方法:基于微分几何的全局线性化。
二、基于微分几何的全局线性化
2.1 原理介绍
非线性系统的线性化,是指在非线性系统的稳态工作点处,对系统进行线性近似。工作点是指系统在某一时刻的工作状态,由系统的初始状态、外部输入信号组成,分为稳态工作点和瞬时工作点。稳态工作点,也称为平衡点,是指系统在稳定状态下的工作点,即系统在某个时间段内的工作状态,其包含了那些不随时间变化的状态变量。
基于微分几何的全局线性化方法是一种求解非线性方程组的方法,其大致思路是在稳态工作点处,通过对非线性方程组进行一定的扰动,得到一个近似的线性方程组,再通过求解线性方程组得到非线性方程组的解。在某种程度上,就是把整个系统当成是一个整体,通过给输入添加一定的扰动,测量系统对这种扰动的响应。在实际应用中,基于微分几何的线性化方法对一般模型的效果是很可观的,其优点在于可以处理非常复杂的非线性方程组,且收敛速度较快。
2.2 算法流程
线性化的直接实施对象不是系统所呈现出来的模型,而是经过模型求解,编译器生成系统所对应的数学方程。这种数学方程一般的呈现形式为系统的状态空间方程。
数学方程:

状态空间表达:

因此,基于微分几何的全局线性化本质就是计算出状态空间方程的系数矩阵。算法流程如下:

△ 基于微分几何的线性化
其中:

三、控制系统工具箱模型线性化器应用
3.1 控制系统工具箱简介
MWORKS 2024a控制系统工具箱面向经典控制和现代控制领域,为分析、设计和调节线性控制系统提供算法、模型和应用程序。该工具箱支持将控制系统的构成环节指定为传递函数、状态空间或零极点增益模型,通过函数和应用程序,可实现对系统时域和频域响应的分析与可视化。提供交互式应用程序支持伯德回路整形和根轨迹方法来设计和调节补偿器参数。在现代控制方面,提供状态估计、LQG设计、极点配置等一系列功能函数。控制系统工具箱同时支持Modelica物理被控对象模型的线性化处理、分析、控制律设计和调节。

△ 控制系统工具箱
3.2 模型线性化器
MWORKS.Sysplorer中打开车身减震系统模型,在工具栏中点击"模型线性化器"启动模型线性化器。

△ 车身减震系统模型

△ 车身减震系统模型
模型线性化器目前支持两种获取工作点的方式。一种是以模型初始时刻作为工作点,另一种是设置某一仿真快照作为工作点,默认为模型初始时刻。

△ 线性化结果
线性化结果绘制时域和频域图进行分析。

△ 时频域图
将原始模型时域响应与线性化模型的时域响应进行对比。

△ 线性化结果时域响应验证
3.3 频率特性估算
此外还可以通过时域IO数据估算得到系统频率特性响应,将线性化结果与频率估算结果进行对比。

△ 线性化、频率估算结果对比
四、展望
基于微分几何的全局线性化方法对一般单一速率的Modelica模型线性化效果较好。但控制系统中经常包括连续离散混合的多速率模型,同时在系统中可能存在一些特殊模块,比如延迟、量化器、保持器、时滞等,如下就是一个典型的示例。

△ 包含特殊模块的多速率模型
针对上述情况,我们正引入逐块线性来解决。逐块线性化的思路是将系统中各个环节分别进行处理和线性化后,根据其连接拓扑关系,同时考虑速率转换,联立计算得到整个系统的线性近似模型。逐块线性化处理思路如下:
**1.特殊模块:**针对特殊模块一般采用近似处理,如,函数类模块一般使用泰勒展开进行处理,延时类模块通过Pade近似直接处理为线性模型,量化器、保持器等特殊模块则在系统的工作点附近将其简化为合适的增益。
**2.多速率:**闭环模块中存在多速率转换,按照连接关系及速率变化,通过连续离散转换、离散系统重采样等计算,将其统一转换成最终系统的采样率。
**3.线性化:**将各个环节的线性化结果,根据连接的拓扑关系,联立计算等到系统的线性化结果。
目前逐块线性化功能正在研发中,预计在MWORKS 2025中提供。敬请期待!
五、参考文献
