内容简介
本书是重量精品资源共享课程的配套教材,在讲述现代控制理论的基本概念、原理和方法的基础
上,详细介绍基于 MATLAB仿真的现代控制系统分析与设计方法。全书内容涵盖 MATLAB/Simulink应
用基础、基于 MATLAB的现代控制系统模型、基于 MATLAB的现代控制系统分析、基于 MATLAB的现
代控制系统设计、现代控制系统分析与设计实例(如打印机驱动控制、硬盘磁头定位控制、果实采摘机器人
控制、磁悬浮控制、车辆半主动悬架控制、网联汽车自动巡航控制等系统分析与设计)。实例中详细给出了
程序命令、注释说明和运行结果,图文并茂,使抽象的现代控制理论变得生动形象。
本书适合作为高等学校自动化及其相关专业本科生的教材,也适合控制科学与工程及其相关专业的
研究生以及从事相关工作的科研人员和工程技术人员阅读,亦可作为现代控制理论的开放实验教材。
摘要
第3章基于MATLAB的现代控制系统分析
在讨论了基于MATLAB的现代控制系统状态空间模型后,就要根据对象的状态空间模型对系统进行分析,其目的就是要揭示系统的运动规律和基本特性。系统分析一般有定性分析和定量分析两种。定性分析主要分析现代控制系统的能控性、能观性和稳定性,而定量分析则是对现代控制系统的运动规律进行准确的研究,定量地确定系统由初始状态和外部激励所引起的响应,即在知道了系统的初始状态和外部输入信号后,如何根据状态空间模型确定系统未来的状态或输出,以了解系统的运动状态。
给定现代控制系统的连续时间状态空间模型
x·(t)=Ax(t)+Bu(t)(3.0.1a)
y(t)=Cx(t)+Du(t)(3.0.1b)
或离散时间状态空间模型
x(k+1)=Ax(k)+Bu(k)(3.0.2a)
y(k)=Cx(k)+Du(k)(3.0.2b)
其中,x是系统的n维状态向量,u是m维控制输入,y是r维测量输出,A、B、C和D是适当维数的实常数矩阵。对于连续时间状态空间模型(见式(3.0.1)),变量t≥0是时间变量; 对于离散时间状态空间模型(见式(3.0.2)),变量k=0,1,2,…是离散采样时刻变量。为了方便起见,对于时不变系统,设系统的初始时刻t0=0 (k0=0); 若t0≠0 (k0≠0),则只需在相应结果中以t-t0 (k-k0)代替t (k),t0 (k0)代替0,初始状态x(0)= x0。系统的运动分析就是在给定的输入信号u,了解系统状态和输出随时间变化的情况,即系统状态和输出的时间响应,从而评判系统的性能。这样一个问题在数学上归结为对给定的初始条件x(0)=x0和函数u,求解式(3.0.1)或式(3.0.2)。
本章将介绍MATLAB环境下基于状态空间模型的线性时不变系统的定性和定量分析,特别是借助于MATLAB软件,可以很方便地绘制出系统的状态和输出对初始状态和一些特殊输入信号的时间响应,从而可以有效地反映出系统变量的动态和稳态变化情况。进一步,分析系统的状态能控性、输出能控性、状态能观性和稳定性等性质。
3.1状态空间模型的运动响应分析
考虑连续时间状态空间模型(见式(3.0.1)),其状态方程和输出方程的解分别为
x(t)=eAtx(0)+eAt∫t0e-AτBu(τ)dτ=eAtx(0)+ ∫t0eA(t-τ)Bu(τ)dτ(3.1.1)
y(t)=CeAtx(0)+C∫t0eA(t-τ)Bu(τ)dτ+Du(t)(3.1.2)
相应地,离散时间状态空间模型(见式(3.0.2))的状态方程和输出方程的解分别为
x(k)=Gkx(0)+∑k-1i=0Gk-i-1Hu(i),k=1,2,3,…(3.1.3)
y(k)=CGkx(0)+C∑k-1i=0Gk-i-1Hu(i)+Du(k)(3.1.4) 状态方程的解x包括两部分: 第一部分是由系统自由运动引起的,是初始状态对系统运动的影响; 第二部分是由控制输入引起的,反映了输入对系统状态的影响。两部分的叠加构成了系统的状态响应。输出方程的解y由三部分组成: 第一部分是当外部输入等于零时,由初始状态引起的,故为系统的零输入响应; 第二部分是当初始状态为零时,由外部输入引起的,故为系统的外部输入响应; 第三部分是系统输入的直接传输部分。因此,根据系统的解,只要知道系统的初始状态和初始时刻之后的输入信号,就可以求出系统在初始时刻之后任意时刻处的状态解和输出解,可以定量分析系统输出的性能。由于输入信号是由设计者确定的,因此,可通过适当选取控制输入,使得系统响应满足所期望的要求。
3.1.1单位阶跃响应分析
在MATLAB软件中,函数step和dstep分别给出了由式(3.0.1)描述的连续时间系统和由式(3.0.2)描述的离散时间系统的单位阶跃响应曲线,其格式和功能如下。
1) 连续时间系统单位阶跃响应函数step
step(A,B,C,D) % A、B、C、D为系统状态空间模型的相应矩阵
[y,x,t]=step(A,B,C,D) % 返回系统输出y、状态x以及相应的时间t
[y,x,t]=step(A,B,C,D,iu) % iu表示输入变量的序号
[y,x,t]=step(A,B,C,D,iu,t) % t表示自定义时间
2) 离散时间系统单位阶跃响应函数dstep
dstep(A,B,C,D)% A、B、C、D为系统状态空间模型的相应矩阵
[y,x,t]=dstep(A,B,C,D) % 返回系统输出y、状态x以及相应的时间t
[y,x,t]=dstep(A,B,C,D,iu)% iu表示输入变量的序号
[y,x,t]=dstep(A,B,C,D,iu,t) % t表示自定义时间
【例3.1.1】考虑以下系统:
x·1
x·2=-1-1
6.50x1
x2+11
10u1
u2
y1
y2=10
01x1
x2
试给出该系统的单位阶跃响应曲线。
解: 这是一个具有2个输入2个输出的系统,系统式(3.3.2)。而对于给定的对称正定矩阵Q,式(3.3.3)是关于矩阵P的元素的一个线性方程组,从而可以应用求解线性方程组的方法从式(3.3.3)中求取解矩阵P。
在求解式(3.3.3)时,需要首先给定一个对称正定矩阵Q。那么是否会出现对某个给定的矩阵Q,式(3.3.3)无解,而对另一个给定的矩阵Q,式(3.3.3)又有解呢?理论上可以证明,式(3.3.3)的可解性不依赖矩阵Q的选取,即若对某一个矩阵Q,式(