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

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

范数鲁棒控制器的设计

H_2, H_{\infty}鲁棒控制器的设计

根据双端子状态方程对象模型结构,H_{\infty}控制器设计的目标是找到一个控制器K(s),它能保证闭环系统的H_{\infty}范数限制在一个给定的小整数\gamma下,即

\left \| T_{y_1 u_1}(s)\right \|_{\infty}< \gamma

这时控制器的状态方程为:

\dot{x}(t)=A_fx(t)-ZLu(t) \\ y(t)=Kx(t) \\ A_f=A+\gamma ^{-2}B_1B_1^TX+B_2K+ZLC_2 \\ K=-B_2 ^TX,L=-YC_2^T,Z=(I-\gamma ^{-2}YX)^{-1}

其中X与Y分别为下面两个代数Riccati方程的解。

A^TX+XA+X(\gamma ^{-2}B_1B_1^Tx-B_2B_2^T)X+C_1C_1^T=0 \\ A^TY+YA+Y(\gamma ^{-2}C_1C_1^Tx-C_2C_2^T)X+B_1B_1^T=0

H_{\infty}控制器存在的前提条件为:

  1. 在增广矩阵中,D_{11}足够小,且满足D_{11}<\gamma
  2. 控制器Riccati方程的解X为正定矩阵
  3. 观测器Riccati方程的解Y为正定矩阵
  4. \lambda _{max}(XY)<\gamma ^2,即两个Riccati方程的积矩阵的所有特征值均小于\gamma ^2

在上述前提条件下搜索最小的\gamma值,则可设计出最优H_{\infty}控制器。

H_2, H_{\infty}鲁棒控制器的实现

对双端子模型G,鲁棒控制工具箱中相应的函数可以直接用于控制器的设计,这些函数的调用格式为:

[K,CL,gamma] = h2syn(G,nmeas,ncont); % nmeas:输出信号y的个数% ncont:控制信号u的个数% K 为优化的控制器状态空间方程% CL为w到z的传递函数% gamma为CL的2范数[K,CL,gamma] = hinfsyn(G,nmeas,ncont); % nmeas:输出信号y的个数% ncont:控制信号u的个数% K 为优化的控制器状态空间方程% CL为w到z的传递函数% gamma为CL的无穷范数

其中控制系统的双端子模型如下所示。

例如:

考虑一下对象模型:

G(s)=\frac{300}{s^2+1.5s+300} \\ W_1(s)=\frac{100(0.06s+1)^2}{(0.3s+1)^2},\\ W_2(s)=1; \\ W_3(s)=\frac{s^2}{3000}

试用MATLAB鲁棒控制函数设计H_2, H_{\infty}控制器。

首先利用MATLAB函数h2syn计算在优化H_2 norm下的控制器。

MATLAB代码如下:

clear all;clc;
num=300;
den=[1 1.5 300];
G=tf(num,den);
s=tf('s');
W1=100*(0.06*s+1)^2/(0.3*s+1)^2;
W2=1;
W3=s^2/3000;
Tss=augtf(G,W1,W2,W3);
[K,CL,gamma]=h2syn(Tss);
Gc=feedback(G,K);
step(feedback(G*tf(K),1))
grid on

程序运行结果为:

其次利用MATLAB函数hinfsyn计算在优化H_{\infty} norm下的控制器。

MATLAB代码如下:

clear all;clc;
num=300;
den=[1 1.5 300];
G=tf(num,den);
s=tf('s');
W1=100*(0.06*s+1)^2/(0.3*s+1)^2;
W2=1;
W3=s^2/3000;
Tss=augtf(G,W1,W2,W3);
[K,CL,gamma]=hinfsyn(Tss);
Gc=feedback(G,K);
step(feedback(G*tf(K),1))
grid on

程序运行结果为:

如果知道了控制器,大家可以

  1. 画出闭环系统的传递函数
  2. 引入模型不确定性,然后观察系统响应
  3. 观察输入信号曲线,进而判断控制器的可行性

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

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

相关文章:

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

范数鲁棒控制器的设计 鲁棒控制器的设计 根据双端子状态方程对象模型结构&#xff0c;控制器设计的目标是找到一个控制器K(s),它能保证闭环系统的范数限制在一个给定的小整数下&#xff0c;即 这时控制器的状态方程为&#xff1a; 其中X与Y分别为下面两个代数Riccati方程的解…...

英码科技与泊川软件,携手加速AI与嵌入式系统融合创新

2025年4月15日&#xff0c;广州英码信息科技有限公司&#xff08;以下简称“英码科技”&#xff09;与广州泊川软件技术有限公司&#xff08;以下简称“泊川软件”&#xff09; 正式签署战略合作框架协议。此次合作将充分发挥双方在AI计算硬件与嵌入式操作系统领域的技术优势&a…...

电脑 访问 github提示 找不到网页,处理方案

1、找到 本机的 host文件 例如 windows 的 一般在 C:\Windows\System32\drivers\etc\hosts 用管理员身份打开 hosts 文件 如果文件中没有 github的配置&#xff0c;需要自己手动添加上去&#xff1b; 如果有&#xff0c;则需要 检查 github.com 与 github.global.ssl.fastly.…...

Linux学习——了解和熟悉Linux系统的远程终端登录

Linux学习——了解和熟悉Linux系统的远程终端登录 一.配置Ubuntu系统的网络和用户 1、设置虚拟机网络为桥接模式 打开VMWare&#xff0c;选择编辑虚拟机设置&#xff0c;在网络适配器设置中&#xff0c;选择“桥接模式”&#xff0c;保存设置并启动Ubuntu。 2、配置Ubuntu的…...

AI 中的 CoT 是什么?一文详解思维链

文章目录 CoT 的组成CoT 的作用CoT 的推理结构变体CoT 的特点CoT 的适用场景总结 在人工智能领域&#xff0c;尤其是自然语言处理和机器学习中&#xff0c;有一种名为思维链&#xff08;Chain of Thought&#xff0c;CoT&#xff09;的技术&#xff0c;它正逐渐改变着我们对 AI…...

【OC】AVPlayerLayer的学习

文章目录 前言关于AVPlayer概念及作用具体方法及使用 关于AVPlayerLayer基本概念及作用具体用法 AVPlayer与AVPlayerLayer结合实现视频播放应用使用本地视频使用网络请求申请视频数据 总结 前言 在编写类视频软件项目时&#xff0c;涉及到视频播放的问题&#xff0c;我们需要给…...

C++笔记-list

list即是我们之前学的链表&#xff0c;这篇主要还是讲解list的底层实现&#xff0c;前面会讲一些list区别于前面string和vector的一些接口以及它们的注意事项。 一.list的基本使用 和之前的string&#xff0c;vector一样&#xff0c;有很多之前见过的一些接口&#xff0c;经过…...

k8s报错kubelet.go:2461] “Error getting node“ err=“node \“k8s-master\“ not found“

问题 首先最初问题&#xff1a; [rootk8s-master ~]# kubectl get pods -owide --all-namespaces The connection to the server 192.168.2.129:6443 was refused - did you specify the right host or port?检查kubelet状态 查看kubelet status报找不到master节点 [rootk8…...

open webui 介绍 是一个可扩展、功能丰富且用户友好的本地部署 AI 平台,支持完全离线运行。

AI MCP 系列 AgentGPT-01-入门介绍 Browser-use 是连接你的AI代理与浏览器的最简单方式 AI MCP(大模型上下文)-01-入门介绍 AI MCP(大模型上下文)-02-awesome-mcp-servers 精选的 MCP 服务器 AI MCP(大模型上下文)-03-open webui 介绍 是一个可扩展、功能丰富且用户友好的…...

使用cursor进行原型图设计

1.下载cursor 2.模式设置&#xff1a; 模型使用claude-3.7-sonnet的think模式 3.引导词模板&#xff1a; 我想要开发一个中高考英语口语考试的模拟考试系统&#xff0c;我需要将上面的这个应用输出成高保真的原型图设计。请考虑以下的规范&#xff1a; 用户体验&#xff1…...

极狐GitLab 登录限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 登录限制 (BASIC SELF) 您可以使用登录限制自定义 Web 界面以及基于 HTTP(S) 的 Git 的身份验证限制。 设置 要访问登录限…...

设计模式之工厂模式(factory pattern):在商品对象创建系统中的应用

目录 一、设计思路 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 二、UML类图&#xff08;PlantUML格式&#xff09; 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 三、实现过程与结果 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 四、总结 在面向对…...

Spring Boot 自定义定时任务组件深度解析:Quartz 集成与设计模式实战

一、组件设计目标 解决痛点&#xff1a; 简化 Quartz 原生 API 的复杂性统一任务调度管理&#xff08;增删改查、日志、重试&#xff09;与 Spring Boot 生态无缝整合 二、实现步骤详解 1. 组件初始化配置 1.1 初始化 Quartz 表结构 下载 SQL 脚本 &#x1f517; 官方表…...

嵌入式exfat-nofuse文件系统移植和使用

exfat-nofuse 是一款专为linux ARM平台设计的开源项目,它提供了一个非FUSE机制的内核级驱动,用于在Linux系统上无缝地读写exFAT和VFAT文件系统。此项目由Dorimanx维护,采用C语言编写&#xff0c;兼容GPL-2.0许可证。它避开了FUSE&#xff08;用户空间文件系统&#xff09;的使用…...

再来一篇,Linux中的软件管理

Linux中软件包的类型 在Linux系统中&#xff0c;软件包有多种不同的格式和类型&#xff0c;主要包括以下几种&#xff1a; DEB (Debian软件包)&#xff08;此软件包不适用于RHEL8 系统&#xff09;&#xff1a; 适用于 Debian 及其衍生版本&#xff08;如Ubuntu等&…...

【重学Android】02.Java环境配置的一些分享

背景说明 其实只是学习Android的话&#xff0c;只要下载好Android Studio开发工具&#xff0c;是自带JDK环境的&#xff0c;所以不需要再额外去进行配置&#xff0c;我之所以还要进行单独配置&#xff0c;是因为我其他的工具需要Java的环境&#xff0c;而且我目前用的是JDK 12…...

SimBody安装

SimBody安装 Simbody 是一个用于创建生物力学和机械系统仿真的多体动力学库。 SimBody安装 Windows安装&#xff1a; 下载地址&#xff1a;GitHub - simbody/simbody: High-performance C multibody dynamics/physics library for simulating articulated biomechanical and…...

CUDA编程中影响性能的小细节总结

一、内存访问优化 合并内存访问&#xff1a;确保相邻线程访问连续内存地址&#xff08;全局内存对齐访问&#xff09;。优先使用共享内存&#xff08;Shared Memory&#xff09;减少全局内存访问。避免共享内存的Bank Conflict&#xff08;例如&#xff0c;使用padding或调整访…...

thinkphp:部署完整项目到本地phpstudy

一、准备工作 首先准备一个thinkphp的项目文件&#xff1b;准备mysql数据库 二、小皮初步搭建 1、建立网站 在小皮界面&#xff0c;网站->创建网站->输入域名&#xff0c;选择PHP版本等 注&#xff1a;确保端口未被占用 2、将项目文件放入根目录 网站->管理->…...

Linux网络编程——基于ET模式下的Reactor

一、前言 上篇文章中我们已经讲解了多路转接剩下的两个接口&#xff1a;poll和epoll&#xff0c;并且知道了epoll的两种工作模式分别是 LT模式和ET模式&#xff0c;下来我们就实现的是一个简洁版的 Reactor&#xff0c;即半同步半异步I/O&#xff0c;在linux网络中&#xff0c…...

大模型相关面试问题原理及举例

大模型相关面试问题原理及举例 目录 大模型相关面试问题原理及举例Transformer相关面试问题原理及举例大模型模型结构相关面试问题原理及举例注意力机制相关面试问题原理及举例大模型与传统模型区别 原理:大模型靠海量参数和复杂结构,能学习更复杂模式。传统模型参数少、结构…...

Redis List 的详细介绍

Redis List 的详细介绍 以下是 Redis List 的详细介绍&#xff0c;从基础命令、内部编码和使用场景三个维度展开&#xff1a; 一、基础命令 Redis List 支持双向操作&#xff08;头尾插入/删除&#xff09;&#xff0c;适用于队列、栈等场景&#xff0c;以下是核心命令分类&a…...

使用virtualbox的HostOnly建立共享网络-实现虚拟机上网

目录 环境描述解决方案具体步骤1.新建一个virtual host-only ethernet adapter2.设置windows的wifi信号网络共享3.确认winows宿主网络信息3.1.wifi适配器的信息3.2.虚拟网卡的信息3.3.确认virtualbox中虚拟网卡的ip地址 4.虚拟机网卡设置5.虚拟机网络设置5.1.本地连接设置5.2.u…...

springboot+vue3+mysql+websocket实现的即时通讯软件

项目演示 即时通讯软件项目演示 业务架构 技术栈 后端 选用编程语言 Javaweb框架SpringBootdb MySQL 持久存储nosql 缓存 Redis全双工通信框架 WebSocket 前端 前端框架Vue3TypescriptUI样式 Css、ElementPlus网页路由 vue-router全双工通信框架Websocket 功能完成情况 已实…...

基于 Spring Boot 瑞吉外卖系统开发(五)

基于 Spring Boot 瑞吉外卖系统开发&#xff08;五&#xff09; 删除分类 分类列表中每条分类信息右侧提供了一个“删除”按钮&#xff0c;当需要将已经存在的分类信息删除时&#xff0c;可以通过单击“删除”按钮实现。 请求路径为/category&#xff0c;携带参数id&#xf…...

AES (高级加密标准)

原理详解 AES是一种对称加密算法&#xff0c;使用相同的密钥进行加密和解密。它采用替代-置换网络(SPN)结构&#xff0c;主要步骤包括&#xff1a; 密钥扩展&#xff1a;从初始密钥派生多轮密钥 初始轮&#xff1a;AddRoundKey&#xff08;轮密钥加&#xff09; 主轮&#xff…...

详解Windows(一)——系统盘下目录及文件详解

引言 你是否曾经好奇过电脑里那些神秘的文件夹都是干什么用的&#xff1f;为什么有些文件是.exe而有些是.dll&#xff1f;不同的图片格式.jpg和.png到底有什么区别&#xff1f;如果你对这些问题感到困惑&#xff0c;这篇文章就是为你准备的。今天&#xff0c;我们将以通俗易懂…...

基于Spring MVC的客户端真实IP获取方案解析

文章目录 基于Spring MVC的客户端真实IP获取方案解析概述核心方法解析代码实现工作流程 IP获取优先级策略IP有效性验证异常处理与日志使用场景注意事项扩展建议 基于Spring MVC的客户端真实IP获取方案解析 概述 在Web应用开发中&#xff0c;准确获取客户端真实IP地址是常见的…...

【Web部署问题】在Tomcat中部署web项目出现http状态-404 -未找到详细解决方案

部署完tomcat记得在选中要运行的工件。 如果没有工件&#xff0c;或者工件有缺失东西&#xff0c;去这里配置工件&#xff0c;...

Linux——Shell编程之正则表达式与文本处理器(笔记)

目录 基础正则表达式 1:基础正则表达式示例 &#xff08;4&#xff09;查找任意一个字符“.”与重新字符“*” &#xff08;5&#xff09;查找连续字符范围“{ }” 文本处理器 一、sed工具 二、awk工具 &#xff08;1&#xff09;按行输出文本 &#xff08;2&#xff0…...