发动机设计和成本权衡
此示例展示如何使用Simulink®Design Optimization™优化设计的性能和成本。在本例中,您要调优汽车发动机转速控制器,同时通过调优传感器精度和执行器响应时间来降低控制器成本。
打开模型
使用下面的命令打开汽车发动机模型。以下子系统模拟引擎响应:节流阀和歧管
,功率行程延迟感应
,燃烧
,阻力矩
而且车辆动力学
.该模型的主要信号是发动机转速(rpm)。控制系统由超前滞后系统组成控制器
,rpm传感器
,节气门作动器
块。该模型由速度参考的阶跃变化驱动。
open_system (“enginetradeoff_demo”)
设计概述
本设计的目标如下:
发动机性能目标:
发动机必须响应步进变化的速度参考与以下特征:
最大超调2%
上升时间4秒,达到参考速度的90%
沉降时间7.5秒,达到2%以内的参考速度
该目标作为约束包含在性能需求
块。该块的输入是发动机转速,由转速参考值规范化。这意味着尽管速度参考改变了,但性能要求保持不变。
成本最小化目标:
使控制器的设计成本最小化。该目标使用传感器和执行器参数化来计算设计成本。设计成本的计算使其始终大于1,并且优化尝试将成本驱动到1。
我们使用定制需求来最小化这个成本。的enginetradeoff_cost
函数只返回要最小化的成本值。
类型enginetradeoff_cost
function Cost = enginetradeoff_cost(u) %根据传感器精度、执行器响应和控制器采样时间%计算控制器成本。The MathWorks, Inc. %成本常数min_cost = 1;%最小成本> 0 sensor_var_min = 1e-3;最小传感器方差(最昂贵)sampling_min = 1e-2;最小控制器采样时间(最昂贵)throttle_max = 2*pi*10;获取变量名varnames = {u.s designvars . name};表单成本成本= min_cost;%添加传感器成本指数= strcmp(varnames, 'sensor_std');if any(index) Cost = Cost + sensor_var_min./max(u.DesignVars(index).Value,sensor_var_min);添加采样成本指数= strcmp(varnames, 'Ts'); if any(index) Cost = Cost+ sampling_min./max(u.DesignVars(index).Value,sampling_min); end %Add throttle cost index = strcmp(varnames, 'Tthrottle'); if any(index) Cost = Cost + u.DesignVars(index).Value/throttle_max; end
模型参数化:
为了达到性能和成本目标,我们在模型中参数化了以下内容:
速度参考的最后一步值:这确保设计工作在一个范围的工作点,从低速到高速值。
控制器的增益,极点和零值:这允许我们改变控制器的性能。我们使用优化来调优这些值。
油门执行器的响应时间:响应时间经过优化,使控制器成本最小化。执行器成本与响应时间成反比,即,更快的响应时间意味着更昂贵的执行器。
转速传感器的精度:该精度由一个标准偏差值指定,并经过优化以使控制器成本最小化。传感器成本与标准偏差成反比,即标准偏差越小,传感器越精确,成本越高。
运行优化
优化发动机控制器的性能和成本包括:
优化控制器、传感器和执行器参数。
优化不同操作条件下的响应。
对于这种类型的问题,迭代地构建设计是一个很好的实践,而不是同时针对所有目标进行优化。在这里,我们使用分治策略,如下表所示。其思想是使用一个阶段的优化参数值作为下一个阶段的初始猜测。
您可以启动响应优化器使用应用程序菜单中的sdotool
命令在MATLAB®。中启动预先配置的优化任务响应优化器首先打开模型,然后双击模型底部的橙色块。从响应优化器,按地块模型响应按钮来模拟模型,并显示初始设计满足设计要求的程度。
与示例一起保存的优化项目对应于阶段2。在这一阶段,我们在工作范围内优化控制器参数。为此,我们指定K
,P
而且Z
作为调优参数和最终步长的值,input_to
,作为不确定参数的参考信号。在此阶段,自定义控制器的成本目标不包括在优化问题中。
我们在第3阶段通过配置模型引入控制器成本目标,如下所示:
打开
不确定变量
编辑响应优化器,然后取消选中复选框input_to
.这样就避免了将模型从优化问题中扫过不同的工作点,从而减少了计算负荷。
打开
设计变量
编辑响应优化器的复选框sensor_std
调优该参数。
单击选择按钮。响应优化器打开
设计要求
编辑器,然后选择自定义复选框成本
.这说明了优化过程中的成本最小化目标。
我们通过按按钮开始优化优化按钮。响应优化器.图被更新以表明设计需求现在得到满足。
配置阶段4的优化:
打开
设计变量
编辑响应优化器的复选框Tthrottle
调优该参数。
可以按开始优化优化按钮响应优化器.
配置第5阶段的优化:
打开
不确定变量
编辑响应优化器的复选框input_to
在操作范围内扫描模型。
可以按开始优化优化按钮。响应优化器.
%关闭模型bdclose (“enginetradeoff_demo”)