这个例子展示了如何创建和配置一个slTuner
Simulink®模型的接口。金宝app的slTuner
Interface参数化模型中指定为可调的块,并允许使用systune
.的slTuner
接口生成Simulink模型的线性化,还允许提取线性化的系统响应,用于分析和验证调谐的控金宝app制系统。
对于本例,创建并配置一个slTuner
用于优化Simulink模型的接口金宝apprct_helico
,旋翼飞行器的多回路控制器。打开模型。
open_system (“rct_helico”);
控制系统由两个反馈回路组成。内环(静态输出反馈)提供稳定性增强和解耦。外环(PI控制器)提供所需的设定点跟踪性能。
假设您希望优化此模型以满足以下控制目标:
轨迹设定点的变化θ
,φ
,r
零稳态误差,指定上升时间,最小超调量,最小交叉耦合。
限制控制带宽,以防止忽略高频转子动力学和测量噪声。
提供强大的多变量增益和相位裕度(对工厂输入和输出同步增益/相位变化的鲁棒性)。
的systune
命令可以联合调整控制器块SOF
以及满足这些设计要求的PI控制器。的slTuner
接口设置此调优任务。
创建slTuner
接口。
ST0 = slTuner (“rct_helico”,{“软件”,“皮”,“PI3”,SOF的});
该命令初始化slTuner
接口与三个PI控制器和SOF
指定为可调的块。每个可调块都会根据其类型自动参数化,并使用其在Simulink模型中的值进行初始化。金宝app
配置slTuner
界面,指定任何与您的设计要求相关的信号位置作为分析点。首先,添加跟踪需求的输出和参考输入。
addPoint (ST0, {“theta-ref”,“θ”,“phi-ref”,“φ”,“r-ref”,“r”});
当你创建TuningGoal。跟踪
对象捕获跟踪需求时,该对象引用相同的信号。
配置slTuner
界面的稳定裕度要求。指定作为分析点的工厂的输入和输出(控制和测量信号),在那里测量稳定裕度。
addPoint (ST0, {“u”,“y”});
的摘要slTuner
命令窗口的接口配置。
ST0
slTuner调谐接口"rct_helico": 4调谐块:(只读TunedBlocks属性)--------------------------块1:rct_helico/PI1块2:rct_helico/PI2块3:rct_helico/PI3块4:rct_helico/SOF 8分析点:--------------------------点1:rct_helico/theta-ref点2的'输出端口1':信号“θ”,位于“输出端口1”rct_helico / Demux1点3:输出端口1的rct_helico / phi-ref点4:信号“φ”,位于rct_helico / Demux1的输出端口2点5:rct_helico / r-ref点的输出端口1 6:信号“r”,位于rct_helico / Demux1点的输出端口3 7:8点:信号“y”,位于rct_helico/直升机的“输出端口1”使用addopen命令添加新的永久开口。get/set access: Parameters: [] operingpoints:[](将使用模型初始条件。)[]选项:[1x1线性化。Ts: 0
在命令窗口中,单击任何突出显示的信号以查看其在Simulink模型中的位置。金宝app
除了指定设计需求之外,您还可以使用分析点来提取系统响应。例如,提取和绘制参考信号和之间的阶跃响应“θ”
,“φ”
,“r”
.
T0 = getIOTransfer (ST0, {“theta-ref”,“phi-ref”,“r-ref”},{“θ”,“φ”,“r”});stepplot (T0, 1)
所有的阶跃响应都是不稳定的,包括交叉耦合,因为这个模型还没有调优。
在优化模型之后,您可以类似地使用指定的分析点来提取系统响应,以验证优化后的系统。如果您想在不需要指定设计需求的位置检查系统响应,请将这些位置添加到slTuner
接口。例如,绘制在块的输出处测量的灵敏度函数转出2
.
addPoint (ST0“直流”) dcS0 = getSensitivity(ST0,“直流”);bodeplot (dcS0)
中的可调块的参数化slTuner
接口。例如,假设在调整模型之后,您想要测试从PI到PID控制器的改变是否会产生改进的结果。将三个PI控制器的参数化改为PID控制器。
PID0 = pid(0、0.001、0.001 . 01);% PID控制器的初始值PID1 = tunablePID (“C1”, PID0);PID2 = tunablePID (C2的, PID0);PID3 = tunablePID (“C3”, PID0);setBlockParam (ST0“软件”PID1,“皮”PID2,“PI3”, PID3);
配置slTuner
,您可以创建优化目标并使用金宝appsystune
或looptune
.
slTuner
|addBlock
|addPoint
|setBlockParam
|getIOTransfer
|getSensitivity