利用matlab实现h 控制,利用matlab实现H-infinity鲁棒控制.doc

利用Matlab实现H∞控制

Prof. Dr.-Ing.F.Allgwer

Institute for Systems Theory and Automatic Control

http://www.ist.uni-stuttgart.de/education/courses/robust

1 引 言

H∞控制器设计原理容易理解,难点在于编程。这里简单介绍Matlab里面几个相关函数的用法,希望能帮助你设计第一个H∞控制器。

Matlab提供了很多H∞设计函数,与H∞设计相关的几个重要的工具箱有:Control System Toolbox,mu-Analysis and Synthesis Toolbox(mu-tools),Robust Control Toolbox(RCT)和LMI Control Toolbox。Matlab7.0之后的版本中,LMI和mu-tools都包含在RCT v3.0.1中,Matlab 7.0之前的版本中这些工具箱是独立的。

本文中用到的函数都写在了一个m文件中(见附录),也可以从网站下载。

利用混合S/KS问题说明H∞相关函数的用法。首先回顾这个问题。

2 回路成形传递函数

混合S/KS问题可用图1来说明。

从w到z的闭环传递函数可以表示为

广义过程模型P(s)(见图2)可以表示为

假设上面几个状态空间变量具有如下的形式:

于是可以得到P(s)的一个可能的状态空间实现形式:

WS和WKS为调整参数。一种选择方法为:

其中A<1为允许的最大稳态误差,为期望带宽,M为灵敏度峰值(一般情况下A=0.01,M=2)。从控制器设计的方面来说,的倒数为回路成形期望灵敏度的上限,影响控制器的输出u。

有些情况下希望对补灵敏度函数进行回路成形设计(在图1中增加一个输出)。一种选择方法为:

此函数与函数成轴对称,见图3所示。图中参数设置为A=0.01(=-40dB),M=2(=6dB),。

3 子系统的实现

在Matlab中有几种方式得到G,WS和WKS。例如Control System Toolbox提供的ss,tf和zpk等函数。Mu-tools也提供了诸如pck,nd2sys,zp2sys等函数,也可以用mksys和tree等方法。需要注意的是,Mu-tools提供了一种与Control System Toolbox不一样的表达方式:系统矩阵(system matrix)。Control System Toolbox里面可以写成,对mu-tools则不适用。Mu-tools:

4 广义系统P的实现

广义系统P也有多种产生方式。下面我列举了五种:

(1)直接写出传递函数矩阵,见2节。我倾向于利用mu-tools。如果后面需要转化为状态空间模型,需要利用minreal之类的函数得到最小化实现。重要的函数有:sbs(side-by-side),abv(above),mmult(multiply),minv(inverse)。

(2)写出状态空间系数矩阵A,B,C,D,然后利用3节中的指令:P=pck(A,B,C,D)。

(3)利用sysic函数(system interconnect)。先在一个m文件中利用mu-tools设置了子系统,然后利用该函数将子系统互连起来。

(4)利用sconnect函数,这是LMI-tools提供的函数。子系统、输入、输出以参数的形式传递,sconnect返回互连的系统。

(5)利用RCT v3.0.1提供的iconnect函数,该函数功能与sysic类似。

这些方法中,我倾向于sysic和iconnect函数,因为它们使用灵活,能够搭建方法1和方法2难于搭建的复杂系统。一般情况下,得到均衡实现形式以避免数值计算问题是一个很好的想法,均衡实现形式可以利用Control System Toolbox提供的balreal实现。

5 控制器设计

设计问题是寻找一控制器K,使之稳定系统G,并使下列的H∞范数最小:

有很多种得到H∞控制器的方法,例如hinfsyn

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值