Simulin金宝appk上的家伙

金宝appSimulink &基于模型的设计

将运动应用于SimMechanics模型

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

这个问题

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

simsim起重机力学模型

当应用正弦波轨迹(位置)的基础,我希望球摆动,但它没有!

SimMechanics的起重机动画

的解释

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

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

解决方法:第一次尝试

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

要做到这一点,你首先想到的可能就是使用导数积木,像这样:

使用衍生块

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

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

更好的解决方案

我建议使用!来实现一个经过过滤的导数传递函数块。

使用衍生块

现在我们可以看到,起重机的行为与预期一致。

SimMechanics的起重机动画

现在轮到你了

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

请参阅标题为的文档部分稳定驱动信号中的数值导数想了解更多细节,请留下你的这里的评论

|

评论

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