主要内容

倒立摆参数估计

这个例子展示了如何使用Simulink®Design Optimization™通过迭代估计来估计模型的多个参数。

本示例需要Simscape™多体™软件。

倒立摆系统的Simscape多体模型

Simulink®倒立摆模型,spe_mech_invpend,如下所示。

倒立摆模型说明

摆系统有一个臂在水平面上摆动,由直流电机驱动。臂的作用是为摆动的钟摆提供平衡力矩,使钟摆保持在直立位置。手臂和摆的角度被监测并作为反馈来控制系统的运动。对于这个例子,我们将只专注于估计如下所示的未受控系统的参数。

该系统采用Simscape Multibody建模。在这个系统中有两个模型。该机器由两个主体组成,一个代表转动臂,另一个代表摆。两个物体由转动关节连接,转动关节约束物体相对于彼此的运动。输入电压被传送到直流电机,该电机为旋转臂提供扭矩。

电机被建模为转矩增益Kt.钟摆的臂有质量,惯性简森-巴顿和长度r.钟摆有长度lp和质量国会议员.在这个例子中,阻尼是用增益在转动关节中建模的Kda而且Kdp.系统的输出是臂和摆的角度。

对于本例,我们将对每个估计使用不同的参数集运行两个估计。这允许我们自定义我们的评估,并可以产生一个更有效的解决方案。

估计的数据

双击倒立摆模型左上角的橙色块以启动参数估计量,预装了此项目的数据。这是配置的测量实验数据估计.为了其他用途,您可以从各种来源导入实验数据集,包括MATLAB®变量,MAT文件,Excel®文件,或逗号分隔值文件。它还配置了验证数据验证我们将在估计之后使用它。的测量数据估计如图所示。在本例中,只有一个用于估计的数据集。

实验图还用于观察测量数据与当前模型的匹配程度。点击Plot模型响应参数估计TAB显示实验小区的模拟信号数据。仿真结果与实测数据不一致,表明模型参数需要估计。

定义变量

下一步是为估计定义变量。这将确定模拟的哪些参数可以调整,以及控制它们值的任何规则。点击选择参数参数估计选项卡。对于倒立摆的例子,我们已经选择了力矩增益参数,Kt,用于估计。因为我们从物理上知道这个参数不可能是负的,所以我们把它的下限设为零。

第一次评估

在指定了估计参数后,我们选择了用于估计的实验。点击选择实验参数估计选项卡并选择命名的实验估计估计。

现在我们准备开始我们的评估。点击估计参数估计选项卡以开始评估。估计将不断迭代参数值,直到估计收敛并终止。

下图显示了实验数据与模拟数据的叠加。模拟数据来自具有估计参数的模型Kt.估计的结果表明,第一个输出(手臂的位置)是匹配的,但是我们可以看到,第二个输出(钟摆的位置)没有显示非常令人满意的结果。很明显,为了获得更好的结果,还需要进行额外的估计。

运行额外的评估

这次我们不讨论力矩增益,Kt,常数,并估计模型的其他参数。点击选择参数参数估计选项卡。取消Kt,检查其他参数如下图所示。

点击估计开始新的估计。第二次估计的结果如下所示。

这显然是一个更好的结果。这表明,为了完成一个估计任务,不需要同时估计模型中的所有参数。我们可以运行多个估计,保持一些参数不变,而改变其他参数。

验证

用其他数据集验证结果是很重要的。一个成功的估计不仅要与用于估计的实验数据相匹配,还要与实验中收集到的其他数据集相匹配。一个名为验证已为此项目创建。点击添加图参数估计按TAB键选择验证查看数据。

点击Plot模型响应查看覆盖在数据上的模拟输出。下图显示了倒立摆系统如何响应验证输入数据。验证结果表明,该模型能够较好地处理较低频率的输入验证数据,并成功地估计出模型参数。

结论

这个示例展示了参数估计将一个估计任务分割为多个估计的灵活性。这允许在不同的参数集上进行估计,这有助于提高估计给定模型的速度。

关闭模型。

Baidu
map