主要内容

优化设计使用查找表要求增益调度(GUI)

这个例子展示了如何调优参数在一个查找表模型,使用增益调度调整控制器的响应不同的植物。模型优化使用响应优化器应用程序。

船舶操舵模型

打开模型®模型。金宝app

open_system (“sdoShipSteering”)

该模型实现了野本模型常用的船舶操舵。船的动态特性变化明显与船的速度等因素。因此舵控制器还应随速度,以满足要求驾驶这艘船。

把船,控制回路比较船舶的航向角与参考航向角、舵和PD控制器发送命令信号。野本船植物块实现了模型中,二阶系统的参数随船的速度。船最初以其最大15 m / s的速度,但它会慢下来当参考轨迹指定一个在水里。这个转变,随着引擎的力量,力量使用动态块计算船的速度。运动学块计算船的轨迹。

打开控制器块通过双击它。

当速度变化时,这艘船也在改变。因此PD控制器需要改变,和速度作为调度变量。控制器形式K (1 + sTd)在哪里K整体增益和吗道明是时间常数与导数有关的术语。增益调度是使用查找表实现,指定表数据K道明。这些向量指定不同的值不同的速度。不同的速度是在查找表中指定断点向量bpKbpTd

设计问题

引用指定在200秒,船应该转180度和扭转。一个要求是船航向角需要匹配一个信封内参考航向角。乘客的安全和舒适,第二个要求是船的总加速度需要保持在0.25 g的束缚,1 g在哪里在地球表面的重力加速度,9.8 m / s ^ 2。

控制器参数向量K道明将设计变量,将调整来满足要求。如果不能满足要求,然后查找表断点bpKbpTd也将作为设计变量。在这种情况下,我们需要指定一个额外的要求bpKbpTd必须严格单调增加,因为这需要断点向量模型查找表。金宝app

打开响应优化器

应用程序选项卡上,单击响应优化器控制系统

指定设计要求

指定必须满足的需求。首先,船应该遵循的参考轨迹。自引用本质上是一个阶跃变化从0到180度,你指定船航向角阶跃响应信封。在将来发布,点击并选择阶跃响应信封。初始值设置为0到π弧度的最终值。设置步骤时间200秒。设置上升时间75秒和比例上升到85%。设置沉降时间200秒和沉降百分比为1%。设置百分比超过5%。指定这个需求适用于船航向,单击+。

仿真软件模型中金宝app单击船航向信号,它的输出船舶电站块。在创建信号设置对话框中,选择这个信号并单击箭头按钮使其指定的信号,并单击OK。

第二个要求是,对乘客的安全和舒适,总不应超过0.25 g加速度的在任何时间。总加速度是由两部分组成,一个切向分量在船舶运动的方向,和一个正常(水平)组件。要求总加速度不超过0.25克的对应要求的相平面切向和法向加速度,这艘船的轨迹保持在一个半径为0.25 * 9.8的圆。

在将来发布,点击并选择椭圆区域约束。指定名称SafeAccel,半轴长度的信号为0.25 * 9.8 = 2.45。指定的要求适用于船的切向加速度,单击选择按钮。在仿真软件模型金宝app中点击切向加速度信号,输出运动学块。在创建信号设置对话框中,选择这个信号并单击箭头按钮使其指定的信号,并单击OK。同样,指定要求适用于船的法向加速度,在椭圆区域约束对话框中单击其他选择按钮,并使用创建信号设置对话框指定垂直加速度信号。

指定设计变量

指定优化设计变量的优化以满足需求。在将来发布,点击旁边的选择框设计变量设置然后点击。选择PD控制器的增益,K道明,然后单击箭头按钮来指定它们作为设计变量。使用-0.1中所有条目的值K向量,用50所有条目的值道明向量,并单击OK。如果需求都不能满足,随后断点向量bpKbpTd也可以尝试作为设计变量。

优化查找表数据

在优化过程中,模型解算器可能会产生一个警告如果时间金宝app步的大小变得太小了。暂时抑制这个警告。

warnState =警告(“查询”,“金宝app模型:引擎:SolverMinStepSizeWarn”);警告(“关闭”,“金宝app模型:引擎:SolverMinStepSizeWarn”);

响应优化器,点击优化。这艘船航向角不满足所需的阶跃响应信封,可以看到在阶跃响应图响应优化器应用和优化进度对话框中,在最后迭代值仍然是积极的,这表明违反要求。要求安全的加速度也不满足,正如在优化进度对话框中,在最后迭代值也是积极的。

优化查找表数据和断点

来满足设计要求,使用上面的优化结果作为起点,和优化额外变量。添加断点bpKbpTd作为设计变量。该船的最大速度是15米/秒,在将其最大速度可能放缓至60%,或9 m / s。初始值设置的断点之间等距的9和15米/秒。限制断点最小值9 m / s,并限制断点最大值15米/秒。

断点在仿真软件查找表块必须严格单调递增金宝app。这个添加到设计要求。

响应优化器,点击优化。这次的船航向角满足所需的阶跃响应信封,阶跃响应图中可以看到响应优化器应用和优化进度对话框中,在最后迭代值是负的,这表明需求满足。要求安全的加速度也满意,正如在优化进度对话框中,在最后迭代值也是负的。同样,查找表断点满足单调的要求。

在这个例子中,这艘船植物随这艘船的速度,所以控制器收益还需要有所不同。增益调度使用查找表实现。通过调优的收益和断点值控制器,这艘船能够跟随参考航向角,同时总加速度约束以确保乘客的安全舒适的乘坐。

相关的例子

学习如何优化增益调度控制器使用查找表sdo.optimize命令,看到使用查找表要求增益调度优化设计(代码)

%关闭模型和恢复状态的警告。bdclose (“sdoShipSteering”)警告(warnState);%的恢复状态的警告

相关的话题