在Simulink中调整增益映射 Tune Gain Schedules in Simulink
文章目录
- 调节增益调度的工作流程 Workflow for Tuning Gain Schedules
- 1)选择一组设计点,充分覆盖你需要调优的操作范围
- 2)获取一组在设计点处描述线性动力学性能的线性模型
- 3)创建一个`slTuner`接口来调优Simulink
- 4)把增益调度映射建模成参数增益曲面Model the gain schedules as parametric gain surfaces
- 5)使用`TuningGoal`对象来确定你的调优目标
- 6)使用`systune`来调优控制系统
- 7)验证调优结果Validate the tuning results
通常,增益调度控制器是一种固定的单回路single-loop或者多回路multiloop控制结构,其中控制器增益随着操作条件变化。增益调度映射把描述当前运行状态current operating condition的调度变量scheduling variables转换成合适的控制器增益。在Simulink中,你可以使用查找表或者MATLAB函数来实现增益调度映射。
参考在simulink中建立调度增益控制系统的模型 - 刘凯的博客 - CSDN博客
如果已经有了Simulink Control Design™
,可以使用systune
来调节这些增益映射,最终使得完整的的非线性系统满足设计要求。调节增益调度映射等同于amounts to确定合适的查找表数据,或者是找到合适的MATLAB函数。对于systune
,可以把增益调度参数化为具有可调节系数with tunable coefficients的调度变量的函数。
调节增益调度的工作流程 Workflow for Tuning Gain Schedules
1)选择一组设计点,充分覆盖你需要调优的操作范围
设计点是一系列描述特定操作条件下的调度变量的值。这些设计点可以是规则的网络值regular grid of values,也可以是分散的集合scattered set。通常是从几个设计点开始,如果你调节出来的系统性能不在设计点之间,就增加更多的设计点。
2)获取一组在设计点处描述线性动力学性能的线性模型
获取这些线性模型数组的方法包括:
- 在Simulink中,对网格中的每一个设计点(表示每一个运行条件)进行线性化。比如说,如果每个设计点代表一个稳态条件,你可以修剪trim模型plant的每一个设计点design point然后在最终的运行结果点resulting operating point处线性化。或者,如果调度变量是时间,可以在一系列的仿真快照simulation snapshots中线性化。
- 在设计点对模型进行LPV建模Sample an LPV model of the plant at the design points.
更多参考 Plant Models for Gain-Scheduled Controller Tuning
3)创建一个slTuner
接口来调优Simulink
这样做的时候,将线性模型数组替换为模型substitute the array of linear models for the plant,以便slTuner
接口包含一系列对应每个设计点的闭环可调节模型。
更多参考Multiple Design Points in slTuner Interface
4)把增益调度映射建模成参数增益曲面Model the gain schedules as parametric gain surfaces
参数增益曲面parametric gain surfaces是一个具有可调节系数的基础函数展开式basis-function expansion,例如对于一个调度变量向量σ\sigmaσ而言,展开形式为:
K(σ)=K0+K1F1(n(σ))+…+KMFM(n(σ))K(\sigma)=K_{0}+K_{1} F_{1}(n(\sigma))+\ldots+K_{M} F_{M}(n(\sigma)) K(σ)=K0+K1F1(n(σ))+…+KMFM(n(σ))
n(σ)n(\sigma)n(σ)是一个归一化normalization 函数,在systune
调优中,可以使用tunableSurface
来表示参数增益曲面parametric gain surfaceK(σ)K(\sigma)K(σ)。在为调优创建的slTuner
接口中,使用setBlockParam
将得到的增益表面gain surface和表示增益调度的块block联系起来。systune
对所有的设计点的系数K0…,KMK_{0^{}} \ldots, K_{M}K0…,KM进行调优。
更多参考 Parameterize Gain Schedules
5)使用TuningGoal
对象来确定你的调优目标
你可以指定specify适用于apply to所有设计点或者一个设计点子集的调优目标。你还可以指定随设计点变化vary的调优目标tuning goal。比如,你可能想要定义一个最小增益裕度minimum gain margin,这个最小裕度会随着某个特定调度变量particular scheduling variable大小magnitude的增加而变得越来越严格stringent 。
更多关于指定随着设计点变化的调优目标,参考 Change Requirements with Operating Condition
更多关于整体调优目标,参考 Tuning Goals
6)使用systune
来调优控制系统
systune
调节一系列参数K0…,KMK_{0^{}} \ldots, K_{M}K0…,KM(参数集),来同时针对against 模型中的所有设计网格design grid(多模型调优multimodel tuning) 。
7)验证调优结果Validate the tuning results
你可以检查调谐增益表面,并验证在每个设计点处线性系统的性能。
但是,局部线性性能并不能保证在非线性系统中的全局性能。因此,使用调谐增益调度tuned gain schedules来验证仿真simulation-based validation效果是非常重要的。
更多参考Validate Gain-Scheduled Control Systems
参考Tune Gain Schedules in Simulink - MATLAB & Simulink - MathWorks 中国
在Simulink中调整增益映射 Tune Gain Schedules in Simulink相关推荐
- 在simulink中建立调度增益控制系统的模型
文章目录 一.在simulink中建立调度增益控制系统的模型 二.对调度增益建模Model Scheduled Gains 三.常见控制元素的增益调度等效项Gain-Scheduled Equival ...
- simulink显示多个数据_如何在 Simulink 中使用 PID Tuner 进行 PID 调参?
作者 | 安布奇责编 | 胡雪蕊出品 | CSDN(ID: CSDNnews)本文为一篇技术干货,主要讲述在Simulink如何使用PID Tuner进行PID调参. PID调参器( PIDTuner ...
- 如何在 Simulink 中使用 PID Tuner 进行 PID 调参?
作者 | 安布奇 责编 | 胡雪蕊 出品 | CSDN(ID: CSDNnews)本文为一篇技术干货,主要讲述在Simulink如何使用PID Tuner进行PID调参. PID调参器( PIDTun ...
- 伯德图 matlab,Matlab/Simulink中bode图的画法
在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高.如何在Matlab/Simulin ...
- 将Simulink中的数据更新到GUI中(记录)
1.前记:实时更新Simulink的数据并在GUI中显示出来,属于GUI与Simulink中的数据交换问题. 多次搜索还是在MATLAB answers中找到了一种解决方式. 来源:https://w ...
- Simulink中构造时变传递函数的四种方法
1. 原由 传递函数是针对线性时不变(Linear Time-Invariant,LTI)系统定义的,严格来说,时变传递函数的说法并不十分严谨.但 "时变"和"非线性&q ...
- 利用gensim在simulink中建立神经网络模型
利用gensim在simulink中建立神经网络模型 首先构建测试数据 x = [1 2 3 4 5 6]y = 3*x 然后建立线性神经网络模型 net = newlind(x,y) 创造测试数据 ...
- matlab cdfx,在 Simulink 中使用 ASAM CDFX 数据
导入数据 使用 cdfx 函数导入标定数据. cdfxObj = cdfx("CDFXExampleFile.cdfx") java.lang.ClassCastException ...
- 在MATLAB中采用M文件实现对Simulink中的S函数程序实现自动调参数
在做研究的时候我们经常需要对模型的参数就行相应的选择,然而有没有觉得每次更改一个参数都需要运行一次仿真程序觉得很无聊呀,运行完程序还要看效果怎么样,然后再根据效果来调整参数,再次运行程序,如此反复. ...
最新文章
- 编制一个c语言成绩记录簿_C语言学到什么程度能写推箱子
- STL源码剖析 hashtable
- stm32f407 6个串口dma_stm32之DMA
- 三百英雄服务器维护2020,酸败英雄梦服维护公告《300英雄梦服》将定于2020年8月3...
- html图片红叉,ireport 用html页面上 图片怎么都出不来 全是红叉的处理办法
- SpringBoot配置swagger2(亲测有效,如果没有配置成功,欢迎在下方留言)
- HDU 6704 K-th occurrence(主席树 + RMQ + 后缀数组)题解
- 图像处理_形态学运算中的膨胀与腐蚀直观理解
- 提高性能及操作硬件的能力
- css3伸缩布局(附实例、图解)
- 低压差线性稳压器MPQ2013A-AEC1品牌MPS国产替代
- 数据库可视化工具(SQLyog安装教程)
- MATLAB制作歌曲
- pageadmin CMS网站建设教程:模板中获取自定义文件的url节点值
- 论文分析---APP流量分类
- 第一行代码-第二版(郭霖著)笔记三(UI控件)
- 疯狂java笔记(七) - Java集合之Map
- CS224W-图神经网络 笔记5.1:Spectral Clustering - 谱聚类基础知识点
- Android属性(android:gravity)的说明
- 云计算、大数据和人工智能
热门文章
- STM32工作笔记0044---什么是二极管什么是三极管
- IOS学习笔记06---C语言函数
- java面试要点---Spring体系知识点复习,IOC,AOP---随时更新
- Video-Swin-Transformer (二)
- resnet18 结构
- qt 两种按钮点击事件应用
- Spring Mvc + Spring + Mybatis3 搭建Web工程详解
- 随想录(你所不知道的交叉编译器)
- java applet 事件_applet中的普通事件被按钮事件劫走!!!!!在线等。。。。。...
- mysql 提交 按钮_表单提交按钮input和button、a的差异