收藏 分享(赏)

6.7-matlab问题系统综合.ppt

上传人:无敌 文档编号:303108 上传时间:2018-03-26 格式:PPT 页数:65 大小:827.02KB
下载 相关 举报
6.7-matlab问题系统综合.ppt_第1页
第1页 / 共65页
6.7-matlab问题系统综合.ppt_第2页
第2页 / 共65页
6.7-matlab问题系统综合.ppt_第3页
第3页 / 共65页
6.7-matlab问题系统综合.ppt_第4页
第4页 / 共65页
6.7-matlab问题系统综合.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、Ch.6 线性系统综合,Matlab问题(1/2),6.7 Matlab问题本章讨论系统综合问题,涉及的主要计算问题有连续线性定常系统的状态反馈与极点配置、系统镇定、系统解耦、状态规测器设计等。本节将讨论上述问题基于Matlab的问题求解和系统仿真。,Matlab问题(2/2),在这一节中,还将介绍进行线性定常系统综合问题的仿真平台软件lti_synth_analysis,以及该软件平台在状态反馈与极点配置、系统镇定、系统解耦、状态规测器设计以及线性二次型最优控制等系统综合问题中的应用。下面分别介绍反馈控制系统的模型计算反馈极点配置系统镇定系统解耦状态观测器,反馈控制系统的模型计算(1/7),

2、6.7.1 反馈控制系统的模型计算基于Matlab提供的建立状态空间模型函数ss()和建立传递函数模型函数tf(),可以实现反馈控制系统的模型计算。编著者为此设计了反馈系统模型计算函数fdb_model()。该函数可以实现状态反馈和输出反馈的闭环系统状态空间模型和传递函数模型计算。,反馈控制系统的模型计算(2/7),反馈系统模型计算函数fdb_model()的源程序为,反馈控制系统的模型计算(3/7),反馈控制系统的模型计算(4/7),反馈系统模型计算函数fdb_model()用于计算反馈控制律状态反馈律: u=-Kx+Hv输出反馈律: u=-Ky+Hv下的闭环系统模型。基于反馈系统模型函数f

3、db_model (),可方便地求解闭环控制系统的状态空间模型和传递函数模型。函数fdb_model()的调用格式为:clsys = fdb_model(sys,K,H,type1,type2)其中,sys为状态空间模型;K为反馈矩阵;H为前馈矩阵。,反馈控制系统的模型计算(5/7),若type1为字符串state,则K为状态反馈矩阵;type1为字符串output,则K为输出反馈反馈矩阵。type2为字符串ss,则表示输出模型clsys为状态空间模型;若type2为字符串tf,则输出模型clsys为传递函数模型矩阵。输入项type2和type1可以按从右到左顺序分别缺省为ss和state。,

4、clsys = fdb_model(sys,K,H,type1,type2),反馈控制系统的模型计算(6/7),Matlab问题6-1 试在Matlab中计算例6-1的系统在状态反馈矩阵K=3 1下的状态反馈闭环系统的传递函数模型。Matlab程序m6-1如下。,反馈控制系统的模型计算(7/7),Matlab程序m6-1执行结果如下.在状态反馈矩阵K=3 1下的状态反馈闭环系统的传递函数模型。函数fdb_model()的源程序运用了3个新的Matlab的语句和函数,分别为计算函数调用输入项项数函数nargin()、检查函数调用输入项项数范围函数nargchk()和错误报告函数error()。,

5、函数nargin()和nargchk()(1/4),(1) 函数nargin()和nargchk()前面介绍的Matlab函数(M文件)大多允许在调用时允许有不同的输入格式和输出格式,允许部分输入输出项缺省,使得一个函数可以实现多个相同或相似功能。这种具有多重功能函数的程序设计方法称为函数重载。Matlab的函数重载主要是通过检查函数调用时输入输出的项数以及各输入输出项的数据结构类型来实现的。为此,Matlab提供了查询函数调用时输入输出项数、检查该项数是否合法以及输入输出项类型的函数。,函数nargin()和nargchk()(2/4),函数nargin()用于Matlab的函数(M文件)体

6、中,它查询它所在函数当前被调用时实际输入项的项数,其主要调用格式为:n = nargin其中,返回的数值n即为函数nargin所在函数体内当前被调用时的实际输入项的项数。 函数nargchk()的用途是在函数体内检查函数当前被调用的实际输入项是否符合指定的范围,其主要调用格式为msgstr = nargchk(minargs, maxargs, numargs)msgstr = nargchk(minargs, maxargs, numargs, string)其中,minargs和maxargs为所在函数被调用的输入项项数的合法最小值和最大值;numargs为求得的输入项项数,可以直接为函数

7、nargin(返回的值为输入项项数)。,函数nargin()和nargchk()(3/4),对第1种调用格式,当输入项项数小于最小值minargs或大于最大值maxargs时,输出msgstr分别为符号串Not enough input arguments.或Too many input arguments.。对第2种调用格式,当输入项项数超过范围时,输出msgstr为输入指定的符号串string。如在上述函数fdb_model()的调用中,若输入项type1和type2不缺省,nargin给出的值为5;若输入项type1和type2从右到左顺序缺省,则nargin给出的值分别为4 和3,此时

8、程序通过判断nargin给出的值,自动将type1和type2分别设定为缺省值ss和state。,msgstr = nargchk(minargs, maxargs, numargs)msgstr = nargchk(minargs, maxargs, numargs, string),函数nargin()和nargchk()(4/4),类似检查函数调用输入项的函数nargin()和nargchk(),Matlab还设计了检查函数调用输出项的函数nargout()和nargchkout(),其调用格式分别与函数nargin()和nargchk()一致。通过查询函数实际调用时输入输出项数,再辅以

9、判别输入输出项的数据结构类型,就可以通过编程实现函数重载功能。,函数error()(1/1),(2) 函数error()函数error()的功能为错误报告并强行中止程序执行,返回到键盘控制,其主要调用格式为error(message)其中,输入的message为需要报告的错误报告信息。在编程中,合理地使用函数error()可以避免程序执行时陷入错误中并报告错误信息。在程序调试时,可以根据函数error()报告的错误信息调试程序,提高程序调试效率。,反馈极点配置(1/2),6.7.2 反馈极点配置极点配置是一种重要的反馈控制系统设计方法。状态反馈极点配置问题主要为SISO系统极点配置、MIMO系

10、统的基于旺纳姆或龙伯格能控规范II形的极点配置等。Matlab提供了单输入系统状态反馈极点配置函数acker()和多输入系统状态反馈极点配置函数place(),若需进行其他极点配置方法,则需要用户自己编程设计相应的函数。对MIMO系统的基于旺纳姆或龙伯格能控规范II形的极点配置,编著者编制了专门函数求解相应的状态反馈矩阵。,反馈极点配置(2/2),下面分别介绍单输入系统状态反馈极点配置多输入系统状态反馈极点配置,单输入系统状态反馈极点配置(1/3),1. 单输入系统状态反馈极点配置单输入系统状态反馈极点配置函数acker()的调用格式为k = acker(A,b,p)其中,输入的A和b分别为单

11、输入系统的系统矩阵和输入矩阵;p为给定的期望闭环极点所组成的一维数组;输出k为求得的状态反馈矩阵。由于单输入系统状态反馈极点配置问题的反馈矩阵K的解具有惟一性,因此函数acker()求得的反馈矩阵与6.2节介绍的求解结果完全一致。Matlab在求得反馈矩阵后,就可以构造反馈系统,进行反馈系统的仿真与分析了。,单输入系统状态反馈极点配置(2/3),Matlab问题6-2 试在Matlab中计算例6-2的系统在期望的闭环极点为-1j2时的状态反馈矩阵,并计算闭环系统的初始状态响应并绘出响应曲线。 Matlab程序m6-2如下。,单输入系统状态反馈极点配置(3/3),Matlab程序m6-2执行结果

12、如下.输出的闭环系统初始状态响应曲线如图6-12所示。,图6-12 Matlab问题6-2的闭环系统初始状态响应,例6-2计算结果,结果完全一致,多输入系统状态反馈极点配置(1/2),2. 多输入系统状态反馈极点配置由于多输入系统极点配置问题求得的状态反馈矩阵解可能不惟一,因此根据不同的设计要求与目的,存在多种多输入系统极点配置方法,如化为单输入系统的极点配置、基于旺纳姆或龙伯格能控规范II形的极点配置,以及鲁棒特征结构配置的极点配置等。,多输入系统状态反馈极点配置(2/2),Matlab的函数place()提供了一种使闭环特征值对系统矩阵A和输入矩阵B的扰动的敏感性最小的鲁棒特征结构极点配置

13、方法。编著者根据6.2.3节的内容,编制了能控规范形极点配置函数canon_place(),可以实现基于旺纳姆或龙伯格能控规范II形的极点配置。下面分别介绍这2个极点配置函数鲁棒特征结构极点配置函数place()能控规范形极点配置函数canon_place(),鲁棒特征结构极点配置函数place()(1/3),(1) 鲁棒特征结构极点配置函数place()鲁棒特征结构极点配置函数place()的调用格式为:K = place(A,B,p)其中,输入的A和B分别为多输入系统的系统矩阵和输入矩阵;p为给定的期望闭环极点所组成的一维数组;输出K为求得的状态反馈矩阵。,鲁棒特征结构极点配置函数plac

14、e()(2/3),Matlab问题6-3 试在Matlab中计算例6-4的系统在期望的闭环极点为-2和-1j2时的状态反馈矩阵,并检验计算闭环系统特征值。 Matlab程序m6-3如下。,鲁棒特征结构极点配置函数place()(3/3),Matlab程序m6-3执行结果如下.计算结果表明闭环系统的极点准确配置在期望的极点位置上。,能控规范形极点配置函数canon_place()(1/4),(2) 能控规范形极点配置函数canon_place()基于旺纳姆和龙伯格能控规范II形的极点配置函数canon_place()的调用格式为K = canon_place(A,B,p,type)其中输入项的A

15、、B和p与函数place()一致;type是极点配置方法选择,它可以为Wonham或Luenb,分别表示选择基于旺纳姆或龙伯格能控规范II形的极点配置方法。,能控规范形极点配置函数canon_place()(2/4),Matlab问题6-4 试在Matlab中基于旺纳姆能控规范II形的极点配置方法,计算例6-5的系统 的闭环极点配置在-1, -2j和-12j上。,能控规范形极点配置函数canon_place()(3/4),Matlab程序m6-4如下。,能控规范形极点配置函数canon_place()(4/4),Matlab程序m6-4执行结果如下.上述计算结果表明闭环系统极点配置在期望的极点

16、位置上。,例6-5计算结果,多输入系统反馈矩阵解不唯一,系统镇定(1/4),6.7.3 系统镇定所谓系统镇定是指是否存在反馈使得闭环反馈系统是稳定的。对于状态反馈控制,系统镇定要求状态完全不能控部分是稳定的,对能控部分进行反馈镇定,即配置其极点在s平面的左半开平面。Matlab没有直接提供镇定系统设计的函数,用户可用基于能控性分解函数ctrbf()、ctrbf2(),以及极点配置函数acker()、place()、canon_place(),编制相应程序实现镇定系统设计。编著者根据6.3节的内容,编制了系统镇定函数stable_sys()实现镇定系统设计。,系统镇定(2/4),系统镇定函数st

17、able_sys()的调用格式为K=stable_sys(A,B,p,type)其中,输入A、B、p和输出K的格式与极点配置函数place()一致,type为对能控部分极点配置方法的选择输入。type可为robust、Wonham和Luenb,分别对应于鲁棒极点配置方法和基于旺纳姆或龙伯格能控规范II形的极点配置方法。若type缺省则自动选择为robust。,系统镇定(3/4),Matlab问题6-5 试在Matlab中计算例6-6的系统的状态反馈镇定,其中能控部分的极点配置在-2和-3上。 Matlab程序m6-5如下。,系统镇定(4/4),Matlab程序m6-5执行结果如下.其中,闭环极

18、点-1为系统不能控部分的极点。,例6-6计算结果,结果完全一致,系统解耦(1/5),6.7.4 系统解耦 系统解耦是设计MIMO控制系统的有效手段,它可以对耦合现象严重的系统通过解耦技术,将其变换为输入输出一一对应的多个SISO系统,从而简化控制系统的设计。Matlab没有提供直接用于解耦设计的函数,用户需要根据解耦设计方法设计相关的程序和函数。编著者根据6.4.2节介绍的解耦设计方法,设计了用于状态反馈解耦的Matlab函数decoup()。通过该函数可以便利地求解状态反馈解耦律中的反馈矩阵K和前馈矩阵H。,系统解耦(2/5),该函数的调用格式为K,H=decoup(A,B,C,tol)其中

19、,输入的A、B和C为状态空间模型的各矩阵,tol为容许的计算误差,可以缺省。输出的K和H即为所求取的状态反馈解耦律的反馈矩阵和前馈矩阵。,系统解耦(3/5),Matlab问题6-6 试在Matlab中计算例6-9的系统的状态反馈解耦律。,系统解耦(4/5),Matlab程序m6-6如下。,系统解耦(5/5),Matlab程序m6-6执行结果如下.计算结果表明解耦函数decoup()正确地求解出状态反馈解耦控制规律。,例6-9计算结果,结果完全一致,状态观测器 (1/1),6.7.5 状态观测器 状态观测器是实现状态反馈控制系统的关键环节。Matlab没有提供直接设计状态观测器的函数。由于状态观

20、测与状态反馈是互为对偶的,因此可以通过对偶原理,利用状态反馈极点配置函数实现全维状态观测器的设计。对降维状态观测器的设计,则需要用户自己设计相应的程序和函数。下面分别介绍这2种观测器设计的Matlab计算问题。全维状态观测器设计 降维状态观测器设计,全维状态观测器设计 (1/6),1. 全维状态观测器设计 基于前面介绍的状态反馈极点配置函数acker()、place()和canon_place(),通过对偶原理,可以实现全维状态观测器的设计。对于状态观测器的运动轨迹分析(即状态观测器的状态响应、状态观测值的求解)问题,Matlab没有提供相应的函数。编著者设计了一个用于状态观测器仿真的函数ob

21、sv_lsim(),可以方便地进行状态观测值的求解。,全维状态观测器设计 (2/6),状态观测器仿真函数obsv_lsim()的源程序为,全维状态观测器设计(3/6),函数obsv_lsim()的调用格式为yt,eyt,t,xt,ext=obsv_lsim(sys,G,u,t,x0,ex0)其中,输入格式的sys为被控对象模型,G为状态观测器增益矩阵,x0和ex0分别为被控对象和状态观测器的初始状态,u和t分别为被控系统的输入信号采样序列和时间数组;输出格式的yt和xt为被控对象的输出响应和状态响应, eyt和ext分别为状态观测器的输出和状态的估计值。下面通过求解实例介绍状态观测器的设计及仿

22、真。,全维状态观测器设计(4/6),Matlab问题6-7 试在Matlab中计算例6-10的系统的全维状态观测器并仿真系统和状态观测器的运行,其中期望的观测器极点为-3,-4,-5。,全维状态观测器设计(5/6),Matlab程序m6-7如下。,全维状态观测器设计(5/6),Matlab程序m6-7执行结果如下.输出的状态观测器的状态观测误差的曲线图如图6-13所示。,例6-10计算结果,结果完全一致,图6-13 Matlab问题6-7的状态观测误差,降维状态观测器设计 (1/6),2. 降维状态观测器设计 降维状态观测器使得观测器的维数降低,节约状态观测的成本,是设计观测器的主要方法。Ma

23、tlab没有提供降维观测器的求解函数,用户需要根据6.5.2节介绍的设计方法,自己设计相应的降维观测器设计函数。编著者设计了维观测器设计函数rdobsv()和降维观测器仿真函数rdobsv_lsim(),可以非常方便地对降维观测器进行设计与仿真。,降维状态观测器设计 (2/6),状态观测器仿真函数obsv_lsim()的源程序为,降维状态观测器设计(3/6),函数obsv_lsim()的调用格式为yt,eyt,t,xt,ext=obsv_lsim(sys,G,u,t,x0,ex0)其中,输入格式的sys为被控对象模型,G为状态观测器增益矩阵,x0和ex0分别为被控对象和状态观测器的初始状态,u

24、和t分别为被控系统的输入信号采样序列和时间数组;输出格式的yt和xt为被控对象的输出响应和状态响应, eyt和ext分别为状态观测器的输出和状态的估计值。下面通过求解实例介绍状态观测器的设计及仿真。,降维状态观测器设计(4/6),Matlab问题6-7 试在Matlab中计算例6-11的系统的降维状态观测器并仿真系统和状态观测器的运行,其中期望的观测器极点为-3,-4,-5。,降维状态观测器设计(5/6),Matlab程序m6-7如下。,降维状态观测器设计(6/6),Matlab程序m6-7执行结果如下.输出的状态观测器的状态观测误差的曲线图如图6-13所示。,例6-11计算结果,结果完全一致

25、,图6-13 Matlab问题6-7的状态观测误差,线性定常系统的系统综合仿真平台 (1/10),6.7.6 线性定常系统的系统综合仿真平台 根据本章的线性定常系统系统综合的有关内容,为更好地进行相关问题的计算与仿真,编著者基于Matlab的图形用户界面(GUI)技术开发了一个线性定常系统系统综合的图形仿真软件lti_synthesis。该软件的主要功能有如下。提供可以对线性定常连续和离散系统的系统综合的软件平台,涉及的系统综合问题有:状态反馈/输出反馈闭环系统的状态空间/传递函数模型的计算与运动仿真;状态反馈极点配置系统设计与运动仿真;状态反馈镇定系统设计与运动仿真;,线性定常系统的系统综合

26、仿真平台 (2/10),状态反馈解耦系统设计与运动仿真;全维/降维状态观测器的设计与运动仿真;带状态观测器的状态反馈闭环系统的设计与运动仿真;线性最优二次型控制的设计与运动仿真(第7章7.5节)。2) 仿真对象可以是SISO的,也可为MIMO的。3) 在运动仿真时系统的输入信号可以是常用的阶跃、脉冲、正弦、方波、白噪声等,富于特色的是可以实现任意输入信号的符号表达式输入。,线性定常系统的系统综合仿真平台 (3/10),4) 可以实现状态、输出、状态观测器的状态观测与观测误差的运动轨迹的图形、数据及符号表达式的输出,闭环系统模型、状态观测器模型以及控制律的输出。5) 界面友好,操作简单,使用方便

27、。,线性定常系统的系统综合仿真平台 (4/10),仿真软件lti_synthesis的界面如图6-15所示。用户只要在Matlab中将lti_synthesis.fig文件作为GUI文件打开并运行,根据计算与仿真的要求,在图形界面上输入仿真对象的状态空间模型的各矩阵、控制目标(如状态/输出反馈律、期望的控制系统的闭环极点、观测器的极点以及线性最优二次型目标函数的权矩阵Q与R)、仿真参数(包括仿真任务选择、仿真输出的目标结果、结果的格式等)。就可以非常方便地进行线性定常系统系统综合的设计计算与运动仿真。,线性定常系统的系统综合仿真平台 (5/10),图6-15 仿真软件lti_systhesis

28、的运行界面图,线性定常系统的系统综合仿真平台 (6/10),在选择极点配置、系统镇定和观测器设计时,系统还将自动弹出极点配置方法输入对话框,供选择不同的极点配置方法,其界面如图6-16所示。在选择对控制系统和观测器进行运动仿真时,系统将弹出计算/仿真条件对话框,供输入系统的输入信号及仿真时间长度和仿真计算步长,其界面如图6-17所示。,图6-16 极点配置方法输入界面,图6-17 仿真参数输入界面,线性定常系统的系统综合仿真平台 (7/10),设计计算结束后,若用户选择输出闭环系统状态空间模型传递函数模型、状态观测器模型以及控制律,则系统将自动弹出相应的输出界面。图6-18和图6-19分别是系

29、统状态空间模型和状态观测器模型的输出界面。,图6-18 系统状态空间模型输出界面,图6-19 状态观测器的输出界面,线性定常系统的系统综合仿真平台(8/10),Matlab问题6-9 试使用软件lti_synthesis设计线性连续系统 的带状态观测器的状态反馈系统,并对闭环系统进行阶跃输入下的运动过程仿真,其中,控制部分的期望闭环极点为-12j,观测器部分的期望极点为-2和-3,输出为被控对象的状态响应曲线。,线性定常系统的系统综合仿真平台(9/10),解 运行仿真软件lti_synthesis后,按Matlab问题6-9的要求, 在GUI主界面、极点配置方法输入界面、计算/仿真条件输入界面

30、上分别输入开环系统模型、仿真任务、极点配置方法、系统输入信号和仿真条件后,有如图6-20(a)所示的仿真界面图形输出部分截图。图6-20(b)为不带观测器的同样状态反馈规律下的控制结果。,线性定常系统的系统综合仿真平台(10/10),比较两图可以看出状态观测器对控制系统的初始暂态过程有一定影响,随时间推移,只要状态观测器是稳定的,则其对控制结果的影响将越来越小。,(a) 带观测器,(b) 不带观测器,图6-20 闭环控制系统状态响应曲线图,本章小结(1/4),本 章 小 结系统综合问题是指控制器及控制系统的设计与实现问题。本章讨论基于状态空间模型的线性系统的的系统综合问题,是前面介绍的状态空间

31、分析方法在系统综合中的应用。6.1节首先讨论了状态反馈和输出反馈控制系统的结构、闭环控制系统的模型描述与能控能观性。由于极点反映了系统的动态品质,极点配置法是线性控制系统设计的主要方法。,本章小结(2/4),6.2节讨论了线性定常连续系统基于极点配置的状态反馈控制律的设计,首先证明了极点配置定理,揭示了状态能控性这一系统的本质特征是系统能否进行任意控制的试金石。然后分别针对SISO、MIMO系统讨论了极点配置方法,能控规范形在极点配置中的应用简化了控制律的求解。 6.3节讨论了线性系统的镇定问题,即能否通过反馈使得闭环系统渐近稳定问题。所提出的系统镇定定理揭示了系统能否镇定取决于系统的不能控的

32、子系统是否是渐近稳定的。镇定系统的设计实质上是对能控的子系统设计其满足目标要求的控制律。,本章小结(3/4),对MIMO系统,若能通过系统反馈使得系统可以转化为多个SISO系统,则大大简化系统分析和系统综合设计。6.4节介绍的系统解耦定理给出了基于状态反馈可解耦的条件,基于此得到了状态反馈解耦律的设计方法。由于系统的状态可能不能直接测量,因此欲构成状态反馈律,先需设计状态观测器实时获得系统状态的观测值以构成状态反馈律。6.5介绍了全维和降维状态观测器的设计方法。该设计方法揭示了状态能观性在观测器是否存在问题上的决定性作用。,本章小结(4/4),6.6节分析了带状态观测器的状态反馈闭环系统的渐进性能、闭环模型以及能空能观性,揭示了状态观测与状态反馈设计上的可分离特性、观测误差的不能控性、系统渐近性能与观测器无关等闭环控制系统的重要特性。最后,6.7节介绍了上述系统综合问题基于Matlab的问题求解和系统仿真,以及用于线性定常系统综合问题的仿真平台软件lti_synth_analysis的应用。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报