这个例子说明了如何创建和配置slTuner
接口的的Simulink模型。万博1manbetx该slTuner
接口参数化模型中的块您指定为可调,并允许您调整它们使用systune
。该slTuner
接口生成您的Simulink模型的线性化,并允许你提取用于调谐控制系统的分析和验证线性化万博1manbetx系统响应。
在这个例子中,创建和配置slTuner
接口进行调整Simulink模型万博1manbetxrct_helico
用于旋翼飞行器一个多环控制器。打开模型。
open_system('rct_helico');
控制系统由两个反馈回路。内环(静态输出反馈)提供增稳和解耦。外环(PI控制器)提供了期望的设定点的跟踪性能。
假设你要调整这种模式满足以下控制目标:
跟踪设定值变化THETA
,披
和[R
具有零稳态误差,指定上升时间,最小过冲,和最小的交叉耦合。
限制控制带宽,以防止忽视高频转子动力学和测量噪声。
(在工厂输入和输出的鲁棒性的同时增益/相位变化)提供了强有力的多变量的增益和相位裕度。
该systune
命令可以共同调节控制器块SOF
和PI控制器来满足这些设计要求。该slTuner
接口确立了这个调整任务。
创建slTuner
接口。
ST0 = slTuner('rct_helico'{'PI1','PI2','PI3',“特种部队”});
此命令初始化slTuner
与三个PI控制器和接口SOF
块指定为可调谐的。每个可调谐块是根据它的类型自动地参数化,并用其在Simulink模型值初始化。万博1manbetx
要配置slTuner
接口相关的任何信号的地点指定为分析点,您的设计要求。首先,添加的输出和参考输入的跟踪要求。
addPoint(ST0,{'θ-REF','THETA','PHI-REF',“披”,'R-REF','R'});
当你创建一个TuningGoal.Tracking
对象,其捕获跟踪的要求,此对象引用相同的信号。
配置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: '输出端口1' 的rct_helico /θ-REF点2:信号 “THETA”,位于rct_helico的 '输出端口1'/分配器DeMUX1点3: '输出端口1' 的rct_helico / PHI-REF点4:信号“披”,位于rct_helico的 '输出端口2'/分配器DeMUX1点5: '输出端口1' rct_helico / R-REF点6:信号 “R”,位于 '输出端口3' rct_helico的/分配器DeMUX1点7:信号的“u”,位于rct_helico的“输出端口1” / MUX3点8:信号“Y”,位于rct_helico的“输出端口1” /直升机没有永久开口。使用addOpening命令添加新的永久开口。用点表示法获取属性/组接入:参数:[] OperatingPoints:[](模型初始条件将被使用。)BlockSubstitutions:[]选项:[1x1的linearize.SlTunerOptions] TS:0
在命令窗口中,点击任何突出显示的信号看Simulink模型的位置。万博1manbetx
除了指定的设计要求,可以使用分析点提取系统响应。例如,提取并绘制基准信号之间的阶跃响应'THETA'
,“披”
和'R'
。
T0 = getIOTransfer(ST0,{'θ-REF','PHI-REF','R-REF'},{'THETA',“披”,'R'});stepplot(T0,1)
所有的阶跃响应是不稳定的,其中包括交叉耦合,因为这种模式尚未调整。
你调整模型后,可以同样使用指定分析点提取系统响应用于验证调谐系统。如果要检查在未指定的设计要求的位置的系统响应,这些位置添加到slTuner
接口为好。例如,绘制在该块的输出端测量的灵敏度函数滚降2
。
addPoint(ST0,'DC')dcS0 = getSensitivity(ST0,'DC');bodeplot(dcS0)
假设你要更改可调块的参数slTuner
接口。例如,假设调谐模型后,要测试是否从PI改变到PID控制器的产率提高的结果。改变了三种PI控制器PID控制器的参数化。
PID0 = PID(0,0.001,0.001,0.01);对于PID控制器%的初始值PID1 = tunablePID('C1',PID0);PID2 = tunablePID('C2',PID0);PID3 = tunablePID('C3',PID0);setBlockParam(ST0,'PI1',PID1,'PI2',PID2,'PI3',PID3);
配置完slTuner
接口到您的Simulink模型,您可万博1manbetx以创建调整目标和调整使用模型systune
要么looptune
。
addBlock
|addPoint
|getIOTransfer
|getSensitivity
|setBlockParam
|slTuner