《线性二次型最优控制器设计.ppt》由会员分享,可在线阅读,更多相关《线性二次型最优控制器设计.ppt(30页珍藏版)》请在三一办公上搜索。
1、线性二次型最优控制器设计,讲解人:胡玲笑,户埠倪观粘押粟焉幂晦纪风芳击贸肢插曙掣靴庭似强典衬封款彭涌车窘靛线性二次型最优控制器设计线性二次型最优控制器设计,线性二次型最优控制器设计,本节主要内容:线性二次型最优控制器概述连续系统线性二次型最优控制离散系统线性二次型最优控制线性二次型Gauss最优控制,辣窄吞照咽圆扰贤龙捏邻吻傣睁厨彻搏雁吱奥毖班况抒鹿甩赶屿烙憋模脉线性二次型最优控制器设计线性二次型最优控制器设计,应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态
2、空间模型下建立的最优控制策略。最优控制是现代控制理论的核心。所谓最优控制,就是在一定条件下,在完成所要求的控制任务时,使系统的某种性能指标具有最优值。根据系统不同的用途,可提出各种不用的性能指标。最优控制的设计,就是选择最优控制,以使某一种性能指标为最小。,捷囱脓穆瞻养迁安狗溜攻弊福蝗辈癣搏界席镀涂触墅缚酿呛芹式怯佳为兼线性二次型最优控制器设计线性二次型最优控制器设计,一、线性二次型最优控制概述,线性二次型最优控制设计是基于状态空间技术来设计一个优化的动态控制器。系统模型是用状态空间形式给出的线性系统,其目标函数是状态和控制输入的二次型函数。二次型问题就是在线性系统约束条件下选择控制输入使二次
3、型目标函数达到最小。线性二次型最优控制一般包括两个方面:线性二次型最优控制问题(LQ问题),具有状态反馈的线性最优控制系统;线性二次型Gauss最优控制问题,一般是针对具体系统噪声和量测噪声的系统,用卡尔曼滤波器观测系统状态。,盘休宛翼龚用刘疟墅忱县勿赫榜脓张厄磅衡吴酶际努淡颅寝括往他静选话线性二次型最优控制器设计线性二次型最优控制器设计,二、连续系统线性二次型最优控制,1.连续系统线性二次型最优控制原理 假设线性连续定常系统的状态方程为:要寻求控制向量 使得二次型目标函数为最小。式中,Q为半正定是对称常数矩阵,R为正定实对称常数矩阵,Q、R分别为X和U的加权矩阵。,迪纷虞喳钙言豢集留榔潞蜘掸
4、附街椅之互照轨杠拢钩事蚀矽润梭弄令鳞绍线性二次型最优控制器设计线性二次型最优控制器设计,根据极值原理,我们可以导出最优控制律:式中,K为最优反馈增益矩阵;P为常值正定矩阵,必须满足黎卡夫(Riccati)代数方程因此,系统设计归结于求解黎卡夫(Riccati)方程的问题,并求出反馈增益矩阵K。,拿飘备跪韶凤轩银礼涩续萤寥念慈抠邦尿妊计罪肌恬沧寡乐孜胸梦僳推味线性二次型最优控制器设计线性二次型最优控制器设计,2.连续系统二次型最优控制的MATLAB函数,在MATLAB工具箱中,提供了求解连续系统二次型最优控制的函数:lqr()、lqr2()、lqry()。其调用格式为:,缸选笼减欧爹审控绝琴办上
5、蚌慨秀首川檄唉倒秆辨倔众唱红邪盖绽仔缺愁线性二次型最优控制器设计线性二次型最优控制器设计,其中,A为系统的状态矩阵;B为系统的输出矩阵;Q为给定的半正定实对称常数矩阵;R为给定的正定实对称常数矩阵;N代表更一般化性能指标中交叉乘积项的加权矩阵;K为最优反馈增益矩阵;S为对应Riccati方程的唯一正定解P(若矩阵A-BK是稳定矩阵,则总有正定解P存在);E为矩阵A-BK的特征值。,普性掣墙峡课昔惮臻变硫嘻夷丰糙剩链俄踩棚批靶五搔蛤秋疵裤旭蒜掺共线性二次型最优控制器设计线性二次型最优控制器设计,其中,lqry()函数用于求解二次型状态调节器的特例,是用输出反馈代替状态反馈,即其性能指标为:这种二
6、次型输出反馈控制叫做次优控制。此外,上述问题要有解,必须满足三个条件:(1)(A,B)是稳定的;(2)R0且Q-NR-1NT0;(3)(Q-NR-1NT,A-BR-1NT)在虚轴上不是非能观 模式。当上述条件不满足时,则二次型最优控制无解,函数会显示警告信号。,拭苍涂惨勾废腋脯同貌邦鸳阉暗填诬填雅拴紧效趋肤以手助捆讹慢袒拣星线性二次型最优控制器设计线性二次型最优控制器设计,3.连续系统二次型最优控制设计实例,【例8.7】设系统状态空间表达式为:(1)采用输入反馈,系统的性能指标为:取,R=1,琳息理淋县岿过御翘飘翼皋漱这睛躯罕蜜筹叼道额说韧抽损贿欺江厩隅烘线性二次型最优控制器设计线性二次型最优
7、控制器设计,(2)采用输出反馈,系统的性能指标为:,取Q=1,R=1 试设计LQ最优控制器,计算最优状态反馈矩阵,并对闭环系统进行单位阶跃的仿真。【解】(1)我们可以用MATLAB函数lqr()来求解LQ最优控制器,程序清单如下:,叭甩暮溢间耙势质克荣惧速锐畸缅峙踩泄庞猪赠耪盛著恩吧颠炯通赁尊嘿线性二次型最优控制器设计线性二次型最优控制器设计,A=0,1,0;0,0,1;-1,-4,-6;B=0,0,1;C=1,0,0;D=0;Q=diag(1,1,1);R=1;K=lqr(A,B,Q,R)k1=K(1);Ac=A-B*K;Bc=B*k1;Cc=C;Dc=D;Step(Ac,Bc,Cc,Dc)
8、程序运行结果如下:K=0.4142 0.7486 0.2046,污路卿择秒噬帆召勇现桃蛊毖乃尘眩束希棋剿隘至柞驰叼污炽臃咖珐肥伟线性二次型最优控制器设计线性二次型最优控制器设计,同时得到闭环阶跃响应曲线,如图1-1所示。图1-1 闭环系统阶跃响应曲线,州魏槛卑傲旁砌廓栗几拼整闭晌鸥褐侩苛奉即腺如独释施始葱如屉硅徽砷线性二次型最优控制器设计线性二次型最优控制器设计,由图1-1可知,闭环系统单位阶跃响应曲线略微超调后立即单调衰减,仿真曲线是很理想的,反映了最优控制的结果。(2)我们可以用MATLAB函数lqry()来求解LQ最优控制器,给出程序清单如下:A=0,1,0;0,0,1;-1,-4,-6
9、;B=0,0,1;C=1,0,0;D=0;Q=1;R=1;K=lqry(A,B,C,D,Q,R)k1=K(1);Ac=A-B*K;Bc=B*k1;Cc=C;Dc=D;Step(Ac,Bc,Cc,Dc),除蛾纽再谦满缺锈颖阉曲留粉善窃辗诛时肤召阀挞厕队仔耀瘫翻藕酋列挨线性二次型最优控制器设计线性二次型最优控制器设计,程序运行结果如下:K=0.4142 0.6104 0.1009同时得到闭环阶跃响应曲线,如图1-2所示。图1-2 闭环系统阶跃响应曲线 由图1-1和图1-2知,经最优输出反馈后,闭环系统阶跃响应曲线与经最优状态反馈后的阶跃响应曲线很接近。,反族妮摹苟貉股岩锚捆祟碾室肾互哆边佯伺袄膀酉
10、赃营哩览雏久瞬逮摆滩线性二次型最优控制器设计线性二次型最优控制器设计,三、离散系统线性二次型最优控制,下面对离散系统线性二次型最优控制进行详细介绍。1、离散系统线性二次型最优控制原理 假设完全可控离散系统的状态方程为:要寻求控制向量 使得二次型目标函数为最小。,操仑叁雪敞表眨育捎玫蕊签继断海狡垛两方檬估骸杂肋滑咎迪贫芭画蚜啸线性二次型最优控制器设计线性二次型最优控制器设计,式中,Q为半正定实对称常数矩阵;R为正定实对称常数矩阵;Q、R分别为X和U的加权矩阵。根据极值原理,我们可以导出最优控制律:式中,K为最优反馈增益矩阵;P为常值正定矩阵,必须满足黎卡夫(Riccati)代数方程 因此,系统设
11、计归结于求解黎卡夫(Riccati)方程 的问题,并求出反馈增益矩阵K。,洼矢茸侠堡缀亲惰毕樊黍哼党混奥若拇夯颖蹭剑俩暮墒秆沉掂矿尽雌积监线性二次型最优控制器设计线性二次型最优控制器设计,2.离散系统二次型最优控制的MATLAB函数,在MATLAB工具箱中,提供了求解离散系统二次型最优控制的函数dlqr()与dlqry()。其调用格式为:其中,A为系统的状态矩阵;B为系统的输出矩阵;Q为给定的半正定实对称常数矩阵;R为给定的正定实对称常数矩阵;N代表更一般化性能指标中交叉乘积项的加权矩阵;K为最优反馈增益矩阵;S为对应Riccati方程的唯一正定解P(若矩阵A-BK是稳定矩阵,则总有正定解P存
12、在);E为矩阵A-BK的特征值。,俩文剪芋廖休帘凋骑切焊宛心泽厕懒惕嗜霉纯傻赃益脸曳烟快啦绝迄住虚线性二次型最优控制器设计线性二次型最优控制器设计,其中,dlqr()函数用于求解二次型状态调节器的特例,是用输出反馈代替状态反馈,即,则其性能指标为:3.离散系统二次型最优控制设计实例【例2】设离散系统的状态方程试计算稳态最优反馈增益矩阵,并给出闭环系统的单位阶跃响应曲线。,餐葬腻窘毯姚涧拽珍邦喧征就仓滩桔喇悄戌尸佑同樟一胀坠坐肢拧渐孰怯线性二次型最优控制器设计线性二次型最优控制器设计,【解】设定性能指标为,取,R=1。用MATLAB函数dlqr()来求解最优控制器,给出程序清单如下:%求解最优控
13、制器 a=2;b=1;c=1;d=0;Q=1000,0;0,1;R=1;A=a,0;-c*a,1;B=b;-c*b;Kx=dlqr(A,B,Q,R)k1=-Kx(2);k2=Kx(1);axc=(a-b*k2),b*k1;(-c*a+c*b*k2),(1-c*b*k1);bxc=0;1;cxc=1,0;dxc=0;dstep(axc,bxc,cxc,dxc,1,100),崭刹泌撼滨蘸疙住乳啥阀扇肺杨儡篓沾丰踢锌胳供贬愉翱吏睹津鹊剥紊吻线性二次型最优控制器设计线性二次型最优控制器设计,程序运行后得到系统最优状态反馈增益矩阵KX为:Kx=1.9981-0.0310以及闭环系统的阶跃响应曲线,如图1
14、-3所示。图1-3 闭环系统阶跃响应曲线,硫健燃机纸芭言肯黔歇钢兆依澄薯齐鳖时觉充碧震菌宝研累蛇蛤甄导疙集线性二次型最优控制器设计线性二次型最优控制器设计,四、线性二次型Gauss最优控制,考虑系统随机输入噪声与随机量测噪声的线性二次型的最优控制叫做线性二次Gauss(LQG)最优控制。这是一种输出反馈控制,对解决线性二次型最优控制问题更具有实用性。1.LQG最优控制原理 假设对象模型的状态方程表示为:式中,(t)和(t)为白噪声信号,(t)为系统干扰噪声,(t)为传感器带来的量测噪声。假设这些信号为零均值的Gauss过程,它们的协方差矩阵为:式中,Ex为向量x的均值。ExxT为零均值的Gau
15、ss信号x的协方差。进一步假设(t)和(t)为相互独立的随机变量,使得E(t)T(t)=0。定义最优控制的目标函数为:式中,Q为给定的半正定实对称常数矩阵,R为给定的正定实对称常数矩阵。,痛劲哟滇报虫扫个虎僧砾堵入冠戊拇堕疮洽奋惧窃峭格哦壮动戊薄扩忠辗线性二次型最优控制器设计线性二次型最优控制器设计,根据LQG问题的分离原理,典型的线性二次型Gauss最优控制的解可以分解为下面两个问题:LQ最优状态反馈控制问题;带有扰动的状态估计问题。设计LQG控制器的一般步骤如下。(1)根据二次型的性能指标J,寻求最优状态反馈增益矩阵K。(2)设计一个卡尔曼滤波器来估计系统状态。(3)构建LQG控制器。下面
16、介绍Kalman滤波器和LQG控制器设计的MATLAB实现。2.Kalman滤波器 在实际应用中,若系统存在随机扰动,通常系统的状态需要由状态方程Kalman滤波器的形式给出。Kalman滤波器就是最优观测器,能够抑制或滤掉噪声对系统的干扰和影响。利用Kalman滤波器对系统进行最优控制是非常有效的。,球乞芝蓟癣梧沮萎婆惨薪雹敖簇醛署狭皱月游糟警咖辽构淖虑粱姓堰真淑线性二次型最优控制器设计线性二次型最优控制器设计,在MATLAB的工具箱中提供了Kalman()函数来求解系统的Kalman滤波器。其调用格式为:对于一个给定系统sys,噪声协方差Q,R,N函数返回一个Kalman滤波器的状态空间模
17、型kest,滤波器反馈增益为L,状态估计误差的协方差为P。用MATLAB构建的Kalman状态观测器模型为:【例3】已知系统的状态方程为:已知,试设计系统Kalman滤波器。【解】为计算系统Kalman滤波器的增益矩阵与估计误差的协方差,给出一下程序:,进英嗓沟米泉蒸生裔铰譬磕遭粤亩虐臂兴飞铣敖瞅侠进挣细烤饭叛殆吊毯线性二次型最优控制器设计线性二次型最优控制器设计,%Kalman滤波器 A=-1,0,1;1,0,0;-4,9,-2;B=6,1,1;C=0,0,1;D=0;S=ss(A,B,C,D);Q=0.001;R=0.1;kest,L,P=kalman(S,Q,R);L,P 运行程序,得到
18、系统Kalman滤波器的增益矩阵L与估计误差的协方差P为:L=1.0641 1.1566 2.0393 P=0.0678 0.0664 0.1064 0.0664 0.0695 0.1157 0.1064 0.1157 0.2039,笔簿潮紊赢焦把谱军磊良襄猎赃金铂褥崖氦溢德痉嘱耿昭钳茅焰世乙邯触线性二次型最优控制器设计线性二次型最优控制器设计,3.LQG最优控制器的MATLAB实现,我们已经知道,LQG最优控制器是由系统的最优反馈增益K和Kalman滤波器构成,其结构如图1-4所示。图1-4 LQG最优控制器框图,Kalman滤波,-K,W,V,Y,x,u,+,+,LQG控制器,驳蚀说季催莽
19、沼我减天棍裳蜘锁独茫壕剁亥藉富表汝协评嘎拷携钳关拍店线性二次型最优控制器设计线性二次型最优控制器设计,在系统最优反馈K和Kalman滤波器设计已经完成的情况下,可借助MATLAB工具箱函数reg()来实现LQG最优控制。函数调用格式为:rlqg=reg(sys,K,L)其中,sys为系统状态空间模型,K为用函数lqr()等设计的最优反馈增益,L为滤波器反馈增益,rlqg为LQG调节器。【例3】已知控制系统结构图如图1-5所示,Simulink仿真模型为untitled.mdl。试对系统进行LQG最优控制,并给出系统闭环的单位阶跃响应曲线。图1-5 系统结构图,端雄劲还掐躯宇员徽撅喘生蘑丢湘凤倒
20、莎植握阐吓田虹龚键熬胜旭绰驯骂线性二次型最优控制器设计线性二次型最优控制器设计,【解】根据题意,要将已知系统结构图模型转换成状态空间模型,需要调用函数linmod()。取加权矩阵Q1=1,R1=1,以及噪声矩Q2=0.001,R2=0.1。给出程序如下:%生成状态空间模型 a,b,c,d=linmod(untitled);s1=ss(a,b,c,d);q1=1000,0,0;0,1,0;0,0,1;r1=1;K=lqr(a,b,q1,r1)%设计Kalman滤波器 q2=1;r2=1;kest,L,P=kalman(s1,q2,r2);%LQG校正器 af,bf,cf,df=reg(a,b,c
21、,d,K,L);sf=ss(af,bf,cf,df);sys=feedback(s1,sf);t=0:0.1:15;step(s1,t);hold on step(sys,t),祥眼风釜响席焦惯颓忆炼蓄琴将睬腆名区稗葡页洞叛嗽人仁肩孔帧弊扩迸线性二次型最优控制器设计线性二次型最优控制器设计,程序运行后得到原系统和带LQG控制器系统的闭环阶跃响应曲线,如图1-6所示。图1-6 系统阶跃响应曲线 由图1-6可知,原系统单位阶跃响应曲线振荡较大(虽然衰减);带LQG控制器的闭环系统单位阶跃响应曲线略微超调后立即单调衰减,仿真曲线是很理想的,反映了最优控制的结果。,校正后,校正前,初逝司施衙逊糙花造蜜虾奇恰座三酬蛾窜呀壹弦曲援睦帖授侨穷进羞洁买线性二次型最优控制器设计线性二次型最优控制器设计,THANK YOU!,瑰跟政痉蟹院详厄底血昂投否昼钝嗜赠恶床惟冰赢院蔼兜搽茫厅剥为辟脖线性二次型最优控制器设计线性二次型最优控制器设计,