主要内容

鲁棒性参数优化

什么是健壮性?

设计是健壮的当模型参数变化时,其响应不违反设计要求。您的模型可能包含一些参数,这些参数的值并不精确。这些参数在给定的值范围内变化,并定义为不确定参数.你可能知道标称值和这些不确定参数的变化范围。

你可以使用金宝app®优化设计™包含参数不确定性的软件,以测试设计的稳健性。当为鲁棒性优化参数时,优化求解器使用使用所有不确定参数值计算的响应来调整设计变量值。

可以在设计中同时指定相同的参数而且不确定的变量。但是,在同一优化运行中,不能将参数同时用作设计变量和不确定变量。在基于优化的控制设计过程中,也不能增加控制器或设备参数的不确定性控制系统设计者

不确定变量可以是标量、向量、矩阵或表达式。

您可以通过以下方式测试和优化模型鲁棒性参数:

  • 优化前.指定参数的不确定性之前优化参数以满足设计要求。在这种情况下,优化方法根据标称参数值和不确定值对信号进行优化。这种模式需要更多的计算时间。

  • 优化后.指定参数的不确定性您已优化模型参数以满足设计要求。然后,您可以通过绘制模型的响应来测试不确定参数的影响。如果响应违反了设计要求,可以通过在优化过程中加入参数不确定性来再次优化参数。

相关的例子

更多关于

不确定参数的抽样方法

不确定参数的样本值是数值的向量。您可以自己指定向量或使用软件生成随机数向量。您指定的样本值可以是均匀分布的,也可以是随机的。例如,两个不确定参数有四个采样值一个而且b在范围内[0 3]而且2.5 [1]如下图所示。

有两种方法来确定优化过程中要使用的样本值的数量:

  • 只有最小值和最大值的组合(圈出)

  • 整个值集的组合(上图中所有实点)

    提示

    与使用整个值集相比,在优化过程中只使用最小值和最大值可以提高计算速度。

对于前面的示例,使用最小值和最大值有4种组合,如果使用所有示例值则有16种组合。

响应优化器时,可使用如下图所示的选项指定采样方法。

相关的例子

更多关于

优化参数的鲁棒性(GUI)

这个例子展示了如何优化模型鲁棒性的参数。

  1. 加载已保存的响应优化器会话。

    加载sldo_model1_desreq_optim_sdosession;sdotool (SDOSessionData);

    sdotool命令打开Simulink模型金宝appsldo_model1_desreq_optim.slx一个被保存的响应优化器会话。

    这个模型的参数,KpKi而且Kd,已进行优化,以满足以下步骤响应要求:

    • 最大超调5%

    • 最大上升时间10秒

    • 最大沉降时间30秒

  2. 指定参数的不确定性。

    1. 不确定变量集下拉列表,选择

      打开一个窗口,指定不确定变量。

    2. 点击w0而且ζ选择他们。

    3. 点击将选定的参数添加到不确定变量集。

      软件显示如下参数设置:

      • 变量-参数名称

      • 名义价值—在Simulink模型中指定的参数的标称值金宝app

      • 不确定的值—不确定参数可以取的值。缺省情况下,最大值和最小值的变化为标称值的10%。

        在优化过程中使用的样本值的总数是不确定参数的最大值和最小值的组合。

      复选框表示该参数包含在不确定变量集中。默认的不确定变量集名称为UncVars

      点击好吧.一个新变量UncVars出现在数据面积响应优化器

      指定随机值

  3. 检验模型对不确定参数的鲁棒性。

    1. 点击地块模型响应

      步骤响应图,显示需求和更新。

      • 实体曲线对应于使用优化参数和不确定参数的标称值计算的模型响应。

      • 四条虚线曲线分别对应不确定参数的最大值和最小值的模型响应。

        虚线表示在10到20秒期间的响应违反了设计要求。

  4. 优化模型参数,提高模型的鲁棒性。点击优化

    “优化进度”窗口将打开,其中显示优化迭代。

    优化完成后,消息优化聚合表示通过改变不确定参数计算得到的最终模型响应满足指定的设计要求。

  5. 检查他们的回答。

    提示

    要只查看模型的最终响应,右键单击图中的白色区域并取消勾选反应>显示迭代响应

    最终的响应显示为粗大的实心和虚线曲线。带参数变化的标称响应和不确定响应满足设计要求。

如果模型包含引用模型,则可以使用引用模型中的变量创建不确定变量集创建不确定变量集对话框。例如,对话框中的第一个变量,杀了,被列为sdoRateLimitedController:杀了sdoRateLimitedController引用模型的名称是否包含变量杀了.的杀了属性的所有实例具有相同的值sdoRateLimitedController模型。相反,变量Kd对于包含它的引用模型的每个实例,都可以有不同的值。例如,对话框中的第二个变量被列为sdoMultipleMotors / Control_1: Kd.上层模型sdoMultipleMotors有块Control_1,这是一个有变量的参考模型Kd.这个变量的值可以不同于Kd在块Control_2,这是对话框中的第三个变量。要启用特定于实例的值,Kd在引用的模型工作区中指定为模型参数。

更多关于

相关的话题