优化参数的鲁棒性
鲁棒性是什么?
一个设计健壮的当它反应不违反设计要求下模型参数变化。您的模型可能包含参数的值不准确。这些参数在给定的范围内变化的值,定义为不确定参数。你可能知道名义价值和这些不确定参数值的范围有所不同。
您可以使用金宝app®优化设计™软件将设计参数不确定性的鲁棒性测试。当你优化参数的鲁棒性,优化解算器使用响应计算使用的所有不确定参数值调整设计变量值。
您可以指定相同的参数作为设计和不确定的变量。然而,您不能使用一个参数作为设计和不确定的变量在同一个优化运行。同时,你不能添加控制器或植物参数不确定性在文中针对控制设计控制系统设计。
不确定的变量可以是标量,矢量、矩阵或一个表达式。
您可以测试和优化参数模型鲁棒性在以下方面:
优化前。指定参数的不确定性之前你优化参数满足设计要求。在这种情况下,优化方法优化信号基于标称参数值的不确定值。这种模式需要更多的计算时间。
优化后。指定参数的不确定性后你有优化模型参数满足设计要求。然后您可以测试不确定参数的影响通过绘制模型的响应。如果违反设计要求的响应,可以优化参数再次被包括在优化参数的不确定性。
抽样的方法确定参数
样本不确定参数的值是数值的一个向量。您可以指定的矢量自己或生成一个随机数使用软件。您所指定的样本值可以均匀分布或随机的。例如,四个样本值两个不确定的参数一个和b范围内[0 3]
和2.5 [1]
看起来像下图一样。
有两种方法来确定使用样本值的数量在优化:
只有最小和最大的组合值(圆圈)
整个组的组合值(所有固体点在前面的图)
提示
只使用在优化的最小值和最大值增加计算速度相比,使用整个组值。
对于前面的示例,有4个组合使用的最小值和最大值和16个组合如果使用所有样本值。
在响应优化器,你使用选项指定抽样方法如下图所示。
优化参数鲁棒性(GUI)
这个例子展示了如何优化设计来满足自定义信号的要求。你优化控制器参数以减少核电站驱动信号能量而令人满意的阶跃响应的要求。
加载保存响应优化器会话。
负载sldo_model1_desreq_optim_sdosessionsdotool (SDOSessionData);
的sdotool
命令打开仿真软件模型金宝appsldo_model1_desreq_optim.slx
和保存响应优化器会话。
这个模型的参数,Kp
,Ki
和Kd
已经优化,阶跃响应符合下列要求:
5%的最大超调
最大上升时间10秒
最大沉降时间的30秒
指定参数的不确定性。
在不确定的变量设置下拉列表中,选择新。
窗口打开时,您指定不确定的变量。
点击w0
和ζ
选择他们。单击箭头添加选中的参数不确定的变量设置。
软件显示以下参数设置:
变量——参数名称
名义价值——名义价值模型中指定的参数模型金宝app
不确定的值——不确定参数值,可以。默认情况下,最大和最小值随名义价值的10%。的total number of sample values to use during optimization is a combination of the maximum and minimum values of the uncertain parameters.
复选框显示参数包含在不确定的变量集。默认的不确定的变量集名称UncVars
。
点击好吧。一个新的变量UncVars
出现在数据区域的响应优化器。
而不是指定样本值,还可以自动生成随机值在一个特定的范围内。为此,选择一个参数并单击设置不确定值。
一个窗口打开时,您指定范围和样本的数量。
测试模型的鲁棒性不确定参数,点击图模型反应。
阶跃响应图,显示需求,更新。
坚实的曲线对应于模型的响应计算使用的优化参数和标称值不确定的参数。四冲曲线对应于模型响应的最大和最小值不确定的参数。冲情节表明,10到20秒的响应期间违反设计要求。
为模型的鲁棒性优化参数,点击优化。
优化进展报告对话框显示优化迭代。优化完成后,该消息优化聚合
表明响应计算的最终模型不同的不确定参数满足指定的设计要求。
检查反应,选择UncVar
并点击图模型反应在时间曲线图选项卡。
最终的反应表现为厚固体和冲曲线。名义与参数变化和不确定的响应满足设计要求。
引用模型变量
如果你的模型包含引用的模型,你可以创建一个不确定的变量设置中使用变量被引用的模型,使用创建不确定变量设置对话框。例如,第一个变量对话框,杀了
,被列为sdoRateLimitedController:杀了
。sdoRateLimitedController
是引用的模型与变量的名字吗杀了
。的杀了
所有的实例变量具有相同的值sdoRateLimitedController
模型。相比之下,变量Kd
可以有一个不同的值为每个实例的引用的模型包含它。例如,被列为第二变量对话框sdoMultipleMotors / Control_1: Kd
。上层模型sdoMultipleMotors
有块Control_1
,这是一个引用变量的模型Kd
。这个变量的值可以不同Kd
在块Control_2
,这是第三个变量对话框。要启用特定值,Kd
被指定为一个参考模型中的模型参数的工作区。