第6章 鲁棒控制系统的计算机辅助设计与仿真
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(Robust stability problem)。 上述问题的求解涉及到Δ 的非凸优化问题, 它不能通过标准的非线性梯度下降方
法计算得到, 因为此时的算法收敛性无法保证。 然而由
于μ存在上界, 可以通过下式计算KM:
1 (Tyiui ) inf DTyiui D 1 K M (Tyiui )
6.1.2 系统的分层数据结构表示
在MATLAB的鲁棒控制工具箱中使用了一种特殊 的数据结构, 即分层数据结构(Hierarchical Data Structure), 来表示所描述的系统对象。 这使得用 户可以用一个简单的变量来代表所要研究的系统并进 行相关的运算, 从而很大程度上方便了用户访问鲁棒控 制工具箱中函数的过程。 这个变量称为tree类型的变量。
G G A
或者写成相乘的形式
(6.8) (6.9)
G ( I M )G
图 6.3 非结构不确定性的加法与乘法表示
结构不确定性代表系统模型中的参数变化, 例如系
统传递函数中零极点位置的变化, 系统状态矩阵中系 统矩阵的变化, 以及指定回路增益的变化等等。 MATLAB的鲁棒控制系统工具箱允许用户对结构 和非结构不确定性进行建模, 并将它们考虑进控制器的 设计过程中。 提供的各种函数和工具可以完成系统的 鲁棒分析和鲁棒控制器的设计。
鲁棒控制系统设计问题的一般描述如下:
假定一个多变量系统P(s), 寻找某个稳定的控制器 F(s), 使得闭环系统的传递函数
Tyiui 满足下面的关系:
(6.6)
1 K M (Tyiui ( j ))
1
K M (Tyiui ) inf{ ( ) | det( I Tyiui ) ) 0} diag ( 1 ,, n )
′tss′);
第一行程序将代表系统状态方程的4个矩阵ag、 bg、 cg和dg统一用ssg来描述; 第二行将二输入输出系统
(A, B1, B2…)的状态方程封装到变量TSS中。 也可
以在mksys的最后参数中指定所要描述系统的类型。
2) branch
该函数的基本功能是获取封装在系统或tree变量中 的矩阵信息。 如 [D11, C2] = branch(TSS, ′d11, c2′); 从系统TSS中得到矩阵 D11和C2;
定义G(jω)的与频率相关的H2和H∞范数如下:
H2范数
G 2 [
H∞范数
( i (G ( j ))) 2 d ]
1 2
(6.4)
G
sup (G ( j ))
(6.5)
6.2.2 标准的鲁棒控制问题
鲁棒多变量反馈控制系统的设计问题可以简单地 描述为: 为系统设计的控制规律使得系统在环境或系 统本身的不确定性影响下仍然具有指定容许误差范围 内的系统响应和系统误差。 这里的不确定性包括很多 方面, 但其中最重要的是指系统的外界干扰(噪声)信 号和系统传递函数的建模误差。 鲁棒控制系统设计将 采用H∞范数作为这类不确定性因素的度量。
例 6.1 对非结构不确定性进行建模。 下面的传递函数代表某架飞机的动态特性。 1 G( s) 2 2 s ( s 2) 如果正常的模型为 G( s) 1/ s , 则
2
s2 1 A G G 2 2 s ( s 2) s2 1 M (G G )G 2 s 2
下面的M文件函数可以用来创建系统的tree变量:
1) mksys 该函数可以将代表系统对象的矩阵封装到单个 MATLAB变量中。 例如ssg = mksys(ag, bg, cg, dg); TSS = mksys(A, B1, B2, C1, C2, D11, D12, D21, D22,
对于任何矩阵A, 有
A U
r V U 0
*
0 * V 0
(6.1)
其中, Σr=diag(σ1, σ2, …, σr)。 式(6.1)称为矩阵A
的奇异值分解(SVD), 其中A的最大奇异值定义为
( A) 1
如果矩阵A是n×n的方阵, 则它的第n个奇异值, 也就 是最小的奇异值, 定义为
ag = branch(ssg,矩阵 ag。 如果想一次得 到ssg中所有的矩阵, 可以输入 [ag, bg, cg, dg] = branch(ssg);
表 6.1 mksys命令的常见参数
3) tree
为用户提供了一个创建分层数据结构包括矩阵、 字符串甚至其它tree类型的一般工具。 例如, 如果希望同时保存二输入输出系统(A, B1, B2, …)、 控制器(af, bf, cf, df)、频率响应[w; sv] 以及 这个系统的名称Aircraft Design Data, 就可以输入 fr = tree(′w, sv′, w, sv); DesignData = tree(′plant, controller, freq, name′,
这个过程可以用图6.2来说明。
式(6.6)称为鲁棒条件。 KM称为最小不确定性Δ 的大小, 由每个频率对应的奇异值来度量。 函数KM又 称为对角扰动的多变量稳定裕度(MSM), 它的倒数 用μ表示, 即
KM
1
(6.7)
图 6.2 标准鲁棒控制问题的方框图
如果Δn不存在, 该问题又被称为鲁棒镇定问题
箱包括一系列有关鲁棒多变量控制设计方法的实现算法, 其研究的重点为多变量频率响应的奇异值和多变量Bode
图的分析和绘制。
2) 鲁棒性分析
系统的不确定性因素具体有外界噪声/干扰信号、 传递函数的建模误差以及未建模的非线性动态特性。 鲁棒控制系统工具箱可以让用户找到系统在这些不确 定性条件下的多变量稳定裕度的度量。 使用的方法包 括: 最优对角缩放、 Perron特征向量对角缩放和奇异 值方法等。
在Robust Control Toolbox的函数中, 如果输入参数
包含一个tree变量, 该函数能够自动检查该变量是否代 表某个系统。
如果是, 那么该函数将自动将该输入变量展开, 用
它代表的实际系统矩阵来替代原来的系统变量作为函 数的输入参数。 例如, 下面的两行程序实际上完成相同 的计算功能: hinf(TSS); hinf(A, B1, B2, C1, C2, D11, D12, D21, D22);
6.2.4 鲁棒控制分析
鲁棒分析的目的是通过某种适当的非保守分析算法 来“观察”MSM矩阵。 换句话说, 我们将找出系统保 持稳定状态下不确定性的上界。 其基本步骤包括: (1) 定义不确定性模型。 (2) 将不确定输入(包括结构和非结构不确定性因 素)写成图6.4所示的M-Δ形式。
图 6.4
第6章 鲁棒控制系统的计算机 辅助设计与仿真
6.1 鲁棒控制工具箱介绍 6.2 鲁棒控制系统概述 6.3 鲁棒控制系统的设计方法 6.4 鲁棒控制系统设计实例
6.1 鲁棒控制工具箱介绍
6.1.1 鲁棒控制工具箱简介 鲁棒控制理论是近年来现代控制理论研究的热点 和前沿课题。 我们知道, 在对控制系统进行分析和设计 前一般首先需要对被研究的对象进行建模, 系统控制器 的设计一般是在理想模型的情况下完成的。
4) 鲁棒模型简化
有时根据鲁棒控制理论设计出来的鲁棒控制器的阶 数很高以至于难于实现, 这时通常需要进行控制器的简 化。 其它模型简化的场合还包括系统模型简化以及大 规模系统仿真等等。 一个良好的模型简化算法应该同 时具有数值鲁棒性和保持闭环系统鲁棒性的能力。 鲁 棒控制系统工具箱提供的模型简化算法可以满足这些 要求。
3) 鲁棒性系统综合
经典或现代鲁棒控制系统的设计人员通常采用回 路设计(LoopShaping)的系统设计方法来满足系统
的设计要求。 多变量系统的回路设计方法是通过奇异
值Bode图实现的。 鲁棒控制系统工具箱提供了各种 SISO或MIMO回路设计的方法, 诸如LQR、 LQG、 LQG/LTR、 H2和H∞等等。
1
M ( s ) F ( I FG ) 1 M ( s ) GF ( I GF ) 1
图 6.5 加法和乘法表示的不确定性的Bode图
例 6.2 结构不确定性的建模。
下面将讨论如何从状态空间的A和B矩阵中提取系 统的结构不确定。 假定飞机的状态空间模型表示为:
其中, (p, r, β, δa, δr)的初始导数定义为
实际上每一个Δi(i=1, …, n)自身都是矩阵并且代表不 同种类的物理不确定性因素。 在鲁棒控制中, 这些不确 定因素分为结构不确定性和非结构不确定性。非结构 不确定性代表与系统频率无关的项。 例如, 驱动器的饱 和特性、高频段的非建模误差或者低频段的系统扰动 等等。 它们与正常系统模型的关系可以表示为
TSS, ssf, fr, ′Aircraft... Design Data′);
图6.1显示了tree变量DesignData的层次结构。
图 6.1 Design Data的层次结构
为了得到tree变量DesignData第一层中的name的变
量值, 可以输入 name = branch(DesignData, ′name′) ans = Aircraft Design Data
I xx I xx I xx L ( L N) 2 I xx I xx I xx I xx I xx I xx I xx N (N L) 2 I xx I xx I xx I xx
借助鲁棒控制系统工具箱, 我们可以完成的工作包括:
1) 鲁棒多变量控制系统设计 鲁棒控制系统工具箱(Robost Control Toolbox)是 建立在控制系统工具箱(Control System Toolbox)的基 础上的, 为用户提供了更为先进的控制算法。 它在现代
控制理论与实际控制工程之间建立了一座桥梁。 该工具
DpTyiui Dp 1
其中, Dp∈D为Perron最优增益矩阵。
D={diag|(d1I, …, dnI)|dj>0}, 显然‖Ty u ‖∞也是1/KM
i i
的上界。 如果这些上界都满足鲁棒条件约束, 那么可以
充分保证μ和KM也满足鲁棒条件约束。
6.2.3 结构与非结构不确定性
( A) n
奇异值通常具有以下的性质
(1) ( A) max xC (2) ( A) min xC
Ax x Ax x
(6.2) (6.3)
(3) ( A) i ( A) ( A)
这里的λi代表矩阵A的第i个特征值。
1 (4) 如果 A 存在 , ( A) . 1 (A ) 1 1 (5)如果 A 存在, ( A) . 1 (A )
6.2 鲁棒控制系统概述
6.2.1 奇异值、 H2和H∞范数 假设矩阵A∈Cm×n的秩为r, 将A*A的非负方根σi称 为矩阵A的特征值, 其排列次序为σ1≥σ2≥…≥σp, p=min(m,
n)。 如果r<p, 则矩阵A具有p-r个零奇异值, 即
r1 r2 p 0
MATLAB 提 供 的 鲁 棒 控 制 系 统 工 具 箱 ( Robost
Control Toolbox)提供了多变量线性鲁棒控制系统分析 和设计的函数和工具。 研究对象包括存在建模误差、 系统参数不确定或动态特性不能完全确定的系统。 工 具箱提供的功能强大的算法函数可以帮助用户快速完 成鲁棒控制系统(主要是线性系统)的复杂计算和设 计工作。
1
(6) ( A) ( A) (7) ( A B ) ( A) ( B ) (8) i2 Trace( A* A)
i 1 n
其中属性1在鲁棒控制系统的分析和设计中很重要。
因为该属性反映了矩阵A的最大特征值与输入向量x在
所有可能方向上的矩阵增益的最大值之间的关系。 对 于稳定的Laplace变换矩阵G(s)∈Cm×n, p=min(m,n)。
法计算得到, 因为此时的算法收敛性无法保证。 然而由
于μ存在上界, 可以通过下式计算KM:
1 (Tyiui ) inf DTyiui D 1 K M (Tyiui )
6.1.2 系统的分层数据结构表示
在MATLAB的鲁棒控制工具箱中使用了一种特殊 的数据结构, 即分层数据结构(Hierarchical Data Structure), 来表示所描述的系统对象。 这使得用 户可以用一个简单的变量来代表所要研究的系统并进 行相关的运算, 从而很大程度上方便了用户访问鲁棒控 制工具箱中函数的过程。 这个变量称为tree类型的变量。
G G A
或者写成相乘的形式
(6.8) (6.9)
G ( I M )G
图 6.3 非结构不确定性的加法与乘法表示
结构不确定性代表系统模型中的参数变化, 例如系
统传递函数中零极点位置的变化, 系统状态矩阵中系 统矩阵的变化, 以及指定回路增益的变化等等。 MATLAB的鲁棒控制系统工具箱允许用户对结构 和非结构不确定性进行建模, 并将它们考虑进控制器的 设计过程中。 提供的各种函数和工具可以完成系统的 鲁棒分析和鲁棒控制器的设计。
鲁棒控制系统设计问题的一般描述如下:
假定一个多变量系统P(s), 寻找某个稳定的控制器 F(s), 使得闭环系统的传递函数
Tyiui 满足下面的关系:
(6.6)
1 K M (Tyiui ( j ))
1
K M (Tyiui ) inf{ ( ) | det( I Tyiui ) ) 0} diag ( 1 ,, n )
′tss′);
第一行程序将代表系统状态方程的4个矩阵ag、 bg、 cg和dg统一用ssg来描述; 第二行将二输入输出系统
(A, B1, B2…)的状态方程封装到变量TSS中。 也可
以在mksys的最后参数中指定所要描述系统的类型。
2) branch
该函数的基本功能是获取封装在系统或tree变量中 的矩阵信息。 如 [D11, C2] = branch(TSS, ′d11, c2′); 从系统TSS中得到矩阵 D11和C2;
定义G(jω)的与频率相关的H2和H∞范数如下:
H2范数
G 2 [
H∞范数
( i (G ( j ))) 2 d ]
1 2
(6.4)
G
sup (G ( j ))
(6.5)
6.2.2 标准的鲁棒控制问题
鲁棒多变量反馈控制系统的设计问题可以简单地 描述为: 为系统设计的控制规律使得系统在环境或系 统本身的不确定性影响下仍然具有指定容许误差范围 内的系统响应和系统误差。 这里的不确定性包括很多 方面, 但其中最重要的是指系统的外界干扰(噪声)信 号和系统传递函数的建模误差。 鲁棒控制系统设计将 采用H∞范数作为这类不确定性因素的度量。
例 6.1 对非结构不确定性进行建模。 下面的传递函数代表某架飞机的动态特性。 1 G( s) 2 2 s ( s 2) 如果正常的模型为 G( s) 1/ s , 则
2
s2 1 A G G 2 2 s ( s 2) s2 1 M (G G )G 2 s 2
下面的M文件函数可以用来创建系统的tree变量:
1) mksys 该函数可以将代表系统对象的矩阵封装到单个 MATLAB变量中。 例如ssg = mksys(ag, bg, cg, dg); TSS = mksys(A, B1, B2, C1, C2, D11, D12, D21, D22,
对于任何矩阵A, 有
A U
r V U 0
*
0 * V 0
(6.1)
其中, Σr=diag(σ1, σ2, …, σr)。 式(6.1)称为矩阵A
的奇异值分解(SVD), 其中A的最大奇异值定义为
( A) 1
如果矩阵A是n×n的方阵, 则它的第n个奇异值, 也就 是最小的奇异值, 定义为
ag = branch(ssg,矩阵 ag。 如果想一次得 到ssg中所有的矩阵, 可以输入 [ag, bg, cg, dg] = branch(ssg);
表 6.1 mksys命令的常见参数
3) tree
为用户提供了一个创建分层数据结构包括矩阵、 字符串甚至其它tree类型的一般工具。 例如, 如果希望同时保存二输入输出系统(A, B1, B2, …)、 控制器(af, bf, cf, df)、频率响应[w; sv] 以及 这个系统的名称Aircraft Design Data, 就可以输入 fr = tree(′w, sv′, w, sv); DesignData = tree(′plant, controller, freq, name′,
这个过程可以用图6.2来说明。
式(6.6)称为鲁棒条件。 KM称为最小不确定性Δ 的大小, 由每个频率对应的奇异值来度量。 函数KM又 称为对角扰动的多变量稳定裕度(MSM), 它的倒数 用μ表示, 即
KM
1
(6.7)
图 6.2 标准鲁棒控制问题的方框图
如果Δn不存在, 该问题又被称为鲁棒镇定问题
箱包括一系列有关鲁棒多变量控制设计方法的实现算法, 其研究的重点为多变量频率响应的奇异值和多变量Bode
图的分析和绘制。
2) 鲁棒性分析
系统的不确定性因素具体有外界噪声/干扰信号、 传递函数的建模误差以及未建模的非线性动态特性。 鲁棒控制系统工具箱可以让用户找到系统在这些不确 定性条件下的多变量稳定裕度的度量。 使用的方法包 括: 最优对角缩放、 Perron特征向量对角缩放和奇异 值方法等。
在Robust Control Toolbox的函数中, 如果输入参数
包含一个tree变量, 该函数能够自动检查该变量是否代 表某个系统。
如果是, 那么该函数将自动将该输入变量展开, 用
它代表的实际系统矩阵来替代原来的系统变量作为函 数的输入参数。 例如, 下面的两行程序实际上完成相同 的计算功能: hinf(TSS); hinf(A, B1, B2, C1, C2, D11, D12, D21, D22);
6.2.4 鲁棒控制分析
鲁棒分析的目的是通过某种适当的非保守分析算法 来“观察”MSM矩阵。 换句话说, 我们将找出系统保 持稳定状态下不确定性的上界。 其基本步骤包括: (1) 定义不确定性模型。 (2) 将不确定输入(包括结构和非结构不确定性因 素)写成图6.4所示的M-Δ形式。
图 6.4
第6章 鲁棒控制系统的计算机 辅助设计与仿真
6.1 鲁棒控制工具箱介绍 6.2 鲁棒控制系统概述 6.3 鲁棒控制系统的设计方法 6.4 鲁棒控制系统设计实例
6.1 鲁棒控制工具箱介绍
6.1.1 鲁棒控制工具箱简介 鲁棒控制理论是近年来现代控制理论研究的热点 和前沿课题。 我们知道, 在对控制系统进行分析和设计 前一般首先需要对被研究的对象进行建模, 系统控制器 的设计一般是在理想模型的情况下完成的。
4) 鲁棒模型简化
有时根据鲁棒控制理论设计出来的鲁棒控制器的阶 数很高以至于难于实现, 这时通常需要进行控制器的简 化。 其它模型简化的场合还包括系统模型简化以及大 规模系统仿真等等。 一个良好的模型简化算法应该同 时具有数值鲁棒性和保持闭环系统鲁棒性的能力。 鲁 棒控制系统工具箱提供的模型简化算法可以满足这些 要求。
3) 鲁棒性系统综合
经典或现代鲁棒控制系统的设计人员通常采用回 路设计(LoopShaping)的系统设计方法来满足系统
的设计要求。 多变量系统的回路设计方法是通过奇异
值Bode图实现的。 鲁棒控制系统工具箱提供了各种 SISO或MIMO回路设计的方法, 诸如LQR、 LQG、 LQG/LTR、 H2和H∞等等。
1
M ( s ) F ( I FG ) 1 M ( s ) GF ( I GF ) 1
图 6.5 加法和乘法表示的不确定性的Bode图
例 6.2 结构不确定性的建模。
下面将讨论如何从状态空间的A和B矩阵中提取系 统的结构不确定。 假定飞机的状态空间模型表示为:
其中, (p, r, β, δa, δr)的初始导数定义为
实际上每一个Δi(i=1, …, n)自身都是矩阵并且代表不 同种类的物理不确定性因素。 在鲁棒控制中, 这些不确 定因素分为结构不确定性和非结构不确定性。非结构 不确定性代表与系统频率无关的项。 例如, 驱动器的饱 和特性、高频段的非建模误差或者低频段的系统扰动 等等。 它们与正常系统模型的关系可以表示为
TSS, ssf, fr, ′Aircraft... Design Data′);
图6.1显示了tree变量DesignData的层次结构。
图 6.1 Design Data的层次结构
为了得到tree变量DesignData第一层中的name的变
量值, 可以输入 name = branch(DesignData, ′name′) ans = Aircraft Design Data
I xx I xx I xx L ( L N) 2 I xx I xx I xx I xx I xx I xx I xx N (N L) 2 I xx I xx I xx I xx
借助鲁棒控制系统工具箱, 我们可以完成的工作包括:
1) 鲁棒多变量控制系统设计 鲁棒控制系统工具箱(Robost Control Toolbox)是 建立在控制系统工具箱(Control System Toolbox)的基 础上的, 为用户提供了更为先进的控制算法。 它在现代
控制理论与实际控制工程之间建立了一座桥梁。 该工具
DpTyiui Dp 1
其中, Dp∈D为Perron最优增益矩阵。
D={diag|(d1I, …, dnI)|dj>0}, 显然‖Ty u ‖∞也是1/KM
i i
的上界。 如果这些上界都满足鲁棒条件约束, 那么可以
充分保证μ和KM也满足鲁棒条件约束。
6.2.3 结构与非结构不确定性
( A) n
奇异值通常具有以下的性质
(1) ( A) max xC (2) ( A) min xC
Ax x Ax x
(6.2) (6.3)
(3) ( A) i ( A) ( A)
这里的λi代表矩阵A的第i个特征值。
1 (4) 如果 A 存在 , ( A) . 1 (A ) 1 1 (5)如果 A 存在, ( A) . 1 (A )
6.2 鲁棒控制系统概述
6.2.1 奇异值、 H2和H∞范数 假设矩阵A∈Cm×n的秩为r, 将A*A的非负方根σi称 为矩阵A的特征值, 其排列次序为σ1≥σ2≥…≥σp, p=min(m,
n)。 如果r<p, 则矩阵A具有p-r个零奇异值, 即
r1 r2 p 0
MATLAB 提 供 的 鲁 棒 控 制 系 统 工 具 箱 ( Robost
Control Toolbox)提供了多变量线性鲁棒控制系统分析 和设计的函数和工具。 研究对象包括存在建模误差、 系统参数不确定或动态特性不能完全确定的系统。 工 具箱提供的功能强大的算法函数可以帮助用户快速完 成鲁棒控制系统(主要是线性系统)的复杂计算和设 计工作。
1
(6) ( A) ( A) (7) ( A B ) ( A) ( B ) (8) i2 Trace( A* A)
i 1 n
其中属性1在鲁棒控制系统的分析和设计中很重要。
因为该属性反映了矩阵A的最大特征值与输入向量x在
所有可能方向上的矩阵增益的最大值之间的关系。 对 于稳定的Laplace变换矩阵G(s)∈Cm×n, p=min(m,n)。