MWorks试验设计工具模型标定苏州同元软控信息技术有限公司2010年10月目录1. 概述 (1)2. 功能特征 (1)3. 使用前的准备 (1)3.2 SimpleCar模型 (2)3.3 测量数据文件 (3)3.4 模型验证与标定准则 (4)4. 模型验证 (5)5. 模型参数标定 (12)5.1 参数标定 (12)5.2 检查参数灵敏度 (19)6. 高级选项 (23)6.1 复用先前的设置 (23)6.2 使用命令接口 (23)7. 参考文献 (24)1.概述对于物理系统建模与仿真,一般情况下其中的组件(部件或子系统)会包含很多参数,这些参数对应实际的环境参数、运行工况等。
在这些参数中,一部分可以很容易地从设计资料中获取,一部分来自物理实验中的测量结果。
然而,有些参数通常不是很容易得到,例如惯性矩、摩擦力、质量损失等。
如果通过多次试验的方式来确定,不仅效率低下,而且得到的结果也不够精确。
对于仿真模型的参数标定(也称参数预估)可以满足这种需求,在数学上,参数调节过程实际为一种优化过程,旨在最小化仿真结果与测量数据之间的误差。
MWorks参数标定工具支持用户进行这种参数研究,以试验得到的测量数据为依据,在某一范围内自动调整参数值并同时进行仿真,通过比对模型仿真数据与试验测量数据的差异,使得模型输出与测量结果达到最大程度的吻合。
参数标定工具在仿真环境(MWorks Simulator)中运行,与物理模型的编译结果(仿真实例及其对应的求解器)紧密集成。
参数标定工具的界面入口位于MWorks Simulator“试验(Experiment)”菜单,包括模型验证、模型标定、检查参数灵敏度。
2.功能特征MWorks参数标定工具提供了向导式的窗口支持参数研究,主要特征如下。
(1).支持模型变量与测量数据关联,通过最小化数据差异实现在线调参。
(2).随着参数变化自动调用求解器,输出动态结果比较曲线。
(3).提供参数相关性分析工具,支持对关联参数进行标定灵敏度检查。
3.使用前的准备使用参数分析工具之前做好下列准备工作。
(1).启动MWorks Studio,打开模型,编译生成可运行的求解器。
(2).启动MWorks Simulator,更新求解器,生成对应的仿真实例。
(3).测量数据文件是进行参数标定的重要依据,要求其尽可能准确。
具体的操作步骤结合MWorks实例库中的模型SimpleCar进行说明(详细的文件路径为MWorks\Samples\SimpleCar.mo)。
3.2SimpleCar模型操作步骤如下:(1).启动MWorks Studio,点击菜单“文件→打开”,选择“MWorks\Samples\ SimpleCar.mo”打开SimpleCar模型,初始界面如图3-1所示。
图3-1 打开SimpleCar模型并进行编译其中,左半部分表示汽车发动机(Engine),输出的扭矩通过变速箱(gearBox)连接到4个轮子(wheel),轮子的转动使得汽车产生平移。
设R表示轮子半径,那么1/R可理解为转动与平移之间的比例因子。
模型中定义了初始参数R=0.34,并且关联到另外一个参数wheel.ratio = 1/R,参考图3-1所示的模型组件图。
汽车质量(carBody.m)设为1810 kg,包括车身、发动机以及测量设备等。
(2).点击菜单“仿真→编译”,编译生成可运行的求解器。
(3).点击菜单“仿真→转到仿真环境”,MWorks Simulator在启动时自动更新求解器,生成对应的仿真实例“SimpleCar-1”,结果如图3-2所示。
图3-2 生成仿真实例SimpleCar-1提示:如果MWorks Simulator正在运行,点击菜单“文件→更新求解器”,也可生成仿真实例“SimpleCar-1”。
至此试验准备工作结束,点击“试验”下拉菜单中的菜单项进行各项参数分析,本文中参数分析目的是对影响汽车加速度的性能参数进行估值。
3.3测量数据文件本例中使用的测量数据文件采用标准CSV格式(Comma Separated Values),具体参考MWorks\Samples\Acceleration_measurements.csv。
其中第一行表示测量指标“名字”,从第二行开始逐行记录各个时间点的指标“值”,并且必须有一列表示时间(time)数据,如图3-3所示。
图3-3 测量数据文件(部分)该测量数据是使用某型号汽车在试验环境中得到的,测量区间0—6.24秒,测量时间间隔0.02秒一次,测量指标包括速度(speed km/h )、距离(dist )和加速度(acc ),其中“acc ”将用于仿真模型的参数标定,其时域曲线如图3-4所示。
图3-4 某型号汽车的加速度曲线本文模拟的运行时间区间为3.8—6秒,此时第2级齿轮处于啮合状态。
提示:MWorks 支持显示这类数据文件的曲线。
点击菜单“工具→打开结果文件”,选择某个“csv ”文件,随后该文件及其中的变量名出现在变量浏览器中,勾选对应的变量节点(例如“acc ”),立刻显示该变量曲线(图3-4)。
3.4 模型验证与标定准则本文借鉴最小二乘法的思路,通过计算模型仿真结果变量s y 与对应的测量指标变量m y 在各个测量时间点上残差的平方和∑−2)(mi si y y ,以此作为模型验证准则,并将该值的最小化作为参数标定的目标。
具体方法与效果在下文详述。
4.模型验证模型验证用于比较模型仿真结果变量与测量指标变量之间的差异,可以在模型标定的前后进行,前者适用于名义参数,从中查看二者差异;后者适用于优化参数,检查经过标定的参数值是否适用于其他场景。
从操作过程上来看,模型验证类似模型标定但比后者简单,区别是模型验证不需要设置调节参数。
具体的操作步骤通过下面的实例分别介绍。
从图3-2开始,点击菜单“试验→模型验证”,弹出参数配置界面(图4-1)。
图4-1 模型验证参数配置向导模型验证参数配置向导包括5个属性页。
(1).源模型:选择将要进行模型验证的仿真实例,系统将自动调用与该实例关联的求解器。
(2).试验数据:浏览外部测量数据。
(3).固定参数:选择一个或多个固定不变的参数。
如果把模型的参数关联到具体的产品参数、运行工况选项等,这些参数在实际的物理场景中是保持不变的。
(4).结果变量:选择一个或多个结果变量,并指定所关联的测量指标。
这些变量将以曲线形式进行展示,从中可以直观地看出二者之间的差异。
(5).求解设置:设置求解起止时间、步长、算法、误差等选项。
下面结合SimpleCar模型详细介绍操作步骤。
A.选择源模型首先选择进行参数分析的仿真实例。
如图4-1所示,“源模型”列表中显示了当前候选的仿真实例,其中,当前实例“SimpleCar-1”缺省已被选中。
B.浏览试验数据下一步,切换到“试验数据”属性页选择测量数据文件。
点击图4-1左侧列表中的“试验数据”,切换到该属性页(图4-2)图4-2 试验数据属性页(初始页面)点击“选择”按钮,弹出打开文件对话框,选择“MWorks\Samples\Acceleration _measurements.csv”(如前所述),系统读取测量数据并显示于列表框中(图4-3)。
图4-3 试验数据属性页其中列出了包含“时间(time)”在内的所有变量。
注意,为了后续在采样时间点上进行计算,要求测量数据文件中必须包含时间数据,并且变量名必须为“time”。
C.选择固定参数下一步,切换到“固定参数”属性页选择固定不变的参数。
点击图4-1左侧列表中的“固定参数”,切换到该属性页(图4-4)。
图4-4 固定参数属性页(参数集为空)固定参数来自仿真模型,通过交互方式进行选择。
点击“选择”按钮,弹出选择变量对话框(图4-5)。
图4-5 选择固定参数注意不同的运行工况需要不同的参数设置,对于状态变量,还需要设置对应的变量初值。
回顾本文模拟的运行时间区间为3.8—6秒,此时第2级齿轮处于啮合状态,需要设置汽车在3.8秒时的初始速度以及第2级齿轮的传动比。
对应图4-5,本例选择参数carBody.v(速度)和gearBox.i(传动比)。
注意,选择变量对话框与MWorks Simulator变量浏览器面板中的显示内容有点不同,这一步中只列出允许修改的参数(非独立参数和非参数节点已排除)。
完成参数选择之后,点击“确定”回到固定参数属性页,在其中的列表框中显示出已选中的参数集(图4-6)。
图4-6 固定参数属性页图4-6中列出了选中的参数列表及其全部属性。
(1).名字:即参数全名。
为避免出错,限制不能修改参数名。
(2).值:固定参数值,缺省来自仿真实例,允许修改。
注意,如果此处“值”表示变量初值(start),那么该值必须与求解选项中的“开始时间”相关,对应求解开始时刻的数值。
本例中,“carBody.v”、“gearBox.i”分别设为“19”、“2.34”。
其中速度根据测量数据计算得到,68.4 km/h换算到SI单位等于19 m/s。
提示:使用“上移”、“下移”按钮可以改变固定参数显示顺序;使用“删除”按钮可以去除多余的参数。
D.选择结果变量下一步,切换到“结果变量”属性页选择将要进行比较的结果变量,分别来自仿真模型和测量数据文件。
点击图4-1左侧列表中的“结果变量”,切换到该属性页(图4-7)。
图4-7 结果变量属性页(变量集为空)结果变量同样来自仿真模型,点击“选择”按钮,弹出图4-8所示对话框。
图4-8 选择结果变量按本例要求,从中勾选变量“carBody.der(v)”,即汽车加速度,“der”表示对速度“v”求导。
注意,这一步的显示内容与图4-5不同,树形列表中不显示参数。
完成选择之后,点击“确定”回到结果变量属性页,在其中的列表框中显示出已选中的变量集(图4-9)。
图4-9 结果变量属性页图4-9中列出了选中的变量列表及其全部属性。
(1).名字:即变量全名。
为避免出错,限制不能修改变量名。
(2).关联数据:此时,该栏以下拉列表形式显示测量数据文件中的指标变量(时间“time”除外)。
本例中选择“carBody.der(v)”作为输出变量,设置加速度指标“acc”与之关联,二者在仿真区间内各个测量时间点上残差的平方和将作为验证准则。
注意,测量数据所使用的单位必须与仿真变量的单位(“unit”属性)相同,不同时则应预先进行换算(这种数值换算操作在Excel中很容易实现)。
本例中二者均取SI 单位制“m/s2”。
提示:使用“上移”、“下移”按钮可以改变输出变量在列表中的显示顺序,同时改变了结果变量的输出顺序;使用“删除”按钮可以去除多余的变量。
E.设置求解选项最后一步,设置求解器运行选项。