这个例子展示了如何使用Simulink®Design Opt万博1manbetximization™通过迭代估计模型的多个参数。
这个例子需要Simscape™Multibody™软件。
Simu万博1manbetxlink®倒立摆模型,spe_mech_invpend
,如下所示。
摆系统有一个在水平面上摆动的手臂,由直流电机驱动。手臂的作用是为摆动的钟摆提供平衡力矩,使钟摆保持直立位置。通过对臂和摆的角度进行监测,并将其作为反馈来控制系统的运动。对于这个例子,我们将只集中在以下所示的不受控系统的参数估计。
系统采用Simscape Multibody进行建模。在这个系统中有两个模型。机器由一个物体代表转动的手臂和另一个代表摆组成。这些物体由转动关节连接,这些转动关节限制了物体相对于彼此的运动。输入电压被传递到直流电机,直流电机为旋转臂提供扭矩。
电机模型为转矩增益Kt
.摆臂有质量马
,惯性简森-巴顿
和长度r
.钟摆有长度lp
和质量国会议员
.对于这个例子,阻尼是用增益在转动关节中建模的Kda
和Kdp
.系统的输出是手臂和摆的角度。
对于本例,我们将对每个估计使用不同的参数集运行两个估计。这允许我们定制我们的评估,并可以得到一个更有效的解决方案。
双击倒立摆模型左上角的橙色方块启动参数估计量,预装了此项目的数据。这是配置了测量的实验数据估计
.对于其他用途,您可以从各种来源导入实验数据集,包括MATLAB®变量,MAT文件,Excel®文件,或逗号分隔值文件。它还配置了验证数据验证
我们稍后会使用它,经过估算。的测量数据估计
如图所示。在本例中只有一个数据集用于估计。
实验图也用于观察测量数据与当前模型的匹配程度。点击图模型反应在参数估计选项卡显示实验图上的模拟信号数据。仿真结果与实测数据不匹配,说明模型参数需要估计。
下一步是定义用于估计的变量。这就确定了模拟的哪些参数可以调整,以及控制这些参数值的任何规则。点击选择参数在参数估计选项卡。对于倒立摆的例子,我们已经选择了转矩增益参数,Kt
估计。因为我们从物理的角度知道这个参数不可能是负的,所以我们把它的下限设为零。
在确定了估计参数后,我们选择实验进行估计。点击选择实验在参数估计选项卡并选择已命名的实验估计
估计。
现在我们已经准备好开始估算了。点击估计在参数估计选项卡开始估计。估计将不断迭代参数值,直到估计收敛并终止。
下图显示了实验数据与模拟数据的叠加。模拟数据来自于带有估计参数的模型Kt
.估计的结果表明,第一个输出(手臂的位置)匹配,但是我们可以看到,第二个输出(摆的位置)没有显示出非常令人满意的结果。显然,需要额外的估计才能获得更好的结果。
这次我们将保留扭矩增益,Kt
,并估计模型的其他参数。点击选择参数在参数估计选项卡。取消Kt
,检查其他参数,如下图所示。
点击估计开始新的估算。第二次估计的结果如下所示。
这显然是一个更好的结果。这表明,为了完成估计任务,没有必要同时估计模型中的所有参数。我们可以运行多个估计,保持一些参数不变,同时改变其他参数。
将结果与其他数据集进行对比验证是很重要的。一个成功的估计不仅要匹配用于估计的实验数据,而且要匹配在实验中收集的其他数据集。一个实验命名验证
已为该项目创建。点击添加图在参数估计选项卡并选择验证
查看数据。
点击图模型反应查看覆盖在数据上的模拟输出。下图显示了倒立摆系统如何响应验证输入数据。验证结果表明,该模型能够较好地处理输入验证数据的较低频率,并成功地估计了模型参数。
这个例子显示了Parameter Estimation的灵活性,它可以将一个估计任务分割成多个估计。这允许在不同的参数集上运行估计,这有助于估计给定模型的速度。
关闭模式。