您好,欢迎访问三七文档
线性二次型昀优控制器设计讲解人:胡玲笑线性二次型昀优控制器设计线性二次型昀优控制器设计本节主要内容:z线性二次型昀优控制器概述z线性二次型昀优控制器概述z连续系统线性二次型昀优控制z离散系统线性二次型昀优控制z线性二次型Gauss昀优控制z线性二次型Gauss昀优控制应用经典控制理论设计控制系统能够解决很应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统例如多输入多输出系统与新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态空间模型下建立的昀优控制策略需要有在状态空间模型下建立的昀优控制策略。昀优控制是现代控制理论的核心。所谓昀优控制就是在一定条件下在完成所要求的控制任务制,就是在一定条件下,在完成所要求的控制任务时,使系统的某种性能指标具有昀优值。根据系统不同的用途可提出各种不用的性能指标昀优控不同的用途,可提出各种不用的性能指标。昀优控制的设计,就是选择昀优控制,以使某一种性能指标为昀小标为昀小。概一、线性二次型昀优控制概述线性二次型昀优控制设计是基于状态空间技术来设计一个优化的动态控制器。系统模型是用状态空间形式给出的线性系统,其目标函数是状态和控制输入的二次型函数。二次型问题就是在线性系统约束条件下选择控制输入使次型目标函数达到昀小下选择控制输入使二次型目标函数达到昀小。线性二次型昀优控制一般包括两个方面:线性二次型昀优控制问题问题具有状态反馈的线次型昀优控制问题(LQ问题),具有状态反馈的线性昀优控制系统;线性二次型Gauss昀优控制问题,般是针对具体系统噪声和量测噪声的系统用卡尔一般是针对具体系统噪声和量测噪声的系统,用卡尔曼滤波器观测系统状态。二、连续系统线性二次型昀优控制1.连续系统线性二次型昀优控制原理假设线性连续定常系统的状态方程为:()()()xtAxtBut•=+要寻求控制向量使得二次型目标函数为昀小式中,Q为半正定是对称常数矩阵,R为正定实对称常数矩阵,QR()tu∗()()()xtAxtBut+01()2TTJQxRudtxu∞=+∫为昀小。式中,Q为半正定是对称常数矩阵,R为正定实对称常数矩阵,Q、R分别为X和U的加权矩阵。根据极值原理,我们可以导出昀优控制律:式中K为昀优反馈增益矩阵P为常值正定矩阵必须1TPxKxuRB∗−=−=−式中,K为昀优反馈增益矩阵;P为常值正定矩阵,必须满足黎卡夫(Riccati)代数方程10TPAPPBBPQAR−+−+=因此,系统设计归结于求解黎卡夫(Riccati)方程的问题,并求出反馈增益矩阵K。求出反馈增益矩阵K。2.连续系统二次型昀优控制的MATLAB函数在MATLAB工具箱中,提供了求解连续系统二次型昀优控制的函数:lqr()、lqr2()、lqry()。次型昀优控制的函数:q()、q()、qy()其调用格式为:[][],,(,,,,)2()KSElqrABQRNKSlABQRN=[][],2(,,,,),,(,,,)KSlqrABQRNKSElqrysysQRN==[],,(,,,)qyyQ其中A为系统的状态矩阵B为系统的输出矩其中,A为系统的状态矩阵;B为系统的输出矩阵;Q为给定的半正定实对称常数矩阵;R为给定的正定实对称常数矩阵;N代表更一般化性能指标中交叉乘积项的加权矩阵;K为昀优反馈能指标中交叉乘积项的加权矩阵;K为昀优反馈增益矩阵;S为对应Riccati方程的唯一正定解P(若矩阵A-BK是稳定矩阵,则总有正定解P存在);E为矩阵A-BK的特征值。其中,lqry()函数用于求解二次型状态调节器的特例,是用输出反馈代替状态反馈,即其性能指标为:01()2TTJQxRudtxu∞=+∫这种二次型输出反馈控制叫做次优控制。此外,上述问题要有解,必须满足三个条件:(1)(A,B)是稳定的;(2)R>0且Q-NR-1NT≥0;(3)(Q-NR-1NT,A-BR-1NT)在虚轴上不是非能观模式。当上述条件不满足时,则二次型昀优控制无解,函数会显示警告信号。会示警告信号3.连续系统二次型昀优控制设计实例【例8.7】设系统状态空间表达式为:0100⎛⎞⎛⎞010000101461xux•⎛⎞⎛⎞⎜⎟⎜⎟=+⎜⎟⎜⎟⎜⎟⎜⎟−−−⎝⎠⎝⎠(1)采用输入反馈系统的性能指标为()100yx⎝⎠⎝⎠=(1)采用输入反馈,系统的性能指标为:1()TTd∞∫100⎛⎞⎜⎟取,R=101()2TTJQxRudtxu=+∫010001Q⎜⎟=⎜⎟⎜⎟⎝⎠(2)采用输出反馈,系统的性能指标为:取Q1R11TT∞∫,取Q=1,R=101()2TTJQyRudtyu∞=+∫试设计LQ昀优控制器,计算昀优状态反馈矩阵,并对闭环系统进行单位阶跃的123[]Kkkk=仿真。【解】【解】(1)我们可以用MATLAB函数lqr()来求解LQ昀优控制器程序清单如下:优控制器,程序清单如下:A=[010;001;146];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;R=1;K=lqr(A,B,Q,R)k1=K(1);Ac=A-B*K;Bc=B*k1;Cc=C;Dc=D;AcABK;BcBk1;CcC;DcD;Step(Ac,Bc,Cc,Dc)程序运行结果如下程序运行结果如下:K=0.41420.74860.2046同时得到闭环阶跃响应曲线,如图1-1所示。图1-1闭环系统阶跃响应曲线由图1-1可知,闭环系统单位阶跃响应曲线略微由图11可知,闭环系统单位阶跃响应曲线略微超调后立即单调衰减,仿真曲线是很理想的,反映了昀优控制的结果。映了昀优控制的结果(2)我们可以用MATLAB函数lqry()来求解LQ昀优控制器,给出程序清单如下:A=[0,1,0;0,0,1;-1,-4,-6];B=[0,0,1]';C=[1,0,0];D=0;Q=1;R=1;Kl(ABCDQR)K=lqry(A,B,C,D,Q,R)k1=K(1);Ac=AB*K;Bc=B*k1;Cc=C;Dc=D;Ac=A-BK;Bc=Bk1;Cc=C;Dc=D;Step(Ac,Bc,Cc,Dc)程序运行结果如下:K=0.41420.61040.1009同时得到闭环阶跃响应曲线,如图1-2所示。图1-2闭环系统阶跃响应曲线由图1-1和图1-2知,经昀优输出反馈后,闭环系统阶跃响应曲线与经昀优状态反馈后的阶跃响应曲线很接近。三、离散系统线性二次型昀优控制下面对离散系统线性二次型昀优控制进行详细介绍。1、离散系统线性二次型昀优控制原理1、离散系统线性二次型昀优控制原理假设完全可控离散系统的状态方程为:•要寻求控制向量使得次型目标数(1)()(),(0,1,,1)kAxkBukkNx+=+=⋅⋅⋅−()t∗要寻求控制向量使得二次型目标函数()tu1[()()()()]2TTJkQxkkRukxu∞=+∑为昀小。0[()()()()]2kQxu=∑式中,Q为半正定实对称常数矩阵;R为正定实对称常数矩阵;Q、R分别为X和U的加权矩阵。根据极值原理,我们可以导出昀优控制律:根据极值原理,我们可以导出昀优控制律:式中K为昀优反馈增益矩阵P为常值正定矩阵必[]()TTRPBPAxkKxuBB∗=−+=−式中,K为昀优反馈增益矩阵;P为常值正定矩阵,必须满足黎卡夫(Riccati)代数方程因此系统设计归结于求解黎卡夫(Rii)方程的10TPAPPBBPQAR−+−+=因此,系统设计归结于求解黎卡夫(Riccati)方程的问题,并求出反馈增益矩阵K。2.离散系统二次型昀优控制的MATLAB函数在MATLAB工具箱中,提供了求解离散系统二次型昀优控制的函数dlqr()与dlqry()。其调用格式为:[,,](,,,,)[]()KSEdlqrABQRNKSEdlqrysysQRN==其中,A为系统的状态矩阵;B为系统的输出矩阵;Q为给定的半正定实对称常数矩阵;R为给定的正定实对称常数矩阵;N代表更一般化性[,,](,,,)KSEdlqrysysQRN=实对称常数矩阵;R为给定的正定实对称常数矩阵;N代表更般化性能指标中交叉乘积项的加权矩阵;K为昀优反馈增益矩阵;S为对应Riccati方程的唯一正定解P(若矩阵A-BK是稳定矩阵,则总有正定解P存在);E为矩阵A-BK的特征值。其中dlqr()函数用于求解二次型状态调节器的特例其中,dlqr()函数用于求解二次型状态调节器的特例,是用输出反馈代替状态反馈,即,则其性能指标为:()()ukKyk=−1T∞3离散系统二次型昀优控制设计实例01[()()()()]2TTkJkQykkRukyu==+∑3.离散系统二次型昀优控制设计实例【例2】设离散系统的状态方程(1)2()()()()xkxkukykxk+=+=试计算稳态昀优反馈增益矩阵,并给出闭环系统的单位阶跃响应曲线。()()y响应曲线【解】设定性能指标为1[()()()()]TTJkQkkRk∞∑设定性能指标为,取R=1。0[()()()()]2kJkQxkkRukxu==+∑1000001Q⎛⎞=⎜⎟⎝⎠取,R=1。用MATLAB函数dlqr()来求解昀优控制器,给出程序清单如下:01⎝⎠%求解昀优控制器a=2;b=1;c=1;d=0;Q[1000001]R1Q=[1000,0;0,1];R=1;A=[a,0;-c*a,1];B=[b;-c*b];B=[b;-cb];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;d(bd1100)dstep(axc,bxc,cxc,dxc,1,100)程序运行后得到系统昀优状态反馈增益矩阵KX为:Kx=19981-00310Kx=1.9981-0.0310以及闭环系统的阶跃响应曲线,如图1-3所示。图1-3闭环系统阶跃响应曲线图13闭环系统阶跃响应曲线四、线性二次型Gauss昀优控制线性次昀优控制考虑系统随机输入噪声与随机量测噪声的线性二次型的昀优控制叫做线性二次Gauss(LQG)昀优控制。这是一种输出反馈控制,对解决线性二次型昀优控制问题更具有实用性。1.LQG昀优控制原理假设对象模型的状态方程表示为()()()()tAxtButGwtx•=++假设对象模型的状态方程表示为:式中,ω(t)和ν(t)为白噪声信号,ω(t)为系统干扰噪声,ν(t)为传感器带来的量测噪声假设这些信号为零均值的G过程它们的协方差矩阵为()()()ytCxtvtx=+量测噪声。假设这些信号为零均值的Gauss过程,它们的协方差矩阵为:[()()]0[()()]0TTEttEttωω=Θ≥Θ≥式中,E〔x〕为向量x的均值。E〔xxT〕为零均值的Gauss信号x的协方差。进一步假设ω(t)和ν(t)为相互独立的随机变量,使得E〔ω(t)νT(t)〕=0。定义昀[()()]0Ettνν=Θ≥优控制的目标函数为:0{[()()()()]}TTJEtQxttRutdtxu∞=+∫式中,Q为给定的半正定实对称常数矩阵,R为给定的正定实对称常数矩阵。根据LQG问题的分离原理,典型的线性二次型Gauss昀优控制的解根据LQG问题的分离原理,典型的线性二次型Gauss昀优控制的解可以分解为下面两个问题:zLQ昀优状态反馈控制问题;z带有扰动的状态估计问题。设计LQG控制器的一般步骤如下。(1)根据二次型的性能指标J寻求昀优状态反馈增益矩阵K(1)根据二次型的性能指标J,寻求昀优状态反馈增益矩阵K。(2)设计一个卡尔曼滤波器来估计系统状态。(3)构建LQG控制器。下面介绍Kalman滤波器和LQG控制器设计的MATLAB实现。2.Kalman滤波器在实际应用中,若系统存在随机扰动,通常系统的状态需要由状态方程Kalman滤波器的形式给出。Kalman滤波器就是昀优观测器,能够抑制或滤掉噪声对
本文标题:LQR
链接地址:https://www.777doc.com/doc-4844215 .html