主要内容

倒立摆参数估计

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

本例需要Simscape™Multibody™软件。

倒立摆系统的Simscape多体模型

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

倒立摆模型说明

摆系统有一个在水平面上摆动的臂,由直流电动机驱动。机械臂的作用是为摆锤提供平衡力矩,使摆锤保持直立状态。监测臂和摆的角度并将其作为反馈来控制系统的运动。对于本例,我们将只集中于估计如下所示的未受控系统的参数。

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

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

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

估计的数据

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

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

定义变量

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

第一次评估

在确定了估计参数后,我们选择了用于估计的实验。点击选择实验参数估计TAB,选择命名的实验估计估计。

现在我们可以开始估算了。点击估计参数估计TAB开始评估。估计将不断迭代参数值,直到估计收敛并终止。

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

运行额外的评估

这次我们不考虑转矩增益,Kt,常数和估计模型的其他参数。点击选择参数参数估计选项卡。取消Kt,其他参数如下图所示。

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

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

验证

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

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

结论

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

关闭模型。

Baidu
map