当前位置: 首页 > news >正文

MATLAB 控制系统设计与仿真 - 35

MATLAB鲁棒控制器分析

所谓鲁棒性是指控制系统在一定(结构,大小)的参数扰动下,维持某些性能的特征。

根据对性能的不同定义,可分为稳定鲁棒性(Robust stability)和性能鲁棒性(Robust performance)。

以闭环系统的鲁棒性作为目标设计得到的控制器称为鲁棒控制器。

鲁棒控制问题概述

鲁棒控制系统的一般结构如下所示:

其中P(s)为增广的对象模型,K(s)为控制器模型。从输入信号到输出信号的传递函数可以表示为

T_{y_1u_1}(t).

我们可以用MATLAB鲁棒工具箱中提供的函数augtf/augw来建立增广的双端子系统模型。

增广的双端子状态模型建立举例

MATLAB augtf/augw的调用格式如下:

P=augw(P,W1,W2,W3); % W1为控制器输入信号(误差信号)的加权函数% W2为控制器输出信号的加权函数% W3为输出信号的加权函数%augw要求W1,W2,W3为正则模型
P=augtf(P,W1,W2,W3); % W1为控制器输入信号(误差信号)的加权函数% W2为控制器输出信号的加权函数% W3为输出信号的加权函数

带有加权函数的双端子系统模型如下所示:

增广矩阵为:

\begin{bmatrix} z\\ e \end{bmatrix}=\begin{bmatrix} W_1 & -W_1G\\ 0 &W_2 \\ 0& W_3G\\ I&-G \end{bmatrix} \begin{bmatrix} w\\ u \end{bmatrix}=P(s)\begin{bmatrix} w\\ u \end{bmatrix}

 例如:给定一下系统状态方程模型及其加权函数,请建立增广的对象模型。

\dot{x}(t)=\begin{bmatrix} 0 & 1 & 0 & 0\\ -5000 & -100/3 & 500 & 100/3\\ 0 & -1 & 0 & 1\\ 0 & 100/3 & -4 & -60 \end{bmatrix}x(t)+ \begin{bmatrix} 0\\ 25/3\\ 0\\ -1 \end{bmatrix}u(t) \\ y(t)=\begin{bmatrix} 0 & 0 & 1 & 0 \end{bmatrix}x(t)

W_1(s)=\frac{100}{s+1},W_2(s)=10,W_3(s)=\frac{s}{1000}

MATLAB代码如下:

clear all;clc;
A=[0 1 0 0;-5000 -100/3 500 100/3;0 -1 0 1;0 100/3 -4 -60];
B=[0;25/3;0;-1];
C=[0 0 1 0];
D=0;
G=ss(A,B,C,D);
s=tf('s');
W1=100/(s+1);
W2=10;
W3=s/1000;
P=augtf(G,W1,W2,W3)

运行结果如下:

P =A = x1      x2      x3      x4      x5x1       0       1       0       0       0x2   -5000  -33.33     500   33.33       0x3       0      -1       0       1       0x4       0   33.33      -4     -60       0x5       0       0      -1       0      -1B = u1     u2x1      0      0x2      0  8.333x3      0      0x4      0     -1x5      1      0C = x1      x2      x3      x4      x5y1       0       0       0       0     100y2       0       0       0       0       0y3       0  -0.001       0   0.001       0y4       0       0      -1       0       0D = u1  u2y1   0   0y2   0  10y3   0   0y4   1   0Input groups:       Name    ChannelsU1        1    U2        2    Output groups:      Name    ChannelsY1      1,2,3  Y2        4    Continuous-time state-space model.
Model Properties

然后

tf(P)

我们可以得到P(s)=\begin{bmatrix} W_1 & -W_1G\\ 0 &W_2 \\ 0& W_3G\\ I&-G \end{bmatrix}

ans =From input 1 to output...1001:  -----s + 12:  03:  04:  1From input 2 to output...933.3 s^2 + 2.222e04 s + 5e051:  -------------------------------------------------------------s^5 + 94.33 s^4 + 6486 s^3 + 3.197e05 s^2 + 3.333e05 s + 2e042:  10-0.009333 s^3 - 0.2222 s^2 - 5 s + 3.599e-173:  ----------------------------------------------s^4 + 93.33 s^3 + 6393 s^2 + 3.133e05 s + 2e049.333 s^2 + 222.2 s + 50004:  ----------------------------------------------s^4 + 93.33 s^3 + 6393 s^2 + 3.133e05 s + 2e04Input groups:       Name    ChannelsU1        1    U2        2    Output groups:      Name    ChannelsY1      1,2,3  Y2        4    Continuous-time transfer function.
Model Properties

当我们得到增广的系统模型后, 我们可以利用MATLAB鲁棒工具箱提供的函数例如:

H_2, H_{\infty},mixsyn,loopsyn,hinfsyn求取鲁棒控制器。

接下来会举例分析介绍。

最后,欢迎大家有问题给我留言。

非常感谢小伙伴们的-点赞-收藏-加关注。

相关文章:

  • YOLOv8 Bug 及解决方案汇总 【2024.1.24更新】【环境安装】【训练 断点续训】OMPError / KeyError
  • Linux根据 PID 进行性能分析
  • 【Spring Boot 源码学习】深入 ConfigurableEnvironment 的初始化过程
  • Android 13 关闭屏幕调节音量大小
  • Docker快速入门
  • yarn的定义
  • PyCharm Flask 使用 Tailwind CSS v3 配置
  • 软件工程中数据一致性的探讨
  • Spark两种运行模式与部署
  • 【ELF2学习板】Ne10进行FFT测试
  • 基于SpringBoot的新闻小程序开发与设计
  • 七牛使用任务工作流对音频进行转码
  • 项目管理基础---引言
  • 树莓派超全系列教程文档--(32)config.txt常用音频配置
  • 银行卡风险画像在社交行业网络安全的应用
  • 深入理解 React Hooks:简化状态管理与副作用处理
  • 【Test Test】灰度化和二值化处理图像
  • JAVA中多线程的经典案例
  • 2025.04.18|【Map】地图绘图技巧全解
  • 负载均衡的策略
  • 大学2025丨本科专业大调整,教育专家:化解就业难背后供需错配
  • 马文化体验展商圈启动,环球马术冠军赛的能量不止在赛场
  • “HPV男女共防计划”北半马主题活动新闻发布会在京举办
  • 中远海运:坚决反对美方对中国海事物流及造船业301调查的歧视性决定
  • 经济参考报:安全是汽车智能化的终极目标
  • 为溶血性疾病治疗提供新靶点,专家团队在《细胞》发文