matlab二次型状态反馈调节器,线性二次型最控制器设计.ppt

线性二次型最控制器设计

线性二次型最优控制器设计 讲解人:胡玲笑 应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态空间模型下建立的最优控制策略。 最优控制是现代控制理论的核心。所谓最优控制,就是在一定条件下,在完成所要求的控制任务时,使系统的某种性能指标具有最优值。根据系统不同的用途,可提出各种不用的性能指标。最优控制的设计,就是选择最优控制,以使某一种性能指标为最小。 一、线性二次型最优控制概述 线性二次型最优控制设计是基于状态空间技术来设计一个优化的动态控制器。系统模型是用状态空间形式给出的线性系统,其目标函数是状态和控制输入的二次型函数。二次型问题就是在线性系统约束条件下选择控制输入使二次型目标函数达到最小。 线性二次型最优控制一般包括两个方面:线性二次型最优控制问题(LQ问题),具有状态反馈的线性最优控制系统;线性二次型Gauss最优控制问题,一般是针对具体系统噪声和量测噪声的系统,用卡尔曼滤波器观测系统状态。 二、连续系统线性二次型最优控制 1.连续系统线性二次型最优控制原理 假设线性连续定常系统的状态方程为: 要寻求控制向量 使得二次型目标函数 为最小。式中,Q为半正定是对称常数矩阵,R为正定实对称常数矩阵,Q、R 分别为X和U的加权矩阵。 根据极值原理,我们可以导出最优控制律: 式中,K为最优反馈增益矩阵;P为常值正定矩阵,必须 满足黎卡夫(Riccati)代数方程 因此,系统设计归结于求解黎卡夫(Riccati)方程的问题,并 求出反馈增益矩阵K。 2.连续系统二次型最优控制的MATLAB函数 在MATLAB工具箱中,提供了求解连续系统 二次型最优控制的函数:lqr()、 lqr2()、 lqry()。 其调用格式为: 其中,A为系统的状态矩阵;B为系统的输出矩 阵;Q为给定的半正定实对称常数矩阵;R为给 定的正定实对称常数矩阵;N代表更一般化性 能指标中交叉乘积项的加权矩阵;K为最优反馈 增益矩阵;S为对应Riccati方程的唯一正定解P (若矩阵A-BK是稳定矩阵,则总有正定解P存在);E为矩阵A-BK的特征值。 其中, lqry()函数用于求解二次型状态调节器的特 例,是用输出反馈代替状态反馈,即其性能指标为: 这种二次型输出反馈控制叫做次优控制。 此外,上述问题要有解,必须满足三个条件: (1) (A,B)是稳定的; (2) R>0且Q-NR-1NT≥0; (3) (Q-NR-1NT,A-BR-1NT)在虚轴上不是非能观 模式。 当上述条件不满足时,则二次型最优控制无解,函数 会显示警告信号。 3.连续系统二次型最优控制设计实例 【例8.7】设系统状态空间表达式为: (1)采用输入反馈,系统的性能指标为: 取 ,R=1 (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) 程序运行结果如下: K =0.4142 0.7486 0.2046 同时得到闭环阶跃响应曲线,如图1-1所示。 图1-1 闭环系统阶跃响应曲线 由图1-1可知,闭环系统单位阶跃响应曲线略微 超调后立即单调衰减,仿真曲线是很理想的,反 映了最优控制的结果。 (2)我们可以用MATLAB函数lqry()来求解LQ最优控 制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值