此示例显示如何在使用增益调度的模型中调整查找表中的参数,以调整控制器对变化的工厂的响应。模型调整使用响应优化器应用程序。
打开Simulin万博1manbetxk模型。
Open_System('sdosippteering')
该模型实现了常用于船舶转向的Nomoto模型。船舶的动态特性随着船舶速度等因素而变化显着变化。因此,舵控制器也应随速度而变化,以满足转向船的要求。
为了保持船舶当然,控制回路将船舶的标题角与参考标题角进行比较,并且PD控制器将命令信号发送到舵。船舶工厂块实现了Nomoto模型,这是一个二阶系统,其参数随着船舶的速度而变化。该船最初以15米/秒的最大速度行驶,但当参考轨迹指定水中的转弯时,它将减慢。该转弯以及发动机的力量由力动力学块使用,以将船舶的速度随时间计算。运动块计算船舶的轨迹。
通过双击打开控制器块。
当速度发生变化时,船舶工厂也发生了变化。因此,PD控制器增益需要改变,并且速度用作调度变量。控制器处于表单中K(1 + STD)
在哪里K.
是整体收益和一个
是与衍生项相关的时间常数。通过查找表来实现增益调度,表数据是指定的K.
和一个
。这些是指定不同速度的不同值的向量。在查找表断点向量中指定了不同的速度BPK.
和BPTD.
。
参考指定在200秒时,该船应转180度和反向课程。一个要求是船头角度需要将参考标题角匹配在信封内。对于乘客的安全和舒适性,第二个要求是船舶的总加速度需要保持在0.25克的范围内,其中1克是地球表面的加速度,9.8米/秒。
控制器参数向量K.
和一个
将是设计变量,并将被调整以达到要求。如果无法满足两个要求,那么查找表断点BPK.
和BPTD.
也将用作设计变量。在这种情况下,我们需要指定其他要求BPK.
和BPTD.
必须单调严格增加,因为这是Simulink Lookup表中的断点向量所必需的。万博1manbetx
在里面应用选项卡,单击响应优化器在下面控制系统。
指定必须满足的要求。首先,船舶应遵循参考轨迹。由于参考基本上是从0到180度的步骤变化,因此为船舶标题角度指定步进响应包络。在ToolStrip中,单击新的并选择步骤响应信封。将初始值设置为0和最终值到PI Radians。将步骤时间设置为200秒。将上升时间设置为75秒,上升百分率至85%。将稳定时间设置为200秒,并将余额置于1%。将百分之百分比升至5%。要指定此要求适用于船舶标题,请单击+。
在Simuli万博1manbetxnk模型中,单击船舶标题信号,该信号是输出的船舶厂堵塞。在“创建信号集”对话框中选择此信号,然后单击箭头按钮以使其成为指定的信号,然后单击“确定”。
第二个要求是为乘客的安全和舒适,总加速度不应随时超过0.25克。总加速度由两个组件组成,沿船舶运动方向的切向分量,以及正常(水平)组件。总加速度不超过0.25g的要求对应于需要在切向和正常加速的相面上,这艘船的轨迹仍然在半径0.25 * 9.8的圆圈内。
在ToolStrip中,单击新的并选择椭圆区域约束。将名称指定为SafeAccel,以及两个信号的半轴长度为0.25 * 9.8 = 2.45。要指定该要求适用于船舶的切向加速度,请单击“选择”按钮。在Simuli万博1manbetxnk模型中,单击切向加速度信号,从而输出运动学堵塞。在“创建信号集”对话框中选择此信号,然后单击箭头按钮以使其成为指定的信号,然后单击“确定”。类似地,要指定要求应用于船舶的正常加速度,请在椭圆区域约束对话框中单击其他选择按钮,然后使用“创建信号集”对话框指定正常加速度信号。
指定优化要调整的设计变量,以满足要求。在ToolStrip中,单击旁边的“选择”框设计变量集然后单击“新建”。选择PD控制器的增益,K.
和一个
,然后单击箭头按钮以将它们指定为设计变量。使用-0.1对于值的所有条目K.
向量,并为所有条目使用50一个
向量,然后单击“确定”。如果要求无法满足,则在稍后的断点向量BPK.
和BPTD.
也可以用作设计变量。
在优化期间,如果时间步长的大小变得太小,则模拟求解万博1manbetx器可以产生警告。暂时禁止此警告。
warnstate =警告('询问'那'万博1manbetxSimulink:引擎:SolverminStepsizewarn');警告('离开'那'万博1manbetxSimulink:引擎:SolverminStepsizewarn');
在里面响应优化器, 点击优化。船头角度不符合所需的步骤响应信封,可以在步骤响应图中看到响应优化器应用程序以及在优化进度对话框中,最后迭代的值仍然是正数,这表明违反了要求。在优化进度对话框中看到的安全加速要求,如优化进度对话框中,最后迭代的值也是正的。
为试图满足设计要求,请使用上面作为起点的优化结果,并调整其他变量。添加断点BPK.
和BPTD.
作为设计变量。船的最大速度为15米/秒,在转弯期间,可能会慢至最大速度的60%,或9米/秒。将断点初始值设置为9至15米/秒之间的同样间隔。将断点最小值限制为9 m / s,并将断点最大值约束为15 m / s。
Simulink Lookup表块中的万博1manbetx断点必须严格均衡。将其添加到设计要求中。
在里面响应优化器, 点击优化。这次船头角度符合所需的步骤响应信封,可以在步骤响应图中看到响应优化器应用程序以及在优化进度对话框中,其中迭代的值为否定,这表示满足要求。在优化进度对话框中看到的安全加速度的要求也满足,其中最后一次迭代的值也是负的。同样,查找表断点满足单调要求。
在这个例子中,船舶厂随船舶速度而变化,因此控制器增益也需要有所不同。使用查找表实现增益调度。通过调整控制器中的增益和断点值,该船能够遵循参考标题角度,同时还限制总加速度,以确保乘客安全舒适地乘坐。
要了解如何优化增益计划控制器中的查找表使用SDO.Optimize.
命令,参见使用查找调度的查找表要求设计优化(代码)。
%关闭模型和恢复警告状态。bdclose('sdosippteering')警告(警告);%恢复警告状态