Simulin金宝appk上的Guy

金宝appSimulink &基于模型的设计

在SimMechanics模型中应用运动

这是我喜欢的一个特点SimMechanics是一种不用考虑外力就能确定系统运动的能力。这可以简化模型测试,因此如果您所做的只是测试植物模型的正确性,则不必设计控制器。今天我想谈谈人们经常遇到的一个问题。

这个问题

我有以下SimMechanics模型。这个模型是用来模拟大型起重机的。你知道的,就是那种把一个大球绑在电缆末端用来摧毁建筑物的炸弹。

起重机的SimMechanics模型

当应用一个正弦波轨迹(位置)的基础,我期望球摆动,然而它没有!

一个起重机的SimMechanics动画

的解释

你可能注意到了,底座是由一个联合执行机构,设置到运动驱动.在这种配置中,必须给块提供三个组件:位置、速度和加速度。

显然,正弦波轨迹对应的速度和加速度不是0!

解决方法:第一次尝试

为了使用SimMechanics获得有效的结果,提供有效的输入是很重要的。

要做到这一点,你脑子里想到的第一件事可能就是使用导数积木,像这样:

使用导数块

如果位置信号是平滑的,这是可行的,但在许多情况下,这可能会导致问题。

为什么?如果你在位置信号中有一个不连续,这将导致速度信号的突然变化和一个无穷大的加速度。无限加速度是不现实的,会导致求解器中的导数误差。

更好的解决方案

我推荐的是使用传递函数块。

使用导数块

现在我们可以看到我们的起重机按预期运行。

一个起重机的SimMechanics动画

现在轮到你了

如果您感兴趣,您可以找到模型在这里

查看标题为稳定驱动信号中的数值导数欲了解更多细节,请留下您的想法这里的评论

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。