主要内容

倒立摆参数估计

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

这个例子需要Simscape™Multibody™软件。

倒立摆系统的Simscape多体模型

Simu万博1manbetxlink®倒立摆模型,spe_mech_invpend,如下所示。

倒立摆模型描述

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

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

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

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

估计的数据

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

实验图也用于观察测量数据与当前模型的匹配程度。点击图模型反应参数估计选项卡显示实验图上的模拟信号数据。仿真结果与实测数据不匹配,说明模型参数需要估计。

定义变量

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

第一次评估

在确定了估计参数后,我们选择实验进行估计。点击选择实验参数估计选项卡并选择已命名的实验估计估计。

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

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

运行额外的估计

这次我们将保留扭矩增益,Kt,并估计模型的其他参数。点击选择参数参数估计选项卡。取消Kt,检查其他参数,如下图所示。

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

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

验证

将结果与其他数据集进行对比验证是很重要的。一个成功的估计不仅要匹配用于估计的实验数据,而且要匹配在实验中收集的其他数据集。一个实验命名验证已为该项目创建。点击添加图参数估计选项卡并选择验证查看数据。

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

结论

这个例子显示了Parameter Estimation的灵活性,它可以将一个估计任务分割成多个估计。这允许在不同的参数集上运行估计,这有助于估计给定模型的速度。

关闭模式。